Содержание:
- Обзор
- Технические характеристики модуля
- Подключение
- Пример использования
- Часто задаваемые вопросы FAQ
Измерение и контроль протекающего тока являются принципиальным требованием для широкого круга приложений, включая схемы защиты от перегрузки по току, зарядные устройства, импульсные источники питания, программируемые источники тока и пр. Один из простейших методов измерения тока –использование резистора с малым сопротивлением, – шунта между нагрузкой и общим проводом, падение напряжения на котором пропорционально протекающему току. Несмотря на то, что данный метод очень прост в реализации, точность измерений оставляет желать лучшего, т.к. сопротивление шунта зависит от температуры, которая не является постоянной. Кроме того, такой метод не позволяет организовать гальваническую развязку между нагрузкой и измерителем тока, что очень важно в приложениях, где нагрузка питается высоким напряжением. Датчик тока ACS712 основан на эффекте Холла, суть которого в следующем: если проводник с током помещён в магнитное поле, на его краях возникает ЭДС, направленная перпендикулярно к направлению тока и направлению магнитного поля (рисунок 1).
Рисунок 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.
Рисунок 2. Подключение датчика тока ACS712 к плате Arduino.
Пример использования
Датчик тока подключается к нагрузке в разрыв цепи через колодки под винт. Для работы с датчиком мы можно использовать библиотеку TroykaCurrent, которая переводит значения аналогового выхода датчика в миллиамперы. В листинге 1 представлен скетч для измерения постоянного тока. Листинг 1
// пин подключения контакта OUT #define PIN_OUT A0 // подключение библиотеки #include // создание объекта 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В и смотрим значение тока при подключении хоппера выдачи монет (рис. 4) и двигателя для вендингового аппарата (рис. 6).
Рисунок 3. Подключение хоппера выдачи монет к источнику питания 12В.
Рисунок 4. Измерение силы тока при подключении хоппера выдачи монет к источнику питания 12В.
Рисунок 5. Подключение двигателя для вендингового аппарата к источнику питания 12В.
Рисунок 6. Измерение силы тока при подключении двигателя для вендингового аппарата к источнику питания 12В.
В листинге 2 представлен скетч для измерения переменного тока. Листинг 2
// пин подключения контакта OUT #define PIN_OUT A0 // подключение библиотеки #include // создание объекта 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
- Нет измерения тока при подключении нагрузки
- Проверьте правильность подключения датчика тока.
- Проверьте наличие достаточного внешнего питания сервопривода.
- Значение тока отрицательное
- Поменяйте полярность подключения проводов к клеммам датчика тока.
Всем привет. Хочу поделится одним из проектом созданным на базе Arduino. Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок. Если вам уже интересно, тогда продолжим. Здесь я расскажу об одном модуле, так как описывать и зарисовывать 7 модулей не очень-то и легко. Было тех задание: 1) Лампы(фонари) 50-65ВТ 220В переменка или 24В постоянка; 2) Индикация работы лампы (светодиод на панели); 3) Звуковая индикация перегоревшей лампы. Решение было принято такое: Используем токовый датчик GY-712 5А По причинам: 1) Меряет переменный и постоянный ток; 2) Легко подключается к контроллеру; 3) Компактный; 4) Недорогой при заказе с Китая. Давайте посмотрим на схему: Как работает программа. При старте он проверяется, включен ли тумблер, если включен ты выдается звуковой сигнал и световая индикация, что бы датчик можно было откалибровать без нагрузки. Если тумблер выключить то прога выдаст звук + индикация. Далее идет калибровка. После калибровки – звуковой сигнал. И стартует основная программа. Контроль тумблера, если включен то контроль тока нагрузки лампы, если ток выше заданного порога то включить индикацию если тока нет, то выключить индикацию и выдать звуковой сигнал. Вот простая схема без контроля тумблера, просто световая индикация. Это на тот случай кому просто нужен будет световой индикатор нагрузки – но тогда можно просто намотать на ферритовое кольцо провода(сделать трансформатор тока) и подключить светодиодик. Фото тестов: Видео теста:Пример программы для одного модуля. IDE 1.5.2
Перевёл alexlevchenko для mozgochiny.ru
Доброго времени суток. В сегодняшней статье мы поговорим о том, каксделать простой счетчик электроэнергии с поддержкой Wi-Fi своимируками.
Шаг 1: Необходимые детали и инструменты
Необходимые компоненты:
- Wemos D1 mini pro;
- Датчик тока ACS712;
- OLED дисплей;
- 5В блок питания;
- Монтажная плата 4 х 6 см;
- Провода;
- Гнезда под «гребенку»;
- Перемычки;
- Винтовые клеммы;
- Стойки;
- Вилка+розетка
- Самозажимные клеммы;
- Тумблер.
Необходимые инструменты:
- Паяльник;
- Клеевой пистолет;
- Кусачки / стриппер.
Шаг 2: Как это работает?
Питание поступает от сети переменного тока и проходит через предохранитель, для предотвращения повреждения печатной платы во время короткого замыкания.
Провода переменного тока расходятся в два направления:
- К нагрузке через датчик тока (ACS712);
- 230V AC / 5V DC к блоку питания.
Блок питания 5 В обеспечивает питание микроконтроллера (Arduino / Wemos), датчика тока (ACS712) и OLED-дисплея.
Величина тока, определяется датчиком тока (ACS712). Считанное значение подается на аналоговый вывод (A0) платы Arduino / Wemos. Как только аналоговый сигнал заходит в Arduino, расчет мощности выполняется по алгоритму приложения Arduino.
Расчетное значение отображаются на 0,96-дюймовом дисплее OLED.
Встроенный WiFi-чип Wemos подключен к домашнему маршрутизатору и связан с приложением Blynk. Таким образом, можно контролировать параметры, а также калибровать и изменять различные настройки со своего смартфона через OTA.
Шаг 3: Матчасть
В цепях переменного тока ток изменяются синусоидально со временем.
Активная мощность (P): мощность, используемая устройством для производства полезной работы. Она выражается в кВт.
- Активная мощность = напряжение (V) * ток (I) * cosΦ
Реактивная мощность (Q): мощность, которая не была передана в нагрузку, а привела к потерям на нагрев и излучение. Не приносит никакой полезной работы. Она выражается в кВАр.
- Реактивная мощность = напряжение (V) * ток (I) * sinΦ
Полная мощность (S): определяется, как произведение действующего значение напряжения на действующее значение тока. Также может быть определена, как сумма активной и реактивной мощности. Выражается в кВА
- Полная мощность = напряжение (V) * ток (I)
Отношения между активной, реактивной и полной мощностью:
- Активная мощность = полная мощность * cosΦ
- Реактивная мощность = полная мощность * sinΦ
- (кВА) ² = (кВт) ² + (кВАр) ²
Коэффициент мощности (пф): отношение активной мощности к полной мощности в цепи.
- Коэффициент мощности = активная мощность / полная мощность
Из вышесказанного ясно, что мы можем измерить любую мощность, а также коэффициент мощности, измеряя напряжение и ток.
Шаг 4: Датчик тока
Величина переменного тока измеряется с помощью трансформатора тока, но для этого проекта был выбран ACS712 — датчик тока с эффектом Холла, который измеряет ток при наведении. Обнаруженное магнитное поле вокруг провода, дает эквивалентное аналоговое выходное напряжение. Затем напряжения обрабатывается микроконтроллером для измерения тока, протекающего через нагрузку.
Шаг 5: Измерение тока с помощью ACS712
Выходной сигнал датчика тока ACS712 представляет собой волну. Нам необходимо рассчитать среднеквадратичное значение тока, это можно сделать следующим образом.
- Измеряем напряжения Vpp (полную амплитуду);
- Делим напряжение Vpp на два, чтобы получить амплитудное напряжение Vp;
- Умножаем полученное значение на 0,707, получив действующее напряжение (Vrms)
Затем умножим на чувствительность датчика тока (ACS712), чтобы получить действующее значение тока.
- Vp = Vpp / 2
- Vrms = Vp x 0,707
- Irms = Vrms x Чувствительность
Чувствительность модуля ACS712:
- 5A составляет 185 мВ / A;
- модуля 20A — 100 мВ / A;
- модуля 30A — 66 мВ / A.
Подключение датчика (ACS712 Arduino / Wemos)
- VCC = 5 В
- OUT = A0
- GND = GND
Шаг 6: Расчет мощности
Причина не использовать датчик напряжения связана с ограниченным количеством аналоговых выводов Wemos (только один). Хотя дополнительный датчик можно подключить с помощью АЦП, такого как ADS1115.
Коэффициент мощности нагрузки можно изменить во время программирования или из приложения для смартфона.
- Активная мощность (Вт) = Vrms x Irms x Pf
- Vrms = 230 В (известно)
- Pf = 0,85 (известно)
- Irms = чтение с текущего датчика (неизвестно)
Шаг 7: Приложение Blynk
Так как на плате Wemos есть встроенный чип WiFi. Преимущества использования платы Wemos: калибровка датчика и изменение значения параметров со смартфона через OTA без физического повторного программирования микроконтроллера.
Blynk — это приложение, которое обеспечивает полный контроль над Arduino, ESP8266, Rasberry, Intel Edison и многими другими аппаратными средствами. Приложение совместимо как с Android, так и с iPhone. В Blynk все работает на «Energy». Когда вы создаете новую учетную запись, вы получаете 2000 фунтов стерлингов, чтобы начать эксперимент; Каждый виджет нуждается в энергии для работы. Для этого проекта вам нужно 2400 фунтов стерлингов, поэтому вы должны приобрести дополнительную энергию 400 фунтов стерлингов (стоимость менее 1 доллара США)
- Датчик — 2 х 200 = 400;
- Отображение маркировки — 2 x 400 = 800;
- Ползунки — 4 х 200 = 800;
- Меню — 1x 400 = 400.
Общая энергия, необходимая для этого проекта = 400 + 800 + 800 + 400 = 2400
Выполним следующие шаги:
Загружаем приложение Blynk
- Для Android
- Для iPhone
Авторизация
Чтобы подключить приложение Blynk к оборудованию, нужно авторизироваться.
- Создаем новую учетную запись в приложении Blynk.
- Нажмём значок QR в верхней строке меню. Создадим клон этого проекта, отсканировав QR-код, показанный выше. Как только он будет успешно обнаружен, весь проект будет немедленно загружен на телефоне.
- После создания проекта будет выслано письмо на электронную почту.
- Проверим свою электронную почту и пройдём авторизацию.
Подготовка Arduino IDE для Wemos Board
Чтобы загрузить код Arduino на Wemos, вы должны следовать этим инструкциям
Устанавливаем библиотеки
Импортируем библиотеку в Arduino IDE
Скачать Blynk Library
Загрузим библиотеки для дисплея OLED:
- Как сделать детский стенд для альпинизма своими руками— 13.04.2020
- Балконный мини пруд своими руками— 07.04.2020
- Самодельная сигнализация на холодильник своими руками— 03.04.2020
- Велосипедная подставка своими руками— 01.04.2020
- Садовый светильник своими руками— 30.03.2020
- Мини сауна на приусадебном участке своими руками— 28.03.2020
- Кукольный домик своими руками— 24.03.2020
- Светильник «Инопланетное похищение» своими руками— 23.03.2020
- Аварийный запас продуктов длительного хранения— 22.03.2020
- Как сделать велосипедный прицеп без сварки своими руками— 22.03.2020
- Водонепроницаемый розжиг для костра своими руками— 21.03.2020
- Детская стиральная машина своими руками— 20.03.2020
- Настольная игра «Вышибала» своими руками— 18.03.2020
- Походный набор столовых приборов своими руками— 15.03.2020
- Калимба — музыкальный инструмент из мусора своими руками— 14.03.2020
Ремонт модема на …Мини сауна на при…Офисный мини-крюк…ʘ — Неубиваемая ф…Настенное панно «…Необычные ночники…Используемые источники:
- https://3d-diy.ru/wiki/arduino-datchiki/datchik-toka-acs712/
- https://habr.com/post/249811/
- http://mozgochiny.ru/idey-dlya-doma/schetchik-elektroenergii-na-arduino-svoimi-rukami/