Универсальный термостат

Название раздела говорит само за себя...
Ответить
Аватара пользователя
Andrey73
Станкостроитель
Станкостроитель
Сообщения: 197
Зарегистрирован: 05 июн 2010, 00:00
Откуда: г. Королёв МО

Универсальный термостат

Сообщение Andrey73 »

В связи вынужденным просиживанием штанов - заболел :sorry: , решил довести до ума электронику для инкубатора, раз уж до доводки станка не добраться. Пару месяцев осталось до закладки яиц, а своим еще полгода назад пообещал новую электронику сварганить....
А посему, перебрав имеющиеся в наличии детали и прикинув как всё это организовал Tim, пришел к выводу, что инкубатор-инкубатором, а универсальный стабилизатор и регулятор температуры не помешают....
Итак, ТЗ.
Температура регулировки - до 50градусов. С точностью в 0,2-0,5 градусов
Легкость установки стабилизируемой температуры - (без всякого нажимания сотню раз кнопочек)
Работа в условиях "плавающего" напряжения питания сети
Измерение относительной влажности (с точностью в 5-10%)
Установка различных ТИПОВ исполнительных механизмов - нагреватели 12,24 и 220В, двигатель постоянного тока или маломощный шаговик, вентилятор и т.п.
Минимальные изменения в схеме для различных задач и как можно меньше РЕГУЛИРОВОК!
Понятная индикация и управление - типа 4 раза нажать кнопочку 1, потом 2 раза 2 и когда загорится значок..... Вот это уже ДОСТАЛО!



Принцип работы для инкубатора
Включается питание, из ПЗУ берется ПОСЛЕДНЕЕ ЗАДАННОЕ значение температуры, производится опрос и съем данных с датчиков температуры и влажности. Если значение температуры меньше, кратковременно включается нагреватель, выдерживается пауза и вновь производится замер температуры. Пока температура не превысит пороговую на 0,2-0,5 градусов (гистерезис, пока только отрабатываю схему работы нагревателя). После чего нагреватель не включается, пока температура не станет ниже пороговой на 0,2-0,5 градусов. Раз в три часа включается по таймеру двигатель переворота лотков.
Пороговое значение температуры устанавливается на основе данных с переменного резистора - нажимаем кнопку установки температуры, по индикатору вращением ручки выставляем нужную температуру. При отпускании кнопки число автоматически записывается в ПЗУ контроллера. В случае сброса контроллера или пропажи питания оно считывается из ячейки ПЗУ.
При нажатии 2й кнопки (пока она удерживается) последовательно выводятся на экран (вообще можно и вращением ТОГО ЖЕ резистора) данные по температуре стабилизации, температурах датчиков, влажности, времени последнего переворота яиц и включения нагревателя (последние две еще в проекте).
Влажность рассчитывается по разности влажного и сухого термометров. Данные для температур от 15 до 41 градуса введены в ПЗУ контроллера. Из-за округления пришлость немного ухудшить точность измерения влажности до примерно 5-10% (не с чем сравнить).


Метод реализации - однозначно многоножечный микроконтроллер. Так как я периодически что-нибудь мелкое мастерю, то однозначно остановился на AVR фирмы Atmel из-за наличия чипов и опыта их прошивки. Но вот вспоминать раз в полгода все команды управления (больше сотни!) мне уже порядком надоело. Да и не нужны для датчиков бешеные скорости - пару раз в секунду - за глаза. То есть компилятор может быть неэффективным в принципе. С год назад случайно наткнулся на буржуйскую Arduinо - точнее на аналоги - Freeduino/CarDuino. В принципе - дешевая макетная плата с минимумом деталей и достаточно убогим языком.... НО! С загрузкой по порту без программатора, кучей готовых программ (скетчей) работы с датчиками и главное, с возможностью писать куски кода на Си и Асме - генератор импульсов с частотой почти в 1МГц на одной ноге платки (каюсь, кроме этого она больше ничего не делала), впечатлил.

Схема
http://cncfiles.su/photo/7358.jpg


Итак что получилось.....
Датчики температуры и влажности - 2 DS18B20.
Установка температуры - резистор на АЦП микроконтроллера
Дисплеи - однострочный КО-4B2 (аналог 1611) с управлением по 2м (у меня 4 - с управлением по питанию) проводам и более серьезный МЭЛТ 16S2h с двумя полями по 16 символов.
2 светодиода для индикации (в общем нафиг не нужны, но про запас пусть будут красиво помигивать :crazy: ), 2 кнопки, 2 выхода на исполнительные механизмы (нагреватель и двигатель переворота яиц в инкубаторе) и 2 резервных входа/выхода (может какие датчики прицеплю еще). Реально еще получить 2 выхода отключив COM-порт на время работы исполнительных механизмов (пока по нему контролирую датчики на ПК) и еще 2, включив внутренний RC генератор и отключив задающий кварц.

Программа работы грузится с ПК через Com-port (или через переходник USB-COM). Заменив пару констант, легко можно изменить диапазон регулирования, отключить измерение влажности и подключить ЛЮБОЙ датчик 1Wire вместо термометров, другой LCD дисплей и на другие ноги МК.
Изображение
Изображение
Изображение

Здесь файл с разводкой и "черновым", непричесанным скетчем для ARDUINO IDE. Там пока не реализовано управление исполнительными механизмами и есть лишний отладочный код
http://cncfiles.su/download.php?id=1478[/img]
Аватара пользователя
Andrey73
Станкостроитель
Станкостроитель
Сообщения: 197
Зарегистрирован: 05 июн 2010, 00:00
Откуда: г. Королёв МО

Сообщение Andrey73 »

Давненько не лазил на форум - по работе завал.....
Даю предварительный отчет по термостату - сегодня из инкубатора с этим термостатом вылезли цыпы! Народ вроде бы очень доволен, хотя датчик влажности вышел из строя - утопили его...... Да и с механикой переворота немного недомудрил. Так как стоит инкубатор далековато, полный отчетец с фотками выложу недели через 2-3 - раньше туда просто не доеду....

Итак, косяки.....
Самый главный, датчик влажности на DS18B20 окунули в воду целиком.... Надолго..... Так как я его заизолировал плохо, он просто отгорел от подводящих проводов и кажется пожег вывод МК.
2х датчиков DS18B20 для точного поддержания температуры и влажности оказалось мало - при изменениях внешней температуры в комнате больше чем на +-3 градуса начинается "шатание" около заданной температуры внутри инкубатора - нужно или изменять алгоритм управления, или учитывать температуру вне инкубатора..... Последнее проще реализовать - нужен просто еще один датчик наружной температуры.
Ну и с механикой переворота яиц нужно заниматься - пришлось остановится пока на ручном перевороте.....

А теперь положительные стороны - по предварительным данным из почти сотни яиц 65 цып уже вылезли, 20 - в процессе, 1 болтун и несколько непоняток - еще не проклюнулись...
Точность поддержания температуры в районе датчика за все время инкубации не хуже 0,3-0,5 градусов по данным Далласов, разница с медицинским термометром была 0,2-0,3 градуса. В качестве нагревателей использовались 10 ламп на 21Вт с поворотников автомобиля, запитанных от трансформатора от сгоревшего ИБП. Регулировка осуществлялась через транзисторные ключи на полевиках с ШИМ от микроконтроллера.

Ну, в общем можно считать эксперимент относительно успешным....
Тем кому интересна тема инкубатора, могу по результатам рекомендовать следующее (по электронике и регулировке температуры):

