Радиолоцман Электроника en
расширенный поиск +
  
Срезы:Измерительные приборы
Микроконтроллеры

10-11-2012

Использование датчика тока ACS712. Часть 2 - Подключение датчика к микроконтроллеру и работа с ним

Часть 1 - Теория

Подключение датчика тока к микроконтроллеру

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

Аналоговый выход датчика подключается к одному из каналов АЦП микроконтроллера. Все необходимые преобразования и вычисления реализуются в программе микроконтроллера. Для отображения данных используется 2-строчный символьный ЖК индикатор.

Экспериментальная схема

Для экспериментов с датчиком тока необходимо собрать конструкцию согласно схеме, приведенной на Рисунке 8. Автор использовал для этого макетную плату и модуль на базе микроконтроллера (Рисунок 9).

Модуль датчика тока ACS712-05B можно приобрести готовый (на eBay он продается совсем недорого), или изготовить самостоятельно. Емкость конденсатора фильтра выбрана равной 1 нФ, по питанию установлен блокировочный конденсатор 0.1 мкФ. Для индикации включения питания припаян светодиод с гасящим резистором. Питание и выходной сигнал датчика подведены на разъем с одной стороны платы модуля, 2-контактный разъем для измерения протекающего тока расположен с противоположной стороны.

Схема подключения модуля датчика ACS712 и ЖК индикатора к микроконтроллеру

Рисунок 8. Схема подключения модуля датчика ACS712 и ЖК индикатора к микроконтроллеру.
 

Макетная плата для экспериментов с датчиком тока ACS712

Рисунок 9. Макетная и отладочная платы для проведения экспериментов.

Для экспериментов по измерению тока регулируемый источник постоянного напряжения подключим к токоизмерительным выводам датчика через последовательный резистор 2.7 Ом / 2 Вт. Выход датчика подключен к порту RA0/AN0 (вывод 17) микроконтроллера. Двухстрочный символьный ЖК индикатор подключен к порту B микроконтроллера и работает в 4-битном режиме.

Микроконтроллер питается напряжением +5 В, это же напряжение используется в качестве опорного для АЦП. Необходимые вычисления и преобразования реализуются в программе микроконтроллера.

Математические выражения, используемые в процессе преобразования, приведены ниже.

Чувствительность датчика тока Sens = 0.185 В/А. При питании Vcc = 5 В и опорном напряжении Vref = 5 В расчетные соотношения будут следующими:

Выходной код АЦП

где

Следовательно

В итоге, формула для вычисления тока получается следующей:

Важное замечание. Представленные выше соотношения основаны на предположении, что напряжение питания и опорное напряжение для АЦП равны 5 В. Однако последнее выражение, связывающее ток I и выходной код АЦП Count, сохраняет силу даже при флуктуациях напряжения источника питания. Об этом шла речь в теоретической части описания.

Из последнего выражения видно, что разрешение датчика по току составляет 26.4 мА, чему соответствуют 513 отсчетов АЦП, что на один отсчет превышает ожидаемый результат. Таким образом, мы можем заключить, что данная реализация не позволяет измерять малые токи. Для увеличения разрешения и повышения чувствительности при измерении малых токов потребуется использование операционного усилителя. Пример такой схемы показан на Рисунке 10.

Схема модуля датчика ACS712 для измерения малых токов

Рисунок 10. Схема модуля датчика ACS712 для измерения малых токов.

Программа микроконтроллера

Программа микроконтроллера PIC16F1847 написана на языке Си и скомпилирована в среде mikroC Pro (mikroElektronika). Результаты измерений отображаются на двухстрочном ЖК индикаторе с точностью до двух десятичных знаков.

Выход

При нулевом входном токе выходное напряжение датчика ACS712 в идеальном случае должно быть строго Vcc/2, т.е. с АЦП должно быть считано число 512. Дрейф выходного напряжения датчика на 4.9 мВ вызывает смещение результата преобразования на 1 младший разряд АЦП (Рисунок 11). (Для Vref = 5.0 В, разрешение 10-битного АЦП будет 5/1024= 4.9 мВ), что соответствует 26 мА входного тока. Заметим, что для уменьшения влияния флуктуаций желательно производить несколько измерений, и затем усреднять их результаты.

Смещение 20 мА при нулевом токе через датчик ACS712

Рисунок 11. Смещение 20 мА при нулевом токе через датчик ACS712.

Если выходное напряжение регулируемого источника питания установить равным 1 В, через
резистор должен протекать ток порядка 370 мА. Измеренное значение тока в эксперименте – 390 мА, что превышает правильный результат на одну единицу младшего разряда АЦП (Рисунок 12).

Показания индикатора при измерении тока 370 мА

Рисунок 12. Показания индикатора при измерении тока 370 мА.

При напряжении 2 В индикатор покажет 760 мА.

На этом мы завершим обсуждение датчика тока ACS712. Однако мы не коснулись еще одного вопроса. Как с помощью этого датчика измерять переменный ток? Имейте ввиду, что датчик обеспечивает мгновенный отклик, соответствующий току, протекающему через измерительные выводы. Если ток течет в положительном направлении (от выводов 1 и 2 к выводам 3 и 4), чувствительность датчика положительная, и выходное напряжение больше Vcc/2. Если же ток меняет направление, чувствительность будет отрицательной, и выходное напряжение датчика опустится ниже уровня Vcc/2. Это означает, что при измерении переменного сигнала АЦП микроконтроллера должен делать выборки достаточно быстро, чтобы иметь возможность вычислять среднеквадратичное значение тока.

Загрузки

Исходный код программы микроконтроллера и файл для прошивки - скачать

Если вам нужно разработать и изготовить печатные платы, настоятельно рекомендуем воспользоваться EasyEDA.
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Пояснения по поводу регулировок на рисунке 10 нужно как то перефразировать.. на схеме нарисованы переменные резисторы (R3, R4) - и что значит "вращение по часовой\против часовой стрелки" применительно к схеме ?! либо вообще убрать эти пояснения, либо изменить Кстати насколько корректно использовать внешний ОУ при измерении малых токов ? может быть лучше взять элемент на меньший ток ? А вообще обе части статьи понравились, спасибо автору !
Рекомендуемые публикации по теме:
Форум  »
Обсуждение: Использование датчика тока ACS712. Часть 1 - Теория
Схемы  »
Использование датчика тока ACS712. Часть 1 - Теория
Схемы  »
Устранение ошибки, связанной с конечным сопротивлением проводников, используемых для подключения датчика путем модуляции тока смещения
Схемы  »
Следящая обратная связь с датчиком тока и мощный MOSFET-транзистор позволяют увеличить выходной ток
Схемы  »
Регистратор данных лабораторного класса на PIC-микроконтроллере. Часть 2 - Конфигурирование регистратора данных, пример подключения датчика температуры, вариант регистратора с последовательным портом

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Срезы ↓
радиолоцман вконтакте радиолоцман одноклассники радиолоцман facebook радиолоцман twitter радиолоцман google плюс