Регулятор температуры для инкубатора на PIC
Термостат для самодельного инкубатора.
Здравствуйте дорогие читатели. Хочу предложить вам еще один вариант термостабилизатора для инкубатора.
Прототипом данной конструкции стала схема и программа опубликованных в статье «Микроконтроллерный термометр-термостабилизатор для инкубатора» П.Высочанского. в «Радио»№12 2007г. Схема и программа были изменены под мои возможности. Так что этот вариант может пригодиться и вам. При общении микроконтроллера с датчиком температуры DS18B20 совсем не обязательна высокая стабильность тактовой частоты, суньте в схему любой кварц с частотой около 4Мгц, да даже и 5Мгц и все будет работать. Поэтому от кварца я сразу же отказался и применил внутренний генератор на 4Мгц, что высвободило два выхода. Выходы портов контроллера рассчитаны на ток до 25ма – что вполне достаточно для обычных светодиодных индикаторов. Значит можно отказаться и от лишней микросхемы. Индикатор с общим анодом заменен индикатором с общим катодом – они применялись в старых АОНах, они дешевле и достать их легче по дешевке. Получилась вот такая схема – рис.1
После включения питания загорается светодиод LED2 зеленого цвета. Начинает свою работу и программа микроконтроллера. Если текущее значение температуры ниже заданного, на выходе RA1 МК установлен высокий логический уровень, что открывает транзистор VT1.О том, что нагреватель работает, сигнализирует светодиод LED1. По мере прогрева инкубатора температура, измеренная датчиком, растет. Как только она сравняется с заданной, нагреватель будет обесточен. Его следующее включение произойдет при температуре, на 0,2°С меньше заданной. По умолчанию в инкубаторе поддерживается температура 38°С. Если требуется иная, следует нажать на кнопку SB1 или SB2 и удерживать ее нажатой, пока цифры на индикаторе не начнут мигать. Они соответствуют поддерживаемому значению температуры. Нажимая на кнопки SB1 и SB2, это значение уменьшают или увеличивают. Можно выбрать любое значение в интервале З2...39,9°С с шагом 0,1°С. Если в течение 10с ни одна кнопка не нажималась, устройство автоматически возвратится в рабочий режим с прежним значением заданной температуры, сделанные изменения учтены не будут. Чтобы возвратиться в рабочий режим с записью в память МК вновь установленного значения, необходимо нажать на кнопку SB3. Этой же кнопкой можно в любой момент вызвать на индикатор для просмотра значение поддерживаемой температуры.
Транзистор VT1 – КТ829В является ключом, с помощью которого включается и выключается нагреватель 1. Нагреватель имеет вид дюралюминиевой пластины, установленной на высоте два сантиметра от дна инкубатора и имеющей меньший периметр на один сантиметр с каждой стороны, чем у дна. Эта пластина является радиатором стабилизатора тока, при протекании тока через который, и происходит нагрев. В дне и в этом радиаторе сделаны вентиляционные отверстия. Про такие нагреватели можно прочитать здесь. Все элементы схемы установлены на печатной плате.
В качестве сетевого трансформатора использован трансформатор ТС-90 от старого телевизора. С трансформатора сматываются все вторичные обмотки и наматываются две новые. Для этого трансформатора количество витков на один вольт равно 4,4. Полное количество витков обмотки IV будет равно 4,4 х 7 = 31 провода 0,35. Напряжение обмотки III возьмем равным 40В. Число витков для ее = 4,4 х 40 = 176 витков. Ток, протекающий через стабилизатор имеет величину 1,2 ампера. Диаметр провода равен = 0,7•корень квадратный из тока. Диаметр =0,7•1,095 = 0,76мм. При всем этом мощность обогревателя равна U•I = 40•1,2=48вт. Для домашнего инкубатора этого вполне достаточно. Успехов всем. К.В.Ю.
Рисунок печатной платы, схема, файл прошивки здесь
39 комментариев к “Регулятор температуры для инкубатора на PIC”
При повторении термостата столкнулся с проблемой отображения цифры 8 во втором разряде семисегментного индикатора, то есть доходит до 38 градусов а на индикаторе отображается 3 .0 тоесть восьмёрка отсутствует хотя все остальные цифры показывает не показывает только 8?
Здравствуйте Алексей. Я сейчас скачал с сайта прошивку, снова запрограммировал контроллер и ни каких проблем не возникло. Все работает как надо. Попробуйте еще раз перепрограммировать микроконтроллер или поменять термодатчик. Успехов. Валера.
собрал в протеусе работает на УРА! Спасибо!!!Георгий Кузьмич.
(Нагреватель имеет вид дюралюминиевой пластины, установленной на высоте два сантиметра от дна инкубатора и имеющей меньший периметр на один сантиметр с каждой стороны, чем у дна. Эта пластина является радиатором стабилизатора тока, при протекании тока через который, и происходит нагрев.)а что если место пластины подключит лампочку или другое что?
тс-90 нельзя попроще?
Можно применить любой нагреватель, но и соответствующий электронный ключ к нему. Если нагреватель будет питаться непосредственно от сети 220В, то и сетевой трансформатор можно применить любой маломощный. Данное схемное решение просто исключает попадание напряжения первичной сети на металлические части инкубатора.
Схему ты конечно упростил и улучшил, но есть такое что ,если не подключен датчик температуры, будет включен нагреватель, на 18 -лог.1, нужно сделать 0, если нет датчика- на дисплей выводить(---) три тире, сможешь доработать, а старая версия на 16f84, работает нормально, собирал такую,если бы ты доработал свою версию, было бы отлично.
Андрей, спасибо. Постараюсь исправить, но по правде сказать я изменил в программе только индикацию и адаптировал ее на другой контроллер.
Валерий Юрьевич спасибо за отличные и хорошо работающие схемы. Собрал две сразу, одну с регулировкой гистерезиса вторую для инкубатора в которой просто переделал регулировку выхода на тиристоре обе запустились сразу (как раньше писали- без ошибок в монтаже и исправных деталях) Хочу попросить Вас увеличить время включения с 0,2 градуса до 0,5-1,0 градус. Так как 0,2 это очень мало. Если можно напишите такую программу. Большое спасибо.
Обещать не буду. Сейчас нет времени. Постараюсь конечно.
Спасибо. Буду ждать, а пока делаю корпуса. Удачи.
что пишет Геннадий???(Хочу попросить Вас увеличить время включения с 0,2 градуса до 0,5?1,0 градус. Так как 0,2 это очень мало. Если можно напишите такую программу. Большое спасибо.) это делать не обязательно!просто сделайте гистерезис 0.1 с выдержкой на 10 -15 секунд о и всё норме
Ильхом не ужели моя просьба так и не понятна? Может для Вас это просто сделать(изменить) то для меня сложно ибо в программировании я не разбираюсь, собираю чужие разработки и если что не понимаю прошу помочи. Вы можете изменить программу с гистерезисом в 1 градус буду рад?
Я тоже собираю термостат и у меня небольшая проблемка.У меня много индикаторов с общим анодом.Подскажите что нужно изменить чтобы термостат работал с индикатором с ОА.
Здравствуйте , Юрий. Для того, что бы контроллер работал с индикаторами с ОА, необходимо изменить подпрограмму вывода информации на индикаторы.
Здравствуйте, Валерий Юрьевич а как на счет моей просьбы изменить в программе гистерезис на 1-2 градуса? ведь скоро закладывать яйца в инкубатор
Здравствуйте. Почти месяц назад я опубликовал статью «Цифровой териорегулятор для инкубатора», в этой программе можно устанавливать гистерезис от 0.1 до 0.9 градуса.www.kondratev-v.ru/termom... -inkubatora.html
Если я Вас правильно понял мне достаточно поменять прошивку одну на другую и все будет работать или делать по новой ПП и собирать схему ведь управление симистором и DS на разных ногах контроллера?
«Прототипом данной конструкции стала схема и программа опубликованных в статье «Микроконтроллерный термометр-термостабилизатор для инкубатора» П.Высочанского. в «Радио»№12 2007г. Схема и программа были изменены под мои возможности.» — так начиналась статья. Для данной схемы использовалась программа П. Высочанского для контроллера PIC16F84, я просто перевел ее для PIC16F628A. Для новой программы потребовалось изменение схемы, т.к. разные выводы контроллера способны выполнять разные функции. Так что придется собирать термостат заново.
Спасибо и на этом Приятного мало если каждый раз переделывать всю конструкцию заново
Значит сперва нужно было все продумать и выбрать другую, устраивающую Вас схему.
Спасибо за схемку.всё заработало сразу,разность температур с ртутным градусником примерно ±0,07 мне очень понравилось.
Пожалуйста.
Всем доброго времени суток. хочу поделится своими наработками в данной схеме.Силовой ключ vt1 я применил полевой транзистор которых полно в старых материнских платах.У них сопротивление перехода в режиме насыщения равно нулю.На всякий случай соеденил два паралельно, и у меня при токе 6А радиатор транзистору практически ненужен.Ну и насчет гистерезиса. у меня в нагревателе применена спираль от утюга обрезаная и соеденёная по закону Ома. И у меня возникла некоторая инерцеонность в работе термолегулятора она примерно 0.8 градусов . Блок питания у меня от старого компа 300w + резерв акумулятор через диод.
Если температура спирали будет большой, то такой нагреватель будет поглощать кислород. Не забудьте о проветривании объема инкубатора. Успехов! К.В.Ю.
Валерий Юрьевич. Спасибо за работу. Собрал эту схему,все работает как в описании.С Уважением! Леонид.
Спасибо за доброе слово.
Здравствуйте!Вот собрал это устройство,но не могу прошить PIC,программа IC-PROG?пишет после заливки(ошибка проверки по адресу 0000h),не подскажите в чём дело?Заранее спасибо!
Здравствуй, Максим. Трудно сказать, в чем дело. Программатор простенький наверное? Попробуй программирование на различной скорости. У меня простой программатор, так почему то постоянно приходится подбирать скорость прошивки. Иначе выводит ошибку.
Прогромматор от СОМ порта изготовил по схеме из журнала Радио автора А.Долгий.Уже волосы дыбом стоят,не знаю в чём дело,два дня нэт рою ,читаю.Просто никогда не приходилось прошивкой заниматься, может дело то пустяковое,а кругами ходу вокруг него
Привет, Максим. Я начинал примерно с этого же. Программирование через сом порт в большей степени зависит от нагрузочной способности этого порта данного компьютера, если питание программируемого контроллера не является отдельным. Если ты планируешь и дальше заниматься схемами, связанными с контроллерами, то мой тебе совет — купи или сделай сам программатор с раздельным питанием более серьезный, это позволит избежать кучу проблем с программированием и сохранит нервные клетки. Скупой платит дважды. Удачи.
Здравствуйте!Да я подумал об этом,спасибо за совет.Просто подумал быстренько соберу прошью и поставлю в инкубатор,вместо собранного на компараторе са3-ем.
Спасибо!Последовал вашему совету и собрал программатор AVR-PIC,http://bezkz.su/publ/300224-23-1-0-224.html вот ссылка кому интересно,а тот PIC я убил программатором по схеме из журнала Радио №2 2004 г.Большое спасибо за ваш проект!!!
Пожалуйста! Успехов и удачи.
Отличная статья, спасибо автору!
Народ, подскажите пожалуйста программу при помощи которой создают такие схемы как на рисунке???
Здравствуйте, собрал схему, все работает, но измеряемая температура округляется до 0,5 градуса, т.е. 33,5 потом 34, 34,5 и т.д. Хотя выставляется с ценой деления 0,1. Контроллер и датчик менял.Посоветуйте, что можно сделать. Да, и закачка не работает...
Здравствуй, Виталий. В верхней части сайта прочитай на счет закачки. На счет 0,5, первый раз такое встречаю. Пока на этот счет нет определенного ответа. Если, что в голову придет сообщу.
Здравствуйте,проблема с округлением оказалась в датчике DS18b20, вся партия (из 10 штук, заказанные с алиекспресс) оказалась бракованной. При замене на еще один другой, все заработало как надо. Спасибо за полезную схему.
Все хорошо, что хорошо кончается!