Датчик тока ACS712

Содержание:

  • Обзор
  • Технические характеристики модуля
  • Подключение
  • Пример использования
  • Часто задаваемые вопросы FAQ

Измерение и контроль протекающего тока являются принципиальным требованием для широкого круга приложений, включая схемы защиты от перегрузки по току, зарядные устройства, импульсные источники питания, программируемые источники тока и пр. Один из простейших методов измерения тока –использование резистора с малым сопротивлением, – шунта между нагрузкой и общим проводом, падение напряжения на котором пропорционально протекающему току. Несмотря на то, что данный метод очень прост в реализации, точность измерений оставляет желать лучшего, т.к. сопротивление шунта зависит от температуры, которая не является постоянной. Кроме того, такой метод не позволяет организовать гальваническую развязку между нагрузкой и измерителем тока, что очень важно в приложениях, где нагрузка питается высоким напряжением.

Датчик тока ACS712 (рисунок 1) основан на эффекте Холла, суть которого в следующем: если проводник с током помещён в магнитное поле, на его краях возникает ЭДС, направленная перпендикулярно к направлению тока и направлению магнитного поля (рисунок 2).

Датчик тока ACS712.

Рисунок 1. Датчик тока ACS712.

Эффект Холла

Рисунок 2. Эффект Холла.

Датчик тока ACS712  состоит из датчика Холла и медного проводника. Протекающий через медный проводник ток создает магнитное поле, которое воспринимается элементом Холла. Магнитное поле линейно зависит от силы тока. ACS712 датчик построен на эффекте Холла и имеет линейную зависимость измеряемого тока и выходного сигнального напряжения.

Уровень выходного напряжения сенсора пропорционально зависит от измеряемого тока. Диапазон измерения от −5 А до 5 A. Чувствительность — 185 мВ/А. При отсутствии тока выходное напряжение будет равняться половине напряжения питания. Датчики ACS712 и ACS713 питаются от +5В и имеют выход по напряжению. При токе равном нулю напряжение на выходе для ACS712 равно 2,5В и отклоняется в или ближе к нулю или ближе к напряжению питания — зависит от направления протекания тока.

ACS712 обеспечивает экономное и прецизионное решение для измерения AC и DC тока в промышленных, автомобильных, коммерческих системах и системах связи. Корпус устройства обеспечивает удобную реализацию для пользователя. Устройство состоит из прецизионного линейного датчика тока на базе эффекта Холла с медным проводником на нижней части. Прикладываемый к медному проводнику ток создает, улавливаемое датчиком, магнитное поле, которое преобразуется в пропорциональное напряжение. Точность устройства оптимизирована за счет непосредственной близости от магнитного сигнала к датчику. Напряжение обеспечивается BiCMOS Hall микросхемой с низким смещением и заводскими настройками точности.


Технические характеристики ACS712

  • ACS712 работает с постоянным и переменным током;
  • Чувствительность датчиков:
  • ACS712 5А: 185 мВ/А;
  • ACS712 20А: 100 мВ/А;
  • ACS712 30А: 66 мВ/А;
  • ACS713 20А: 185 мВ/А;
  • ACS713 30А: 133 мВ/А.
  • Напряжение питания +5,0 В;
  • Ток потребления не превышает 11мА;
  • Сопротивление токовой шины 1,2 мОм;
  • Температура эксплуатации -40°C…+85°C;
  • Размер 31мм х 13мм.

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

Для подключения ACS712 к плате Arduino используют 3 провода:

  • VCC – питание (опорное напряжение 5В);
  • GND – земля;
  • OUT – сигнальный (подключается к аналоговому выводу контроллера Arduino).

Для измерения тока датчик подключается в разрыв цепи между источником питания и нагрузкой.

Схема подключения к плате Arduino показана на рисунке 3.

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

Рисунок 3. Подключение датчика тока ACS712 к плате Arduino.


Пример использования

Датчик тока подключается к нагрузке в разрыв цепи через колодки под винт. Для работы с датчиком мы можно использовать библиотеку TroykaCurrent, которая переводит значения аналогового выхода датчика в миллиамперы. В листинге 1 представлен скетч для измерения постоянного тока.

Листинг 1

// пин подключения контакта OUT

#define PIN_OUT A0

// подключение библиотеки

#include <TroykaCurrent.h>



// создание объекта

ACS712 dataI(PIN_OUT);



void setup()

{

// запуск последовательного порта

Serial.begin(9600);

}



void loop()

{

// вывод показаний в последовательный порт

Serial.print("i = ");

Serial.print(dataI.readCurrentDC());

Serial.println(" A");

delay(1000);

}

Загружаем скетч на плату Arduino, подключаем нагрузку к источнику питания 12В и смотрим значение тока при подключении хоппера выдачи монет (рис. 5) и двигателя для вендингового аппарата (рис. 7).

Подключение хоппера выдачи монет к источнику питания 12В.

Рисунок 4. Подключение хоппера выдачи монет к источнику питания 12В.

Измерение силы тока при подключении хоппера выдачи монет к источнику питания 12В.

Рисунок 5. Измерение силы тока при подключении хоппера выдачи монет к источнику питания 12В.

Подключение двигателя для вендингового аппарата к источнику питания 12В.

Рисунок 6. Подключение двигателя для вендингового аппарата к источнику питания 12В.

Измерение силы тока при подключении двигателя для вендингового аппарата к источнику питания 12В.

Рисунок 7. Измерение силы тока при подключении двигателя для вендингового аппарата к источнику питания 12В.

В листинге 2 представлен скетч для измерения переменного тока.

Листинг 2

// пин подключения контакта OUT

#define PIN_OUT A0

// подключение библиотеки

#include <TroykaCurrent.h>



// создание объекта

ACS712 dataI(PIN_OUT);



void setup()

{

// запуск последовательного порта

Serial.begin(9600);

}



void loop()

{

// вывод показаний в последовательный порт

Serial.print("Current is ");

Serial.print(dataI.readCurrentAC());

Serial.println(" A");

delay(1000);

}


Часто задаваемые вопросы FAQ

  1. Нет измерения тока при подключении нагрузки
  • Проверьте правильность подключения датчика тока.
  • Проверьте наличие достаточного внешнего питания сервопривода.
  1. Значение тока отрицательное
  • Поменяйте полярность подключения проводов к клеммам датчика тока.