Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы
Непрочитано 18.09.2011, 16:05  
dmitry.shagin
Временная регистрация
 
Регистрация: 07.08.2010
Сообщений: 97
Сказал спасибо: 15
Сказали Спасибо 17 раз(а) в 12 сообщении(ях)
dmitry.shagin на пути к лучшему
По умолчанию Контроллер температуры и освещения террариума

Возникла необходимость быстро сделать простой и дешевый терморегулятор для террариума. Сроку - неделя, доступа на радиорынок нет (так как он у нас вторник/пятница, а я в это время работаю), поэтому покупать что-либо специфичное было некогда и негде, и я решил собрать железку из того, что нашлось под рукой (корпуса, транзисторы, кнопки и БП у нас на радиорынке и в воскресенье можно купить, что стало полезным бонусом). Схему я рисовал уже пост-фактум, когда железка была готова, а клепал её из подручных средств "по ходу".
Итак, что получилось за неделю:
Сердцем устройства стала ATMega16 в DIP-корпусе. В качестве датчика температуры используется DS18B20. 4-х разрядный 7-ми сегментник для настройки и отображения текущей температуры. RTC DS1307 для автоматического переключения день/ночь, с кварцем из старой материнки. Полевики IRFZ48N для управления освещением (под рукой оказался метр RGB-ленты из 60-ти 5050-х светодиодов. Кроме того под рукой валялись ненужные RFM12B (сам я спрыгиваю на RFM70, поэтому 12-е мне больше не нужны) и USB приемник к нему, который я делал ещё в прошлом году (и который мне, опять же, больше не нужен). А, ну и симистор BTA26-700 (не релюшка, так как громко щелкает и ресурс у неё меньше). С небольшим радиатором он спокойно протягивает киловатт, кратковременно тестил на утюге с положительным результатом (утюг греется быстрее симистора, а в период отключения симистор успевает остыть) - в общем запас сумасшедший.

Управление конструкцией по 3-м кнопкам - +/-/set
+/- - следующий/предыдущий экран. set - переключение режима меню/редактирование
Список экранов:
0) текущая температура, текущий режим (день/ночь). Отображение текущего режима - смещением знака градуса: ввержу - режим 1, внизу - режим 2
1) установка температуры для режима 1. Диапазон: 15-40, шаг 0.1. Обозначение - t1S
2) установка гистерезиса для режима 1. Диапазон: 0.1-9.9, шаг 0.1. Обозначение - t1H
3) установка ЧЧ старта режима 1. Диапазон: 00-23, шаг 1. Обозначение - t1hh
4) установка ММ старта режима 1. Диапазон: 00-59, шаг 1. Обозначение - t1nn
5) установка температуры для режима 2. Диапазон: 15-40, шаг 0.1. Обозначение - t2S
6) установка гистерезиса для режима 2. Диапазон: 0.1-9.9, шаг 0.1. Обозначение - t2H
7) установка ЧЧ старта режима 2. Диапазон: 00-23, шаг 1. Обозначение - t2hh
8) установка ММ старта режима 2. Диапазон: 00-59, шаг 1. Обозначение - t2nn
9) установка коррекции термометра. Диапазон: +/-9.9, шаг 0.1. Префикс - E
10) установка ЧЧ. Диапазон: 00-23, шаг 1. Суффикс h
11) установка ММ. Диапазон: 00-59, шаг 1. Суффикс nn
12) установка СС. Диапазон: 00-59, шаг 1. Суффикс S
13) установка дня. Диапазон: 00-31, шаг 1. Суффикс d1
14) установка месяца. Диапазон: 00-12, шаг 1. Суффикс d2
15) установка года. Диапазон: 11-99, шаг 1. Суффикс d3
16) установка коррекции часов в секундах. Это значение прибавляется кажду неделю. Диапазон: +/-99, шаг 1. Префикс - C. За двое суток ни одной секунды не убежало, так что не особо нужная штукенция.
17) установка процента красного цвета для режима 1. Диапазон: 000-255. Обозначение: rEd1
18) установка процента зеленого цвета для режима 1. Диапазон: 000-255. Обозначение: GrE1
19) установка процента синего цвета для режима 1. Диапазон: 000-255. Обозначение: blu1
20) установка процента красного цвета для режима 2. Диапазон: 000-255. Обозначение: rEd2
21) установка процента зеленого цвета для режима 2. Диапазон: 000-255. Обозначение: GrE2
22) установка процента синего цвета для режима 2. Диапазон: 000-255. Обозначение: blu2
23) установка времени перехода между режимами освещения. Диапазон: 000-255 минут. Обозначение: tLI

Через ~10 секунд простоя выходим из режима редактирования и переходим к первому экрану

Измерение температуры и принятие всех решений (по обогревателю и по яркости) - 1 раз в секунду по прерыванию от часов
с усреднением 10 крайних измерений температуры

Самая правая точка горит при включении обогревателя (для диагностики)


Все редактируемые пункты меню хранятся в байтовой таблице data, что дает диапазон изменения температуры 25.5 градуса (храню, ессна, целые, точку рисую). Но так как диапазон 0-25.5 неинтересен, то к значениям температуры прибавляется 150 при отображении. Отсюда диапазон 15-45.5. Вся эта таблица при редактировании сгружается в память RTC, что даёт двойной профит: во-первых нас не беспокоит ресурс eeprom, во-вторых можно вытащить батарейку и вернуться к начальным значениям, если потерялся в настройках.

Это всё, что касается основной работы. Ввиду нехватки времени поленился сделать автоматический переход летнее/зимнее время и не сделал, как изначально собирался, таблицу с временем восход/закат, чтобы автоматически смещать время переключения режима по году.

Так как связь с компом - дополнительная плюшка, а времени у меня было мало, то софт я пока для неё не писал (и не уверен что буду), общался через realterm. Ниже описание протокола, если кто-то захочет повторить:


При изменении температуры (или режима работы день/ночь) по радиоканалу отправляется посылка виде
"26.1 D+" - первые три цифры - температура, затем пробел, D/N - день/ночь, +/- - включен/выключен нагреватель

Кроме того, по радиоканалу можно получать/сохранять данные памяти
В команде всегда должно быть ровно 6 байт. После получения 6-го байта и отправки пакета приходит "+" (от свистка, не от контроллера), обрамленный символами конца строки.
Таким образом, если получен +, а число переданных байт не равно 6, значит где-то нарушилась передача - надо оборвать передачу текущего пакета и отправить его заново

Контроллер принимает пакеты вида
T‹S/G›‹xx›‹yyy›, где G - команда получения, S - команда изменения, xx - адрес ячейки (в ASCII), yyy - значение байта (в ASCII) - при запросе GET эти три байта могут быть произвольными, они игнорируются
Номеря ячеек соответствуют пунктам меню, то есть, чтобы получить текущий гистерезис режима 2 надо оправить
TG06000
в ответ придет
+(от свистка)

CG06005 - где C - Confirm, 06 - адрес запрашиваемой ячейки, 005 - значение. Так ка все температуры хранятся в целых числах, то это значит, что текущий гистерезис режима 2 равен 0.5 градуса

Если запросить ячейку за диапазоном - придет код ошибки. Например просим TG46000, получаем EG46000

Дополнительно к ячейкам меню можно получить текущие значения цвета. R имеет код 24, G-25, B-26 (но эти ячейки нельзя напрямую установить, так как они вычисляются каждую секунду)

Пример изменения данных: установим часы включения режима на 18:00. Говорим TS07018, получаем в ответ CS07018, значит значение успешно записано.
Если вылетели за диапазон (например ставим 45 часов TG07045) - вернется ES07045
Аналогично, если вылетели за число ячеек.

Скорость общения по радиоканалу - 4800.Максимальное время отклика на запрос - одна секунда. Если через секунду после "+" ответа нет - можно повторять передачу.
Буфер отправки общий, приоритет имет текущий статус - то есть, если запрос пришел прямо перед прерыванием по часам и у нас изменилась температура, то вместо ответа на запрос придет сообщение со статусом :)
Скорость свистка - 115200, 8N1

В коде свистка - просто прием пакета из 6 байт по UART, дописывание к нему контрольной суммы и отправка, которая отмечается '+' в UART.
При приеме последовательность обратная - считаем CRC по 6 байтам, если OK - отправляем в UART.




Вот такая вот железка получилась за неделю (паять начал в прошлую субботу). Наверняка есть уйма недочетов, возможно есть ошибки. Но в целом стабильно работает, двое суток уже коммутирует лампочку и подсветку, вроде пока без сбоев. В архиве схемы в формате Eagle, исходники под 5-ю студию и hex-ы (для USB-мастера и собственно для железки). USB и RFM совершенно необязательны - без них устройство совершенно самодостаточно.

Задавайте любые вопросы и вносите предложения - пока друг не забрал змейку, возможно успеем вместе улучшить конструкцию :)
Миниатюры:
Нажмите на изображение для увеличения
Название: IMG_6734.JPG
Просмотров: 255
Размер:	355.2 Кб
ID:	26103   Нажмите на изображение для увеличения
Название: IMG_8674.JPG
Просмотров: 209
Размер:	178.5 Кб
ID:	26107   Нажмите на изображение для увеличения
Название: IMG_8684.JPG
Просмотров: 186
Размер:	159.6 Кб
ID:	26109  

Нажмите на изображение для увеличения
Название: terrarium.png
Просмотров: 501
Размер:	47.3 Кб
ID:	26111  
Вложения:
Тип файла: zip terrarium.zip (340.8 Кб, 159 просмотров)

Последний раз редактировалось dmitry.shagin; 18.09.2011 в 18:03. Причина: обновил прошивку - был глюк в чтении байтиков с RTC + добавил WDT
dmitry.shagin вне форума  
Эти 3 пользователя(ей) сказали Спасибо dmitry.shagin за это сообщение:
Jek2009 (06.10.2011), KGN (19.09.2011), XoDoK11 (18.09.2011)
Непрочитано 18.09.2011, 16:24  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Ставим обычный бытовой терморегулятор и термопару выносим из корпуса туда, где будем регулировать. Неделя времени сэкономлена.
Easyrider83 вне форума  
Непрочитано 18.09.2011, 18:01  
dmitry.shagin
Временная регистрация
 
Регистрация: 07.08.2010
Сообщений: 97
Сказал спасибо: 15
Сказали Спасибо 17 раз(а) в 12 сообщении(ях)
dmitry.shagin на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Сообщение от Easyrider83 Посмотреть сообщение
Ставим обычный бытовой терморегулятор и термопару выносим из корпуса туда, где будем регулировать. Неделя времени сэкономлена.
Согласен
Тут только несколько отличий от бытового терморегулятора:
-параллельно это RGB контроллер (который тоже надо покупать отдельно) с плавным переходом между цветами и регулируемым временем перехода
-присутствует режим день/ночь (что есть далеко не во всех терморегуляторах)
-есть регулировка гистерезиса (учитывая симисторное регулирование можно ставить сколь угодно малый гистерезис и не париться насчет ресурса релюшки)
-присутствуют часы реального времени (а не таймеры на X часов, которые обычно ставят (если ставят) в терморегуляторы)
-наконец, всё это дешевле бытового регулятора за 200 гривен (причем этот терморегулятор вообще надо ручками крутить) и сильно дешевле продвинутых регуляторов с таймерами и прочими плюшками (которые стоят под $100)
-за счет использования симистора выше ресурс и нет постоянных щелчков
-ну и в качестве плюшки - мониторинг и управление с компа
dmitry.shagin вне форума  
Непрочитано 18.09.2011, 18:54  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Да все это есть в дешевых китайских регуляторах. Даже локальная сеть с веб интерфейсом. Впрочем, вы уже все решили и сделали. За предмет 5, за изобретение неуд. )))))
Easyrider83 вне форума  
Непрочитано 18.09.2011, 21:29  
dmitry.shagin
Временная регистрация
 
Регистрация: 07.08.2010
Сообщений: 97
Сказал спасибо: 15
Сказали Спасибо 17 раз(а) в 12 сообщении(ях)
dmitry.shagin на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Сообщение от Easyrider83 Посмотреть сообщение
Да все это есть в дешевых китайских регуляторах. Даже локальная сеть с веб интерфейсом. Впрочем, вы уже все решили и сделали. За предмет 5, за изобретение неуд. )))))
Ну на изобретение не претендую
А можно ссылочку на дешевый китайский регулятор, а то искал в свое время и не нашел: у меня еще 6 теплых полов дома, к которым собираюсь сам беспроводные контроллеры делать (делать-то там в принципе нечего, в корпус упираюсь) - если есть недорогое подходящее решение не буду морочить себе голову.
dmitry.shagin вне форума  
Непрочитано 18.09.2011, 21:31  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

dmitry.shagin, сами погуглите. Мне такие в ремонт приходили одно время. Дневной\ночной режим, суточный таймер, жк дисплей. Стоил около 10 евро.
Easyrider83 вне форума  
Непрочитано 18.09.2011, 21:53  
XoDoK11
Гражданин KAZUS.RU
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Сообщение от Easyrider83 Посмотреть сообщение
Мне такие в ремонт приходили одно время.Стоил около 10 евро.
Ну, а все-таки, какие модели? Иначе будет бла-бла-бла.
Цитата:
"Не верю." Станиславский.
Весчь, сделанную своими руками, всегда можно модернизировать.
Автору респект.

Последний раз редактировалось XoDoK11; 18.09.2011 в 21:56.
XoDoK11 вне форума  
Непрочитано 18.09.2011, 22:02  
dmitry.shagin
Временная регистрация
 
Регистрация: 07.08.2010
Сообщений: 97
Сказал спасибо: 15
Сказали Спасибо 17 раз(а) в 12 сообщении(ях)
dmitry.shagin на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Сообщение от Easyrider83 Посмотреть сообщение
dmitry.shagin, сами погуглите.
Дело в том, что я гуглил очень много эту тему. Из беспроводных не смог найти ничего дешевле $100. И китайцев что-то не попадаются - видел беспроводные решения от Honeywell, DEVI, Venstar, но это всё дорого, в случае с DEVI сами термостаты чуть дешевле (по $70), но голова к ним еще 1000 евро (можно было бы свою сделать, если бы протокол был открытый). Был бы признателен, если хотя бы название скажете китайского чудо-девайса а то я уже весь made-in-china.com перерыл... (у меня в принципе уже есть платы миниатюрные 0.5x1" под это дело, есть БП и есть симисторы с радиаторами, которые можно запихнуть в подрозетник. есть куча написанных исходников (хотя бы из этого проекта), которые можно туда залить, а вот с корпусами беда. Пока единственный вариант - распотрошить выключатель, но оно выглядит не особо (клавиша плоская получается и возникает ощущение сломанного выключателя), да и крышку закрывающуюся не сделать, так как механизм убираться будет - остаётся только заклеивать, что некошерно... И нормальных корпусов не могу найти для подрозетника. Единственное, что подходит - вот http://biakom.com/tn/41081/34675/, но его не возят в Украину )
dmitry.shagin вне форума  
Непрочитано 18.09.2011, 23:08  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

dmitry.shagin, беспроводные я и сам не видел. На 485 они чаще всего, если вообще интерфейс предусмотрен. Да и то как собаке пятая нога. Вы бы еще в электрочайник wifi засунули. Это даже как-то не смешно уже.
Вот варианты:
http://rozumdim.com.ua/new/content/v.../lang,russian/
Вот статейка
http://www.prestig.ru/news/?content=news&id=266
Я одному богатею обогрев бассейна на нечто подобном делал. Вынес термодатчик, закрепил на трубу, подключил ТЭН через контактер и все до сих пор работает где-то в пригороде Праги.

XoDoK11, вас на гугле забанили?
Easyrider83 вне форума  
Непрочитано 19.09.2011, 00:06  
dmitry.shagin
Временная регистрация
 
Регистрация: 07.08.2010
Сообщений: 97
Сказал спасибо: 15
Сказали Спасибо 17 раз(а) в 12 сообщении(ях)
dmitry.shagin на пути к лучшему
По умолчанию Re: Контроллер температуры и освещения террариума

Сообщение от Easyrider83 Посмотреть сообщение
Вы бы еще в электрочайник wifi засунули. Это даже как-то не смешно уже.
Вот варианты:
http://rozumdim.com.ua/new/content/v.../lang,russian/
Эти я находил, но это не 10 евро, а 100 долларов - очевидно, что самопал многократ дешевле А по поводу WiFi - я постепенно умный дом собираю, на все основные точки растянул UTP при ремонте ещё, а вот про доп. провода к теплому полу, вентустановке и освещению в зале - забыл. В итоге на свет я уже давно управление сделал на RFM70, к установке кабель собираюсь кинуть по тому же вентканалу, а вот теплые полу остаются только на беспроводе. Почему так, а не умные терморегуляторы на каждой точке? По той причине, что полов у меня шесть, их очень неудобно настраивать и контролировать бегая от одного к другому. Плюс полы, вписанные в умный дом, позволят прилично сэкономить на свете в противовес обычным умным регуляторам. Пример - обычно на регуляторах все ставят максимально комфортную температуру на выходные на таймере (так как обычно семейство в сборе). А тут решили дружно куда-то все уехать. Очевидно, никто не будет бегать по дому и перенастраивать неудобные в управлении регуляторы - они будут честно все выходные греть полы, которые никому не нужны. С централизованным управлением проще - при выходе из дома задал предполагаемое время возвращения (или просто "два часа нет движения-греть некому-выключаемся") и поимел неплохую экономию электричества. А оно нынче дорого, и дорожает. А беспроводные есть, я озвучивал выше производителей, и даже держал их в руках. Но ценники неадекватные совершенно. Это всё правда оффтопик, в террариуме беспроводка не сильно нужна - хотя я сейчас его конфигурировал и проверял удаленно, так как просто лениво отрывать попу от стула и идти в другой конец комнаты тыкать кнопки, а свечение лампочек освещения и обогрева их другого конца комнаты видно отлично
dmitry.shagin вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с сенсором температуры DS1621 roer Микроконтроллеры, АЦП, память и т.д 0 02.08.2011 14:14
Регулятор освещения KeeperMSTS Электроника - это просто 1 28.12.2010 19:50
Датчики температуры для агрессивных сред ramzes44 Производственное оборудование 9 02.11.2010 23:27
Ethernet контроллер W5100 от Wiznet, проблемы. Zemlyanov Микроконтроллеры, АЦП, память и т.д 0 08.07.2010 17:04
Регулятор температуры жала паяльника на микропроцессоре doctor_d Поиск схем. Делимся схемами 2 03.09.2008 14:38


Часовой пояс GMT +4, время: 09:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot