Амперметр на микросхеме ACS712 | Все своими руками






Амперметр на микросхеме ACS712

Рубрика: Измерения

Цифровой амперметр на модуле ACS712 и микроконтроллере PIC16F676

В статье будет рассмотрена практическая схема амперметра постоянного тока с применением готового модуля ACS712, выступающего в роли датчика тока. И микроконтроллера PIC16F676, выполняющего оцифровку полученных с датчика данных и вывод информации на однострочный жидкокристаллический индикатор.

Внешний вид модуля изображен на фото ниже.

Модуль измерения тока ACS712-30A

Основа модуля одноименная с ним микросхема ACS712. Датчик тока ACS712 основан на принципе, открытом в 1879 году Эдвином Холлом (Edwin Hall), и названным его именем. В Сети много информации по этому вопросу, так что, кто желает, может подробнее ее изучить. В продаже имеются три разновидности модулей для измерения токов в 5, 20 и тридцать ампер. Соответствующие уровни чувствительности составляют 185 мВ/А, 100 мА/В и 66 мВ/A. В моем распоряжении имеется один модуль на тридцать ампер с чувствительностью 66мА/В. На такой ток и будет рассчитан цифровой амперметр постоянного тока.

ACS712 Datasheet PDF

Электрическая схема вольтметра приведена на рисунке 1.

Электронный амперметр схема

На схеме указана микросхема ACS712, а не модуль и конденсатор С2, указанный на схеме находится на плате модуля. Для универсальности устройства в схему введен еще и вольтметр.

Микросхема датчика тока помимо преобразования постоянного тока нагрузки в напряжение может так же преобразовывать и переменный ток, то есть является еще и прекрасной альтернативой трансформатора тока имеющего гальваническую развязку измеряемой цепи и измерительного устройства. Поэтому на выходе микросхемы, при нулевом токе в измеряемой цепи, на ее выходе присутствует начальное напряжение порядка 2,5 вольта. При ее номинальном напряжении питания пять вольт. Необходимо заметить, что выходное напряжение при нулевом токе и чувствительность ACS712 пропорциональны напряжению питания. Точность любого АЦП зависит от стабильности источника опорного напряжения. В основном в схемах на микроконтроллерах в качестве опорного используется напряжение питания. А если опорным напряжением АЦП сделать и напряжение питания датчика ACS712, то его выходное напряжение будет компенсировать любые ошибки аналого-цифрового преобразования, обусловленные флуктуациями опорного напряжения. И как видно из схемы питание датчика тока и модуля АЦП микроконтроллера PIC16F676 осуществляются от одного стабилизатора напряжения DA2 – LM7805. Микросхема ACS712 имеет практически мгновенный отклик на изменения измеряемого тока, поэтому увеличивающиеся пульсации при больших токах нагрузки начинают влиять на показания младшего разряда на индикаторе. Что бы уменьшить это влияние, между выходом модуля и входом RA0 АЦП микроконтроллера введен фильтр, состоящий из резистора R1 и конденсатора С2. Резисторы R3, R4, это резисторы делителя измеряемого напряжения, с которого его часть поступает на вход RA1 DD1, С5 так же является конденсатором фильтра. Если фильтрация измеряемого тока и напряжения находится на высоком уровне, то R1,C2 и C5 можно из схемы убрать. Светодиод HL1 с гасящим резистором R2 своим миганием индицирует работу программы микроконтроллера. Резистором R5 можно регулировать яркость подсветки индикатора, а от величины резисторов R6 и R7 – зависит контрастность выводимых на индикатор символов. С6 – конденсатор фильтра по питанию, на плате должен находиться в непосредственной близости от ножек 1 и 14.

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

Алгоритм программы довольно прост. После инициализации необходимых регистров и битов конфигурации контроллера, программа инициализирует индикатор и выводит на экран символы напряжения и тока. Затем идет подпрограмма моргания светодиодом. После этого, при нулевом токе нагрузки оцифровываем величину напряжения на выходе микросхемы ACS712 и запоминаем это значение. В последующих циклах замеров мы это значение будем вычитать. В итоге на индикаторе будет отображаться ноль относительно 2,5 вольт. Далее, для того чтобы получить корректные показания амперметра при его передаточной характеристике 66 мВ/A нам необходимо это значение довести до 100 мА/В. Находим коэффициент, на который будем умножать полученные с датчика данные, 100 мА/В делим на 66 мВ/A и получим 1,51. Программно будем умножать на 151. Возможно, величина этого коэффициента для разных датчиков будет не одинакова, тогда потребуется корректировка его значения. На скриншоте, ниже, указан адрес регистра, где находится этот коэффициент – 096.

Адрес регистра

Коэффициент уже мной скорректирован и вместо 151 для моего датчика потребовался коэффициент 148, в шестнадцатеричном виде это число выглядит – 94. В программе IC prog по этому адресу (смотрим скриншот ниже).

Адрес в Ic prog

После программы умножения идет оцифровка сигнала вольтметра и вывод данных на индикатор. Максимальное значение напряжения для данного вольтметра – 51В. Если вы будете применять датчик на 20 ампер с чувствительностью 100мВ/А, то программу умножения можно исключить. Но тогда нужен будет другой программный способ коррекции показаний. Я пока этим не занимался. При использовании датчика тока на пять ампер с чувствительностью 185 мВ/А, корректировать показания можно просто с помощью резистивного делителя напряжения на выходе модуля ACS712. На фото 1 показана макетная плата с собранным амперметром. Вольтметр на фото показывает общее напряжение схемы.

Амперметр цифровой на ACS712

На этом пока все. Удачи! К.В.Ю.

Скачать файлы проекта.


.

Просмотров:4 965
9 комментариев




9 комментариев к “Амперметр на микросхеме ACS712”

  • Евгений
    4 ноября, 2022, 14:15

    Здравствуйте. Собрал ампервольтметр на pic16f676 и acs712 30a. Измеритель работает , но при токах выше 10а на дисплей выводятся показания 1010.2 Есть фотографии но нет Ваших контактов. Прошу оказать помощь в виде подсказки или откорректированной прошивки для PIC.

  • admin
    16 ноября, 2022, 15:24

    Привет, Евгений, придется подождать. Прошло четыре года, у меня от этой разработки уже ни чего не осталось. Попробую разобраться.

  • admin
    19 ноября, 2022, 16:47

    Евгений, привет, скачай еще раз прошивку. Пришлось делать все заново.

  • Евгений
    25 ноября, 2022, 16:28

    Здравствуйте. Спасибо за новую прошивку. Теперь выше 10 ампер показывает правильно. Еще вопрос по какому адресу менять поправочный коэффициент в новой прошивке?

  • admin
    26 ноября, 2022, 11:22

    Привет, Евгений, новый адрес 096. Статью откорректировал.

  • Евгений
    27 ноября, 2022, 3:50

    Большое спасибо за Ваш труд.

  • admin
    27 ноября, 2022, 10:07

    На том стоим.

  • Александр
    7 марта, 2024, 10:49

    Подскажите, он подойдет для измерения постоянного тока после диодного моста без трансформатора ??

  • admin
    7 марта, 2024, 13:36

    Привет, Александр. Если только ток. Для измерения тока в модуле существует гальваническая развязка, с минимальным сопротивлением изоляции 2,1 кВ действующего напряжения. Какое значение тока Вы собираетесь измерять? Среднее, амплитудное, действующее? Ведь после моста ток постоянен по знаку, по переменный по величине.

Оставить комментарий