Talaan ng mga Nilalaman:

I - V Curve With Arduino: 5 Hakbang
I - V Curve With Arduino: 5 Hakbang

Video: I - V Curve With Arduino: 5 Hakbang

Video: I - V Curve With Arduino: 5 Hakbang
Video: Using Sharp IR GP2Y0A51SK0F Distance Sensor with Arduino (2cm to 15cm) 2024, Nobyembre
Anonim
I - V Curve With Arduino
I - V Curve With Arduino

Napagpasyahan kong lumikha ng curve ng l – I. Ngunit mayroon lamang akong isang multimeter, kaya lumikha ako ng simpleng I-V meter kasama ang Arduino Uno.

Mula sa Wiki: Ang kasalukuyang katangian na – boltahe o curve ng I – V (kasalukuyang – boltahe na kurba) ay isang relasyon, karaniwang kinakatawan bilang isang tsart o grap, sa pagitan ng kasalukuyang kuryente sa pamamagitan ng isang circuit, aparato, o materyal, at ng kaukulang boltahe, o potensyal na pagkakaiba sa kabila nito.

Hakbang 1: Listahan ng Mga Materyales

Para sa proyektong ito, kakailanganin mo ang:

Arduino Uno gamit ang USB cable

breadboard at duponts cable

leds (Gumamit ako ng 5 mm na pula at asul na mga leds)

drop resistor (shunt risistor) - Nagpasya ako para sa 200 ohm (para sa 5V ay maximum na kasalukuyang 25 mA)

resistors o potenciometer, gumagamit ako ng halo ng resistors - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Hakbang 2: Circuit

Circuit
Circuit

Ang circuit ay binubuo mula sa pagsubok na humantong, shunt risistor (R_drop) para sa kasalukuyang sukat. Upang baguhin ang boltahe drop at kasalukuyang gumagamit ako ng iba't ibang mga resistors (R_x).

Pangunahing prinsipyo ay:

  • makakuha ng kabuuang kasalukuyang ko sa circuit
  • makakuha ng boltahe drop sa pagsubok na humantong Ul

Kabuuang kasalukuyang I

Upang makakuha ng kabuuang kasalukuyang, sinusukat ko ang boltahe na drop Ur sa shunt resistor. Gumagamit ako ng mga analog na pin para doon. Sinusukat ko ang boltahe:

  • U1 sa pagitan ng GND at A0
  • U2 sa pagitan ng GND at A2

Ang iba't ibang mga voltages na ito ay pantay na pagbaba ng boltahe sa shunt risistor: Ur = U2-U1.

Kabuuang kasalukuyang ako ay: I = Ur / R_drop = Ur / 250

Pag-drop ng boltahe Ul

Upang makuha ang drop ng boltahe sa led, binabawas ko ang U2 mula sa kabuuang boltahe U (na dapat ay 5V): Ul = U - U2

Hakbang 3: Code

float U = 4980; // boltahe sa pagitan ng GND at arduino VCC sa mV = kabuuang boltahe

lumutang U1 = 0; // 1 probe

lumutang U2 = 0; // 2 probe

float Ur = 0; // boltahe drop sa shunt risistor

float Ul = 0; // boltahe drop sa humantong

lumutang I = 0; // kabuuang kasalukuyang nasa circuit

float R_drop = 200; // paglaban ng shut resistor

walang bisa ang pag-setup ()

{

Serial.begin (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

walang bisa loop ()

{

U1 = float (analogRead (A0)) / 1023 * U; // makakuha ng boltahe sa pagitan ng GND at A0 sa milliVolts

U2 = float (analogRead (A1)) / 1023 * U; // makakuha ng boltahe sa pagitan ng GND at A1 sa milliVolts

Ur = U2-U1; // drop voltage sa shunt resistor

I = Ur / R_drop * 1000; // kabuuang kasalukuyang sa microAmps

Ul = U-U2; // boltahe drop sa humantong

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("pagbagsak ng boltahe sa shunt risistor:");

Serial.print (Ur);

Serial.print ("pagbagsak ng boltahe sa led:");

Serial.print (Ul);

Serial.print ("kabuuang kasalukuyang:");

Serial.println (I);

// huminto

pagkaantala (500);

}

Hakbang 4: Pagsubok

Pagsubok
Pagsubok
Pagsubok
Pagsubok
Pagsubok
Pagsubok

Sinusubukan ko ang 2 leds, pula at asul. Tulad ng nakikita mo, ang asul na humantong ay may boltahe ng tuhod na mas malaki, at iyon ang dahilan kung bakit ang asul na humantong kailangan ng asul na humantong simulan upang pumutok sa paligid ng 3 Volts.

Hakbang 5: Pagsubok Resistor

Pagsubok Resistor
Pagsubok Resistor
Pagsubok Resistor
Pagsubok Resistor

Ginagawa ko - V curve para sa resistor. Tulad ng nakikita mo, ang graph ay linear. Ipinapakita ng mga graphic, na ang batas ng Ohm ay gumagana lamang para sa resistors, hindi para sa mga leds. Kinakalkula ko ang paglaban, R = U / I. Ang mga sukat ay hindi tumpak sa mababang halaga ng alon, dahil ang analog - digital converter sa Arduino ay may resolusyon:

5V / 1024 = 4.8 mV at kasalukuyang -> 19.2 microAmps.

Sa palagay ko ang mga error sa pagsukat ay:

  • ang mga contender ng breadboard ay hindi sobrang mga contant at gumagawa ng ilang mga error sa boltahe
  • ang mga ginamit na resistor ay mayroong humigit-kumulang 5% na pagkakaiba-iba ng paglaban
  • Ang mga halaga ng ADC mula sa analog ay nabasa nang walang katuturan

Inirerekumendang: