Схемы амперметров и вольтметров на пик контроллерах. Встраиваемый ампер-вольтметр на PIC12F675 и LED-индикаторах

Ампервольтметр предназначен для измерения тока 0-9,99А и напряжения 0-100В с разрешением 0,01А и 0,1В соответственно.

Операционный усилитель можно заменить на LM2904, LCD дисплей должен быть на контроллере HD44780. Количество символов 2х8... Так же можно применить 2х16 символьный дисплей, но в таком случае останется незадействованной бОльшая часть дисплея. В такой ситуации в устройстве, куда будет встраиваться ампервольтметр рекомендуется вырезать окошко только под рабочую часть дисплея на которой будет выводиться информация. Важно! Непосредственно на дисплеях, как правило, установлен токоограничительный резистор в цепи питания подсветки. Если резистора нет, то его необходимо установить самостоятельно в разрыв цепи идущей на LED +. Сопротивление резистора 6...100 Ом в зависимости от желаемой яркости подсветки...

Настройка устройства проста: сначала резистором "контрастность" устанавливаем необходимую контрастность дисплея, а резисторами "уст U" и "уст I" регулируем точность показаний вольтметра и амперметра. Регулировку желательно производить на верхних пределах показаний вольтметра и амперметра. Если после регулировки амперметр без нагрузки отображает какое-либо значение тока - подбираем операционный усилитель чтобы без нагрузки значение тока было 0,00А!

Фото устройства!

Подключение ампервольтметра к блоку питания.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит

PIC12F675

1 В блокнот
Сдвиговый регистр

CD74HC164

1 В блокнот
Операционный усилитель

LM358

1 Замена: LM2904 В блокнот
Линейный регулятор

LM7805CT

1 В блокнот
LCD-дисплей HD44780 1 8x2 В блокнот
C1, C2, C4, C5 Конденсатор 0.1 мкФ 4 В блокнот
C3 Электролитический конденсатор 100 мкФ 1 В блокнот
Резистор

100 Ом

2 В блокнот
Резистор

91 кОм

1 В блокнот
Резистор

5.1 кОм

1 В блокнот
Резистор

680 Ом

1 В блокнот
Резистор

0.01 Ом

1

Вольтамперметр на PIC16F676

Этот проект - ампервольтметр (или вольтамперметр, если хотите) постоянного тока. Диапазон - до 99.9В и 9.9А (или 99.9А, зависит от прошивки).


Особенность его состоит в том, что он построен на распространённом микроконтроллере PIC16F676, однако, несмотря на это, имеет возможность одновременного отображения измеряемых напряжения и силы тока на четырёхсимвольных (или трёхсимвольных) семисегментных индикаторах, как с общим анодом, так и с общим катодом (задаётся одним резистором). При использовании четырёхсимвольного индикатора, последний сегмент отображает символ "U" для напряжения и "A" для тока. Ампервольтметр может работать и с одним индикатором, при этом кнопкой "B" можно выбирать, что будет на нём отображаться - напряжение или сила тока. В том случае, если установлены оба индикатора, этой кнопкой можно поменять местами их назначение. Кнопка "H" служит для коррекции показаний амперметра и выравнивания линейности этих показаний, если это необходимо.

up feb 2014: сейчас разработку можно найти по адресу:

Схема вольтамперметра приведена ниже. Как уже было сказано, он построен на распространённом микроконтроллере PIC16F676, на котором, в частности, собирают простые вольтметры и амперметры.


Нажмите на схему для увеличения
В виду ограниченного количества пинов у данного МК, применён регистр 74HC595. Аналогов с совпадающей цоколёвкой у этой микросхемы нет, но она недефицитна и часто применяется в подобных схемах для подключения индикаторов к МК. Для защиты выходов МК от перегрузки и повышения яркости индикаторов применены ключи на транзисторах. При использовании индикаторов с общим катодом, необходимо использовать транзисторы другой структуры, соединив их коллекторы не с +5В, а с массой, при этом резистор на 11 выводе микроконтроллера нужно переставить в другое положение. Возможно, Вам потребуется подобрать резисторы на выходе регистра и в базах транзисторов под свои индикаторы и транзисторы.

Как уже говорилось ранее, кнопка "B" позволяет поменять местами назначение индикаторов в случае, если их два. Если индикатор один, то этой кнопкой можно чередовать отображение напряжения и тока. При нажатии кнопки "H" индикаторы начнут мигать. Пока они мигают, кнопками "B" и "H" можно корректировать показания амперметра. После корректировки мигание прекратится и коэффициент корректировки будет записан в энергонезависимую память. Режим отображения, установленный кнопкой "B", также хранится в энергонезависимой памяти.

После включения индикаторы начинают светиться не сразу, а с задержкой в несколько секунд. Частота изменения показаний - около 9Гц.

Один из вариантов печатной платы для четырёх индикаторов с общим анодом. На рисунке кружками обведены необходимые исправления: нужно убрать перемычку, идущую на массу, и добавить одну маленькую перемычку.


Файлы к проекту.

Когда появилась необходимость в измерительной части для лабораторного БП, рассматривая различные схемы из Интернета, сразу остановил выбор на семи сегментных LED индикаторах (возможная альтернатива - индикаторы типа 0802, 1602 - дороги и плохо читаемы). Так же, не хотелось каких либо переключений - и ток, и напряжение должны считываться в любой момент времени. По разным причинам, найденные готовые решения не устроили и я решил сконструировать свою схему.

Предлагаемое устройство предназначено для применения совместно с различными блоками питания и позволяет измерять напряжение в пределах от 0 до 99.9 Вольт с точностью 0.1 Вольт и ток потребления в пределах от 0 до 9.99 Ампер с точностью 0.01 ампер. Устройство собрано на дешевом микроконтроллере PIC12F675, как самом недорогом и распространенном из имеющих 10-разрядный АЦП, двух регистрах 74HC595 и двух 4-х или 3-х разрядных LED индикаторах. Общая стоимость примененных деталей, на мой взгляд, минимальна для подобных конструкций с одновременной индикацией напряжения и тока.

Описание работы схемы.

Напряжение высвечивается индикатором HL1, а ток - индикатором HL2. Одноименные сегментные выводы индикаторов объединены попарно и подключены к параллельным выходам регистра DD2, общие выводы разрядов подключены к регистру DD3. Регистры соединены последовательно и образуют 16-разрядный сдвиговый регистр, управляемый по трем проводам: выводы 11 - тактовые, 14 - информационный, а по перепаду на выводе 12 информация записывается в выходные защелки. Индикация обычная динамическая - через выходы регистра DD3 последовательно перебираются общие выводы индикаторов, а с выходов DD2 через токоограничительные резисторы R12-R19 включаются соответствующие выбранному разряду сегменты. Индикаторы могут быть как с общим анодом, так и с общим катодом (но оба одинаковые).

Микроконтроллер управляет индикацией по выводам GP2, GP4, GP5 в прерываниях от таймера TMR0 c интервалом 2 мс. Входы GP0 и GP1 используются соответственно для измерения напряжения и тока. В первых трех разрядах индикаторов высвечиваются собственно измеряемые значения, а в последнем разряде: в верхнем индикаторе - знак "V", а в нижнем - знак "A". В случае применения 3-х разрядных индикаторов эти знаки наносятся на корпус прибора. Никаких изменений программы в этом случае не требуется.

Измеряемое напряжение поступает на МК через делитель R1-R3, а ток - с выхода ОУ LM358 через резистор R10, который совместно с внутренним защитным диодом защищает вход МК от возможной перегрузки (ОУ питается напряжением +7..+15 Вольт). Коэффициент усиления ОУ задается делителем R5-R7, примерно равн 50 и регулируется подстроечным резистором R5. ФНЧ R4C2 сглаживает напряжение с шунта. Каждое измерение производится в течении всего 100 мкс. и без этой цепочки показания прибора будут "прыгать" при любой неравномерности измеряемого тока (а он редко когда бывает строго постоянным). Для тех же целей служит и конденсатор C1 в цепи измерения напряжения. Стабилитрон D1 защищает вход ОУ от перенапряжения в случае обрыва шунта.

