Съдържание:

Измервания на токовия сензор ACS724 с Arduino: 4 стъпки
Измервания на токовия сензор ACS724 с Arduino: 4 стъпки

Видео: Измервания на токовия сензор ACS724 с Arduino: 4 стъпки

Видео: Измервания на токовия сензор ACS724 с Arduino: 4 стъпки
Видео: DSO-TC2 проверяем датчик температуры DS18b20, входной контроль! 2024, Юли
Anonim
Image
Image
Образ
Образ

В тази инструкция ще експериментираме с свързването на токов сензор ACS724 към Arduino, за да направим измервания на тока. В този случай текущият сензор е разновидност +/- 5A, която извежда 400 mv/A.

Arduino Uno има 10 -битов ADC, така че добрите въпроси са: Колко точно е текущото отчитане, което можем да получим, и колко стабилно е?

Ще започнем, като просто свържем сензора към волтметър и токомер и направим аналогови показания, за да видим колко добре работи сензорът, след което ще го свържем с Arduino ADC щифт и ще видим колко добре работи.

Консумативи

1 - Платка 2 - Настолни захранвания 2 - DVM 1 - ACS724 сензор +/- 5A1 - Arduino Uno1 - LM78053 - 10 ома, 10 W резистори 1 - 1nF капачка 1 - 10nF капачка 1 - 0,1uF капачка

Етап 1:

Изпитвателната верига е както е показано на диаграмата. Връзката от 5V щифта на Arduino към шината LM7805 +5V е по избор. Може да получите по -добри резултати с този джъмпер, но внимавайте за кабелите си, ако го използвате, защото Arduino е свързан към вашия компютър и второто захранване ще надвиши 5V, когато го включите, за да увеличите тока през сензора.

Ако свържете захранванията заедно, захранването на сензора и захранването на Arduino ще имат точно същата +5V референтна точка и бихте очаквали по -последователни резултати.

Направих това без тази връзка и видях по -високо отчитане на нулев ток на сензора за ток (2.530 V вместо очакваните 2.500 V) и по -ниско от очакваното отчитане на ADC в нулевата токова точка. Получавах цифров ADC показател от около 507 до 508 без ток през сензора, за 2.500V трябва да видите ADC показание от около 512. Поправих това в софтуера.

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

Тестови измервания
Тестови измервания

Аналоговите измервания с волтметър и амперметър показват, че сензорът е много точен. При изпитвателни токове от 0.5A, 1.0A и 1.5A беше точно правилно към миливолта.

ADC измерванията с Arduino не бяха толкова точни. Тези измервания бяха ограничени от 10 -битовата разделителна способност на ADC на Arduino и проблеми с шума (вижте видеото). Поради шума отчитането на ADC прескачаше най -лошия случай до 10 или повече стъпки без ток през сензора. Като се има предвид, че всяка стъпка представлява около 5 mv, това е около 50 mv колебание и със сензор 400mv/amp представлява 50mv/400mv/amp = 125ma колебание! Единственият начин да получа смислено четене беше да направя 10 четения подред и след това да ги осредня.

С 10 битов ADC или 1024 възможни нива и 5V Vcc можем да разрешим около 5/1023 ~ 5mv на стъпка. Сензорът извежда 400mv/Amp. Така че в най -добрия случай имаме резолюция от 5mv/400mv/amp ~ 12.5ma.

Така че комбинацията от колебания, дължащи се на шум и ниска разделителна способност, означава, че не можем да използваме този метод за точно и последователно измерване на ток, особено малки токове. Можем да използваме този метод, за да ни даде представа за текущото ниво при по -високи токове, но той просто не е толкова точен.

Стъпка 3: Заключения

Изводи
Изводи

Изводи:

-Аналоговите показания на ACS724 са много точни.

-ACS724 трябва да работи много добре с аналогови схеми. например управление на тока на захранването с аналогов контур за обратна връзка.

-Има проблеми с шума и разделителната способност при използване на ACS724 с 10 -битов ADC Arduino.

-Достатъчно добър само за наблюдение на средния ток за по -високи токови вериги, но не достатъчно добър за постоянен токов контрол.

-Може да се наложи да използвате външен 12 -битов или повече ADC чип за по -добри резултати.

Стъпка 4: Arduino код

Ето кода, който използвах за просто измерване на стойността на пина на Arduino A0 ADC и кода за преобразуване на напрежението на сензора в ток и изчисляване на средно 10 показания. Кодът е доста обясним и коментиран за кода за преобразуване и усредняване.

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