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

2013-10-28

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

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

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

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

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

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

Принципиальная схема

Рисунок 1 – Авторский вариант схемы.

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

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

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

Принципиальная схема вольтметра постоянного тока на PIC16F676

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

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

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

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

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

Резистор R3 был введен в схему, для надежной защиты от паразитных помех.

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

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

В таблице 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

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

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

Печатная плата вольтметра постоянного тока на PIC16F676

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

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

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

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

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

Внешний вид вольтметра постоянного тока на PIC16F676

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

Внешний вид вольтметра постоянного тока на PIC16F676

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

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

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

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

Повторили изобретение? Присылайте фото на media собака pichobby.lg.ua.

Файлы к статье:

Вольтметр на PIC16F676(статья)

Архив с проектом

Фотографии вольтметра

Прочитано 28059 раз

Понравилась статья? Помоги и остальным о ней узнать! Это просто.

Комментарии  

 
0 # Валерий 20.01.2016 00:50
Прекрасный материал. Собрал, запуск с полтыка, и это при том, что только начинаю осваивать схемы на микроконтроллерах. Программатор ExtraPic, шил ICprog, никаких проблем. Точность достаточна. Спасибо огромное!
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 20.01.2016 22:15
Всегда пожалуйста!
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Сергій 14.03.2016 22:24
Зібрав даний девайс. При подачі живлення на контролер засвічуються три нулі. Вольтметр ніяких замірів непроводить З чим це може бути пов'язано????
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 16.03.2016 18:15
Здравствуйте, Сергей. Собрал много штук и проблем не возникало. Можно взглянуть на плату? Верх, низ. Вот почта - support собака pichobby.lg.ua. Точку во втором разряде вольтметр показывает? Джампер установили? Какие транзисторы использовали? Индикатор?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Сергій 20.03.2016 16:26
Написав вам на почту. Чекаю відповідь.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 21.03.2016 20:48
Фото просмотреть не могу. Вышлите архивом на почту.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Иван_80 08.04.2016 13:05
Доброго дня! Спасибо за проект, понравился.Но есть вопрос: - можно ли добавить яркости и равномерности свечения индикатору? Я применил индикатор Е30361, когда на сегменте 1 то в принципе яркость устраивает, а вот если 9 или 0 то светится менее ярко...
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 08.04.2016 20:21
Доброго времени, Иван_80. Какие транзисторы используете? Попробуйте уменьшить резисторы R13-R15 до 2кОм, а также увеличить резисторы R5-R11 до 470 Ом.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Иван_80 09.04.2016 10:28
Транзисторы - 2SC945G. а с резисторами по пробую и отпишусь позже...
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Антон Рященко 10.05.2017 13:21
Здравствуйте, я хочу собрать данный вольтметр, но где взять программный код? Заранее, спасибо
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 10.05.2017 18:41
Здравствуйте. В архиве есть прошивки. Или Вам исходные коды нужны?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий Карпенко 03.08.2017 02:11
Доброго времени суток! Взял прошивку из архива и не смог прошить. На асме глянул - включена библиотека для pic16f84, исправил, но MPLAB матерится при прошивании, что указанных адресов среди регистров нет, ICPROG тоже матерится (говорит, что тактирующий генератор не выбран, при попытке выбора внутреннего генератора что-то шьет, но потом верификация не проходит и контроллер при считывании показывает нули кругом) Такое впечатление, что файл заменен
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 03.08.2017 22:22
Доброго времени, Виталий. Из под MPLAB не шил мк ни разу. Сложно мне Вам подсказать. Сегодня посмотрел биты конфигурации в прошивке, все защиты отключены. С верификацией проблем не должно возникать. Скачал архив с сайта и проверил прошивку на сходство с моей резервной копией. Файлы идентичные! Не совсем понятно где Вы смотрите асм??? В архиве ведь только файл прошивки .И где нашли подключение библиотеки для pic16f84a? Как у Вас получилось подправить файл прошивки? Опишите подробнее.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий Карпенко 04.08.2017 19:44
Если исходный файл в HEX формате открыть в icprog потом поменять формат отображения на асм то отображается код на асме. Так вот уже в асме видно, что включена библиотека для pic16f84. Я могу попробовать прошить WinPic'ом, но непонятно как работает вольтметр.. тут же ацп надо, а в 16f84 его нет, значит нестыковка с регистрами. А если не использовать ацп то как тогда можно что-то мерять... может icprog глючит.. А чем шьете Вы?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий Карпенко 04.08.2017 20:48
WinPic прошил, но работает спаянный дивайс некорректно.. просто моргающий набор цифр на LEDe. Буду разбираться.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 04.08.2017 21:20
Для прошивки использую PICKIT2 и его родную среду. До покупки PICKIT2 пользовался Brenner8. У PIC16F676 есть калибровочная константа, которая хранится в последней ячейки памяти. Нормальный программатор её не затирает. PICKI2 и Brenner8 константу не затирают. Проверенно лично.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 04.08.2017 22:14
Напишите какой у Вас программатор. Прошивали ли им раньше? PIC16F676 доводилось до этого шить программатором? Печатную плату делали по материалам статьи?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий Карпенко 04.08.2017 22:54
Сначала прошивал jdm programmer потом сделал ICD2. В общем-то прошилось все нормально. Вопросов тут нет. По дивайсу пока собрал все на проводках на макетке, транзисторы взял кт315б, раз индикация работает, значит тут все норм. Теперь буду смотреть цепочку сброса контроллера (есть подозрение на кондер) ну и правильность соединений.
П.С. по поводу ICPROG кстати - хрень полная, потом увидел в чем причина.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 04.08.2017 23:29
Писали мне на почту два разных человека. Оба шили extra pic. Программу использовали ICPROG. Вольтметр запустить у них не вышло. Предположение на ячейку с калибровочной константой. Напишите, что за причину получилось Вам выявить.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий КарпенкоICPR 05.08.2017 00:41
ICPROG использовать нельзя. Судя по тому, что я увидел, последнее обновление было в 2008 году, дальше не внедрялся. Лучше юзать WinPic800 (это на случай если используют бюджетный (спаяный "на коленке" программатор jdm) хотя там много чего поддерживается.
По поводу затирания инфы надо тоже проверить, но шил pic16f876, pic16f84 проблем не было.
Дальше было необходимо отлаживать программу внутрисхемно, поэтому и jdm был отложен. А тут понадобилось, поэтому и достал "по надобности".
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий КарпенкоICPR 05.08.2017 01:07
...решил добавить. Extra Pic или еще что либо - суть не в этом, суть в том, что ic prog - отказать.
Далее. По поводу константы. Может мы имеем ввиду одно и тоже, но если прописать все через __CONFIG то и проблем не будет. Это так повод к размышлению. Но.
Если у других работает, то и дергаться не стоит, думаю.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Виталий Карпенко 07.08.2017 00:14
Всем привет. Вольтметр работает. Трабл ( как и предполагалось) был с кондером в цепочке сброса.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Константин 15.10.2017 12:15
Добрый день, может у вас есть прошивка под общий АНОД? У меня собран авторский вариант но с перепиленной прогой под ОА. Хотел собрать ещё и решил прошивку скопировать Pickit3. Прочесть отказался, нажал чтение с сохранением, прошло но работать отказался. Даже не подсвечивает индикатор,короче печалька. Какое время индикации в Вашем варианте прошивки?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 16.10.2017 20:10
Добрый день, Константин. Исходники давненько уже переделывал и заложил функцию управления индикатором с ОА. Только не помню, проверял в железе или нет. Если есть желание, то могу сбросить hex. О каком времени индикации вопрос? Время повторного цикла? Или Частота динамической индикации?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 16.10.2017 20:22
https://drive.google.com/open?id=0B61WYrfn7RnGQXdONy1ZUWJKczg - Прошивка для индикатора с ОА. Транзисторы должны быть npn.
Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий

Уважаемые посетители сайта! Ваш e-mail мне совершенно не нужен, его требует система для идентификации Вас в комментариях, как уникального пользователя. Рассылок никаких не будет. Так что смело следите за темой.


Защитный код
Обновить

Все права защищены. При указании активной, индексируемой ссылки на сайт PICHOBBY.LG.UA, полное или частичное использование материалов разрешается. Уважайте чужие труды! Не забывайте проставлять ссылки! Правообладателям
© Ерёмин Антон Юрьевич 2013-2017гг.