Особо следует остановиться на цепочке R8,R9. Она задает дополнительное смещение примерно 0.25 милливольт на вход ОУ. Дело в том, что без нее имеется существенная нелинейность коэффициента усиления ОУ при низких значениях измеряемого тока (менее 0.3 А). На разных экземплярах микросхем этот эффект проявляется в разной степени, но погрешность при выше обозначенных значениях измеряемого тока слишком высока в любом случае. При установке R8 и R9 указанных на схеме значений (номиналы могут быть пропорционально изменены при сохранении того же соотношения, например 15 Ом и 300 кОм) погрешность измерения тока, обусловленная этим эффектом, не превышает единицы младшего разряда. Со всеми имеющимися у меня экземплярами микросхем, никакого подбора указанных резисторов не потребовалось. В общем случае, подбирается минимальное сопротивление R9, при котором на индикаторе еще светятся нули при отсутствии измеряемого тока, и увеличивается в 1.5-2 раза. Интересно, что среди многих подобных конструкций, где применяется та же микросхема, ни в одной статье нет и намека на данную проблему. Видимо, у меня одного оказались "неправильные" ОУ (приобретенные, кстати, в разное время в течении 10 лет). В любом случае, я категорически не рекомендую в целях "упрощения конструкции" исключать из схемы обычно отсутствующие в подобных схемах элементы C1,C2,R3,R8,R9 - это все-таки измерительный прибор, а не мигающая цифрами игрушка!

Хорошая точность и стабильность показаний, кроме того, обеспечивается полным "отделением" от микроконтроллера относительно сильноточных импульсных цепей управления индикаторами путем питания каждой цепи от отдельного стабилизатора 78L05. И даже слабые помехи от работы самого микроконтроллера мало влияют на результат, так как каждое измерение производится в режиме "SLEEP" с "заглушенным" тактовым генератором.

Микроконтроллер тактируется от внутреннего генератора для экономии выводов. Вход сброса через цепь R11,C3 подключен к "чистой" +5В. При включении-выключении БП, в котором используется конструкция, возможны значительные помехи, поэтому, для исключения "зависания" программы, включен таймер WDT.

Питается устройство от любого стабилизированного напряжения 7-15 Вольт (не больше 15В!), через стабилизаторы DA2, DA3. Конденсаторы C4-C8 - стандартные блокировочные. Для обеспечения низкой погрешности при токах, близких к верхнему пределу, напряжение питания ОУ должно быть как минимум на 2 Вольта больше напряжения микроконтроллера, поэтому питание на него берется до стабилизаторов.

Устройство собрано на печатной плате размерами 57 на 62 миллиметра.

Печатная плата устройства.

Для уменьшения габаритов платы, большая часть резисторов и конденсаторов применена в SMD корпусе типоразмера 0802. Исключениями являются: R1 - из-за рассеиваемой мощности, R12 - для упрощения топологии платы, электролитические конденсаторы и подстроечные резисторы. Конденсаторы C1 и C2 применены керамические, но в случае отсутствия таковых, их можно заменить электролитическими танталовыми. Стабилитрон - любой, с напряжением стабилизации 3-4.7 Вольт. Индикаторы можно заменить на FIT3641 или трехразрядные серий 3631 или 4031 без изменения рисунка платы. В случае необходимости, возможно даже применение без изменения рисунка более крупных индикаторов типа 5641 и 5631 (в этом случае микроконтроллер впаивается без колодки напрямую, подстроечные резисторы применяются малогабаритные, индикатор впаивается поверх микросхем, сточив четыре выступа снизу по углам индикатора). Для подключения устройства к внешним цепям применены винтовые зажимы. Часто возникающая проблема с изготовлением измерительного шунта решена путем применения готового шунта предела 10А от неисправного мультиметра серии D83x, абсолютно без всякой переделки. На мой взгляд, это оптимальный вариант - неисправный китайский мультиметр, думаю, найдется у многих радиолюбителей. В крайнем случае, его можно изготовить из нихромовой (а лучше из константановой) проволоки.

