Съдържание:

I - V крива с Arduino: 5 стъпки
I - V крива с Arduino: 5 стъпки

Видео: I - V крива с Arduino: 5 стъпки

Видео: I - V крива с Arduino: 5 стъпки
Видео: Урок 5 Блоки линейного SCALE нелинейного Poligon масштабирования 2024, Може
Anonim
I - V крива с Arduino
I - V крива с Arduino

Реших да създам I -V крива на светодиоди. Но имам само един мултицет, затова създадох прост I-V метър с Arduino Uno.

От Wiki: Характеристика ток -напрежение или I -V крива (крива ток -напрежение) е връзка, обикновено представена като диаграма или графика, между електрическия ток през верига, устройство или материал и съответното напрежение, или потенциална разлика в него.

Стъпка 1: Списък на материалите

За този проект ще ви трябва:

Arduino Uno с USB кабел

кабел за дъска и дюпони

светодиоди (използвах 5 мм червени и сини светодиоди)

падащ резистор (шунтиращ резистор) - реших за 200 ома (за 5V е максимален ток 25 mA)

резистори или потенциометър, използвам комбинация от резистори - 100k, 50k, 20k, 10k, 5k, 2.2k, 1k, 500k

Стъпка 2: Схема

Верига
Верига

Веригата се състои от тестващ светодиод, шунтиращ резистор (R_drop) за измерване на тока. За да променя спада на напрежението и тока използвам различни резистори (R_x).

Основният принцип е:

  • вземете общ ток I във веригата
  • получите спад на напрежението при тестване led Ul

Общ ток I

За да получа общ ток, измервам спада на напрежението Ur на шунтиращ резистор. Използвам аналогови щифтове за това. Измервам напрежение:

  • U1 между GND и A0
  • U2 между GND и A2

Различно от това напрежение е еднакъв спад на напрежението на шунтиращия резистор: Ur = U2-U1.

Общият ток I е: I = Ur/R_drop = Ur/250

Спад на напрежението Ul

За да получите спад на напрежението на светодиода, изваждам U2 от общото напрежение U (което трябва да бъде 5V): Ul = U - U2

Стъпка 3: Код

поплавък U = 4980; // напрежение между GND и arduino VCC в mV = общо напрежение

поплавък U1 = 0; // 1 сонда

поплавък U2 = 0; // 2 сонда

поплавък Ur = 0; // спад на напрежението на шунтиращ резистор

поплавък Ul = 0; // спад на напрежението на светодиода

поплавък I = 0; // общ ток във веригата

поплавък R_drop = 200; // съпротивление на затворен резистор

void setup ()

{

Serial.begin (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

void loop ()

{

U1 = поплавък (analogRead (A0))/1023*U; // получаваме напрежение между GND и A0 в миливолта

U2 = поплавък (analogRead (A1))/1023*U; // получаваме напрежение между GND и A1 в миливолта

Ur = U2-U1; // спад на напрежението на шунтиращ резистор

I = Ur/R_drop*1000; // общ ток в микроампери

Ul = U-U2; // спад на напрежението на светодиода

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

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

Serial.print ("спад на напрежението на шунтиращ резистор:");

Serial.print (Ur);

Serial.print ("спад на напрежението на светодиода:");

Serial.print (Ul);

Serial.print ("общ ток:");

Serial.println (I);

// пауза

забавяне (500);

}

Стъпка 4: Тестване

Тестване
Тестване
Тестване
Тестване
Тестване
Тестване

Тествах 2 светодиода, червен и син. Както можете да видите, синият светодиод има по -голямо напрежение в коляното и затова синият светодиод се нуждае от син светодиод, който започва да духа около 3 волта.

Стъпка 5: Тестване на резистора

Изпитващ резистор
Изпитващ резистор
Изпитващ резистор
Изпитващ резистор

Правя I - V крива за резистор. Както можете да видите, графиката е линейна. Графиките показват, че законът на Ом работи само за резистори, а не за светодиоди. Изчислявам съпротивление, R = U/I. Измерванията не са точни при ниски стойности на токове, защото аналогово -цифровият преобразувател в Arduino има резолюция:

5V / 1024 = 4,8 mV и ток -> 19,2 микроАмпера.

Мисля, че грешките при измерването са:

  • Контактните платки не са супер контакти и правят някои грешки във напрежението
  • използваните резистори имат около 5 % разнообразие в съпротивлението
  • ADC стойностите от аналогово четене осцилират

Препоръчано: