Оглавление:

Измерения датчика тока ACS724 с помощью Arduino: 4 шага
Измерения датчика тока ACS724 с помощью Arduino: 4 шага

Видео: Измерения датчика тока ACS724 с помощью Arduino: 4 шага

Видео: Измерения датчика тока ACS724 с помощью Arduino: 4 шага
Видео: Модуль датчика тока ACS712 30А 2024, Ноябрь
Anonim
Image
Image
Изображение
Изображение

В этом руководстве мы поэкспериментируем с подключением датчика тока ACS724 к Arduino для измерения тока. В этом случае используется датчик тока +/- 5 А, который выдает 400 мВ / А.

Arduino Uno имеет 10-битный АЦП, поэтому хорошие вопросы: насколько точны текущие показания, которые мы можем получить, и насколько они стабильны?

Мы начнем с того, что просто подключим датчик к вольтметру и измерителю тока и сделаем аналоговые показания, чтобы увидеть, насколько хорошо работает датчик, а затем подключим его к выводу АЦП Arduino и посмотрим, насколько хорошо он работает.

Запасы

1 - Макетная плата 2 - Настольные источники питания 2 - Цифровые мультиметры1 - Датчик ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - резисторы 10 Ом, 10 Вт

Шаг 1:

Схема тестирования показана на схеме. Подключение вывода Arduino 5V к шине + 5V LM7805 не является обязательным. Вы можете получить лучшие результаты с этой перемычкой, но будьте осторожны с вашей проводкой, если вы ее используете, потому что Arduino подключен к вашему компьютеру, а второй источник питания будет превышать 5 В, когда вы его поднимете, чтобы увеличить ток через датчик.

Если вы подключите блоки питания вместе, то источник питания датчика и источник питания Arduino будут иметь одну и ту же контрольную точку + 5V, и вы ожидаете более стабильных результатов.

Я сделал это без этого подключения, и я увидел более высокое показание нулевого тока на датчике тока (2,530 В вместо ожидаемых 2,500 В) и более низкое, чем ожидалось, показание АЦП в точке нулевого тока. Я получил цифровое показание АЦП от 507 до 508 без тока через датчик, для 2.500 В вы должны увидеть показание АЦП около 512. Я исправил это в программном обеспечении.

Шаг 2: Тестовые измерения

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

Аналоговые измерения с помощью вольтметра и амперметра показали, что датчик очень точный. При испытательных токах 0,5 А, 1,0 А и 1,5 А это было точно с точностью до милливольта.

Измерения АЦП с помощью Arduino были не такими точными. Эти измерения были ограничены 10-битным разрешением АЦП Arduino и проблемами шума (см. Видео). Из-за шума показания АЦП в худшем случае колебались до 10 или более шагов при отсутствии тока через датчик. Учитывая, что каждый шаг соответствует примерно 5 мВ, это колебание примерно 50 мВ, а с датчиком 400 мВ / ампер представляет колебание 50 мВ / 400 мВ / ампер = 125 мА! Единственный способ получить значимые показания - это снять 10 показаний подряд и затем усреднить их.

С 10-битным АЦП или 1024 возможных уровней и 5 В Vcc мы можем разрешить примерно 5/1023 ~ 5 мВ на шаг. Выход датчика выдает 400 мв / ампер. Так что в лучшем случае у нас есть разрешение 5 мВ / 400 мВ / ампер ~ 12,5 мА.

Таким образом, сочетание колебаний из-за шума и низкого разрешения означает, что мы не можем использовать этот метод для точного и последовательного измерения тока, особенно малых токов. Мы можем использовать этот метод, чтобы дать нам представление об уровне тока при более высоких токах, но он не так точен.

Шаг 3: выводы

Выводы
Выводы

Выводы:

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

-ACS724 должен очень хорошо работать с аналоговыми схемами. например, управление током источника питания с помощью аналогового контура обратной связи.

-Есть проблемы с шумом и разрешением при использовании ACS724 с 10-битным АЦП Arduino.

-Достаточно хорошо для простого контроля среднего тока в цепях с более высоким током, но недостаточно для контроля постоянного тока.

-Может потребоваться использовать внешний 12-битный или более чип АЦП для лучших результатов.

Шаг 4: Код Arduino

Вот код, который я использовал для простого измерения значения АЦП на контакте Arduino A0, и код для преобразования напряжения датчика в ток и получения среднего значения из 10 показаний. Код довольно понятен и содержит комментарии для кода преобразования и усреднения.

Рекомендуемые: