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

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

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

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

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

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

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

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

Габариты платы датчика 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 А.

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

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

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

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

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

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

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

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Настройка смартфонов и гаджетов, оборудования и подключение Смарт ТВ, мобильные операторы
Добавить комментарий

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