1. Датчики нужно сажать на РАЗНЫЕ ноги МК (у знакомого в ПРОМЫШЛЕННО изготовленном инкубаторе попадание конденсата на датчик температуры/влажности привело к полному выходу инкубатора из строя с потерей яиц)
2. Качественно изолировать корпус инкубатора - у меня фанера и 2 слоя вспененного алюминизированного полиэтилена - не понравилось, можно лучше
3. Желательно учитывать внешнюю температуру воздуха в помещении, точность регулировки тогда можно повысить.
4. Регулятор с лампами или ТЭНами на 220В реализовать проще - задолбался делать схему с ШИМ на 12-15В и ток 20А, очень сильно греются выпрямительные мосты и ключевые транзисторы.
belazov
Станкостроитель
Станкостроитель
Сообщения: 946
Зарегистрирован: 11 апр 2010, 00:00
Имя: Юрий
Откуда: Токмак, Украина

Сообщение belazov »

наводка - для нагревателя нагревательная пленка для теплого пола (правда 220в!). датчик влажности - можно получить бесплатно высокоточный датчик влажности SHT21 от sensirion, в котором кроме этого еще встроен датчик температуры.
SHT21 - Digital Humidity Sensor (RH&T).
Чтобы это сделать, надо пройти по этой ссылке клацнуть там внизу Free samples и в открывшемся окне заполнить форму.
http://www.sensirion.com/en/01_humidity ... _sht21.htm
Для того чтобы что-то делать надо хотя бы это делать!
Мой станок.
straga
Станкостроитель
Станкостроитель
Сообщения: 112
Зарегистрирован: 13 фев 2011, 01:00
Откуда: Латвия

Сообщение straga »

спасибо заказал. а то цена у нас уж больно кусачая.
belazov
Станкостроитель
Станкостроитель
Сообщения: 946
Зарегистрирован: 11 апр 2010, 00:00
Имя: Юрий
Откуда: Токмак, Украина

Сообщение belazov »

у нас кроме того что кусачая - еще и нету их. на соседа тоже заказывай чтоб не бояться запороть датчик.
Для того чтобы что-то делать надо хотя бы это делать!
Мой станок.
Аватара пользователя
Andrey73
Станкостроитель
Станкостроитель
Сообщения: 197
Зарегистрирован: 05 июн 2010, 00:00
Откуда: г. Королёв МО

Сообщение Andrey73 »

Я на CHT10 один из вариантов измерения влажности попробую сделать...... Датчики температуры там, судя по даташиту, никакие - для термостата пойдет, для инкубатора - не уверен. Но это уже изврат, как мне кажется - их не везде купишь, дорогие... Психрометр на 18B20 и дешевле (почти в 10 раз!) и проще изготовить. Нагревательные пленки тоже смотрел в числе прочего - дорого получается, лампы и ТЭНы или сопротивления на 10-15 ватт обойдутся дешевле. Как вариант рассматривалась и нихромовая спираль, как у Тима, но в целях безопасности
а) помещенная в стеклянную трубку с сухим песком
б) расположенная через термоизолирующие к прокладки между двумя металлическими пластинами.
В общем, как бюджетный вариант лампы на 220В и симисторы с опторазвязкой оптимально. Только разводку получше изолировать нужно.
Если есть под рукой дешевые трансы или БП ватт на 100-200, как вариант на лампах и полевиках - имеем и повышенную электробезопасность и возможность питания напрямую от АКБ.
belazov
Станкостроитель
Станкостроитель
Сообщения: 946
Зарегистрирован: 11 апр 2010, 00:00
Имя: Юрий
Откуда: Токмак, Украина

Сообщение belazov »

SHT21 заказывай на свой адрес только указывай разные е-маил и фамилии - присылают. температуру - хоть и на LM35 (у них даже погрешность ниже) т.к. для инкубатора критична температура 0,1град. а основная ценность SHT21 - датчик влажности без гемора с сухим-влажным термометром.
а ценность пленки - выделение тепла, распределенное по площади. пленка - я брал маленький кусок (размер зависит от размера инкубатора) за 3,5дол. мощность 200вт/м2. при моем размере на коммутацию с головой хватит МОС3063.
а вообще дело хозяйское - из того что лежит под рукой тоже неплохо сделать
Для того чтобы что-то делать надо хотя бы это делать!
Мой станок.
Ответить