Самодельный датчик влажности почвы. Часть 1 (до сентября 2014)
#321
Отправлено 18 September 2013 - 08:56
Последняя сборка:
https://docs.google....dit?usp=sharing
Тем не менее, универсальный датчик в приложении служит только для отображения содержимого регистров. В нашем случае лучше использовать датчик "влажность/температура", у него все регистры уже настроены и приложение может включать реле датчика при необходимости полива. Датчик "насос", при его наличии, также обрабатывается в приложении и включает его реле перед включением полива.
По поводу генератора ВЧ. В МК STM8L можно вывести тактовую частоту с заданным предделителем на одну из ножек. Если такая штука есть на вашем МК, то это можно использовать вместо DAC.
#322
Отправлено 18 September 2013 - 09:11
Может чем-то поможет: http://www.microchip...ead.php?t=13760Можно еще датчик освещенности сделать....
#323
Отправлено 19 September 2013 - 00:53
Николай, я не смог повторить ошибку, вероятно в текущей версии это уже не получится. В последнее время как раз занимался обработкой ошибок, может случайно устранил и эту.
Попробовал, в последней сборке этих ошибок нет
В универсальном датчике реле управлять можно, записывая значение в регистр 2. Ну это вручную. Попробовал тип датчика "влажность/температура" дополнить своими регистрами - показывает все нормально и релюшкой штатно дрыгать можно.Тем не менее, универсальный датчик в приложении служит только для отображения содержимого регистров. В нашем случае лучше использовать датчик "влажность/температура", у него все регистры уже настроены и приложение может включать реле датчика при необходимости полива. Датчик "насос", при его наличии, также обрабатывается в приложении и включает его реле перед включением полива.
По поводу генератора ВЧ. В МК STM8L можно вывести тактовую частоту с заданным предделителем на одну из ножек. Если такая штука есть на вашем МК, то это можно использовать вместо DAC.
Нет, так на ATmega328 не получится. Там можно только с привязанной ножки к таймеру сигнал забрать да и DAC там тоже нету.
#324
Отправлено 19 September 2013 - 10:19
Нет, так на ATmega328 не получится. Там можно только с привязанной ножки к таймеру сигнал забрать да и DAC там тоже нету.
Посмотрел спецификацию на 328, и правда, как-то бедненько. DMA похоже тоже отсутствует, всю перифирию "вручную" обрабатывать надо. Ну да ладно, главное, что работает.
Наверное все-же займусь посерьезнее экспериментами с ВЧ сенсорами. Не дает мне покоя эта тема. Тем более по "железу" мне уже делать почти нечего.
#325
Отправлено 21 September 2013 - 01:46
#326
Отправлено 21 September 2013 - 08:42
Понятно, где-то накосячил, в понедельник исправлю.
Странно, все перепроверил, как работало, так и работает.
Николай, а не может быть, что у вас разделитель целой и дробной части "запятая", а программа понимает, что должна быть "точкка"? Попробуйте в панели управления Windows включить "точку" как разделитель целой и дробной части.
Я пробовал не полностью набирать число, а менять то что в окне. Пробовал менять и целую часть и дробную. В окошке меняется, а после нажатия enter возвращается к исходной.Игорь, попробовал. Если полностью набирать - работает. Кстати, в окошках отображается разделитель запятая. Может поэтому не удается менять частично? Из окошка забирает с запятой, а ждет с точкой.
#327
Отправлено 23 September 2013 - 03:18
#328
Отправлено 23 September 2013 - 09:32
Из окошка забирает с запятой, а ждет с точкой.
Да, так оно и есть, ждет с точкой. Компонент подправлю, у меня тут везде принято точку использовать в качестве разделителя, вот и наступил на грабли.
А конструкцию сенсора так и оставили без переделок? Интересно посмотреть на графики просыхания, получились они линейными или нет.Начал паять еще 6 штук - для цитрусов на балконе должно хватить.
...Пишу в 40002 угол поворота...
Николай, мне кажется, что лучше хранить два угла поворота (вкл, выкл), а запускать серву по команде включения реле. Дело в том, что приложение обрабатывает датчик влажности/температуры автоматически и включает реле, когда влажность падает ниже заданной и выключает при влажности выше верхней границы. Чтобы заставить приложение прописывать регистры датчика при определенных условиях, надо писать скрипты, которые я все никак не доведу до ума (слишком сложно получается).
По поводу ошибок "нет ответа". Со старой прошивкой датчиков было примерно 3-4%.С новой прошивкой 0%. А процент ошибок = 0% в qModMaster можно объяснить, скорее всего он делает несколько попыток прочитать датчик.
У меня алгоритм измерений реализован следующим образом. Один таймер настроен на прерывание четыре раза в секунду. Процедура обработки прерывания, в самом начале, увеличивает счетчик cnt_int и, если значение счетчика равно 2, то вызывает процедуру измерения. В то же время, в основном цикле, датчик слушает UART и, при наличии сигнала, сбрасывает cnt_int в 0. Получается, что измерение запускается через пол-секунды после прекращения обмена.
sg_errors.jpg 50.27К 13 Количество загрузок:
Первый датчик работает со старой прошивкой, остальные - с новой.
#329
Отправлено 23 September 2013 - 13:57
А конструкцию сенсора так и оставили без переделок? Интересно посмотреть на графики просыхания, получились они линейными или нет.
Ага, конструкция сенсора пока старая. Но он на разъеме и можно будет при желании поэкспериментировать. Графиков просыхания пока нет. До конца все не отлажено, да и с конструкцией клапана на серве надо еще повозиться.
Игорь, а у вас постоянно под управление комп работает? Не лучше сделать управляющий контроллер с трансляцией сообщений на комп для визуализации и настройки?
Запаралелить управление управление сервой с реле мысль хорошая. Заведу еще пару регистров для сервы.Николай, мне кажется, что лучше хранить два угла поворота (вкл, выкл), а запускать серву по команде включения реле. Дело в том, что приложение обрабатывает датчик влажности/температуры автоматически и включает реле, когда влажность падает ниже заданной и выключает при влажности выше верхней границы. Чтобы заставить приложение прописывать регистры датчика при определенных условиях, надо писать скрипты, которые я все никак не доведу до ума (слишком сложно получается).
У меня алгоритм измерений реализован следующим образом. Один таймер настроен на прерывание четыре раза в секунду. Процедура обработки прерывания, в самом начале, увеличивает счетчик cnt_int и, если значение счетчика равно 2, то вызывает процедуру измерения. В то же время, в основном цикле, датчик слушает UART и, при наличии сигнала, сбрасывает cnt_int в 0. Получается, что измерение запускается через пол-секунды после прекращения обмена.
Игорь, у вас же максимальная частота опроса в управляющем 2гц, не лучше тогда измерение при cnt_int=1 производить?
Надо будет тоже подумать о привязке внутренних операций датчика к молчанию modbus. Правда у меня уже все таймеры трудятся кто на генератор, кто на индикацию, кто на серву. Хотя 3-4% ошибок погоды не делают.
#330
Отправлено 23 September 2013 - 16:14
Ага, конструкция сенсора пока старая. Но он на разъеме и можно будет при желании поэкспериментировать. Графиков просыхания пока нет. До конца все не отлажено, да и с конструкцией клапана на серве надо еще повозиться.
Игорь, а у вас постоянно под управление комп работает? Не лучше сделать управляющий контроллер с трансляцией сообщений на комп для визуализации и настройки?
Не, не проще. По крайней мере пока еще не все отлажено. Сейчас у меня есть пара старых ноутбуков для экспериментов Лучше потратить время на добавление доступа через WEB, Проще конечно открыть удаленный доступ к рабочему столу и настроить модем, но хотелось бы еще и с мобильника смотреть. А так, почти без остановки уже где-то месяц обкатывается с переменным успехом.
Игорь, у вас же максимальная частота опроса в управляющем 2гц, не лучше тогда измерение при cnt_int=1 производить?
cnt_int = 1 - можно нарваться на процесс обмена если он еще не закончился. Опрос UART в цикле, в основной процедуре, и не синхронизирован с таймером прерываний, может получиться так, что пакет пришел, cnt_int сбросился в "0", а прерывание сразу следом inc(cnt_int) и вот конфликт. Поэтому cnt_int = 2 реально дает задержку от 250ms до 500ms после пропадания сигнала.
Надо будет тоже подумать о привязке внутренних операций датчика к молчанию modbus. Правда у меня уже все таймеры трудятся кто на генератор, кто на индикацию, кто на серву. Хотя 3-4% ошибок погоды не делают.
Да можно в любое используемое прерывание инкремент счетчика добавить, только значение рассчитать.
В приложении поправил баг с запятой. Сейчас еще кое-что проверю и выложу.
#331
Отправлено 25 September 2013 - 07:54
https://docs.google....dit?usp=sharing
Добавил принудительную постановку в очередь на полив, перенес настройки термокомпенсации из настроек RC пересчета в настройки аналогового регистра, кое-какие ошибки убрал (и какие-то добавил ).
Николай, тут вот есть непроверенная мысль, что в конструкции сенсора (в том числе и высокочастотного) можно использовать только один электрод если надежно заземлить минус питания.
#332
Отправлено 25 September 2013 - 12:32
Игорь, а как у вас алгоритм полива организован? Льет определенное время, а потом проверяет датчик? Я пробовал при включеном поливе догонять датчик до > 80% - продолжает поливать. Наверное лучше сразу по датчику отключать.Добавил принудительную постановку в очередь на полив, перенес настройки термокомпенсации из настроек RC пересчета в настройки аналогового регистра, кое-какие ошибки убрал (и какие-то добавил ).
Сомнительно, что будут стабильные результаты. Но, по крайней мере, в токовом датчике пожно попробовать.Николай, тут вот есть непроверенная мысль, что в конструкции сенсора (в том числе и высокочастотного) можно использовать только один электрод если надежно заземлить минус питания.
#333
Отправлено 25 September 2013 - 13:09
Игорь, а как у вас алгоритм полива организован? Льет определенное время, а потом проверяет датчик? Я пробовал при включеном поливе догонять датчик до > 80% - продолжает поливать. Наверное лучше сразу по датчику отключать.
Да, после постановки в очередь, льет заданное время не смотря на показания влажности. Надо что-то придумать. А вообще перелить сложно, впитывание происходит от 3-х часов и больше. Поэтому есть смысл поливать 30 мин, а потом пару часов ждать. Для горшков, конечно, все гораздо быстрее происходит. Попробую научить датчик изменять время в очереди заданий если уже полито как надо.
По науке работать должно, а на практике... Да, пробовать надо.Сомнительно, что будут стабильные результаты. Но, по крайней мере, в токовом датчике пожно попробовать.
#334
Отправлено 28 September 2013 - 02:03
схема - http://yadi.sk/d/UxZpGChVA2L8h
плата - http://yadi.sk/d/m5BVOBoZA2LHY - регулятор напряжения для сервы на плате не разведен. Я брал 7805 в корпусе Dpak, подпаивал на проводочках и размещал под платой в термоусадке
плата сенсора - http://yadi.sk/d/mPwrBaA9A2LXJ - на двустороннем стеклотекстолите, LM35 обтачивается до толщины 1,5-2 мм на наждачном бруске помещается в ямку на плате и припаивается, плата ламинируется и после этого устанавливается разъем.
прошивка - http://yadi.sk/d/fhT8O0uMA2Law - работает нормально, правда на управляющей программе Игоря есть некоторый процент ошибок связи.
небольшой коментарий - http://yadi.sk/d/N0SBoKg1A2Lma
#335
Отправлено 30 September 2013 - 18:52
#336
Отправлено 30 September 2013 - 19:55
Т.е. если загрузить прошивку в Адуино уно то данный датчик должен работать?
Здравствуйте Валерий, давненько вас в теме не видно.
Если подключить к ардуино max485, измерительную цепь, датчики температуры и опорное напряжение с вывода 3v3 через несколько килоом подать на REF - то работать будет, правда диапазон датчика влажности немного сузится (у меня на REF 1v8 подается). Прошивка пока не финальная, но работать будет. Смотрите схему и коментарий.
При заливке прошивки через USB надо отключать от ардуины max485, а то прошиваться не будет.
#337
Отправлено 30 September 2013 - 20:19
Схему посмотрел, несколько наворочено, как мне кажется, но главное, что работает. Еще как-то не хватает пояснений ко всему этому делу. Я хоть и внимательно следил за темой, но не сразу понял что там есть и как реализовано.
Игорь, я в файл Readme_GygroV3 вроде все основные моменты прокоментировал. Если еще чего надо добавить напишите.
Диммер все таки уместил в такой же корпус - теперь надо прошивкой заняться - правда под него и другие устройства надо новую тему начинать....
#338
Отправлено 30 September 2013 - 21:47
Игорь, я в файл Readme_GygroV3 вроде все основные моменты прокоментировал. Если еще чего надо добавить напишите.
Николай, я немного другое имел в виду. Как-бы короткое вступления с описанием общего функционала. Я-то разобрался, а кто начнет с последних сообщений читать не поймет. Тема-то популярная, google по запросу "датчик влажности почвы" где-то в начале ссылку сюда показывает. Хотя... кому надо - спросит. А вообще не плохо было бы законченный вариант где-нибудь в виде статьи опубликовать. Датчик - то хороший получился.
Диммер все таки уместил в такой же корпус - теперь надо прошивкой заняться - правда под него и другие устройства надо новую тему начинать....
Пожалуй надо, вам, как старожилу, и карты в руки.
Я вот сейчас прорабатываю блок питания для всей своей кучи датчиков и клапанов. Хочу сделать с аварийным питанием от аккумулятора и автоматической подзарядкой (от солнечных батарей в перспективе). Вот там как раз дисплей от Nokia и пригодится. Можно конечно просто бесперебойник + БП ATX использовать, но хотелось бы еще иметь и зарядное устройство АКБ. Я свою зарядку китайскую разобрал и ужаснулся, хорошо хоть пожара не было (собственно это и подтолкнуло к изготовлению БП + зарядка). А корпус этот как раз для БП пригодится.
Так что есть о чем поразмышлять.
PS: на самом деле я плохо понял как серва с МК взаимодействует , но, это похоже пробелы моего образования
#339
Отправлено 01 October 2013 - 01:00
Понятно, из чего состоит и как работает. Добавлю. Насчет статьи тоже можно написать со временем.Николай, я немного другое имел в виду. Как-бы короткое вступления с описанием общего функционала. Я-то разобрался, а кто начнет с последних сообщений читать не поймет. Тема-то популярная, google по запросу "датчик влажности почвы" где-то в начале ссылку сюда показывает. Хотя... кому надо - спросит. А вообще не плохо было бы законченный вариант где-нибудь в виде статьи опубликовать. Датчик - то хороший получился.
Подзарядка от солнечных батарей - футуристично. У нас в Москве практически неосуществимо. Подзарядка конечно будет, но расход будет явно больше если только не заменить на них всю кровлю дома. Это актуально пожалуй для какой нибудь Турции или Египта.Я вот сейчас прорабатываю блок питания для всей своей кучи датчиков и клапанов. Хочу сделать с аварийным питанием от аккумулятора и автоматической подзарядкой (от солнечных батарей в перспективе). Вот там как раз дисплей от Nokia и пригодится. Можно конечно просто бесперебойник + БП ATX использовать, но хотелось бы еще иметь и зарядное устройство АКБ. Я свою зарядку китайскую разобрал и ужаснулся, хорошо хоть пожара не было (собственно это и подтолкнуло к изготовлению БП + зарядка). А корпус этот как раз для БП пригодится.
Принимает длительность импульса от 1 до 2мс и в зависимости от нее поворачивается. 1мс - 0 град, 1,5мс - 90град, 2мс - 180град. Вот и все взаимодействие.PS: на самом деле я плохо понял как серва с МК взаимодействует , но, это похоже пробелы моего образования
#340
Отправлено 01 October 2013 - 07:28
Здравствуйте, Николай!Здравствуйте Валерий, давненько вас в теме не видно.
Не участвую, но за темой с интересом наблюдаю. Ваш датчик на PICe отработал этим летом в теплицах без нареканий. Уезжал на месяц в отпуск на море никакого присмотра за теплицами небыло, весь отпуск маялся как там зелёные животины поживают, а это огурцы, перцы, баклажаны, помидоры. Как только вернулся в город в этот же день на дачу, радости небыло предела, хорошо, что всё подвязывается на шпалеры, а то завалилось бы всё от урожая. Так, что всё прекрасно работает. Теперь озадачился проветриванием и поддержанием заданных температурных условий. Т.к. открывашки форточек на гидроцилиндрах для помидор и баклажан не обеспечивают необходимых условий, т.е. в зависимости от температуры требуется функция принудительного перемешивания воздуха и функция дополнительного проветривания. Крышные вентиляторы уже заказал.
Темы с аналогичным тегами приборы
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых пользователей