Цифровой термостат - это устройство, которое коммутирует подключённую к нему нагрузку, например электрический обогреватель или холодильное оборудование для того, что бы удерживать температуру в заданных пользователем пределах.
Верхний и нижний пределы температуры задаются 3-мя кнопками на лицевой панели, текущая температура, измеряемая датчиком, выводится на 4-х разрядный 7-ми сегментный LED индикатор.
К устройству прилагается подробная инструкция (в архиве к статье), в ней перечислены все характеристики устройства, а так же описание работы с рисунками и графиками, способ подключения нагрузки, рекомендации по размещению датчика и т.д.
Схема устройства. Здесь, на рисунке, схема приведена для общего ознакомления и описания работы устройства. Я прикладываю исходник в формате SPlan 7.0, включающий в себя схему, а так же полный перечень всех использованных элементов на 2-х листах (от резисторов до самого корпуса устройства) с возможными вариантами замены.
Термостат собран на распространённом микроконтроллере PIC16F873, который тактируется кварцевым резонатором на 4 MHz. Датчик температуры - цифровой DS18B20. Вся информация о состоянии устройства выводится на 4-х разрядный 7-ми сегментный LED индикатор.
Кнопками задаются верхняя и нижняя граница температуры, которую должен поддерживать термостат. Минимальная разница между пределами температуры: 1 градус. Регулировка в пределах от - 50 до + 120 С0. Если верхний предел выше нижнего, то термостат работает на повышение температуры (управляет грелкой), если наоборот - на понижение (управляет холодильником). Термостат сохраняет введённые границы температуры в энергонезависимой памяти. Особенностью схемы является использование выпрямительного моста UZ1 после разъёма питания. На разъём подаётся постоянный ток от блока питания, но благодаря выпрямительному мосту, можно не заботится о полярности напряжения. Так же здесь используется 2 разъёма под питание, которые дублируют друг-друга: клеммный и стандартный самый распространённый гнездовой со штырьком (2,1 Х 5.5 мм).
Программа к микроконтроллеру написана в MicroC 6.2.1.0. Прилагаются все файлы проекта, а так же скомпилированный HEX для заливки в контроллер. Фьюзы - на поле чертежа.
Печатная плата. В устройстве 2 печатных платы, обе - односторонние: плата термостата и плата индикатора. Для экономии места применялись элементы в SMD корпусах, типоразмеры приведены в перечне элементов. Платы в формате SprintLayout 4 прилагаются. Важное замечание - при монтаже силовые контакты реле соединяются с силовым разъёмом X3 для подключения нагрузки при помощи проводников сечением не менее 4 мм2 на ток до 30А. Об этом есть сноска на поле чертежа схемы, а на рисунке самой платы термостата (в формате SprintLayout 4) эти проводники изображены синим. Так же они приведены на фотографии платы.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
МК PIC 8-бит | PIC16F873 | 1 | Поиск в магазине Отрон | |||
VT1 | Биполярный транзистор | BC817 | 1 | Поиск в магазине Отрон | ||
UZ1 | Диодный мост | DB101 | 1 | Поиск в магазине Отрон | ||
UZ2 | Линейный регулятор | L78L05 | 1 | Поиск в магазине Отрон | ||
VD2 | Диод | КД522А | 1 | Поиск в магазине Отрон | ||
С1 | Конденсатор | 0.33 мкФ | 1 | Поиск в магазине Отрон | ||
С2, С3 | Конденсатор | 15 пФ | 2 | Поиск в магазине Отрон | ||
С4, С5 | Конденсатор | 0.1 мкФ | 2 | Поиск в магазине Отрон | ||
R1-R6 | Резистор | 4.7 кОм | 6 | Поиск в магазине Отрон | ||
R7-R14 | Резистор | 200 Ом | 8 | Поиск в магазине Отрон | ||
KV1 | Реле | BS-901AS-12VDC | 1 | Реле на 12 В | Поиск в магазине Отрон | |
Qz1 | Кварц | 4 МГц | 1 | Поиск в магазине Отрон | ||
SB1-SB3 | Кнопки | Без фикцации | 3 | Поиск в магазине Отрон | ||
HL1 | Семисегментный индикатор | CA56-12 | 1 | Общий анод | Поиск в магазине Отрон | |
Скачать список элементов (PDF)
Прикрепленные файлы:
- Все файлы к статье по термостату.rar (415 Кб)
Комментарии (55) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
PS: Я сам автор многих статей. В основном работал с AVR , но теперь начал и PIC внедрять в разработки. PIC все таки по надежней контроллеры. Но с быстродействием проблемы...
[Автор]
[Автор]
Я всегда сопротивления резисторов ставил равными 680 Ом но не 200 Ом. Максимум мне кажется, допустимо 330 Ом.
Я не придираюсь, честно. Просто это сильное насилие над контроллером. Зачем превышать допустимые значения? Если реально можно их не превышать.
Вот выдержка из документа:
Absolute Maximum Ratings †
Ambient temperature under bias.................................................................................................................-55 to +125°C
Storage temperature .............................................................................................................................. -65°C to +150°C
Voltage on any pin with respect to VSS (except VDD, MCLR. and RA4) ....................................... -0.3 V to (VDD + 0.3 V)
Voltage on VDD with respect to VSS ........................................................................................................... -0.3 to +7.5 V
Voltage on MCLR with respect to VSS (Note 2)................................................................................................0 to +14 V
Voltage on RA4 with respect to Vss.................................................................................................................0 to +8.5 V
Total power dissipation (Note 1) ..............................................................................................................................1.0 W
Maximum current out of VSS pin ...........................................................................................................................300 mA
Maximum current into VDD pin ..............................................................................................................................250 mA
Input clamp current, IIK (VI < 0 or VI > VDD)..................................................................................................................... ± 20 mA
Output clamp current, IOK (VO < 0 or VO > VDD)............................................................................................................. ± 20 mA
Maximum output current sunk by any I/O pin..........................................................................................................25 mA
Maximum output current sourced by any I/O pin ....................................................................................................25 mA
Maximum current sunk byPORTA, PORTB, and PORTE (combined) (Note 3)...................................................200 mA
Maximum current sourced by PORTA, PORTB, and PORTE (combined) (Note 3)..............................................200 mA
Maximum current sunk by PORTC and PORTD (combined) (Note 3) .................................................................200 mA
Maximum current sourced by PORTC and PORTD (combined) (Note 3)............................................................200 mA
[Автор]
Сам хочу попробовать разработать термостат на ПИКе.
Только хочу связку PIC16F690 + 74HC595 + 7SEG + DS18b20
[Автор]
Можно создать массив во флешь памяти и потом с него тянуть коды символов. А еще создать функцию разложения байта на разряды, и в нее помещать температуру. Супер вообще! Кода немного и смотрится классно
Промышленные системы обогрева имеют двух ступенчатую систему нагрева, состоящую из двух тенов по 3кВт.
Это дает возможность не включать систему на полную мощность когда требуется только поддержание достигнутой температуры, а также уменьшит просадку напряжения на питающих проводах, что благоприятно для остальных потребителей бытового назначения. Считаю, что если доработать схему под включение двух тенов, то мы уменьшим нагрузку на сеть в последствии... в периоды работы системы.
Проверьте так же генерацию частоты 4 МГц на кварце, если это возможно. Проверьте, нет ли лишних контактов, чистая ли плата, мог остаться флюс, проводимость которого срывает генерацию кварца.
[Автор]
Причем секцию питания +5В заменил USB кабелем и подключал к ПК.В программе-программаторе он- JDM programmer. Кстати при помощи его можно считывать с МК.
[Автор]
[Автор]
Вы, видимо, не вошли в режим установки температуры
Вам нужно в режиме показа текущей температуры нажать на кнопку «Принять» и удерживать до тех пор, пока не начнёт мигать значение минимального предела температуры. После чего кнопками «Меньше» и «Больше» установите минимальный предел температуры. После этого нажмите на кнопку «Принять» и также установите
максимальный предел температуры.
Следующее нажатие кнопки «Принять» вернёт прибор в режим показа текущей температуры.