НАВИГАЦИЯ
   Главная
  Программы для ПК [36]
  Программы для ПК-2 [3]
  Скрипты для WEB [8]
  Исходники на C, VC++, С++ Builder [12]
  Исходники на Basic [2]
  Исходники на Pascal [2]
  Исходники для микроконтроллеров [5]
  Электроника для дома [34]
  Электроника для аквариума [1]
  Электроника для автомобиля [11]
  Справочник [4]
  Разное [7]
  Проект "Умный дом"
  Файлы, библиотеки

  FAQ
  Рассылка новостей сайта

  Ссылки
  Сообщение автору

 
 
 
  Реальные знакомства по Украине, СНГ и за рубеж на любой вкус и цвет. Рассылка анкет. Помощь     Rambler's Top100  
Блок управления проветриванием в теплице., БУ в теплице
Просмотров: 9225Дата изменения: 03.05.2014г.


Сделать гидравлическую открывалку форточки не получилось, т.к. не удалось сделать герметичный поршень :(
Поэтому пришлось сделать простой блок управления форточкой вентиляции в теплице.
На следующий сезон собираюсь сделать новую теплицу и универсальный блок с дисплеем, различными датчиками и исполнительными устройствами...

Блок работает с одним или с двумя датчиками температуры. Если датчика два, то можно выбрать по какой температуре двигать форточкой: по самой низкой или самой высокой. Точность определения температуры 0,1С

Схема:
схема блока управления

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


Для настройки блока используется плагин умного дома "SmartHome.dlv" программы vTrav.
В качестве блока питания, подключаемого к разъему Х1, взято зарядное устройство от мобильного телефона "Нокиа" (пришлось добавить два витка на трансформаторе, убрать на выходе ограничительные резисторы, мощный транзистор установить на маленький радиатор и увеличить конденсатор на выходе до 1000 мкФ 10В).
Для запитки двигателя используется трансформатор мощностью около 50Вт (в данном случае). Реле, разъемы для реле использованы 12 вольтовые, автомобильные.
Концевики S1 и S2 для определения крайних положений форточки и отключения двигателя взяты "микрики":

Микрики на всякий случай сверху накрыты кусочками клеенки (фото ниже).

Кнопки Kn1 и Kn2 для включения соответствующих реле управления движением форточки.
Для открытия/закрытия форточки использовался двигатель с редуктором от дворников автомобиля. Этот двигатель имеет одну скорость и довольно быстро двигает форточку. Советую использовать двухскоростной двигатель дворников лобового стекла - у него вторая, пониженная скорость.

В качестве роликов использовались металлические шпульки от швейной машинки.
"Шпулька" для намотки тросика на вал редуктора двигателя сделана из двух сложенных вместе шайб крепления трансформатора.






Алгоритм работы
После подачи питания на схему считывается содержимое EEPROM:
0 - номер этого устройства для Умного дома
1 - битовое поле, означающее:
  0: =0 - шагов форточки 1
   =1 - расчитывать время движения между закрытием и открытием рамы
  1:0/1 - 3/5 шагов форточки
  2:0/1 - выбирать самую отрицательную/положительную температуру
2 - максимальное время работы движка (не более 60сек)
3 - пауза после движения форточки, мин (0-нет)
4,5 - Температура открывания - целое значение (старший бит =1 - отрицательная), дробное (4 младших бита);
6,7 - Температура закрывания - целое значение (старший бит =1 - отрицательная), дробное (4 младших бита);
8..15 - ID термометра-1
16..23 - ID термометра-2

Если первый байт ID первого датчика имеет значение FFH, то производится попытка считывания его ID (в этот момент должен быть подключен один датчик).
При успешном считывании, его ID будет записан в EEPROM и перезапущена программа. В противном случае будет выставлен флаг ошибки и программа будет работать в обычном режиме.

В зависимости от выбранного варианта, форточка может иметь несколько "шагов" (вариантов положений):
- 2: открыта/закрыта
- 3: открыта/среднее/закрыта
- 5: открыта/три четверти/среднее/четверть/закрыта

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

Дальше выполняется в цикле:
- если есть команда по RS485 от "Умного дома", то она выполняется. Описание команд смотрите в файле "Протокол обмена по сети" на страничке умного дома
- через две секунды выполняется одно из действий:
  * посылается всем датчикам температуры команда на конвертирование температуры;
  * считывается температура из первого датчика и если нет ошибки, то запоминается. В противном случае увеличивается кол-во ошибок этого датчика и если больше 5 датчик считается не рабочим.
  * то же самое со вторым датчиком.
  * производится обработка значений температуры и принимается решение на открытие или закрытие форточки.

Мигание светодиода означает:
S-n - ID датчика не записан в EEPROM и подключенный датчик не ответил.
S-N - включен двигатель - форточка движется.
s-n-s-N - отсчет паузы после движения форточки
s-N - рабочий режим

Где:
S - горит 1сек
s - горит 0,1сек
N - не горит 1сек
n - не горит 0,1сек


Если необходимо подключить второй датчик, то его ID можно занести в EEPROM двумя способами:
1. Подключить датчик, подать питание. ID датчика будет занесено в EEPROM. Считать программатором в EEPROM это ID и перенести в ячейки для второго ID. Значение ID первого датчика заполнить FFH. Теперь вместо датчика поставить другой датчик и включить питание - его ID будет сохранено для первого датчика.
2. Воспользуйтесь плагином умного дома "SmartHome.dlv" программы vTrav.


Печатная плата в формате Sprint Layout 6: teplica_mini.lay6
Прошивка: teplica_mini.hex

Была идея добавить датчик дождя (если пошел дождь, то форточка закрывается), но пока сомневаюсь, что он нужен...

***

Для первичного тестирования работоспособности платы была написана прошивка teplica_mini_test.hex
Прошивка работает только с одним датчиком температуры!
Алгоритм работы (мигание светодиода описано выше):
После запуска проверяется записан ли ID термометра и если нет, то его считывание из датчика температуры. Если ID считан, то он сохраняется в EEPROM и перезагружаемся. В противном случае устанавливается флаг ошибки.
В цикле раз в секунду опрашивается очередной датчик температуры. Потом считывается ID датчика температуры и передается по RS485.
ВНИМАНИЕ! С тестовой прошивкой к системе "Умный дом" не подключать!
Так же прошивка отвечает на команды по RS485: Сброс, Отзыв, Статус, Чтение ID термометра
Для отладки работы по RS485 советую воспользоваться программой rs232

 


Подпишитесь на рассылку новостей сайта!
Использование материалов возможно только при разрешении автора и с обязательным указанием ссылки на сайт vovka.sv19.com
Programmed by Vladimir Sharapov © 2004-2017 http://vovka.sv19.com