Innholdsfortegnelse:

I - V -kurve med Arduino: 5 trinn
I - V -kurve med Arduino: 5 trinn

Video: I - V -kurve med Arduino: 5 trinn

Video: I - V -kurve med Arduino: 5 trinn
Video: Контроллер автоматического пуска-останова с часами реального времени DS3231 2024, Kan
Anonim
I - V -kurve med Arduino
I - V -kurve med Arduino

Jeg bestemte meg for å lage I - V kurve av lysdioder. Men jeg har bare ett multimeter, så jeg laget en enkel IV-måler med Arduino Uno.

Fra Wiki: En strøm -spenningskarakteristikk eller I -V -kurve (strøm -spenningskurve) er et forhold, vanligvis representert som et diagram eller en graf, mellom den elektriske strømmen gjennom en krets, enhet eller materiale, og den tilsvarende spenningen, eller potensiell forskjell på tvers av det.

Trinn 1: Liste over materialer

For dette prosjektet trenger du:

Arduino Uno med USB -kabel

brødbrett og dupontskabel

lysdioder (jeg brukte 5 mm røde og blå lysdioder)

fallmotstand (shuntmotstand) - Jeg bestemte meg for 200 ohm (for 5V er maksimal strøm 25 mA)

motstander eller potensiometer, jeg bruker en blanding av motstander - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Trinn 2: Krets

Krets
Krets

Kretsen består av å teste led, shuntmotstand (R_drop) for måling av strøm. For å endre spenningsfall og strøm bruker jeg forskjellige motstander (R_x).

Grunnprinsippet er:

  • få total strøm I i krets
  • få spenningsfall på test ledet Ul

Total strøm I

For å få total strøm måler jeg spenningsfall Ur på shuntmotstand. Jeg bruker analoge pins for det. Jeg måler spenning:

  • U1 mellom GND og A0
  • U2 mellom GND og A2

Forskjellig av disse spenningene er lik spenningsfall på shuntmotstand: Ur = U2-U1.

Total strøm I er: I = Ur/R_drop = Ur/250

Spenningsfall Ul

For å få spenningsfall på LED, trekker jeg U2 fra total spenning U (som skal være 5V): Ul = U - U2

Trinn 3: Kode

flyte U = 4980; // spenning mellom GND og arduino VCC i mV = total spenning

flyte U1 = 0; // 1 sonde

flyte U2 = 0; // 2 sonde

flyte Ur = 0; // spenningsfall på shuntmotstand

flyte Ul = 0; // spenningsfall på led

flyte I = 0; // total strøm i krets

float R_drop = 200; // motstand av lukket motstand

ugyldig oppsett ()

{

Serial.begin (9600);

pinMode (A0, INNGANG);

pinMode (A1, INNGANG);

}

hulrom ()

{

U1 = float (analogRead (A0))/1023*U; // få spenning mellom GND og A0 i milliVolt

U2 = float (analogRead (A1))/1023*U; // få spenning mellom GND og A1 i milliVolt

Ur = U2-U1; // fallspenning på shuntmotstand

I = Ur/R_drop*1000; // total strøm i microAmps

Ul = U-U2; // spenningsfall på led

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("spenningsfall på shuntmotstand:");

Serial.print (Ur);

Serial.print ("spenningsfall på led:");

Serial.print (Ul);

Serial.print ("total strøm:");

Serial.println (I);

// pause

forsinkelse (500);

}

Trinn 4: Testing

Testing
Testing
Testing
Testing
Testing
Testing

Jeg tester 2 lysdioder, rød og blå. Som du kan se, har blå led knespenning større, og det er derfor blå lys trenger blå led begynner å blåse rundt 3 volt.

Trinn 5: Testing av motstand

Test motstand
Test motstand
Test motstand
Test motstand

Jeg gjør I - V kurve for motstand. Som du kan se, er grafen lineær. Grafer viser at Ohms lov bare fungerer for motstander, ikke for lysdioder. Jeg beregner motstand, R = U/I. Målinger er ikke presise ved lav strømverdi, fordi analog - digital omformer i Arduino har oppløsning:

5V / 1024 = 4,8 mV og strøm -> 19,2 microAmps.

Jeg tror målefeil er:

  • brødbrettinnhold er ikke superinnhold og gjør noen spenningsfeil
  • brukte motstander har rundt 5 % variasjon i motstand
  • ADC -verdier fra analog les oscilere

Anbefalt: