Sisukord:

I - V kõver Arduinoga: 5 sammu
I - V kõver Arduinoga: 5 sammu

Video: I - V kõver Arduinoga: 5 sammu

Video: I - V kõver Arduinoga: 5 sammu
Video: Три богатыря и морской царь | Мультфильм для всей семьи 2024, Mai
Anonim
I - V kõver Arduinoga
I - V kõver Arduinoga

Otsustasin luua LED -ide I -V kõvera. Kuid mul on ainult üks multimeeter, seega lõin Arduino Unoga lihtsa I-V mõõtja.

Wikist: voolu -pinge karakteristik või I -V kõver (voolu -pinge kõver) on suhe, mida tavaliselt esitatakse diagrammi või graafikuna, vooluahela, seadme või materjali kaudu toimiva elektrivoolu ja vastava pinge vahel või potentsiaalne erinevus selle vahel.

Samm: materjalide loend

Selle projekti jaoks vajate:

Arduino Uno USB -kaabliga

leivalaud ja duponti kaabel

LEDid (kasutasin 5 mm punaseid ja siniseid LED -e)

kukkumistakisti (šundtakisti) - otsustasin 200 oomi (5 V puhul on maksimaalne vool 25 mA)

takistid või potentsomeeter, kasutan takistite segu - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

2. samm: ahel

Vooluring
Vooluring

Vooluahel koosneb testimisdioodist, šunttakistist (R_drop) voolu mõõtmiseks. Pingelanguse ja voolu muutmiseks kasutan erinevaid takistid (R_x).

Põhiprintsiip on:

  • saada vooluahelasse kogu vool I
  • saada pingelangus testimisel led Ul

Kokku praegune I

Kogu voolu saamiseks mõõdan šundtakistusel pingelang Ur. Ma kasutan selleks analoogpinge. Mõõdan pinget:

  • U1 GND ja A0 vahel
  • U2 GND ja A2 vahel

Erinev pingetest on võrdne pingelangus šundtakistusel: Ur = U2-U1.

Kogu vool I on: I = Ur/R_drop = Ur/250

Pingelangus Ul

LED -i pingelanguse saamiseks lahutan U2 kogupingest U (mis peaks olema 5 V): Ul = U - U2

3. samm: kood

ujuk U = 4980; // pinge GND ja arduino VCC vahel mV = kogupinge

ujuk U1 = 0; // 1 sond

ujuk U2 = 0; // 2 sond

ujuk Ur = 0; // pingelangus šundtakistusel

ujuk Ul = 0; // pingelangus ledil

ujuk I = 0; // kogu vooluahelas

ujuk R_drop = 200; // suletud takisti takistus

tühine seadistus ()

{

Seriaalne algus (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

tühine tsükkel ()

{

U1 = ujuk (analogRead (A0))/1023*U; // saada pinge GND ja A0 vahel millivoltides

U2 = ujuk (analogRead (A1))/1023*U; // saada pinge GND ja A1 vahel millivoltides

Ur = U2-U1; // langeda pinge šundtakistile

I = Ur/R_drop*1000; // koguvool mikroAmpides

Ul = U-U2; // pingelangus ledil

Serial.print ("1");

Seeriatrükk (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("pingelangus šundtakistil:");

Serial.print (Ur);

Serial.print ("pingelangus ledil:");

Serial.print (Ul);

Serial.print ("koguvool:");

Seeria.println (I);

// paus

viivitus (500);

}

4. samm: testimine

Testimine
Testimine
Testimine
Testimine
Testimine
Testimine

Testin kahte LED -i, punast ja sinist. Nagu näete, on sinise LED -i põlvepinge suurem ja seetõttu hakkavad sinised LED -id puhuma umbes 3 volti.

Samm: takisti testimine

Testimise takisti
Testimise takisti
Testimise takisti
Testimise takisti

Ma teen takisti jaoks I - V kõverat. Nagu näete, on graafik lineaarne. Graafikud näitavad, et Ohmi seadus töötab ainult takistite, mitte LED -ide puhul. Arvutan takistuse, R = U/I. Mõõtmised pole väikese voolu väärtuse korral täpsed, kuna Arduino analoog -digitaalmuunduril on eraldusvõime:

5V / 1024 = 4,8 mV ja vool -> 19,2 mikroAmprit.

Arvan, et mõõtmisvead on järgmised:

  • leivaplaadi sisud ei ole superkaaslased ja teevad pinges mõningaid vigu
  • kasutatud takistite vastupidavus on umbes 5 %
  • Analooglugemise ADC väärtused võnkuvad

Soovitan: