Sommario:

Curva I - V con Arduino: 5 passaggi
Curva I - V con Arduino: 5 passaggi

Video: Curva I - V con Arduino: 5 passaggi

Video: Curva I - V con Arduino: 5 passaggi
Video: How to make Air Hockey / Soccer table - elettronico a led con ARDUINO 2024, Maggio
Anonim
I - Curva V con Arduino
I - Curva V con Arduino

Ho deciso di creare la curva I-V dei led. Ma ho solo un multimetro, quindi ho creato un semplice misuratore I-V con Arduino Uno.

Da Wiki: una caratteristica corrente-tensione o curva I-V (curva corrente-tensione) è una relazione, tipicamente rappresentata come un grafico o un grafico, tra la corrente elettrica attraverso un circuito, dispositivo o materiale e la tensione corrispondente, o potenziale differenza tra di loro.

Passaggio 1: elenco dei materiali

Per questo progetto avrai bisogno di:

Arduino Uno con cavo USB

breadboard e cavo dupont

led (ho usato led rossi e blu da 5 mm)

resistore di caduta (resistenza di shunt) - Ho deciso per 200 ohm (per 5 V è la corrente massima 25 mA)

resistori o potenziometro, io uso un mix di resistori - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Passaggio 2: circuito

Circuito
Circuito

Circuito composto da led di prova, resistore di shunt (R_drop) per misurare la corrente. Per modificare la caduta di tensione e la corrente utilizzo vari resistori (R_x).

Il principio di base è:

  • ottenere la corrente totale I nel circuito
  • ottenere una caduta di tensione sul led di prova Ul

Corrente totale I

Per ottenere la corrente totale, misuro la caduta di tensione Ur sul resistore di shunt. Io uso pin analogici per questo. misuro la tensione:

  • U1 tra GND e A0
  • U2 tra GND e A2

Diverso da questo voltaggio è uguale caduta di tensione sul resistore di shunt: Ur = U2-U1.

La corrente totale I è: I = Ur/R_drop = Ur/250

Caduta di tensione Ul

Per ottenere la caduta di tensione sul led, sottraggo U2 dalla tensione totale U (che dovrebbe essere 5V): Ul = U - U2

Passaggio 3: codice

galleggiante U = 4980; // tensione tra GND e arduino VCC in mV = tensione totale

galleggiante U1=0; // 1 sonda

galleggiante U2=0; // 2 sonde

float Ur=0; // caduta di tensione sul resistore di shunt

float Ul=0; // caduta di tensione sul led

galleggiante I =0; // corrente totale nel circuito

float R_drop=200; // resistenza del resistore chiuso

configurazione nulla()

{

Serial.begin(9600);

pinMode(A0, INGRESSO);

pinMode(A1, INGRESSO);

}

ciclo vuoto()

{

U1 = float(analogRead(A0))/1023*U; // ottiene la tensione tra GND e A0 in milliVolt

U2 = float(analogRead(A1))/1023*U; // ottiene la tensione tra GND e A1 in milliVolt

Ur=U2-U1; // caduta di tensione sul resistore di shunt

I=Ur/R_drop*1000; // corrente totale in microAmp

Ul=U-U2; // caduta di tensione sul led

Serial.print("1");

Serial.print(U1);

Serial.print("2");

Serial.print(U2);

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

Serial.print(" caduta di tensione sulla resistenza di shunt: ");

Serial.print(Ur);

Serial.print(" caduta di tensione sul led: ");

Serial.print(Ul);

Serial.print(" corrente totale: ");

Serial.println(I);

// pausa

ritardo (500);

}

Passaggio 4: test

test
test
test
test
test
test

Sto testando 2 led, rosso e blu. Come puoi vedere, il led blu ha una tensione al ginocchio maggiore, ed è per questo che il led blu ha bisogno che il led blu inizi a soffiare intorno a 3 Volt.

Passaggio 5: test della resistenza

Resistenza di prova
Resistenza di prova
Resistenza di prova
Resistenza di prova

Faccio I - curva V per resistore. Come puoi vedere, il grafico è lineare. I grafici mostrano che la legge di Ohm funziona solo per i resistori, non per i led. Calcolo la resistenza, R = U/I. Le misurazioni non sono precise a valori di correnti basse, perché il convertitore analogico - digitale in Arduino ha risoluzione:

5V / 1024 = 4,8 mV e corrente -> 19,2 microAmp.

Penso che gli errori di misurazione siano:

  • i contenuti della breadboard non sono supercontanti e commettono alcuni errori di tensione
  • i resistori usati hanno una varietà di resistenza di circa il 5%
  • I valori ADC da lettura analogica oscillano

Consigliato: