Термометр термостат на pic16f628a
Термометр-термостат положительных температур от +0,1 ˚С до +99,9˚С.
Здравствуйте уважаемые посетители. Приходят пожелания от вас об увеличении диапазона регулировки температуры и ее индикации, представленных на сайте термометров-термостатов.
Схема нового термостата представлена на рисунке 1.

Схема термометра-термостата
В принципе она почти ничем не отличается от своих старших собратьев. Вообще это огромный плюс схем с применением микроконтроллеров.
Основа схемы — микроконтроллер PIC16F628A. В качестве датчика применен один из известных и популярных цифровых датчиков температуры DS18B20. Показания реальной температуры, величина устанавливаемой температуры стабилизации и необходимого гистерезиса выводится на семисегментный светодиодный трехразрядный индикатор с общим анодом. Резисторы R1…R4, это подтягивающие резисторы . R1 подтягивает шину передачи данных с датчика температуры DS18B20 к шине питания схемы плюс пять вольт. R2…R4 подтягивают соответствующие выводы микроконтроллера к шине плюс пять вольт.
Резисторы с пятого по двенадцатый, являются гасящими резисторами, или ограничивающими применительно к току, протекающему через светодиоды. Изменяя номинал этих резисторов, можно регулировать яркость свечения сегментов индикатора. Иногда встречаются индикаторы с разной яркость свечения отдельных сегментов, этот дефект так же можно устранить при помощи этих резисторов. Для установки температуры термостатирования применены две кнопки с соответствующими знаками «+» и «-», это кнопки SB2 и SB3. Этими же кнопками устанавливается необходимый вам гистерезис, от 0,1 ˚С до 0,9˚С при нажатой кнопке SB1 — «Гистерезис». Сигнал управления коммутирующим ключом снимается с вывода 17 микросхемы DD1. Схему ключа я не стал рисовать, выберите сами, например, из статьи «Транзисторный ключ переменного тока»
Обращаю ваше внимание, что в железе я устройство не проверял, все было промоделировано в Протеусе.

Скриншот программы Proteus со схемой термостата.
Соответственно печатную плату не рисовал, но если у вас появится желание повторить данный термостат, рисунок можете выслать мне на адрес — valerkond2012@yandex.ru Начинающим «радиогубителям» (шутка), это очень пригодится. Я не в курсе затей тех посетителей, которые просили об усовершенствовании термостата, но возможно это были химики, для которых важна точность температуры растворов. Я, думаю, и вы найдете применение этому устройству. Не плохо бы было, если бы и вы прокомментировали, где можно применить его. Успехов. К.В.Ю.
Скачать проект
 
50 комментариев к “Термометр термостат на pic16f628a”
Здравствуйте, у вас нету возможности написать программу под общий катод, а то их есть несколько у меня)))буду очень благодарен
Здравствуй, Андрей. Напомни позже, недели через две. Я перепишу программу, сейчас не до нее.
скажите пожалуйста почему на экране непонятная хрень подключение правильное проверял 2 раза. спс
Здравствуй, Дмитрий. Программу скачали уже почти 200 человек. Ты первый, у кого проблемы. Ни чего не видя, ни чего не замеряя, как я могу тебе что либо сказать. Для тебя хрень, это что? Проверяй внимательней. Все должно работать. Если не хватает знаний, выходи на форум, покажи свое собранное устройство, опиши режимы работы контроллера. Многие так и делают.
Здравствуйте,у меня тоже просьба к Вам переписать программу для общего катода,тоже завалялись несколько дисплеев.Спасибо!
И еще при эмуляции программы в протеусе заметил вроде как глюк-попробуйте поднять температуру на датчике,допустим до 86 градусов,при уставке 70.Посмотрите что творится с выходом.
Привет, Сергей. В моем протеусе все нормально. Перепроверил.
Ок,это хорошо,значит у меня глючная походу версия,поменяю его.Функционал и универсальность по описанию понравился именно этого термостата,единственная просьба-для общего катода надо,думаю у многих таких завалялось,буду премного благодарен!
В день на сайте бывает более двух тысяч посетителей. Я просто физически не могу переделывать схемы и программы по всем просьбам. У меня времени просто не хватает.
Здравствуйте. У меня такая же проблема,что и у Дмитрия.(25.12.2015г)
При сравнении прошитого контроллера и программы постоянно одна и та же ошибка по адресу данных Eeprom 0001h.
Пробовали- разные программаторы, на разных компьютерах,
разные партии микроконтроллеров.Одна и та же беда. Все Ваши предыдущие программы пишутся без проблем!на том же оборудовании.
Сергей.
Привет, Сергей. Сейчас скачал файл с сайта и все прекрасно загрузилось. Я не знаю, какими программами и программаторами ты пользуешься. У простых программаторов LDM есть один глюк, я с ним в свое время сталкивался. При первой же загрузке программатор самопроизвольно ставит ненужную галочку в конфигурацию контроллера — защиту от перезаписи. Прочитай с контроллера биты конфигурации и посмотри, какую конфигурацию имеет контроллер. Иначе, у тебя все время будет выводиться ошибка, пока не сотрешь полностью всю память. Я программировал Ic-prog, а стирался контроллер почему то только Pony-prog.
Программатор extra-pic, программирую icprog. Проблем не было ни разу.
Прочитай все с контроллера и посмотри какие биты конфигурации включены.
На индикаторе засвечивает все сегменты. Не отображает текущую температуру. Щелкаешь по режимам цыферки видны, но тоже не попорядку засвечиваются- хрень какя то высвечивается. Извините за мой лексикон. Помогите разрбраться соединение индикаторов я проверил все соответствует схеме выше.
Привет, Виктор. Смотри внимательней. Индикаторы с общим анодом?. Много комментариев с «высвечиванием хрени». Но многие находят причины со своей стороны. Обычные дефекты, это замыкание дорожек.
да с общим анодом через дополнительные транзисторы пнп подключил аноды так как индикаторы большеватые. вынял микроконтроллер и прозвонил источником питания зажигания элементов ABCDEFGH соответствию номерам контактов в панельке микроконтроллеру. все сходится как на схеме.подключил заведомо исправный датчик температуры все равно почему то не не отображает то что надо (((.
Привет, Виктор. Открой тему на форуме и выложи свою схему с вопросами. В рамках комментариев не получиться.
Все разобрался и приношу автору свои извинения. Оказывается я чего то начипушил с транзисторами. я их сиключил из схемы перемычками и стали отображаться адекватные циферки. Только как то не очень срабатывает отображение температуры. сразу отображает 85 градусов потом по кнопочкам потыкаешь и только тогда начинает нормальную температуру показывать.
Я думаю и это победишь, только не спеша, спокойно и повнимательней.
проблема с 85 решена уменьшением подтягивающего резистора на датчик температуры до 2к2 Ом
Здравствуйте! Собрал всё по схеме. Правда, пока только на макетнице. Сразу заработало без всяких проблем. Автору огромное СПАСИБО. Жаль нельзя фото приложить.
Нашел глюк один нехороший, причем и в железе и в протеусе его видно. Допустим, температура в комнате около 20, порог срабатывания выставлен в 25. Начинаем медленно поднимать температуру до 25, нагрузка отключается, как и положено, но когда температура доходит до 25.5, то сигнал на выходе снова появляется и уже не исчезает! Исчезает он только при уменьшении обратно температуры до 25.5. Что это за магическое такое значение 25.5?) и может ли уважаемый автор это поправить?)
Скачай еще раз новый архив и перезагрузи программу. Должно быть все нормально. Спасибо за работу.
Спасибо, теперь все работает как надо)
Хотя, вот еще что заметил, почему-то в пределе от 28 до 29 градусов( именно в таком, до/после нормально отображается), то тухнет, то загорается первый разряд индикатора. Причем не совсем тухнет, а засвечиваются все сегменты...
Такой дефект пока посмотреть не могу. Под рукой нет необходимого.
При отрицательной температуре показывает ерунду (у меня 26,6 показал) и разумеется не включается. С таким косяком он не пригоден в качестве термостата! Либо вводить отрицательные температуры, либо что бы отображал 0 при отрицательных, но включиться он обязан на нагрев! В общем тренируйтесь.
Вася.
В скором времени появиться обновленная прошивка.
В ней отображается минусовая температура, и включается нагреватель.
А в описании черным по белому написано:
Термометр-термостат положительных температур от +0,1 ˚С до +99,9˚С.
Так что зря Вы так на К.В.Ю. наехали!!!
Здравствуйте! Возникла такая потребность, собрать, термостат на pic16f628a с двумя датчиками и два канала управления, регулирование температуры от -55 до 125, регулирование гистерезиса до 15 градусов, для каждого канала раздельно. Есть ли у Вас подобные разработки, или же есть возможность разработать?
Привет, Ярослав. Таких разработок к сожалению нет. Времени на разработку пока то же нет. Ваших просьб и пожеланий очень много, когда очередь дойдет не знаю. Попробуй открыть тему на форуме, может, кто быстрее поможет.
Здравствуйте Валерий Юрьевич ,такая просьба,можно в этот термостат,добавить корректировку датчика с кнопок,допустим от реальной температуры в +3 градуса,и в -3 градуса.
Привет, Григорий. Можно ввести коррекцию, но сейчас начало посевных работ.
Понимаю.Сам такой в полях работал,знаю что это такое.Ну не чего я,подожду.
А... тебе на кой хрен + — 3 градуса?
В инкубатор.Можно и меньше,они не все же с таким разбросом.Но иногда ,врут.
У меня,стоит два термостата,один в верху держит влажность и температуру,другой просто температуру в низу.Инкубатор из холодильника,большой.Вентиляция не успевает выравнивать всё.
Здравствуйте Валерий Юрьевич.А прошивка под общий катод есть.У меня на индикаторе тоже кракозябры вывел,не понятно что показывает.
Нашёл причину,перепутал аноды местами,первый и третий.И (С,с G)тоже перепутал.Всё исправил,заработал.Но почему-то иногда моргает первый разряд.Как это устранить?
Моргание первого разряда устранил заменой резистора R2 на 4,7кОм
Может кто готовую схему в протеусе скинуть?
скажите а какое время опроса датчика установлено
Привет, Павел. Время опроса 1 секунда.
Подскажите пожалуйста, что поменять для того чтобы термостат наоборот включался при достижении температуры?
Из железа что поменять знаю, где в прошивке поправить?
Привет, Сергей. Извини за задержку — в деревне осень. Подправлять надо не в прошивке, а в исходном файле, который однажды у меня погиб вместе с операционкой.
Проблема такая. В помещении +27, на термостате выставляю 28,.вкл. обогрев , нормально. Но! В помещении +27, на термостате выставляю +24 и опять включается обогрев.!
Привет, Сергей. Извини, но сейчас уже ничем помочь не могу. В протеусе все работает как надо. Исходник погиб вместе с операционкой. А потом, сейчас посмотрел, 3781 раз скачали прошивку и такого дефекта в комментариях нет.
А если только теоретически,такая проблема может быть из-за датчика температуры.(подозрительно дешёвого датчика купил для данного проекта).
За тринадцать лет работы с контроллерами было все. И программаторы дурили, и контроллеры попадались глючные и датчики тоже. Поэтому давно покупаю все не менее, чем по 5шт. Недавно купил DS1307 10шт. — исправная одна, по запарке купил еще 10, блин, в этом же магазине — 1 исправная. Купил пять у другого продавца — все пять замечательно работают. Так жаль времени, почти 3 месяца. Так, что... начни с датчика. Нарисуй схему в PROTEUS (программы есть в Сети). Промоделируй. Только без спешки, обязательно просмотри монтаж. 90% проблем — грязь и «сопли» на платах.
Спасибо за ответы. Закажу новые датчики и отпишусь.
Плату сам разводил? Фото платы бы посмотреть в большом разрешении. Иногда присылали и иногда помогало. Если что... , то мне ссылку на яндекс диск.