Всем доброго времени суток. Докладываю о процессе разработки нового датчика влажности. Если кто-то здесь еще этим интересуется
В общем так, сделал я сначала "навороченный" датчик с кнопками, светодиодами и LCD дисплеем. Все работает, но изготовить таких датчиков несколько - слишком трудозатратно да и не сильно дешево. Кроме того, при ярком солнечном свете, дисплей и светодиоды очень плохо видно. Т.е. толку от наворотов не очень много. Решил сделать все наоборот, минимизировать датчик, а всю обработку повесить на главный контроллер (все равно он необходим). Так и сделал.
Новый, минимизированный, датчик содержит деталей на ~5USD. Имеет на борту микроконтроллер STM8L15xK6, стабилизатор напряжения, измерительную цепь влажности, ключ средней мощности (для управления реле или чем-то подобным) и разъемы для подключения датчика температуры DS1820 и сенсора влажности. Все датчики подключаются на общий трехпроводной кабель (земля, питание 5..12В и шина данных).
hm_smart_mini.jpg 57.62К
22 Количество загрузок:
Работает все это следующим образом. Каждый датчик имеет уникальный код (от 1 до 255). Измеряет влажность и температуру. По команде от главного контроллера (сервера), выполняет включение или выключение силового ключа и всегда в ответ докладывает текущую температуру и влажность. В принципе, большего и не нужно.
Протокол обмена по однопроводной шине очень простой и специально сделан медленным для возможности работы с длинным кабелем. Сейчас время передачи одного байта ~2.5ms. Пока тестирую на надежность. Протокол обмена - самодельный, проще не бывает. Шина данных притянута к "+" питания резистором, все устройства могут "опустить" шину в "0". Датчик все время слушает шину и после сигнала с сервера "внимание" (очень длинный "0" на шине), начинает считывать данные с шины (короткий "0" - значит "0", длинный "0" - единица). Если контрольная сумма верна и код датчика совпадает, то датчик выполняет команду и в ответ отправляет свое состояние. Дальше проблемы сервера.
hm_proto copy.jpg 36.74К
16 Количество загрузок:
Я вот сейчас думаю, что все это дело можно даже к обычному компьютеру подключить, на один из датчиков (не устанавливая цепь измерения влажности и температуры) повесить реле насоса, а все остальные датчики в штатном режиме измеряют и коммутируют клапана полива на грядках. Если взять старенький ноутбук, то весь контроль можно производить из дома. Да и программу с нормальным интерфейсом написать будет проще.
Вот как-то так. Если какие вопросы - пишите.