Выход блока питания подключается к точке "Ux" и далее, с той же точки в нагрузку. Общий провод подается в точку "COM", а в нагрузку уже подается с точки "COM-Out". При таком подключении, напряжение на индикаторе завышается на 0.1 Вольт при максимальном токе нагрузки. Программным способом эта погрешность уменьшена в два раза до половины погрешности дискретизации (0.05В максимум). Во избежание увеличения этой погрешности, следует выбирать такое сопротивление шунта, при котором не требуется при настройке изменять номиналы схемы (примерно 7-14 мОм). Подходящее напряжение питания на устройство подается на вывод "Upp".

Фотографии готового устройства

Программа микроконтроллера написана на Ассемблере в среде MPASM. Для обоих видов индикаторов программа одна за исключением одной директивы. В начале исходного текста программы (файл AV-meter.asm) в директиве “ANODE EQU 0” параметр имеет значение 0, что соответствует работе с индикаторами с общим катодом. Для применения индикаторов с общим анодом следует изменить значение этого параметра на 1, после чего заново оттранслировать программу. Так же, прилагаются готовые прошивки для микроконтроллера как для индикаторов с общим анодом, так и с общим катодом. При загрузке HEX-файла в программы типа , или , слово конфигурации загружается автоматически.

Настройка схемы предельно проста. Подав на вход напряжение, близкое к максимальному, подстроечником R2 следует выставить на верхнем индикаторе требуемое значение. Потом, подключают на выход устройства резистор 0.5-2 Ома в качества нагрузки и регулировкой напряжения устанавливают ток, близкий к максимальному. Подстроечником R5 выставляют соответствующие образцовому амперметру показания на нижнем индикаторе.

Во вложенном файле представлены прошивки, исходный код, модель и плата .

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
DD1 МК PIC 8-бит

PIC12F675

1 В блокнот
DD2, DD3 Сдвиговый регистр

CD74HC595

2 В блокнот
DA1 Операционный усилитель

LM358N

1 В блокнот
DA2, DA3 Линейный регулятор

L78L05

2 В блокнот
D1 Стабилитрон

1N4734A

1 3.6-4.7 В В блокнот
HL1, HL2 Индикатор FYQ3641 2 FIT3641 В блокнот
C1, C2 Конденсатор 4.7 мкФ 2 SMD 0805 В блокнот
C3 Конденсатор 10 нФ 1 SMD 0805 В блокнот
C4 100мкФ х 10В 1 В блокнот
C5, C7 Конденсатор 100 нФ 2 SMD 0805 В блокнот
C6, C8 Электролитический конденсатор 20мкФ х 16В 2 В блокнот
R1 Резистор

39 кОм

1 0.5 Ватт В блокнот
R2, R5 Резистор подстроечный

1 кОм

2 В блокнот
R3 Резистор

1.2 кОм

1 SMD 0805 В блокнот
R4 Резистор

3 кОм

1 SMD 0805 В блокнот
R6 Резистор

1.5 кОм

1 SMD 0805 В блокнот
R7 Резистор

100 кОм

1 SMD 0805 В блокнот
R8 Резистор

150 Ом

1 SMD 0805 В блокнот
R9 Резистор

Представленное здесь устройство пригодится, если у Вас есть блок питания с выходным напряжение 0-10 В. Именно такие пределы измерения "заложены" в схему представленную на рисунке. В ее основе - микроконтроллер Atmega8 (U1) в стандартном корпусе DIP. Он может показаться громоздким, но был выбран из-за широкой популярности, а также по причине того, что программаторы, для данного микроконтроллера очень распространены. Atmega8 используют большинство радиолюбителей и в Интернете можно найти немало схем с этим микроконтроллером. Поэтому, если Вам не понравится данный вольтметр, Atmega8 не останется лежать без дела.

Цифровой вольтметр на Atmega8. Схема принципиальная.

Показатели измерения вольтметра будут отображаться на цифровом семисегментном трехзначном индикаторе (DISP1). Дам немного информации по поводу него.

7-сегментный цифровой LED индикатор - это индикатор, состоящий из семи светодиодов, установленных в форме цифры 8. Зажигая или выключая соответствующие LED-ы (сегменты) можно отображать цифры от нуля до девяти, а так же некоторые буквы. Обычно используется несколько цифровых индикаторов, чтобы создать многозначные цифры - для этого индикаторы снабжены сегментом в виде запятой (точки) - dp. В итоге, у одного индикатора 8 сегментов, хотя называют их по числу цифровых сегментов 7-сегментным.

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


В конструкции используется индикатор красного свечения GNT-2831BD-11 с общим анодом. Резисторы R1-R8 определяют ток в индикаторе и, следовательно, его яркость. Их сопротивление не должно превышать максимальный выходной ток (40 мА), даже когда все 8 светодиодов горят сразу. В схеме используется несимметричный 10-битный АЦП (аналого-цифровой преобразователь), находящийся в AVR. Диапазон выходного значения составляет 0-999. Когда будет достигнут предел этих значений, появится символ "---".

На входе вольтметра (in) установлен делитель напряжения из резисторов R9, R10 и R11, обеспечивая диапазон измерения до 10 В с погрешностью 0,01 В. На выводе 23 микроконтроллера U1 делитель формирует напряжение, которое не должно превышать 2,5 В. Входное сопротивление вольтметра близко к 1мОм. Для калибровки вольтметра подайте на его вход точно известное напряжение и, перемещая подстроечный резистор R11, добейтесь на индикаторе таких же показаний.

Частота обновления вольтметра составляет около 4 Гц. Схема питается от стабилизированного источника напряжением 5 В. Потребляемый ток устройства составляет около 25 мА (большая часть потребления приходится на индикатор). Компоненты C1 и C2 расположите как можно ближе к микроконтроллеру.

Правильно выставленные биты представлены на рисунке ниже.


Если Вам необходимы пределы измерения до 100 В, измените значение R10 на 9,1мОм и R11 на 2,2 мОм. Тогда Вы получите желаемый диапазон измерения с погрешностью 0,1 В и входным сопротивлением около 10мОм. В этом случае придется изменить и место точки индикатора, чтобы она отображалась за двумя символами, а не за первым, как на схеме. Для этого вывод 28 микросхемы U1 оставьте свободным, а к общему проводу подключите вывод 27. Теперь вместо символов в виде 0.00 будут отображаться 00.0.

Вольтметр на PIC16F676 – статья, в которой расскажу о самостоятельной сборке цифрового вольтметра постоянного тока с пределом 0-50В. В статье приводится схема вольтметра на PIC16F676, а также печатная плата и прошивка. Вольтметр использовал для организации индикации в .

Технические характеристики вольтметра:

  • Дискретность отображения результата измерения 0,1В;
  • Погрешность 0,1…0,2В;
  • Напряжение питание вольтметра 7…20В.
  • Средний ток потребления 20мА

За основу конструкции взята схема автора Н.Заец из статьи «Миливольтметр». Сам автор очень щедрый и охотно делится своими разработками, как техническими, так и программными. Однако одним из существенных недостатков его конструкций (на мой взгляд) является морально-устаревшая элементная база. Использование которой, в нынешнее время, не совсем разумно.

На рисунке 1 показана принципиальная схема авторский вариант.

Бегло пробегусь по основным узлам схемы. Микросхема DA1 – регулируемый стабилизатор напряжения, выходное напряжение которого регулируется подстроенным резистором R4. Такое решение не очень хорошее, так как для нормальной работы вольтметра необходим отдельный источник постоянного тока напряжением 8В. И это напряжение должно быть неизменным. Если входное напряжение будет меняться, то и выходное напряжение будет изменяться, а это не допустимо. В моей практике такое изменение привело к перегоранию PIC16F676 - микроконтроллера.

Резисторы R5-R6 – это делитель входного (измеряемого) напряжения. DD1 - микроконтроллер, HG1-HG3 – три отдельных семисегментных индикатора, которые собраны в одну информационную шину. Применение отдельных семисегментных индикаторов сильно усложняют печатную плату. Такое решение тоже не очень хорошее. Да и потребление у АЛС324А приличное.

На рисунке 2 показана переделанная принципиальная схема цифрового вольтметра.

Рисунок 2 – Схема принципиальная вольтметра постоянного тока.

Теперь рассмотрим, какие изменения были внесены в схему.

Вместо регулируемого интегрального стабилизатора КР142ЕН12А было принято решение использовать интегральный стабилизатор LM7805 с постоянным выходным напряжением +5В. Тем самым удалось надежно стабилизировать рабочее напряжение микроконтроллера. Еще один плюс такого решение - это возможность применения входного (измеряемого) напряжения для питания схемы. Если, конечно, это напряжение больше 6В, но меньше 30В. Чтобы подключиться к входному напряжению, достаточно только замкнуть перемычку(jamper). Если сам стабилизатор сильно греется, его необходимо установить на радиатор.

Для защиты входа АЦП от перенапряжения в схему был добавлен стабилитрон VD1.

Резистор R4 совместно с конденсатором С3 - рекомендованы производителем, для надежного сброса микроконтроллера.

Вместо трех отдельных семисегментных индикаторов был применен один общий.

Для разгрузки отдельных ножек микроконтроллера были добавлены три транзистора.

В таблице 1 можно ознакомиться со всем перечнем деталей и возможной их заменой на аналог.

Таблица 1 – Перечень деталей для вольтметра на PIC16F676
Позиционное обозначение Наименование Аналог/замена
С1 Конденсатор электролитический - 470мкФх35В
С2 Конденсатор электролитический - 1000мкФх10В
С3 Конденсатор электролитический - 10мкФх25В
С4 Конденсатор керамический - 0,1мкФх50В
DA1 Интегральный стабилизатор L7805
DD1 Микроконтроллер PIC16F676
HG1 7-ми сегментный LED индикатор KEM-5631-ASR (OK) Любой другой маломощный для динамической индикации и подходящий по подключению.
R1* Резистор 0,125Вт 91 кОм SMD типоразмер 0805
R2* Резистор 0,125Вт 4,7 кОм SMD типоразмер 0805
R3 Резистор 0,125Вт 5,1 Ом SMD типоразмер 0805
R4 Резистор 0,125Вт 10 кОм SMD типоразмер 0805
R5-R12 Резистор 0,125Вт 330 Ом SMD типоразмер 0805
R13-R15 Резистор 0,125Вт 4,3 кОм SMD типоразмер 0805
VD1 Стабилитрон BZV85C5V1 1N4733
VT1-VT3 Транзистор BC546B КТ3102
XP1-XP2 Штыревой разъем на плату
XT1 Клеммник на 4 контакта.

Рисунок 3 – Плата печатная вольтметра на PIC16F676 (сторона проводников).

На рисунке 4 – печатная плата сторона размещения деталей.

Рисунок 4 –Плата печатная сторона размещения деталей (плата на рисунке не в масштабе).

Что касается прошивки, то изменения были внесены не существенные:

  • Добавлено отключение незначащего разряда;
  • Увеличено время выдачи результата на семисегментный LED индикатор.

Вольтметр, собранный из заведомо рабочих деталей, начинает работать сразу же и в наладке не нуждается. В отдельных случаях возникает необходимость подстроить точность измерения подбором резисторов R1 и R2.

Внешний вид вольтметра показан на рисунках 5-6.

Рисунок 5 – Внешний вид вольтметра.

Рисунок 6 – Внешний вид вольтметра.

Вольтметр, рассматриваемый в статье успешно прошел испытания в домашних условиях, проверялся в автомобиле с питанием от бортовой сети. Сбоев не было. Может отлично подойти для длительного использования.

Интересное видео

Подведу итоги. После всех изменений получился совсем не плохой цифровой вольтметр постоянного тока на микроконтроллере PIC16F676, с пределом измерения 0-50В. Всем кто будет повторять данный вольтметр, желаю исправных компонентов и удачи в изготовлении!