Термостат на PIC16F877A и LCD NOKIA 3310

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

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

Кстати надписи «демо версия» не будет – это ограничение в симуляторе.

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

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

Если вы использовали мой вариант разводки печатной платы, то ее внешний вид будет таким:

Детали и их замены:
В этой конструкции я использовал резисторы smd (0805), дисковый конденсатор(можно любой другой, подходящий по габаритам и емкости), кнопки любые которые подойдут по габаритам (если аппарат будет находиться в просторном корпусе, то их можно вообще вынести за пределы печатной платы уст-ва). Разъемы – штыревые, можно найти в любом радиомагазине или выпаять со старой платы (если совсем нету, то можно обойтись и без них, просто напрямую впаяв провода в отверстия на печатной плате). Датчик DS18B20, к сожалению, ничем заменить нельзя. Микроконтроллер же можно заменить на практически аналогичный PIC16F877. На заметку – микроконтроллер желательно ставить на панельку

Работа с устройством:
Некоторые особенности я уже оговорил выше, но повторю: для установки температуры включения и выключения нужно нажать кнопку SB1, и удерживая ее установить температуру выключения. Затем, отпустив ее снова нажать, и опять удерживая установить температуру выключения. В процессе работы прибора можно изменять температуру срабатывания и отключения, используя вышеописанную «методику». Принудительного сохранения данных об установленных значениях температуры нет. Все данные сохраняются автоматически, в процессе их ввода. Так же у устройства есть ещё одна особенность – при включении (до момента включения) нужно удерживать нажатой кнопку SB1. Так сказать «защита на дурака».

В будущем возможно будет введена поддержка нескольких датчиков. Так же нужно учесть тот момент, что микроконтроллер работает от встроенного тактового генератора (этот вариант я выбрал в целях экономии мечта на плате, а так же потому что тут нет смысла в высокой стабильности генератора).

Скачать исходники, прошивку, ПП, проект в Proteus и Flowcode вы можете ниже

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

U1
МК PIC 8-битPIC16F8771
U2
Датчик температурыDS18B201
С1
Конденсатор0.1 мкФ1
R1-R5
Резистор2 кОм5
LCD1
LCD-дисплейNOKIA3310_48x841
SB1-SB3
Тактовая кнопка3
J1, J2
РазьемCONN_SIL22
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

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

Ваш адрес email не будет опубликован.