Нюансы изготовления термостата на PIC16F877A и отображения информации на LCD NOKIA 3310. Узнайте о контроле температуры с датчиком DS18B20 MAXIM.
Эта схема термостата будет интересна тем, у кого возникла необходимость установить определенную температуру в помещении, и поддерживать ее в течении длительного времени. Схема не сложная, она содержит микроконтроллер, три кнопки несколько резисторов, конденсатор и LCD. Для контроля температуры используется один датчик DS18B20 фирмы MAXIM.

Как вы видите, она и правда не сложная. Кнопкой SB1 выбирается режим ввода (установки). Кнопкой SB2 отнимают от числа единицу, а кнопкой SB3 — прибавляют. Но тут есть одна особенность — вводить число нужно при нажатой кнопке SB1. После ввода верхнего предела (при котором термостат будет выключать нагревательный элемент) нужно отпустить SB1, а потом снова ее нажать и установить нижний предел. Если вам нужно часто включать/выключать прибор, то каждый раз вводить заново числа не потребуется, потому что они сохраняются в энергонезависимой памяти микроконтроллера, сразу после их ввода. Так выглядит дисплей при работе прибора (значения температур включения /выключения установлены).

Кстати надписи «демо версия» не будет — это ограничение в симуляторе.
С печатной платой устройства дела обстоят немного посложнее. В связи с тем, что я старался сделать устройство компактным, печатную плату это задело в первую очередь. Вот ее топология:

Как видите она 2-хсторонняя. На плате есть два разъема — J1 и J2. J1- это разъем питания (5V), а J2 — разъем к которому подключается исполнительное устройство. ВНИМАНИЕ! Не подключайте исполнительное устройство без усилителя мощности (напрямую к порту микроконтроллера), это чревато его выходом из строя. Используйте хотя бы эммитерный повторитель!
Если вы использовали мой вариант разводки печатной платы, то ее внешний вид будет таким:

Детали и их замены:
В этой конструкции я использовал резисторы smd (0805), дисковый конденсатор(можно любой другой, подходящий по габаритам и емкости), кнопки любые которые подойдут по габаритам (если аппарат будет находиться в просторном корпусе, то их можно вообще вынести за пределы печатной платы уст-ва). Разъемы — штыревые, можно найти в любом радиомагазине или выпаять со старой платы (если совсем нету, то можно обойтись и без них, просто напрямую впаяв провода в отверстия на печатной плате). Датчик DS18B20, к сожалению, ничем заменить нельзя. Микроконтроллер же можно заменить на практически аналогичный PIC16F877. На заметку — микроконтроллер желательно ставить на панельку
Работа с устройством:
Некоторые особенности я уже оговорил выше, но повторю: для установки температуры включения и выключения нужно нажать кнопку SB1, и удерживая ее установить температуру выключения. Затем, отпустив ее снова нажать, и опять удерживая установить температуру выключения. В процессе работы прибора можно изменять температуру срабатывания и отключения, используя вышеописанную «методику». Принудительного сохранения данных об установленных значениях температуры нет. Все данные сохраняются автоматически, в процессе их ввода. Так же у устройства есть ещё одна особенность — при включении (до момента включения) нужно удерживать нажатой кнопку SB1. Так сказать «защита на дурака».
В будущем возможно будет введена поддержка нескольких датчиков. Так же нужно учесть тот момент, что микроконтроллер работает от встроенного тактового генератора (этот вариант я выбрал в целях экономии мечта на плате, а так же потому что тут нет смысла в высокой стабильности генератора).
Скачать исходники, прошивку, ПП, проект в Proteus и Flowcode вы можете ниже
Скачать список элементов (PDF)
Прикрепленные файлы:
- thermostat.rar (353 Кб)