Innehållsförteckning:

I - V -kurva med Arduino: 5 steg
I - V -kurva med Arduino: 5 steg

Video: I - V -kurva med Arduino: 5 steg

Video: I - V -kurva med Arduino: 5 steg
Video: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, November
Anonim
I - V -kurva med Arduino
I - V -kurva med Arduino

Jag bestämde mig för att skapa I – V -kurva för lysdioder. Men jag har bara en multimeter, så jag skapade en enkel IV-mätare med Arduino Uno.

Från Wiki: En strömspänningskarakteristik eller I – V -kurva (strömspänningskurva) är ett förhållande, typiskt representerat som ett diagram eller en graf, mellan den elektriska strömmen genom en krets, enhet eller material och motsvarande spänning, eller potentialskillnad över det.

Steg 1: Lista över material

För detta projekt behöver du:

Arduino Uno med USB -kabel

brödbräda och dupontskabel

lysdioder (jag använde 5 mm röda och blå lysdioder)

droppmotstånd (shuntmotstånd) - Jag bestämde mig för 200 ohm (för 5V är maxström 25 mA)

motstånd eller potenciometer, jag använder en blandning av motstånd - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Steg 2: Krets

Krets
Krets

Kretsen består av att testa led, shuntmotstånd (R_drop) för mätström. För att ändra spänningsfall och ström använder jag olika motstånd (R_x).

Grundprincipen är:

  • få total ström I i krets
  • få spänningsfall vid testning ledde Ul

Total ström I

För att få total ström mäter jag spänningsfall Ur på shuntmotstånd. Jag använder analoga stift för det. Jag mäter spänning:

  • U1 mellan GND och A0
  • U2 mellan GND och A2

Olika av dessa spänningar är lika spänningsfall på shuntmotståndet: Ur = U2-U1.

Total ström I är: I = Ur/R_drop = Ur/250

Spänningsfall Ul

För att få spänningsfall på led, subtraherar jag U2 från total spänning U (som ska vara 5V): Ul = U - U2

Steg 3: Kod

flyta U = 4980; // spänning mellan GND och arduino VCC i mV = total spänning

flottör U1 = 0; // 1 sond

flottör U2 = 0; // 2 sond

flyta Ur = 0; // spänningsfall på shuntmotstånd

flyta Ul = 0; // spänningsfall på led

float I = 0; // total ström i krets

float R_drop = 200; // motstånd hos stängt motstånd

void setup ()

{

Serial.begin (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

void loop ()

{

U1 = float (analogRead (A0))/1023*U; // få spänning mellan GND och A0 i milliVolt

U2 = float (analogRead (A1))/1023*U; // få spänning mellan GND och A1 i milliVolt

Ur = U2-U1; // fallspänning på shuntmotståndet

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

Ul = U-U2; // spänningsfall på led

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("spänningsfall på shuntmotstånd:");

Serial.print (Ur);

Serial.print ("spänningsfall på led:");

Serial.print (Ul);

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

Serial.println (I);

// paus

fördröjning (500);

}

Steg 4: Testning

Testning
Testning
Testning
Testning
Testning
Testning

Jag testar 2 lysdioder, rött och blått. Som du kan se har blå lysdiod knäspänning större, och det är därför blå lysdiod behöver blå led börjar blåsa runt 3 volt.

Steg 5: Testa motstånd

Testar motstånd
Testar motstånd
Testar motstånd
Testar motstånd

Jag gör I - V -kurva för motstånd. Som du kan se är grafen linjär. Grafer visar att Ohms lag endast fungerar för motstånd, inte för lysdioder. Jag beräknar motstånd, R = U/I. Mätningar är inte exakta vid lågt strömvärde, eftersom analog - digitalomvandlare i Arduino har upplösning:

5V / 1024 = 4,8 mV och ström -> 19,2 mikroAmp.

Jag tror att mätfel är:

  • brödbräda är inte superkontanter och gör några spänningsfel
  • begagnade motstånd har cirka 5 % variation i motstånd
  • ADC -värden från analog läsning oscilerar

Rekommenderad: