Главная » Автоматика в быту
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Похожие статьи:


Цифровой термостат на 7 кВт

Цифровой термостат - это устройство, которое коммутирует подключённую к нему нагрузку, например электрический обогреватель или холодильное оборудование для того, что бы удерживать температуру в заданных пользователем пределах.

Верхний и нижний пределы температуры задаются 3-мя кнопками на лицевой панели, текущая температура, измеряемая датчиком, выводится на 4-х разрядный 7-ми сегментный LED индикатор.

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

Схема устройства. Здесь, на рисунке, схема приведена для общего ознакомления и описания работы устройства. Я прикладываю исходник в формате SPlan 7.0, включающий в себя схему, а так же полный перечень всех использованных элементов на 2-х листах (от резисторов до самого корпуса устройства) с возможными вариантами замены. 

Схема цифрового термостата на 7 кВт

Термостат собран на распространённом микроконтроллере 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 Поиск в FivelВ блокнот
VT1 Биполярный транзистор
BC817
1 Поиск в FivelВ блокнот
UZ1 Диодный мост
DB101
1 Поиск в FivelВ блокнот
UZ2 Линейный регулятор
L78L05
1 Поиск в FivelВ блокнот
VD2 Диод
КД522А
1 Поиск в FivelВ блокнот
С1 Конденсатор0.33 мкФ1 Поиск в FivelВ блокнот
С2, С3 Конденсатор15 пФ2 Поиск в FivelВ блокнот
С4, С5 Конденсатор0.1 мкФ2 Поиск в FivelВ блокнот
R1-R6 Резистор
4.7 кОм
6 Поиск в FivelВ блокнот
R7-R14 Резистор
200 Ом
8 Поиск в FivelВ блокнот
KV1 РелеBS-901AS-12VDC1 Реле на 12 ВПоиск в FivelВ блокнот
Qz1 Кварц4 МГц1 Поиск в FivelВ блокнот
SB1-SB3 КнопкиБез фикцации3 Поиск в FivelВ блокнот
HL1 Семисегментный индикаторCA56-121 Общий анодПоиск в FivelВ блокнот
Добавить все

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

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

Теги:

Опубликована: Изменена: 13.03.2015 0 0
Я собрал 0 Участие в конкурсе 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.4 Проголосовало: 2 чел.

Комментарии (55) | Я собрал (0) | Подписаться

0
alex_p_82 #
У вас контроллер не сбоит при включении реле?
Ответить
0
Владислав #
Наверное при включении реле идет просадка напряжения и идет сбой.
Ответить
0

[Автор]
olegpopov #
Нет Владислав, всё работает как часы. Швейцарские.
Ответить
0

[Автор]
olegpopov #
Нет, таких случаев не было ни разу. Причём, ни в одной из моих разработок с реле, контроллеры не сбоили при его включении.
Ответить
0
Артем #
При такой схемотехнике, и при такой мощности - не сбоить, не может.
Ответить
0

[Автор]
olegpopov #
Всё работает отлично, я вас уверяю. PIC микроконтроллеры способны ещё и не на такое. Недаром они применяются в военной технике... но я вам об этом не говорил
Ответить
0
Артем #
На что способны PIC контроллеры я знаю. Они действительно надежней АВР. Но при номиналах резисторов в 200 Ом на индикаторе, любому процессору будет тяжело...
PS: Я сам автор многих статей. В основном работал с AVR , но теперь начал и PIC внедрять в разработки. PIC все таки по надежней контроллеры. Но с быстродействием проблемы...
Ответить
0
Олег #
Да, некрасиво сажать индикатор на резисторы. Но индикация динамическая, да и падение напряжения на сегментах, в итоге по току все в ажуре.
Ответить
0
Artos5 #
А вы не задумывались о том, какой будет ток на аноде если вывести цифру "8"?
Ответить
0

[Автор]
olegpopov #
Перегрузки по току нет, индикация динамическая. Даже если вывести "8", то она не будет гореть постоянно. То есть каждый момент времени горит только один индикатор из 4-х, но из-за инерционности нашего зрения ....
Ответить
0
Artos5 #
Я знаю, что горит только одна цифра. Но Ток получается 120мА когда горит "8." ! Вот в чем беда
Ответить
0

[Автор]
olegpopov #
Конечно, но это импульсная нагрузка. Каждый индикатор горит 5 мс, за цикл свечения всего дисплея. Так что перегрузки нет.
Ответить
0
Artos5 #
Так в тех документации указано, что максимальный ток пина равен 25мА. Максимальный ток через VCC - 250mA.
Я всегда сопротивления резисторов ставил равными 680 Ом но не 200 Ом. Максимум мне кажется, допустимо 330 Ом.
Я не придираюсь, честно. Просто это сильное насилие над контроллером. Зачем превышать допустимые значения? Если реально можно их не превышать.
Вот выдержка из документа:
15.0 ELECTRICAL CHARACTERISTICS
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
Ответить
0

[Автор]
olegpopov #
Я понимаю ваши опасения. Но, в импульсном режиме контроллер, оказывается выдерживает такой ток... Вот вы всегда ставили 680 Ом, а теперь, оказалось, что можно 200 Ом поставить. Я поэкспериментировал, и проверил - всё работает
Ответить
0
Artos5 #
Убедили :)
Сам хочу попробовать разработать термостат на ПИКе.
Только хочу связку PIC16F690 + 74HC595 + 7SEG + DS18b20
Ответить
0

[Автор]
olegpopov #
Хорошая затея! Но если бы я делал его теперь, то поискал бы какой-нибудь драйвер LED дисплея, чтобы не морочить контроллер индикацией. Там почти весь код ушёл на индикацию.
Ответить
0
Artos5 #
Я смотрел исходник (бегло). Можно было (мое ИМХО) сделать проще, удобнее для программиста (то есть Вас) ну и оптимальнее немного.
Можно создать массив во флешь памяти и потом с него тянуть коды символов. А еще создать функцию разложения байта на разряды, и в нее помещать температуру. Супер вообще! Кода немного и смотрится классно
Ответить
0
Олег (автор) #
О, да вы эстэт! Готов подписаться под каждым вашим словом!
Ответить
0
Дмитрий #
Автору СПАСИБО за регулятор. Хочу поинтересоваться: если я буду прошивать программатором PicKit-2, то какую прошивку мне брать из архива, с расширением .hex? Фьюзы выставятся автоматически?
Ответить
0
Олег #
Здравствуйте, Дмитрий. У меня самого такой программатор, просто открываете hex файл и прошиваете. Фьюзы уже есть.
Ответить
0
alex463 #
Вашей nex прошивкой два 873 не могу прошить 0*000000 ошибка-при считывании одни нули. pickit2 исправен - все другое шьет пишет, читает, стирает, константу восстанавливает. А с этими двумя - читает стирает проверяет, а прошит этим файлом никак - может сразу два брака?
Ответить
0
Дмитрий #
Мне вместо PIC16F873 пришёл PIC16F873A, вроде где-то встречал в описаниях, что это разные контроллеры или они заменяемы? Если нет, то подскажите можно ли применить в данной конструкции PIC16F73?
Ответить
0
Олег (автор) #
Можно использовать PIC16F873A, это, по сути, исправленная версия контроллера. Суффикс здесь не важен. Насчёт PIC16F73, это, конечно, совсем другой контроллер. С ним я не ручаюсь за работу моего устройства.
Ответить
0
Виктор #
У PIC16F73 отсутствует EEPROM. Так что не будут запоминаться настройки. Для этого контроллера нужно переписывать программу и использовать внешнюю микросхему памяти, хотя-бы 24C01.
Ответить
0
lazertok #
По нагрузке на сеть.
Промышленные системы обогрева имеют двух ступенчатую систему нагрева, состоящую из двух тенов по 3кВт.
Это дает возможность не включать систему на полную мощность когда требуется только поддержание достигнутой температуры, а также уменьшит просадку напряжения на питающих проводах, что благоприятно для остальных потребителей бытового назначения. Считаю, что если доработать схему под включение двух тенов, то мы уменьшим нагрузку на сеть в последствии... в периоды работы системы.
Ответить
0
Олег (автор) #
Полностью согласен. Сам думал об этом, как о логическом продолжении экспериментального образца, но, как оно обычно и бывает, затянули другие проекты. Идея правильная.
Ответить
0
Эдуард #
Собрал эту схему, все нормально запрограммировал, но возникла проблема когда на индикатор показывает температуру, то постоянно стоит значение 127.9. А когда вхожу в режим настройки пределов температуры ни чего не происходит, кнопки up down не работают, работает только кнопка oк.
Ответить
0
Эдуард #
Собрал эту схему, все нормально запрограммировал, но возникла проблема когда на индикатор показывает температуру, то постоянно стоит значение 127.9. А когда вхожу в режим настройки пределов температуры ни чего не происходит, кнопки up down не работают, работает только кнопка on.
Ответить
0
Олег (автор) #
При включении прибора, появляется заставка, тестирующая индикатор. Потом последовательно появляются минимальный и максимальный пределы температуры. Проверьте это. Попробуйте отключить датчик температуры совсем. На индикаторе должна высветиться надпись nosensor. Что показывает индикатор? Есть предположение, что вы ошиблись с распайкой индикатора.
Проверьте так же генерацию частоты 4 МГц на кварце, если это возможно. Проверьте, нет ли лишних контактов, чистая ли плата, мог остаться флюс, проводимость которого срывает генерацию кварца.
Ответить
0
Эдуард #
Вчера еще посидел начала устанавливаться верхний и нижний предел была лично моя ошибка. Но проблема в том, что он показывает тоже значение 127.9 осталась. Если отключаю сам датчик, то выходит сообщение об его отсутствии, так же если не подключен контакт Vdd выходит сообщение 85.0. Да и еще при установке пределов температуры и выходе в режим показа температуры устройство перезагружается до ходит до показа температуры и снова перезагружается. К сожалению кварц проверить не могу, но плата чистая все несколько раз проверил все элементы рабочие. Думаю проблема в датчике.
Ответить
0

[Автор]
olegpopov #
Да, попробуйте поменять датчик. Всякое случается.
Ответить
0
Игорь Арнаутов #
Эдуард как вы решили проблему с настройкой верхнего и нижнего порога термостата, а то у меня тоже кнопки не отзываются up и down!
Ответить
0
Slawa #
Применил PIC16F876A - всё работает, но при выключении питания сбрасывает уставки на 0. Подскажите что и где подправить?
Ответить
0
Олег автор #
Добрый день! Вы применили другой контролер. Я с ним незнаком. Возможно, в нем нет EEPROM, в которую программа заносит установки. Я не читал технический лист к нему. Я могу гарантировать только работу со штатным контролером.
Ответить
0
Slawa #
Доброго времени суток. Вообще 876 является расширенным аналогом 873-го. У него памяти EEPROM как раз побольше. До этого во всех конструкциях применял вместо 873-го всегдя всё работало. Придётся искать 873. Спасибо за конструкцию и за оперативный ответ!
Ответить
0
Slawa #
Проблема решена. Перекомпилировал проект для PICF876A. Всё работает как надо. Спасибо автору за полезный девайс!
Ответить
0
Валерий #
Хочу попробовать приспособить для управления йогуртницей. В связи с этим вопрос: можно ли ввести в устройство программный таймер до 12-ти часов с шагом хотя бы в 30 минут? Было бы здорово!
Ответить
0
Олег (автор) #
Валерий, можно сделать почти всё, что хочется. Но только у меня нет времени на развитие этого проекта сейчас. Но если будет термостат с функцией времени, то делать его нужно с часами реального времени и другим экраном. Тогда можно будет задавать любые интервалы времени в любом месяце любого года. Но этим я займусь не скоро.
Ответить
0
ExGen #
Посоветуйте простой программатор для этого PIC пожалуйста.
Ответить
0
Ол #
Я пользуюсь PicKit2 - берите, не пожалеете. Подключается по USB, при программировании он сам питает контроллер, не как тот же JTAGICE для AVR, где надо дополнительное питание. К тому же удобная программка с ним идёт, простая и интуитивно понятная.
Ответить
0
DPK #
Можно сделать быстро и бесплатно.Пользовался им для http://cxem.net/avto/electronics/4-155.php
Причем секцию питания +5В заменил USB кабелем и подключал к ПК.В программе-программаторе он- JDM programmer. Кстати при помощи его можно считывать с МК.
Ответить
0
Сергей #
Случайно на схеме выводы 14 и 15 местами не попутаны?
Ответить
0

[Автор]
olegpopov #
Нет, там всё верно. Почему вы решили, что контакты перепутаны?
Ответить
0
Сергей #
Может заблуждаюсь... На печатке 11,12,13,14 идут на индикатор. А вывод 15 идёт на разьём
Ответить
0
Павел #
Здравствуйте. Спасибо за очень полезный девайс. Собрал термостат, но проявилась проблема. При включении проходит проверка, от краёв к середине в шахматном порядке загораются по пол индикатора. Показ пределов отрабатывает так же нормально. Без градусника честно пишет noSensor. При подключении же градусника первые 2 знакоместа показывают 91-81-22-21, третье знакоместо пустое, а в четвёртом идёт медленный обратный отсчет. Так же не работают кнопки UP DWN, работает только OK. Как я прочел люди сталкивались с похожим. Контроллер у меня 873А. Может кто поможет советом или выложит компилированый фаил именно под этот контроллер?
Ответить
0
Павел #
С индикацией разобрался. Засветилось все кроме точки, она почему то горит в DP5 вместо DP3. Кто нибудь победил кнопки? Прибор работает, температуру показывает правильно, но невозможно установить пределы. Кнопки UP и DWN не реагируют. Эдуард умолчал о своём прозрении. Может кто еще сталкивался? Подскажите пожалуйста.
Ответить
0
Олег (автор) #
Павел, проверьте ещё раз все связи, прозвоните. Если прибор собран правильно, всё будет работать.
Ответить
0
Павел #
Перепроверил все добрую сотню раз. Самое неприятное что додумался набросать в протеусе только сейчас. В протеусе тоже не работают кнопки UP и DWN
Ответить
0

[Автор]
olegpopov #
Прошу прощения за несвоевременный ответ.
Вы, видимо, не вошли в режим установки температуры
Вам нужно в режиме показа текущей температуры нажать на кнопку «Принять» и удерживать до тех пор, пока не начнёт мигать значение минимального предела температуры. После чего кнопками «Меньше» и «Больше» установите минимальный предел температуры. После этого нажмите на кнопку «Принять» и также установите
максимальный предел температуры.

Следующее нажатие кнопки «Принять» вернёт прибор в режим показа текущей температуры.
Отредактирован 13.03.2015 17:17
Ответить
0
Андрей #
Собрал термостат, но как и говорилось выше кнопки UP и DWN тоже не реагируют, работает только кнопка ОК. Кто-нибудь откликнитесь.
Ответить
0
Олег (автор) #
Андрей, а вы не забыли про подтягивающие резисторы к питанию на каждую кнопку? На схеме они есть, но, видимо я не доглядел, и на схеме между кнопками и этими резисторами разрыв. Но на рисунке печатной платы эта связь есть.
Ответить
0
Андрей #
О резисторах я не забыл, они стоят. Что может быть, не знаю. Контроллер такой же как и в схеме без буквы А. Может дело в прошивке?
Ответить
0
terran-1 #
Спасибо автору за девайс, все заработало. Дольше держите кнопку ОК и все получится.
Ответить
0
Ak_volkov #
Только только собрал термостат на atmega8 и кремниевых терморезисторах серии KTY. Как с атмельками наиграюсь попробую на пике собрать.
Ответить
0
vastl57 #
Собрал термостат, но при включении нагрузки происходит сбой, термостат перезагружается и так каждый раз при включении и отключении нагрузки.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Радиореле 220В
Радиореле 220В
ELM327 OBD II — адаптер с поддержкой CAN Мультиметр DT9205A
вверх