Измерение и контроль протекающего тока являются принципиальным требованием для широкого круга приложений, включая схемы защиты от перегрузки по току, зарядные устройства, импульсные источники питания, программируемые источники тока и пр. Один из простейших методов измерения тока –использование резистора с малым сопротивлением, – шунта между нагрузкой и общим проводом, падение напряжения на котором пропорционально протекающему току. Несмотря на то, что данный метод очень прост в реализации, точность измерений оставляет желать лучшего, т.к. сопротивление шунта зависит от температуры, которая не является постоянной. Кроме того, такой метод не позволяет организовать гальваническую развязку между нагрузкой и измерителем тока, что очень важно в приложениях, где нагрузка питается высоким напряжением. Датчик тока ACS712 основан на эффекте Холла, суть которого в следующем: если проводник с током помещён в магнитное поле, на его краях возникает ЭДС, направленная перпендикулярно к направлению тока и направлению магнитного поля (рисунок 1).
 

Эффект Холла

Эффект Холла.

Датчик тока 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 показана на рисунке 2.
 

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

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

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

Датчик тока подключается к нагрузке в разрыв цепи через колодки под винт. Для работы с датчиком мы можно использовать библиотеку TroykaCurrent, которая переводит значения аналогового выхода датчика в миллиамперы. В листинге 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В и смотрим значение тока при подключении хоппера выдачи монет и двигателя для вендингового аппарата.

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

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

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

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

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

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

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

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

В листинге представлен скетч для измерения переменного тока.
// пин подключения контакта 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);
}


Что делать если

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

Рекомендуемые товары

Комментарии 0