Датчик тока для Ардуино ACS712

При конструировании различных систем измерения и контроля может потребоваться измерить ток, протекающий по проводнику. Встроенными средствами аппаратной платформы Arduino низкое постоянное напряжение можно измерить без каких-либо проблем, а вот ток так просто измерить не получится. Одним из специальных датчиков, предназначенных решить данную проблему, является датчик тока ACS712, эти датчики бывают рассчитаны на различные максимальные значения измеряемого тока, в данном случае автор использовал датчик на 20А. Физически работа этого устройства основана на эффекте Холла. Данный эффект заключается в том, что носители электрического тока при движении вдоль проводника, помещенного в поперечное магнитное поле испытывают на себе действие силы Лоренца и отклоняются в сторону. Из за этого на боковых, по отношению к направлению тока, сторонах проводника возникает разность потенциалов, которую можно измерить [1-2]. Датчик приобретен здесь всего за 100 рублей:

Устройство поставляется в антистатическом пакете

На печатной плате устройства хорошо видна клеммная колодка для подключения контролируемой цепи.

Габариты платы датчика 31 х 13 х 12 мм, масса 3,1 г.

Подключение датчика ACS712

На плате расположен 3-х контактный разъем.

  • Vcc – контакт для подачи питающего напряжения +5В,
  • OUT – контакт для снятия результатов измерения,
  • GND – общий провод.

На плате датчика имеется красный светодиод – индикатор питания. Сопротивление токовой шины 1,2 мОм [3-5], напряжение питания 5 В, ток потребления составляет около 12 мА.

Тестирование токового датчика

Автор обзора приобрел версию датчика рассчитанную на ток до 20 А, и это в целом было ошибкой. В радиолюбительской практике все же довольно редко приходится иметь дело с подобными значениями силы тока, так что более рациональным было бы приобретение версии рассчитанной на 5 А, так как у нее разрешение 185 мВ/А, против 100 мВ/А у 20А версии. Тем не менее, и данную версию можно использовать, но точность у нее ниже при измерении токов порядка 1 А.

Для тестирования можно использовать программу AnalogInput2 [6], на ее основе не сложно написать код для измерения значения силы тока, протекающей через датчик и вывода этих данных в удобном виде в монитор последовательного порта. При отсутствии тока на выходе датчика присутствует напряжение примерно в половину от напряжения питания, так, что встроенный АЦП Arduino вернет значение около 512.

В опытах по тестированию данного модуля использован блок питания, дающий напряжение 5 В, который согласно маркировке рассчитан на максимальный ток 2 А. При подключении одного резистора сопротивлением 10 Ом, ток через датчик составляет примерно 0,47 А.

Какой мультиметр лучше купить начинающему для дома и авто

При этом АЦП возвращает значение около 504.

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

При этом АЦП возвращает значение около 496.

Как известно встроенный АЦП Arduino UNO является 10 разрядным, т.е. диапазону напряжений от 0 до 5 В ставится в соответствие двоичное число от 0 до 1023. Таким образом, разрешение АЦП составляет примерно 0,0049 В. Как следует из приведенных выше данных току в 0,47 А соответствует напряжение 2,46 В, а току 0,9 А – 2,42 В, т.е изменению тока на 0,43 А соответствует изменение напряжения на 40 мВ, что вполне соответствует заявленным продавцом 100 мВ/А.В целом рассмотренный датчик заданные функции выполняет вполне успешно, устройство своих денег стоит.

Ссылки по теме

  1. radioprog.ru/post/99
  2. elenergi.ru/effekt-xolla.html
  3. arduino.ru/forum/programmirovanie/datchik-toka-acs712
  4. www.drive2.ru/b/456815746333278890/
  5. 3d-diy.ru/wiki/arduino-datchiki/datchik-toka-acs712/
  6. robocraft.ru/blog/arduino/59.html

Файлы проекта тут. Обзор сделал специально для сайта 2 Схемы , Denev.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
mosautorent.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: