Съдържание:
Видео: Измервания на токовия сензор ACS724 с Arduino: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В тази инструкция ще експериментираме с свързването на токов сензор 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 показания. Кодът е доста обясним и коментиран за кода за преобразуване и усредняване.
Препоръчано:
Сензор за движение на водата Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: 6 стъпки
Сензор за вода Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: В този проект ще ви покажа как да изградите кран за вода с сензор за движение с помощта на електромагнитен клапан. Този проект може да ви помогне да преобразувате съществуващия си ръчен кран за вода в кран, който може да се контролира въз основа на откриване на движение. Използване на интерфейса на IR сензора
Arduino Nano - MPL3115A2 Прецизен сензор за висотомер Сензор: 4 стъпки
Arduino Nano - MPL3115A2 Прецизен сензор за висотомер Сензор: MPL3115A2 използва MEMS сензор за налягане с I2C интерфейс за предоставяне на точни данни за налягане/надморска височина и температура. Изходите на сензора са цифровизирани от 24-битов ADC с висока разделителна способност. Вътрешната обработка премахва компенсационните задачи от
DIY сензор за дишане с Arduino (проводим плетен сензор за разтягане): 7 стъпки (със снимки)
DIY сензор за дишане с Arduino (проводим плетен сензор за разтягане): Този DIY сензор ще приеме формата на проводим плетен сензор за разтягане. Той ще се увие около гърдите/стомаха ви и когато гърдите/стомаха ви се разширят и свият, сензорът и съответно входните данни, които се подават към Arduino. Така
IoT Hydroponics - Използване на IBM Watson за PH и EC измервания: 7 стъпки (със снимки)
IoT Hydroponics - Използване на Watson на IBM за PH и EC измервания: Тази инструкция ще покаже как да следите EC, pH и температурата на настройка на хидропоника и да качвате данните в услугата Watson на IBM. Уотсън е свободен да започне. Има платени планове, но безплатният план е повече от достатъчен за този проект
Измервания на светлината и цвета с Pimoroni Enviro: бит за Micro: бит: 5 стъпки
Измервания на светлината и цвета с Pimoroni Enviro: бит за Micro: bit: Преди това бях работил на някои устройства, които позволяват измерване на светлината и цвета и може да откриете много за теорията зад тези измервания на инструкциите тук и тук. наскоро пусна enviro: bit, добавка за m