Вольтметр на PIC16F676 – статья, в которой расскажу о самостоятельной сборке цифрового вольтметра постоянного тока с пределом 0-50В. В статье приводится схема вольтметра на PIC16F676, а также печатная плата и прошивка. Вольтметр использовал для организации индикации в лабораторном блоке питания.
Технические характеристики вольтметра:
За основу конструкции взята схема автора Н.Заец из статьи «Миливольтметр». Сам автор очень щедрый и охотно делится своими разработками, как техническими, так и программными. Однако одним из существенных недостатков его конструкций (на мой взгляд) является морально-устаревшая элементная база. Использование которой, в нынешнее время, не совсем разумно.
Далее в статье я расскажу, как переделать вольтметр автора под современную элементную базу.
На рисунке 1 показана принципиальная схема авторский вариант.
Рисунок 1 – Авторский вариант схемы.
Бегло пробегусь по основным узлам схемы. Микросхема DA1 – регулируемый стабилизатор напряжения, выходное напряжение которого регулируется подстроенным резистором R4. Такое решение не очень хорошее, так как для нормальной работы вольтметра необходим отдельный источник постоянного тока напряжением 8В. И это напряжение должно быть неизменным. Если входное напряжение будет меняться, то и выходное напряжение будет изменяться, а это не допустимо. В моей практике такое изменение привело к перегоранию PIC16F676 — микроконтроллера.
Резисторы R5-R6 – это делитель входного (измеряемого) напряжения. DD1 — микроконтроллер, HG1-HG3 – три отдельных семисегментных индикатора, которые собраны в одну информационную шину. Применение отдельных семисегментных индикаторов сильно усложняют печатную плату. Такое решение тоже не очень хорошее.
Да и потребление у АЛС324А приличное.На рисунке 2 показана переделанная принципиальная схема цифрового вольтметра.
Рисунок 2 – Схема принципиальная вольтметра постоянного тока.
Теперь рассмотрим, какие изменения были внесены в схему.
Вместо регулируемого интегрального стабилизатора КР142ЕН12А было принято решение использовать интегральный стабилизатор LM7805 с постоянным выходным напряжением +5В. Тем самым удалось надежно стабилизировать рабочее напряжение микроконтроллера. Еще один плюс такого решение — это возможность применения входного (измеряемого) напряжения для питания схемы. Если, конечно, это напряжение больше 6В, но меньше 30В. Чтобы подключиться к входному напряжению, достаточно только замкнуть перемычку(jamper). Если сам стабилизатор сильно греется, его необходимо установить на радиатор.
Для защиты входа АЦП от перенапряжения в схему был добавлен стабилитрон VD1.
Резистор R4 совместно с конденсатором С3 — рекомендованы производителем, для надежного сброса микроконтроллера.
Резистор R3 был введен в схему, для надежной защиты от паразитных помех.
Вместо трех отдельных семисегментных индикаторов был применен один общий.
Для разгрузки отдельных ножек микроконтроллера были добавлены три транзистора.
В таблице 1 можно ознакомиться со всем перечнем деталей и возможной их заменой на аналог.
Позиционное обозначение | Наименование | Аналог/замена |
С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 показана печатная плата сторона проводников (плата на рисунке не в масштабе).
Рисунок 3 – Плата печатная вольтметра на PIC16F676 (сторона проводников).
На рисунке 4 – печатная плата сторона размещения деталей.
Рисунок 4 –Плата печатная сторона размещения деталей (плата на рисунке не в масштабе).
Что касается прошивки, то изменения были внесены не существенные:
Вольтметр, собранный из заведомо рабочих деталей, начинает работать сразу же и в наладке не нуждается. В отдельных случаях возникает необходимость подстроить точность измерения подбором резисторов R1 и R2.
Внешний вид вольтметра показан на рисунках 5-6.
Рисунок 5 – Внешний вид вольтметра.
Рисунок 6 – Внешний вид вольтметра.
Вольтметр, рассматриваемый в статье успешно прошел испытания в домашних условиях, проверялся в автомобиле с питанием от бортовой сети.
Интересное видео
Подведу итоги. После всех изменений получился совсем не плохой цифровой вольтметр постоянного тока на микроконтроллере PIC16F676, с пределом измерения 0-50В. Всем кто будет повторять данный вольтметр, желаю исправных компонентов и удачи в изготовлении!
Повторили изобретение? Присылайте фото на media собака pichobby.lg.ua.
Вольтметр на PIC16F676(статья)
Архив с проектом
Фотографии вольтметра
В Сети полным-полно всевозможных вариантов схем электронных термометров: питающихся от блока питания или от батареек, выводящих температуру на дисплей или отсылающих данные по радиоканалу, с жидкокристаллическими или светодиодными индикаторами, показывающих температуру цифрами, столбцами или даже с помощью RGB-светодиода.
Предлагаю вашему вниманию еще один вариант.В чем его особенность? Во-первых, в подобных термометрах часто применяют спящий режим микроконтроллера. Однако для дубовой конструкции из десятка деталей, да на дубовом микрочиповском контроллере проще применить… кнопку после батарейки. Температура замеряется и показывается только тогда, когда нажата кнопка – все остальное время термометр просто-напросто выключен, и никакого спящего режима.
Кроме того, в подобных термометрах часто прибегают к связке микроконтроллер + сдвиговые регистры. Использование PIC16F676 в качестве «мозгов» и трёхразрядного индикатора в качестве дисплея позволило обойтись без дополнительных микросхем, а значит, еще больше снизить энергопотребление.
Наконец, еще одной особенностью термометра является и то, что он изначально был рассчитан на работу с пониженным напряжением. Как ни странно, реализовать это помогла «сопля» на другой плате. Маленькая капелька припоя, попавшая между плюсом и землей, разрядила свежекупленную батарейку до 2.
На практике же обнаружилось, что и при 2.8 вольта датчик продолжает измерять температуру; просто получается это у него не с первого раза (что интересно, промежуток между измерениями должен быть не больше секунды-двух, иначе датчик снова вернёт 0). Решение было найдено быстро – надо просто производить замер температуры дважды, с небольшой паузой (в данном случае 10 мс).
Это позволило использовать «баг как фичу»: в программе не лучшим способом реализован опрос состояния DS-ки – вместо необходимой задержки в 0.7 секунды прописан цикл while, опрашивающий датчик до тех пор, пока он не будет готов. Это заставляет контроллер ненадолго подвисать, из-за чего отключается динамическая индикация, но зато здорово снижает вероятность ошибки, если датчику вдруг потребуется чуть больше времени.
В результате, несмотря на то, что напряжение на CR2032 упало уже почти до 2.7 вольт, термометр продолжает исправно работать, разве что время замера составляет иногда 2-3 секунды.Таким образом получается продлить срок службы с одной батарейкой еще на полгода, а то и больше. Однако не стоит забывать, что у DS18B20 есть заводская погрешность в питании: встречаются экземпляры, которые уже не запускаются даже при трех с небольшим вольтах.
Плата была разработана под индикатор 5631BS и корпус 70×40 мм.
Крупные полигоны на плате ни с чем не соединены, они оставлены для экономии травящего раствора и сокращения времени травления платы, и могут быть удалены с нее без каких-либо последствий.
При желании и использовании батарейки и индикатора меньших размеров, плату можно уменьшить. Также можно исключить первый разряд и использовать двухразрядный индикатор, заменив знак «минус» (сегмент g первого разряда) одним светодиодом. В этом случае, правда, вместо надписи «Err» (при отсутствии питания на датчике) будет выводиться что-то типа «-rr».
При разработке собственной платы следует учесть, что датчик может реагировать на тепло руки, поэтому кнопку следует располагать как можно дальше от него. Это исключит искажение температуры.
Прошивка представлена в двух вариантах: под общий анод и общий катод. Все файлы берите здесь.
Срок службы термометра можно значительно продлить, соединив последовательно два элемента типа CR2016 (отлично ложатся друг на друга в батарейный отсек с плюсовым контактом сверху – см. видео ниже) и добавив блок из 78L05 и пары конденсаторов в SMD корпусах. Да, стабилизатор вряд ли будет исправно работать при напряжении ниже 4.5 вольт, однако с двумя свежими элементами мы сразу получаем напряжение 6.6 вольт, так что даже до 5 В разряжаться они будут очень долго. Для повышения стабильности работы микроконтроллера можно подпаять конденсатор емкостью 0. 1 мкФ параллельно его 1 и 14 выводам.
Видео, показывающее термометр в действии (единственное отличие новой версии прошивки от той, что представлена в видео – упрощённая анимация загрузки перед показом температуры):
А с вариантом термометра на Attiny можно ознакомится тут. Специально для сайта Radioskot.ru. Автор материала – Витинари.
Форум
9 ноября 2018 — 0 комментариев
PIC16F676 — микроконтроллер семейства PIC16F производства MICROCHIP TECHNOLOGY. Это 8-битный CMOS-микроконтроллер , который очень популярен среди любителей и инженеров благодаря своим характеристикам, стоимости и небольшому размеру.
Конфигурация контактов
PIC16F676 — это 14-контактное устройство, и многие из них могут выполнять несколько функций, как показано на схеме контактов выше. Описание каждой из этих функций приведено ниже.
Штифт | Функция | Описание |
1 | ВДД | Положительный источник питания |
2 | РА5/Т1ЦКИ/ОСК1/КЛКИН | RA5: контакт 5 порта A T1CKI: Вход внешних часов Timer1 OSC1: контакт генератора 1 CLKI: Вход внешнего источника синхронизации |
3 | РА4/Т1Г/ОСК2/АН3/КЛКОУТ | RA4: контакт 4 порта A T1G: ворота Timer1 OSC2: контакт генератора 2 AN3: Аналоговый вход 3 CLKO: выход источника синхронизации |
4 | РА3/МСЛР/ВПП | RA3: Pin3 порта A MCLR: вход Master Clear Input или контакт сброса VPP: Напряжение программирования |
5 | RC5 | RC5: Pin5 порта C |
6 | RC4 | RC4: Pin4 порта C |
7 | РК3/АН7 | RC3: Pin3 порта C AN7: аналоговый вход 7 |
8 | РК2/АН6 | RC2: Контакт порта C2 AN6: Аналоговый вход6 |
9 | RC1/AN5 | RC1: Контакт порта C1 AN5: Аналоговый вход5 |
10 | RC0/AN4 | RC0: Контакт порта C0 AN4: Аналоговый вход4 |
11 | RA2/AN2/COUT/T0CKI/INT | RA2: Pin2 порта A AN2: Аналоговый вход 2 COUT: Компаратор, выход T0CKI: Вход часов Timer0 INT: внешнее прерывание |
12 | RA1/AN1/CIN-/VREF/ICSPCLK | RA1: Pin1 порта A AN1: аналоговый вход 1 CIN-: Вход компаратора VREF: внешнее опорное напряжение ICSPCLK: часы последовательного программирования |
13 | RA0/AN0/CIN+/ICSPDAT | RA0: Pin0 порта A AN0: Аналоговый вход 0 CIN+: вход компаратора ICSPDAT: последовательный ввод/вывод данных программирования |
14 | ВСС | Земля |
PIC16F676 Особенности и электрические характеристики
ЦП | 8-битный |
Общее количество контактов | 14 |
Программируемые контакты | 12 |
Коммуникационный интерфейс | ICSP или внутрисхемный последовательный интерфейс программирования (13,14 контактов) [может использоваться для программирования этого контроллера] |
Функция АЦП | 8 каналов 10-битного разрешения |
Функция таймера | Один 8-битный счетчик, один 16-битный счетчик |
каналов ШИМ | Нет в наличии |
Аналоговый компаратор | В наличии-1 |
Внешний осциллятор | До 20 МГц |
Внутренний осциллятор | Внутренний RC-генератор с частотой 4 МГц, откалиброванный на заводе до ±1% |
Память программ / Флэш-память | 2Кбайт [100000 циклов записи/стирания] |
Скорость процессора | 1MIPS при 1 МГц |
ОЗУ | 64 байта |
ЭСППЗУ | 128 байт |
Сторожевой таймер
| Доступен и входит в состав Independent Осциллятор для надежной работы |
Режимы энергосбережения | В наличии |
Рабочее напряжение | от 2,0 В до 5,5 В |
Максимальный ток на любом контакте ввода/вывода | ВХ: 25 мА ВЫХОД: 25 мА |
Рабочая температура | от -40°C до +125°C |
Максимальный ток на выводе VDD | 250 мА |
PIC16F676 Замена
PIC16F630
Аналогичные микроконтроллеры
PIC16F636, PIC16F684
Обзор микроконтроллера PIC16F676 имеет высокий цикл перезаписи флэш-памяти. Контроллер имеет флэш-память объемом 2 КБ, чего достаточно для начинающих разработчиков базовых программ. Кроме того, 12 GPIO предназначены для обработки тока 20 мА (возможность управления светодиодами), благодаря чему новички могут подключать периферийные устройства под рукой с меньшей осторожностью.
PIC16F676 имеет очень мало функций и не может использоваться для разработки сложных приложений. Он используется для разработки небольших приложений (таких как драйвер дисплея) и для разработки программ новичками, которые хотят перейти на платформу микроконтроллера.
Как использовать микроконтроллер PIC16F676
Любой микроконтроллер необходимо запрограммировать перед установкой в любую систему или приложение. Итак, сначала нам нужно запрограммировать контроллер PIC16F676.
Весь процесс программирования PIC16F676 выглядит следующим образом:
После подключения питания контроллер выполняет этот шестнадцатеричный код, сохраненный в памяти (который является записанной программой), и создает ответ в соответствии с инструкциями.
Приложения
2D-модель
Микроконтроллер PIC
Каталог техническое описание | MFG и тип | ПДФ | Теги документов |
---|---|---|---|
2006 — Недоступно Резюме: нет абстрактного текста | Оригинал | ДС51482Б DS51482B-страница | |
2005 — Схема программатора PIC16F676 Резюме: PIC16F676 Технический паспорт MCP9700_SC70 HDR1X14 pic16f676 Шестнадцатеричный код проекта Простая принципиальная схема фена PIC16F676 pic16F676 Технический паспорт MCP9700 pic16f676 Ассемблерный код | Оригинал | MCP9700 ДС51542А Да34-8870 DS51542A-страница Схема программатора PIC16F676 Техническое описание PIC16F676 MCP9700_SC70 HDR1X14 pic16f676 шестнадцатеричный код проекта схема простого фена PIC16F676 pic16F676 даташит pic16f676 ассемблерный код | |
2004 — Схема управления феном Резюме: PIC16F676 простая принципиальная схема фена pic16f676 принципиальная схема DS20092 принципиальная схема фена PIC16F676 только принципиальная схема и документ PIC16F676 техническое описание pic16F676 техническое описание picdem 2 плюс примеры демонстрационных плат | Оригинал | ДС51484А D-85737 НЛ-5152 DS51484A-страница схема управления феном PIC16F676 схема простого фена схема pic16f676 DS20092 схема фена PIC16F676 только принципиальная схема и документ Техническое описание PIC16F676 pic16F676 даташит picdem 2 плюс примеры демонстрационных плат | |
2006 — Схема программатора PIC16F676 Аннотация: DS20092 PIC16F676 только электрическая схема и документ pic16f676 шестнадцатеричный код проекта схема фена принципиальная схема фена pic16f676 принципиальная схема PIC16F676 примечания по применению PIC16F676 код asm pic16f676 | Оригинал | ДС51484Б DS51484B-страница Схема программатора PIC16F676 DS20092 PIC16F676 только принципиальная схема и документ pic16f676 шестнадцатеричный код проекта схема фена принципиальная схема фена схема pic16f676 Примечание по применению PIC16F676 PIC16F676 pic16f676 ассемблерный код | |
2004 — pic16f675 Аннотация: ds33023_cn MPLAB IDE PIC 16F630 PIC16F630 PIC16F676 ds33023 pic16f630 техническое описание 24L256 16F630 АЦП В PIC16F877 | Оригинал | PIC16F630/676 DS40039C pic16f675 ds33023_cn MPLAB IDE ПОС 16F630 PIC16F630 PIC16F676 дс33023 pic16f630 даташит 24Л256 16Ф630 АЦП В PIC16F877 | |
2003 — Учебники по HI-TECH Резюме: Исходный код PIC16F676 PIC16F676 pic12f675 проекты pickit 1 PIC16F676 Техническое описание pic16F676 Техническое описание AC162052 pic16F676 Оценочная плата pic16f630 Техническое описание | Оригинал | 8/14-контактный 8/14pin ДС40244А DS40244A* Учебники по HI-TECH Исходный код PIC16F676 PIC16F676 проекты pic12f675 выбрать 1 Техническое описание PIC16F676 pic16F676 даташит AC162052 pic16F676 Оценочная плата pic16f630 даташит | |
2006 — только принципиальная схема PIC16F676 и документРезюме: Схема программатора PIC16F676 pic16f676 Технический паспорт PIC16F676 двухтактный преобразователь с dsPIC Техническое описание pic16F676 picdem. |