|
Теги статьи: |
Цифровой термометр на больших индикаторах с индикацией полярности
Автор: Электpониk, ravencrow@mail.ru
Опубликовано 03.03.2015
Создано при помощи КотоРед.
Доброго времени суток. Это мой первый проект на микроконтроллере. Давно хотел собрать термометр на больших индикаторах с индикацией полярности и минимум деталей, но все как то руки не доходили. В загашнике завалялся у меня микроконтроллер AT90S2313, покорно ждавший своей участи. По такому случаю были закуплены 2,3" индикаторы, один 16-сегментный Kingbright PSA23-11GWA и два 7-сегментных Kingbright SA23-11GWA. Посмотрев в даташите номинальное напряжение питания этих индикаторов стало ясно что одним микроконтроллером не обойтись, поэтому была куплена микросхема ULN2803 для управления катодами и транзисторы 2SC945P для управления анодами. Транзисторы можно использовать любые npn с максимальным током коллектора 100мА. Если яркости индикаторов вам будет не достаточно, то тогда нужно будет заменить транзисторы на pnp и поставить токоограничивающие резисторы 200 Ом в цепи катодов, место на плате для этого предусмотрено, а также использовать подправленную прошивку, т.к. для pnp транзисторов нужно инвертировать управляющие анодами выходы микроконтроллера.
Принципиальная схема устройства в Proteus представлена на рисунке:
Программа была позаимствована из статьи https://radiokot.ru/circuit/digital/home/61/ Даниила Первакова aka Danko и доработана для своего устройства:
исходник: https://radiokot.ru/upload01.zip
прошивка для npn транзисторов: https://radiokot.ru/upload01.hex
прошивка для pnp транзисторов: https://radiokot.ru/upload02.hex
Программа поддерживает подключение до 4 датчиков одновременно. Вначале программа считывает количество подключенных датчиков и отображает их число на дисплее в виде буквы F и цифры, затем происходит вывод температуры, отображая ее поочередно с каждого датчика через небольшой промежуток времени. Программа работает как с DS18B20 так и с DS18S20. Показания температуры округляются до целых, для этого с датчика считывается десятая часть градуса и если она больше или равна 5 то округление происходит в большую сторону. Если температура превысит 99 градусов на индикаторе будут отображатся буквы Er.
Пришло время реализовывать эту схему в железе. Используя замечательный инструмент Proteus ARES была создана виртуальная модель устройства:
А также печатная плата:
Печатная плата в PDF: https://radiokot.ru/upload01.pdf
Для нанесения рисунка на плату был использован метод ЛУТ. Затем плата была вытравлена в растворе соли и медного купороса.
После пайки всех деталей получилось вот такое устройство:
Микроконтроллер был прошит самым простым LPT программатором в народе называемым "5 проводков".
Устройство заработало сразу, единственное что пришлось подбирать это резисторы смещения R13, R15, R17 для увеличения яркости.
Фото готового устройства:
P.S. Спасибо всем форумчанам кто помогал советами.
Файлы:
Исходники
Прошивка
Прошивка для pnp
Все вопросы в Форум.