INHOUDSOPGAWE:

I - V -kromme met Arduino: 5 stappe
I - V -kromme met Arduino: 5 stappe

Video: I - V -kromme met Arduino: 5 stappe

Video: I - V -kromme met Arduino: 5 stappe
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, Mei
Anonim
I - V -kromme met Arduino
I - V -kromme met Arduino

Ek het besluit om 'n I -V -kromme van LED's te skep. Maar ek het net een multimeter, so ek het 'n eenvoudige IV meter met Arduino Uno geskep.

Van Wiki: 'n Stroomspanningseienskappe of I -V -kromme (stroomspanningskromme) is 'n verwantskap, tipies voorgestel as 'n grafiek of grafiek, tussen die elektriese stroom deur 'n stroombaan, toestel of materiaal en die ooreenstemmende spanning, of potensiële verskil daaroor.

Stap 1: Lys van materiaal

Vir hierdie projek benodig u:

Arduino Uno met USB -kabel

broodbord en duponts kabel

leds (ek het 5 mm rooi en blou leds gebruik)

druppelweerstand (shuntweerstand) - ek besluit vir 200 ohm (vir 5V is maksimum stroom 25 mA)

weerstande of potensiometer, ek gebruik 'n mengsel van weerstande - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Stap 2: Skakel

Kring
Kring

Die stroombaan bestaan uit die toets van geleide, shuntweerstand (R_drop) vir die meetstroom. Om spanningsval en stroom te verander gebruik ek verskillende weerstande (R_x).

Die basiese beginsel is:

  • kry totale stroom I in kring
  • kry spanningsval op toets gelei Ul

Totale stroom I

Om die totale stroom te kry, meet ek die spanningsval Ur op die shuntweerstand. Ek gebruik analoog penne daarvoor. Ek meet spanning:

  • U1 tussen GND en A0
  • U2 tussen GND en A2

Verskillende van hierdie spannings is gelyke spanningsval op shuntweerstand: Ur = U2-U1.

Totale stroom I is: I = Ur/R_drop = Ur/250

Spanningsverlies Ul

Om spanningsval op LED te kry, trek ek U2 af van totale spanning U (wat 5V moet wees): Ul = U - U2

Stap 3: Kodeer

vlot U = 4980; // spanning tussen GND en arduino VCC in mV = totale spanning

dryf U1 = 0; // 1 sonde

dryf U2 = 0; // 2 sonde

dryf Ur = 0; // spanningsval op shuntweerstand

float Ul = 0; // spanningsval op led

dryf I = 0; // totale stroom in stroombaan

float R_drop = 200; // weerstand van geslote weerstand

leemte opstelling ()

{

Serial.begin (9600);

pinMode (A0, INVOER);

pinMode (A1, INVOER);

}

leemte lus ()

{

U1 = float (analogRead (A0))/1023*U; // kry spanning tussen GND en A0 in milliVolts

U2 = float (analogRead (A1))/1023*U; // kry spanning tussen GND en A1 in milliVolts

Ur = U2-U1; // valspanning op shuntweerstand

I = Ur/R_drop*1000; // totale stroom in microAmps

Ul = U-U2; // spanningsval op led

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("spanningsval op shuntweerstand:");

Serial.print (Ur);

Serial.print ("spanningsval op LED:");

Reeks.afdruk (Ul);

Serial.print ("totale stroom:");

Serial.println (I);

// pouse

vertraging (500);

}

Stap 4: Toets

Toets
Toets
Toets
Toets
Toets
Toets

Ek toets 2 LED's, rooi en blou. Soos u kan sien, het die blou led 'n groter kniespanning, en daarom het 'n blou led ongeveer 3 volt nodig.

Stap 5: Toetsweerstand

Weerstand toets
Weerstand toets
Weerstand toets
Weerstand toets

Ek doen I - V -kromme vir weerstand. Soos u kan sien, is die grafiek lineêr. Grafieke toon dat die wet van Ohm slegs vir weerstande werk, nie vir leds nie. Ek bereken weerstand, R = U/I. Metings is nie akkuraat teen 'n lae stroomwaarde nie, want analoog -digitale omskakelaar in Arduino het 'n resolusie:

5V / 1024 = 4.8 mV en stroom -> 19.2 microAmps.

Ek dink meetfoute is:

  • broodbordinhoud is nie 'n superinhoud nie en maak 'n paar foute in die spanning
  • gebruikte weerstande het ongeveer 5 % variëteit in weerstand
  • ADC waardes van analoog lees ossileer

Aanbeveel: