Πίνακας περιεχομένων:

Καμπύλη I - V με Arduino: 5 βήματα
Καμπύλη I - V με Arduino: 5 βήματα

Βίντεο: Καμπύλη I - V με Arduino: 5 βήματα

Βίντεο: Καμπύλη I - V με Arduino: 5 βήματα
Βίντεο: How to Interface Industrial Sensors with Arduino Nano 2024, Ενδέχεται
Anonim
I - V Curve With Arduino
I - V Curve With Arduino

Αποφάσισα να δημιουργήσω I -V καμπύλη led. Αλλά έχω μόνο ένα πολύμετρο, οπότε δημιούργησα απλό μετρητή I-V με το Arduino Uno.

Από το Wiki: Χαρακτηριστικό ρεύματος -τάσης ή καμπύλη I -V (καμπύλη ρεύματος -τάσης) είναι μια σχέση, που συνήθως αναπαρίσταται ως γράφημα ή γράφημα, μεταξύ του ηλεκτρικού ρεύματος μέσω κυκλώματος, συσκευής ή υλικού και της αντίστοιχης τάσης, ή δυνητική διαφορά σε αυτό.

Βήμα 1: Λίστα υλικών

Για αυτό το έργο, θα χρειαστείτε:

Arduino Uno με καλώδιο USB

breadboard και καλώδιο duponts

led (χρησιμοποίησα κόκκινα και μπλε led 5 mm)

αντίσταση πτώσης (αντίσταση διακλάδωσης) - αποφάσισα για 200 ohm (για 5V είναι το μέγιστο ρεύμα 25 mA)

αντιστάσεις ή ποτενσιόμετρο, χρησιμοποιώ μίγμα αντιστάσεων - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Βήμα 2: Κύκλωμα

Κύκλωμα
Κύκλωμα

Το κύκλωμα αποτελείται από δοκιμή led, αντίσταση διακλάδωσης (R_drop) για μέτρηση ρεύματος. Για να αλλάξω πτώση τάσης και ρεύματος χρησιμοποιώ διάφορες αντιστάσεις (R_x).

Η βασική αρχή είναι:

  • πάρτε το συνολικό ρεύμα Ι στο κύκλωμα
  • λάβετε πτώση τάσης στις δοκιμές led Ul

Συνολικό ρεύμα Ι

Για να λάβω το συνολικό ρεύμα, μετράω την πτώση τάσης Ur σε αντίσταση διακλάδωσης. Χρησιμοποιώ αναλογικές ακίδες για αυτό. Μετράω την τάση:

  • U1 μεταξύ GND και A0
  • U2 μεταξύ GND και A2

Διαφορετική από αυτές τις τάσεις είναι η ίδια πτώση τάσης στην αντίσταση διακλάδωσης: Ur = U2-U1.

Το συνολικό ρεύμα Ι είναι: I = Ur/R_drop = Ur/250

Πτώση τάσης Ul

Για να πέσει η τάση στο led, αφαιρώ το U2 από τη συνολική τάση U (που πρέπει να είναι 5V): Ul = U - U2

Βήμα 3: Κωδικός

float U = 4980; // τάση μεταξύ GND και arduino VCC σε mV = συνολική τάση

float U1 = 0; // 1 ανιχνευτής

float U2 = 0; // 2 ανιχνευτής

float Ur = 0; // πτώση τάσης στην αντίσταση διακλάδωσης

float Ul = 0; // πτώση τάσης στο led

float I = 0; // συνολικό ρεύμα στο κύκλωμα

float R_drop = 200; // αντίσταση κλειστής αντίστασης

void setup ()

{

Serial.begin (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

κενός βρόχος ()

{

U1 = float (analogRead (A0))/1023*U; // λάβετε τάση μεταξύ GND και A0 σε milliVolts

U2 = float (analogRead (A1))/1023*U; // λάβετε τάση μεταξύ GND και A1 σε milliVolts

Ur = U2-U1; // πτώση τάσης στην αντίσταση διακλάδωσης

I = Ur/R_drop*1000; // συνολικό ρεύμα σε microAmps

Ul = U-U2; // πτώση τάσης στο led

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

Serial.print ("////");

Serial.print ("πτώση τάσης στην αντίσταση διακλάδωσης:");

Serial.print (Ur);

Serial.print ("πτώση τάσης στο led:");

Serial.print (Ul);

Serial.print ("συνολικό ρεύμα:");

Serial.println (I);

// παύση

καθυστέρηση (500)?

}

Βήμα 4: Δοκιμή

Δοκιμές
Δοκιμές
Δοκιμές
Δοκιμές
Δοκιμές
Δοκιμές

Δοκιμάζω 2 led, κόκκινο και μπλε. Όπως μπορείτε να δείτε, το μπλε led έχει μεγαλύτερη τάση στο γόνατο και αυτός είναι ο λόγος που το μπλε led χρειάζεται μπλε led αρχίζει να φυσάει γύρω στα 3 Volt.

Βήμα 5: Δοκιμή αντίστασης

Αντίσταση δοκιμής
Αντίσταση δοκιμής
Αντίσταση δοκιμής
Αντίσταση δοκιμής

Κάνω καμπύλη I - V για αντίσταση. Όπως μπορείτε να δείτε, το γράφημα είναι γραμμικό. Τα γραφήματα δείχνουν ότι ο νόμος του Ohm λειτουργεί μόνο για αντιστάσεις και όχι για led. Υπολογίζω αντίσταση, R = U/I. Οι μετρήσεις δεν είναι ακριβείς σε χαμηλή τιμή ρεύματος, επειδή ο αναλογικός - ψηφιακός μετατροπέας στο Arduino έχει ανάλυση:

5V / 1024 = 4,8 mV και ρεύμα -> 19,2 μικροΑμπέρ.

Νομίζω ότι τα σφάλματα μέτρησης είναι:

  • Οι συνιστώσες του breadboard δεν είναι υπερβολικές συνιστώσες και κάνουν κάποια λάθη στην τάση
  • Οι χρησιμοποιούμενες αντιστάσεις έχουν περίπου 5 % ποικιλία στην αντίσταση
  • Τιμές ADC από αναλογική ανάγνωση ταλαντεύονται

Συνιστάται: