Chevroletavtoliga - Автомобильный портал

Семисегментный вольтметр pic микроконтроллеров. Вольтамперметр на PIC16F676. Радиотехника, электроника и схемы своими руками. Описание схемы ампервольтметра

Материалы этой статьи были опубликованы в журнале Радиоаматор - 2013, № 9

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

Переделка компьютерных блоков питания в лабораторные оказалась весьма востребована. В поисках вариантов схемы управления и защиты была обнаружена «Универсальная плата управления лабораторными блоками питания» (Радио-ежегодник, 2011, № 5, стр. 53). Схема платы управления оказалась очень простой и эффективной, удовлетворяющая всем требованиям управления и защиты мощного лабораторного источника питания постоянного тока.

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

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

  • напряжение питания – 7…35 В постоянного тока;
  • диапазон измерения напряжения – 0…50,0 В;
  • диапазон измерения тока – 0,02…9,99 А;
  • шаг измерения напряжения – 0,1 В;
  • шаг измерения тока – 0,01 А;
  • переключение режима измерения – двухполюсной переключающей кнопкой с фиксацией;
  • индикация режима измерения – семисегментным индикатором в виде букв «А» или «U».

Описание схемы платы управления

Для начала рассмотрим схему «универсальной платы управления блоками питания», показанную на рисунке:

Она собрана на одной микросхеме счетверенного операционного усилителя DA1 и в данном случае предназначена для управления ШИМ-контроллером типа TL494 компьютерного блока питания. Схемы переделки компьютерных БП, использующих ШИМ-контроллер такого типа уже неоднократно описаны, так что мы не будет на этом останавливаться. Схема содержит измерительные усилители тока на элементах DA1.1, DA1.4 и напряжения на элементах DA1.2, DA1.3, с выхода которых сигнал управления подается на ШИМ-контроллер БП. Переменными резисторами R13, R14 изменяется опорное напряжение выходных усилителей каналов измерения напряжения и тока соответственно. Если ток в нагрузке не превышает значения, установленного регулятором R14, то блок управления будет работать в режиме стабилизации напряжения, заданного регулятором R13. При этом будет гореть индикатор HL3. Если же ток в нагрузке достигнет значения, установленного регулятором R14, тогда, если выключатель SA1 разомкнут, блок управления перейдет в режим ограничения выходного тока. При этом будет гореть индикатор HL2. Если же выключатель SA1 будет замкнут, то при достижении установленного тока в нагрузке напряжение на выходе снизится до нуля и загорится индикатор HL1. Для выхода из режима токовой отсечки достаточно разомкнуть выключатель SA1.

Подробнее о работе и наладке схемы управления можно прочесть в оригинальной статье: «Встраиваемая универсальная плата управления лабораторными блоками питания»

Описание схемы ампервольтметра

Принципиальная электрическая схема ампервольтметра показана на рисунке ниже:

Основу ампервольтметра представляет микроконтроллер DD1, выполняющий функцию аналогово-цифрового преобразования входного сигнала, поступающего на вход RA0 (цепь IN), и вывод результата измерения на трехразрядный семисегментный светодиодный индикатор с общими катодами HG1. Переключение канала измерения осуществляется кнопкой SA1. Второй полюс кнопки SA1 задействован для подачи сигнала на микроконтроллер (цеп SW), который используется при обработке результата измерения.

Индикация динамическая с частотой обновления 100Гц. В связи с тем, что катоды индикатора подключены непосредственно к выводам микроконтроллера, в целях снижения нагрузки каждый разряд зажигается в 2 приема по 4 сегмента. Для исключения частого перемигивания младшего разряда индикации частота обновления показаний индикатора искусственно снижена и осуществляется 3 раза в секунду. При превышении возможности отображения измеренных значений на индикаторе высветятся три черточки.

Для индикации выбранного режима измерения применен одноразрядный семисегментный индикатор с общим катодом HG2 с символом меньшего, чем в HG1, размера. Сегменты «b», «c», «e» и «f» индикатора HG2 зажжены постоянно. В режиме измерения напряжения переключателем SA1 в цепь SW подается плюс питания, который через резистор R11 зажигает сегмент «d», формируя на индикаторе символ «U». При этом высокий уровень на базе транзистора VT1 держит его закрытым. При переключении в режим измерения тока в цепь SW подается общий провод. Транзистор VT1 открывается, подавая питание на сегменты «a» и «g», и на индикаторе формируется символ «А».

Питание схемы ампервольтметра берется от питания ШИМ-контроллера компьютерного БП и стабилизируется с помощью интегрального регулируемого стабилизатора DA1. Делителем R3, R4 на выходе стабилизатора задается напряжение около 3 В. Такое напряжение питания схемы выбрано для обеспечения возможности использовать полный диапазон АЦП микроконтроллера в режиме измерения тока из-за низкого уровня входного сигнала.

Конструкция и детали

Элементы схемы управления и ампервольтметра собраны на печатных платах из односторонне фольгированного стеклотекстолита размером 40х50 мм и 58х37 мм соответственно. Чертежи печатных плат и схемы расположения элементов показаны на рисунке ниже. Чертежи показаны со стороны установки элементов.

Плата схемы управления разведена таким образом, чтобы быть закрепленной на выводах переменных резисторов R13, R14. Для удобства наладки в конструкции использованы выводные радиокомпоненты.

Для обеспечения компактности в конструкции ампервольтметра использованы в основном элементы для поверхностного монтажа: резисторы формфактора 1206 и конденсаторы 0805. Следует отметить нестандартную установку микросхемы микроконтроллера в DIP корпусе. Он закреплен методом поверхностного монтажа со стороны проводников, при этом концы его выводов выгнуты наружу. В качестве переключателя SA1 использована кнопка типа PS-850L, используемая в старых компьютерах в качестве переключателя «turbo».

Индикаторы HG1 (с размером символа 0,56 inch) и HG2 (0,39 inch) можно использовать любые аналогичные с общим катодом, лучше с красным цветом свечения, так как «зеленые» светятся довольно тускло.

Сборка и наладка

Об использовании схемы управления и способе ее наладки можно прочесть в оригинальной статье. Схема ампервольтметра в наладке не нуждается. Необходимо лишь подобрать номиналы резисторов R1 и R2 во входных делителях каналов измерения тока и напряжения соответственно. Это лучше всего сделать экспериментальным путем, используя в качестве образцового амперметра-вольтметра цифровой мультиметр.

Следует отметить, что амперметр будет работать плохо, если сигнал на выходе источника питания будет сильно «шуметь». Поэтому следует тщательно подойти к подбору конденсаторов С1, С2 схемы управления. Нами собрано уже более шести источников питания с такой схемой управления и в некоторых блоках питания номиналы конденсаторов С1, С2 приходилось значительно увеличивать по сравнению с указанными в схеме.

Заключение

Опыт эксплуатации блоков питания с вышеописанной схемой управления показал несостоятельность ее использования для переделки компьютерных блоков питания в лабораторные из-за значительного уровня пульсаций выходного напряжения - БП реально «поет»! Для создания лабораторных БП сейчас используется


Продолжаем разбираться с вариантами реализации вольтметра - амперметра на базе микропроцессора.
Не забудьте архив с файлами, они нам сегодня потребуются.

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

Индикаторы больших размеров


Итак, рассмотренная ранее схема примет вид, показанный на рис. 2. Добавилось три транзистора VT1-VT3 буферного каскада на каждый разряд индикатора. Установленный буферный каскад инвертирует выходной сигнал МК. По сему, входное напряжение на базе VT2 инверсно относительно коллектора указанного транзистора, а значит подходит для подачи на вывод формирования запятой. Это дает возможность убрать транзистор VT1, который был ранее в схеме на рис. 1, заменив последний развязывающим резистором R12. Не забудьте, что изменились и номиналы резисторов в цепях базы транзисторов VT1-VT3.
Если желаете поставить индикаторы с нетрадиционно большими габаритами, то придется в цепи коллекторов указанных транзисторов поставить низкоомные (1 – 10 Ом) резисторы для ограничения бросков тока при их включении.

Логика работы МК для этого варианта нуждается только в небольшом изменении программы в части инверсии выходного сигнала управления разрядами, а именно портов RA0, RA1, RA5.
Рассмотрим только то, что изменится, а именно подпрограмму, уже известную нам под условным названием «Функция формирования динамической индикации» в Листинге №2 (смотрите папку «тр_ОЕ_30V» в архиве или первую часть статьи):

16. void Indicator (){ 17. while (show_digit < 3) { 18. portc = 0b111111; // 1 -> C 19. if (show_digit == 2){ delay_ms(1); } 20. porta = 0b100111; 21. show_digit = show_digit + 1; 22. switch (show_digit) { 23. case 1: { 24. if (digit1 == 0) { } else { 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1<<0)); //0 -> A0 27. } break;} 28. case 2: { 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 -> A1 31. break;} 32. case 3: { 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 -> A5 35. break;} } 36. Delay_ms(6); 37. if (RA2_bit==0) {PORTA |= (1<<2);// 1 -> A2 38. Delay_ms(1);} 39. if ((show_digit >= 3)!= 0) break; 40. } show_digit = 0;}


Сравните оба варианта. Инверсия сигнала по порту RA (строка 20 Листинга №2) легко читается, поскольку записано в двоичной форме. Достаточно совместить выводы МК и двоичное число. В строках 19 и 37 появились немного странные условия, которых не было вначале. В первом случае: «задержать сигнал логического нуля на порту RA1 во время индикации второго разряда». Во втором: «в случае если на порте RA2 логический нуль, инверсия». Когда будете компилировать финальную версию программы можете их удалить, а вот для симуляции в PROTEUSе они нужны. Без них не будет нормально индицироваться запятая и сегмент «G».
Почему? - спросите Вы, ведь первый вариант прекрасно работал.

В завершение, вспомните слова кузнеца из фильма «Формула Любви»: «…если один человек построил, другой завсегда разобрать может!».
Удачи!

Читательское голосование

Статью одобрили 27 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.

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

Схема на рис.1 - развитие предыдущей идеи конструкции по использованию аналогового входа в микроконтроллере, не имеющего встроенного АЦП, а так же используются технические приемы из другой идеи конструкции по управлению семисегментным светодиодным индикатором без внешних ключевых транзисторов. Данная схема имеет последовательный канал, и нужна только витая пара для передачи измеренных значений на персональный компьютер.

Последовательный канал был протестирован с использованием программы компании Microsoft Hyper Terminal сконфигурированной параметрами 115,200 бод; 8 бит, четность, 1 стоп-бит; без аппаратного контроля.

Коротко, программа управляет одним светодиодным семисегментным индикатором за раз по линиям RA0 и RB7. Установка выхода RA0 в единицу и использование RB7, как входа активизирует индикатор с общим анодом DS3. Установка выхода RA0 в ноль и использование RB7 как входа, активизирует индикатор с общим катодом DS2. Использование RA0 как входа и установка выхода RB7 в единицу активизирует индикатор с общим анодом DS1, а при использовании RA0 как вход и установке выхода RB7 в ноль активизирует индикатор с общим катодом DS0. После успешной активизации одного индикатора, только одна из линий RB0 … RB6, конфигурируется как выход для управления одним светодиодным сегментом. Эта схема больше не имеет ограничения на питающее напряжение VDD - 3В или ниже - так как светодиоды включены встречно-параллельно, таким образом, прямое падение напряжения на одном светодиоде ограничивает обратное напряжение на другом. Использование красных светодиодов требует 1,6 В.

Рис.2 иллюстрирует новые аспекты идеи конструкции. Q1, R5, и R6 работают как эквивалентный переменный резистор, RX, который заряжает конденсатор C3. Вместо подключения RX к земле, просто подключите его к одной линии ввода-вывода - например RB0 - микроконтроллера. Если RB0 включен как выход в нулевом состоянии, значит первый аналоговый канал активизирован и измерительная подпрограмма подсчитывает импульсы заряда до величины 66% от VDD; затем, по таблице полученная величина задержки переводится в величину милливольт из трех цифр. Для увеличения количества аналоговых входов, вы можете подключить до семи цепей переменного резистора в параллель - таким образом, что каждый подключен между C3 и одной линией ввода-вывода, RB1 … RB7. Важно, что линии ввода-вывода подключены к индикаторам и так же активируют или отключают аналоговые каналы. Когда один аналоговый канал активизирован линией ввода-вывода выходом в низком состоянии, другие линии имеют высокое сопротивление и работают как входы, что отключает все остальные каналы. Соответственно, индикаторы отключены.

В схему на рис.1 так же добавлен простейший последовательный канал без добавления внешних компонентов. Если вы подключите две линии ввода-вывода, RA1 и RA2, сконфигурированные как выходы к RXD (Выв 2) и GND (Выв 5) разъема RS 232, вы сможете создавать, с помощью программы, положительное и отрицательное напряжение относительно земли порта RS 232 в ПК. Когда RA1 в единице, а RA2 в ноле, RXD имеет положительный потенциал 5 В относительно земли порта RS 232 в ПК. Когда RA1 в ноле, а RA2 в единице, RXD имеет отрицательный потенциал -5 В относительно земли порта RS 232 в ПК.

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

Схема принципиальная вольтамперваттметра

Печатная плата на DIP деталях получилась 45х50 мм. Также в архиве есть печатная плата для SMD деталей.

Для микроконтроллера PIC16F676 имеются две прошивки : в первой - возможность измерения напряжения, тока и мощности - vapDC.hex , а во второй - тоже, что и в первой, только добавлена возможность измерения ампер/часов (не всегда нужна) - vapcDC.hex .

Резистор, обозначенный серым на печатной плате, подключается в зависимости от индикатора: если используем индикатор с общими катодами, то резистор (1К), идущий от 11-ой ноги МК, подключается к +5, а если индикатор с общим анодом, то резистор подключаем к общему проводу.

В моём случае индикатор и общим катодом, резистор расположил под платой, от 11-ой ноги МК к +5.

Кратковременное нажатие кнопки "В " активизирует индикацию режима работы: напряжение «-U-», ток «-I-», мощность «-P-», счетчик ампер/часов «-C-». Некоторые экземпляры ОУ LM358 имеют положительное смещение на выходе, его можно компенсировать цифровой коррекцией измерителя. Для этого необходимо перейти в режим измерения тока, «-I-». Удерживать 7-8 сек кнопку "Н " до появления на индикаторе надписи «-S.-». Затем кнопками «В » и «Н » корректируем смещение «0». Если кнопки нажаты, на индикаторе непосредственно константа, отжаты - откорректированные показания тока. Выход из режима - одновременное нажатие клавиш "В " и "Н ". Результат - индикация «-3-», то есть запись в энергонезависимую память. Счетчик ампер/часов обнуляется удержанием кнопки "Н " 3-4 сек.

В своём случае ставлю только кнопку "В ", для переключения режима работы. Кнопку "Н " не ставлю, так как коррекция тока не требуется, если ОУ LM358 новый, то он практически не имеет смещения, а если и имеет, то незначительное. Сегментный индикатор ставлю не отдельной плате, которую можно легко прикрепить к корпусу устройства, например, встроить в переделанный БП ATX .

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

В итоге вся конструкция вольтамперватметра обошлась в 150 рублей, без фольгированного стеклотекстолита. С вами был Пономарёв Артём (stalker68 ), до новых встреч на страницах сайта Радиосхемы !

Обсудить статью ВОЛЬТАМПЕРВАТТМЕТР

Похожие публикации