РадиоКот :: Термоконтроллер "Мурка"
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: ТермостатAVRДобавить тег

Термоконтроллер "Мурка"

Автор: Black27512
Опубликовано 08.09.2011
Создано при помощи КотоРед.
2011

Поздравляю Кота с Днём Рождения! 6 лет для Кота это уже прилично, а для сайта так и подавно! Учитывая, что рунет в России существует лет 10, а для многих регионов и того меньше… Так что многим может показаться, что Вы, Кот, были для них с самого начала осознанной жизни в сети. Спасибо Вам за это!

            Уважаемые радиокоты и радиокошки, думаю, для Вас не малую роль играет комфорт в вашем любимом уютном жилище. И я предлагаю повысить этот комфорт еще чуть-чуть, а именно сделать небольшой шажок в сторону так называемого «Умного дома». Для поддержания температуры в доме сейчас существуют кондиционеры, но к сожалению они имеют ряд недостатков, не позволяющих использовать их повсеместно. А именно: высокая стоимость и приличное энергопотребление. Да и необходимость в них возникает лишь летом. А в остальные времена года достаточно периодически открывать форточку, а нагрев берёт на себя система парового отопления (батарея в народе). Хорошо если у вас индивидуальное отопление и температуру радиаторов отопления можно регулировать, а вот если нет, то при изменении температуры на улице приходится довольно часто проветривать помещение, при этом получается так, что если открыть на долго, то становится холодно и наоборот если не проветривать становится жарко и душно. Думаю, всем знакома ситуация, когда перед сном мы открываем форточку. Так вот здесь обычно есть два варианта. Первый, это закрыть форточку непосредственно перед засыпанием, что обычно приводит к тому, что утром мы просыпаемся в душной комнате и это далеко не самое неприятное… А второй вариант, если мы форточку так и не закрыли, то велика вероятность замёрзнуть, от чего проснуться среди ночи, а потом еще долго лежать и пытаться согреться. В обоих вариантах нет ничего положительного.

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

            Далее я опишу такую конструкцию. А назвать это чудо я решил Муркой, вспомнилась мне одноимённая песенка. В ней, конечно, присутствует немного криминала, но всё-таки песня о форточнице, да и имя Мурка у большинства ассоциируется с кошкой… Мда, что-то я отвлёкся.

Ну так вот, основные узлы схемы это датчик, контроллер и орган управления. Собственно, принцип работы прост как пять копеек. Датчик измеряет температуру в помещении, контроллер сравнивает результат измерения с заданным значением и воздействует на орган управления. На практике в качестве датчика я применил всем известный интегральный термометр с 1-проводной шиной DS1820 (его не требуется калибровать), для простоты управления используется шаговый двигатель от дисковода 5.25 дюима (хотя использовать можно любой другой униполярный), ну и управляет всем этим «народный» MK ATmega8. Для индикации используется светодиодный 7-ми сегментный индикатор, имеющий 4 разряда. Он необходим для контроля устанавливаемой и текущей температур, а так же для отображения других параметров настройки. Кстати, в данной схеме применён индикатор с ОА.

 

            Питается схема от источника 12В, к нему не предъявляются  особых требований по стабильности напряжения, т.к. напрямую от него питается только двигатель M1. Остальная часть схемы питается через интегральный стабилизатор DA1.

            После сборки схемы необходимо прошить МК. Для этого лучше и безопаснее использовать лабораторный (не штатный источник питания) или питать от компьютера через программатор. Для прошивки я использую программатор PonyProg ( https://www.lancos.com/prog.html ). Напомню, что при работе с PonyProg сначала нужно откалибровать программу, затем прочитать (!) фьюзы, загрузить прошивку (HEX), загрузить данные для EEPROM (EEP) (для этого в окне проводника меняем тип файла), прошить (Write Device), опять открыть вкладку с фьюзами, установить их (как именно см. ниже), записать. Для удачной прошивки МК советую следовать этой последовательности.

            И еще несколько фото устройства.

 

            Далее я в трёх словах попробую описать как заставить орган управления (шаговый двигатель) открывать и закрывать вашу форточку.

            Управляется только наружная форточка, внутренняя остаётся в открытом положении и стопорится удобным для вас способом. На вал шагового двигателя одевается две щёчки из пластика (я использовал пластик от прозрачной упаковки) и приклеивается на термоклей. Таким образом на валу получается своеобразная катушка, куда будет наматываться леска. Во внешней щёчке проделывается отверстие, куда продевается один конец лески и завязывается узелок. Далее нам понадобится изготовить миниатюрный блок, для этого можно использовать прямоугольный кусочек жести, который сгибается в П-образную скобу, а в качестве ролика хорошо подходит ролик от аудио-кассеты (я надеюсь, что вы еще помните, что это такое). В скобе сверлятся отверстия, и ролик закрепляется кусочком стальной проволоки (например, кусочек канцелярской скрепки). Далее блок саморезом прикручивается в угол наружной рамы, таким образом, что бы не попадать в рабочую зону наружной форточки. А двигатель при помощи уголков прикручивается к внутренней форточке. Далее леска протягивается через блок и крепится на наружной форточке. В итоге получается конструкция, где что бы закрыть форточку нужно потянуть за леску, что и будет делать наш шаговый двигатель. Осталось установить механизм противодействия двигателю. Здесь можно просто натянуть резинку или пружину. На этом собственно всё. Осталось закрепить контроллер рядом с этим безобразием и настроить параметры управления. Кстати, рекомендую сделать двигатель отключаемым от контроллера, т.к. может понадобиться закрыть обе форточки (например лютой зимой). В этом случае просто отключаем двигатель, бросаем кабель с разъёмом между рамами и закрываем обе форточки. По идее двигатель окажется между форточками и не будет мешать их закрытию. Подробнее как это выглядит и работает можно увидеть в видеоролике, ссылка на который указан в конце статьи.

            Теперь немного об интерфейсе. Устройство имеет 3 кнопки для управления: «+», «-», «MENU/OK». Кнопки «+» и «-» служат для изменения выбранного параметра, «MENU/OK» для перехода в меню системных параметров и их перелистывания.

            В меню присутствую 4 параметра:

            [УП_А] – текущий режим, имеется два положения (Р – ручной, А – автоматический). В ручном режиме кнопки  «+» и «-» закрывают и открывают форточку, этот режим требуется только для отладки механики. Автоматический режим считается основным, в котором и происходит регулирование.

            [t100] – количество шагов двигателя, необходимых для закрытия/открытия форточки, регулировкой этого параметра можно установить на сколько сильно она будет открываться. Одно значение равно 8-ми шагам двигателя. При закрытии независимо от установленного значения двигатель делает дополнительно 100 шагов (для предотвращения люфта).

            [d010] – скорость вращения двигателя, вернее, пауза между шагами, т.е. чем это число меньше, тем выше скорость вращения. Устанавливается экспериментально, по наименьшему шуму и желаемой скорости открытия/закрытия.

            [H_01] – гистерезис регулирования, то есть указывает ширину окна в градусах, в пределах которого регулятор не будет предпринимать действий. Например: при значении 01 и установленной температуре +25 градусов открытие будет происходить при достижении 25.5 градусов, а закрытие при 24.5 градусах. Значение 02 будет закрывать и открывать при 26 и 24 градусах соответственно.

            В основном режиме (когда отображается текущая температура) кнопки «+» и «-» устанавливают параметр требуемой температуры (мигающее значение).

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

            Далее я опишу несколько моментов, с которыми вы можете столкнуться при повторении:

            1. При неподключенном датчике на индикаторе будет отображаться значение 00, при этом всё остальное будет работать, то есть можно отладить работу двигателя. При подключении датчика (даже без отключения питания) через 1 секунду значение с датчика должно отобразиться. Если этого не происходит – проверьте монтаж датчика и правильность его распиновки.

            2. Двигатель не вращается, а только дёргается. Для устранения этой проблемы попробуйте поменять фазы местами (в нескольких вариантах), в итоге вы найдёте правильный вариант.

            Видео работы устройства вы можете посмотреть здесь: https://www.youtube.com/watch?v=JLl_NwJTaMQ

            На этом всё. Удачи!



Файлы:
Прошивка, исходник, плата, передняя панель


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

13 1 1
3 1 0

Эти статьи вам тоже могут пригодиться: