Самодельный датчик влажности почвы. Часть 1 (до сентября 2014)
#241
Отправлено 15 August 2013 - 01:00
#242
Отправлено 15 August 2013 - 09:26
Дополнительный термометр на плате - пожалуй да. Пусть будет регистр 30003. Предлагаю такой-же формат хранения как у DS18B20. Четыре младших бита в word задают дробную часть. Для преобразования в число с плавающей запятой, делим содержимое регистра на 16.
По поводу аналоговых lm35. Они по цене не сильно отличаются от DS18B20. У нас LM35 - 1.5USD, DS18B20 - 2.5USD. Опять же при необходимости двух датчиков температуры, проще навешать их на одну шину (экономия на стоимости разъема и места под него).
Кстати, у STM8L уже есть термометр в чипе. Пожалуй подключу его, как предлагал, на регистр 30003.
Задумался о ценах, и вообще интересная вещь получается. Оказывается МК серии STM8L15x, которые и так имеют встроенный термометр, стоят дешевле DS1820! Бред какой-то. Получается вместо термометра, выгодней целый МК использовать, тем более, что ему вообще никакой обвес не нужен.
Тем не менее, процесс разработки управляющего приложения идет полным ходом. Вот уже как это выглядит.
gm.jpg 86.59К
26 Количество загрузок:
Это уже частично работоспособный вариант.
Предусмотрел несколько типов датчиков:
1. Влажность и температура
2. Насос
3. Освещение
4. Шторы
5. Сигнализация
Будет поддерживать несколько COM портов одновременно, где на каждом свои датчики навешены. На следующей неделе можно будет уже как-то попробовать. Пока еще не вся логика утряслась. Раздумываю над обработкой ошибок, статистикой, диаграммами.
Вопросы и пожелания приветствуются
#243
Отправлено 15 August 2013 - 10:00
#244
Отправлено 15 August 2013 - 10:35
Датчик дождя - это тот-же датчик влажности с пороговым значением. Хорошо, добавлю.
Концевики - мне кажется это задача датчика. Пусть он сам этим занимается. Иначе зачем там МК? А вот предусмотреть один битовый регистр во всех датчиках для сигнализации ошибки - надо сделать.
Датчик ветра - надо подумать, пока не очень понятно.
Датчик движения для сигнализации - это и есть датчик сигнализации, уже добавлен.
Сейчас как раз прорабатываю метод описания взаимодействия различных датчиков. Есть два варианта:
1. Скрипт на каком-либо языке. Может быть затруднительно для пользователя.
2. Куча переключателей в настройках датчика. Затруднительно для разработчика
#245
Отправлено 15 August 2013 - 22:18
У нас LM35 в TO92 - 45р, а DS18B20 в таком же корпусе 90р. Если Взять Soic8 то DS18B20 уже 180р. Свободных каналов АЦП еще много.По поводу аналоговых lm35. Они по цене не сильно отличаются от DS18B20. У нас LM35 - 1.5USD, DS18B20 - 2.5USD. Опять же при необходимости двух датчиков температуры, проще навешать их на одну шину (экономия на стоимости разъема и места под него).
Опять же разъемы для сенсоров влажности и температуры я делать не собираюсь - все на одной плате. Попробовал спиливать наждачным бруском ТО92 - при желании до 1мм толщины аккуратно сточить можно, так что можно в ямку на текстолитовом сенсоре запихать.
Насчет термометра в чипе особо не обольщайтесь.Скорее всего он очень не точный и служит в основном для контроля перегрева кристала. На некоторых Атмегах 328 такая штука тоже имеется.Кстати, у STM8L уже есть термометр в чипе. Пожалуй подключу его, как предлагал, на регистр 30003.
#246
Отправлено 15 August 2013 - 22:35
Игорь, а какие еще режимы пересчета влажности предусмотрены?Тем не менее, процесс разработки управляющего приложения идет полным ходом.
#247
Отправлено 16 August 2013 - 08:30
У нас LM35 в TO92 - 45р, а DS18B20 в таком же корпусе 90р. Если Взять Soic8 то DS18B20 уже 180р. Свободных каналов АЦП еще много.
Опять же разъемы для сенсоров влажности и температуры я делать не собираюсь - все на одной плате. Попробовал спиливать наждачным бруском ТО92 - при желании до 1мм толщины аккуратно сточить можно, так что можно в ямку на текстолитовом сенсоре запихать.
LM35 калибровать придется или можно обойтись без калибровки и сделать пересчет в управляющем приложении. Надо какие-то настройки на пересчет добавить. Видимо два значения: смещение и коэффициент.
Насчет термометра в чипе особо не обольщайтесь.Скорее всего он очень не точный и служит в основном для контроля перегрева кристала. На некоторых Атмегах 328 такая штука тоже имеется.
В STM8L15x термометр не сказать, что плохой, но среднего качества. Линейность +/- 1 градус. Он правда как-то калибруется на стадии производства. По крайней мере так в доках написано. Но для измерения температуры воздуха вполне пойдет. Сам МК вообще не греется, жрет меньше 1ma.
А режимов пересчета пока два. Один "заточен" под мой вариант сенсора, а второй для линейного преобразования. Просто задается значения АЦП для 0% и 100%. Остальные значения не используются. В уме держу третий вариант - таблица значений, но пока не делал.
Сейчас тружусь над логикой обработки датчиков. Вроде как основная стратегия готова. Настраиваю переключателями в установках датчика. Уже работает потихоньку.
gm1.jpg 83.6К
13 Количество загрузок:
Добавил режим пересчета температуры по двум точкам.
#248
Отправлено 16 August 2013 - 16:50
Ну да, там линейный график 10мв/град. У вас похожий режим уже сделан для основного сенсора.LM35 калибровать придется или можно обойтись без калибровки и сделать пересчет в управляющем приложении. Надо какие-то настройки на пересчет добавить. Видимо два значения: смещение и коэффициент.
Николай, а вы уже rs485 и modbus прикрутили?
Сейчас как раз в процессе прикручивания modbus. Пока упирается. Все железо на данный момент навесное. Руки пока не дошли печатную плату развести.
#249
Отправлено 17 August 2013 - 02:12
Николай, если это поможет, могу выслать свой модуль для ModBus на ST Assembler (с комментариями).
Да нет, Игорь, не поможет. Я пишу на С, да еще стараюсь меньше задевать специфичное ардуиновское распределение ресурсов. Пока только один из таймеров на свои задачи забрал. Остановился на частоте накачки 2,66 мГц и оптимизировал по времени измерительную цепь, а то на исходной слишком долго процес заряда разряда шел. Теперь заряд и разряд по 50мс. В принципе заряжается за 30мс, но одинаковыми интервалами переключать генратор код короче получается. Так что процесс идет потихоньку. Вот от управляющей я бы не отказался, конечно когда ее закончите.
#250
Отправлено 19 August 2013 - 07:28
Да нет, Игорь, не поможет. Я пишу на С, да еще стараюсь меньше задевать специфичное ардуиновское распределение ресурсов. Пока только один из таймеров на свои задачи забрал. Остановился на частоте накачки 2,66 мГц и оптимизировал по времени измерительную цепь, а то на исходной слишком долго процес заряда разряда шел.
Теперь заряд и разряд по 50мс. В принципе заряжается за 30мс, но одинаковыми интервалами переключать генратор код короче получается. Так что процесс идет потихоньку. Вот от управляющей я бы не отказался, конечно когда ее закончите.
2.66 MHz - уже можно по радио слушать Не сильно много? Тем не менее, если вы используете цепь из поста #247, то динамический диапазон можно увеличить без увеличения частоты, увеличивая номинал резистора R1. Но есть предел, при котором линейность начнет ухудшаться.
Управляющее приложение более-менее работает, по крайней мере уже умеет поливать. Но вот в самой идее я, кажется, здорово протормозил. У меня вся иерархия классов датчиков "заточена" на наличие двух 16-ти разрядных и двух булевых регистров. А мне, идиоту, надо было вообще к регистрам не привязываться, и добавлять их по мере необходимости. Технология получается более сложная, но универсальная, позволяющая использовать готовые, промышленные датчики. Сейчас вот сижу и тупо размышляю, либо все с нуля переделать, либо затычек (как в Windows) наставить
Склоняюсь к переделке. Изучаю наличие, характеристики и доступность промышленных датчиков. Если есть какие интересные ссылки - прошу поделиться.
#251
Отправлено 19 August 2013 - 12:47
2.66 MHz - уже можно по радио слушать Не сильно много? Тем не менее, если вы используете цепь из поста #247, то динамический диапазон можно увеличить без увеличения частоты, увеличивая номинал резистора R1. Но есть предел, при котором линейность начнет ухудшаться.
Как мне помнится, промышленные датчики такого типа работают на несколько больших частотах. При исследовательских работах применяют частоты вплоть до 50-100 гГц, а у промышленных датчиков обычно 70 мГц.
При стандартной тактовой частоте ардуины в 16 мГц реально без внешнего генератора получить частоты только до 8 мГц.
Если увеличивать R1 увеличится время накачки. При номиналах из поста #247 это время было около 5 сек при этом приемлемый динамический диапазон достигался на 500кГц. Для поливалки это конечно не особо критично. Для увеличения скорости измерений пришлось уменьшить в 10 раз номиналы R1,C3,R2. При этом естественно пришлось повышать частоту до 2,66 мГц, чтобы не потерять диапазон. Остался трехкратный запас по частоте - можно геометрией сенсора еще поиграть.
Давно не изучал данную тему, но вот ссылочка на обзор нескольких датчиковСклоняюсь к переделке. Изучаю наличие, характеристики и доступность промышленных датчиков. Если есть какие интересные ссылки - прошу поделиться.
http://www.decagon.ru/control.pdf
Игорь, тут очередная мысль возникла. Может не стоит постоянно датчику землю пытать? Сделать режим измерения по запросу от управляющей программы. В DS18B20, например, есть два режима постоянное измерение и по запросу.
#252
Отправлено 19 August 2013 - 16:25
#253
Отправлено 20 August 2013 - 15:45
А вот время накачки от R1 не должно зависеть. R1 C1 и сенсор - это просто делитель, а вот R2 и C3 - сильно влияют. На такой частоте, я бы поставил С3 = 0.1Mf или даже 0.01Mf, а R2 оставил бы 100K. Главное, чтобы t(R2 C3) было существенно больше периода импульса накачки.
R1 и C3 напрямую влияют на постоянную заряда, а R2 и C3 на постоянную разряда цепи. Шунтирование реактивным сопротивлением сенсора влияет в основном на напряжение до которого зарядится накопительный конденсатор, а постоянная заряда от него сильно не меняется. Попробую по вашей рекомендации увеличить R1,R2 и уменьшить С3 посмотрю какой эффект даст.
Modbus прикрутил, обрабатываются команды 1,2,3,4,5,6 - наверное для датчика достаточно если не будем пользовательский диапазон использовать.
Игорь, появилась идея сделать на датчике управляемый выход со стандартным ШИМ сигналом для управлением сервоприводом.
Штука очень удобная должна получиться тем более что китайские сервы довольно дешевые. Можно под это выделить регистр хранения, например 40001. В него можно грузить угол поворота сервы в градусах с диапазоном от 0 до 180.
а что будет вращать серва?
Я предполагаю использовать микро серву для пережимания капилярной трубки. Получится краник по типу блюматовского. Стандартная небось небольшой нормальный кран потянет.
#254
Отправлено 21 August 2013 - 07:40
#255
Отправлено 21 August 2013 - 10:10
Могу предположить что не охота тащить 220 в теплицу но его можно и на выходе из водопровода дома/в сарае поставить.
Ну или вот такую штуку на 12 в прилепить http://m8928.ru/good...-воды?from=NzI5
#256
Отправлено 21 August 2013 - 10:50
Логический выход 12в 0.2а на датчике присутствует - так что такими клапанами управлять можно.А клапан от стиралки не проще? у меня на ура работает только пока в мануальном режиме :(
Могу предположить что не охота тащить 220 в теплицу но его можно и на выходе из водопровода дома/в сарае поставить.
Ну или вот такую штуку на 12 в прилепить http://m8928.ru/good...-воды?from=NzI5
Давайте рассмотрим домашнюю оранжерею, там куча горшков и у каждого растения свои требования к поливу. Здесь уже логичней развести магистраль из резервуара с одним насосом и кучу миниатюрных краников перекрывающих капиллярные трубки.
#257
Отправлено 21 August 2013 - 11:26
Электромагнитный клапан омывателя стекол ВАЗ 2109
...хотя думаю клапаны других производителей в магазинах еще дешевле встречаются.
Вот случайно попалась реализация полива растений:
http://radiokot.ru/f...417310#p1417310
#258
Отправлено 21 August 2013 - 11:33
Я организовал цикл замера таким образом: заряд пачкой импульсов до значения когда график уже близок к горизонтали, чтение АЦП и полный разряд конденсатора. Так что R2 мне нужен. На макетке пока стоит электролит, а на плате наверное будет smd керамика.Николай, R2 вообще можно убрать. Он там просто для "порядку" стоит (например для симуляции в Multisim). Есть же еще входное сопротивление МК, да и сам конденсатор , надеюсь, не танталовый.
Да, предполагаю хранить угол поворота от 0 до 180 град. Можно хранить скважность от 1000 до 2000 мкс, но угол поворота выходного вала как то наглядней.По поводу дополнительных регистров - не проблема. Я так понимаю, что в этом регистре будет хранится настройка угла поворота сервы? В приложении просто вручную задается значение. Или как-то по другому?
Серва (рулевая машинка) применяются в моделизме. Состоит из микродвигателя(коллекторный, бесколлекторный), редуктора( пластик, металл), датчика положения и схемы управления(аналоговая, цифровая).Еще можно поподробней про сервы китайские? А то для поворота крана, я к стеклоподъемникам от жигулей присматриваться начал
Напряжение питания 5-6 вольт. Момент на валу от 1кг/см у микросерв и выше.Управляются ШИМ сигналом периодом от 20мс( цифровые сервы могут обрабатывать входной сигнал с меньшим периодом) скважностью 1000-2000мкс.
Подробнее почитать можно -http://www.rcdesign....dio/servo_intro
#259
Отправлено 21 August 2013 - 11:58
Электромагнитные больно много тока потребляют, с моторами поэкономичней будет.Дешевле и доступнее клапаны от автомобилей. Вот например:
Электромагнитный клапан омывателя стекол ВАЗ 2109
...хотя думаю клапаны других производителей в магазинах еще дешевле встречаются.
Если смотреть на автомобили, то можно попробовать регуляторы холостого хода поюзать.
Если речь идет о индивидуальном подходе то конечно вопрос отпадает)
#260
Отправлено 21 August 2013 - 18:55
По поводу доп. регистров для хранения настроек. Сделаю функцию добавление регистров настроек к датчикам с возможностью записи данных.
Идею сервомоторов знаю Думал подскажете что-то конкретное. Мне кран обычный шаровый D25 открывать-закрывать надо. Моторедуктор от стеклоподъемников Жигулей выглядит многообещающе и не дорого. У меня сейчас на долив емкости стоит электромагнитный клапан на 220В (достаточно дорогой ~80USD), который при нулевом давлении открывается, но есть проблема, при 2.5Атм на входе, он открыться не может, гудит и греется.
На грядках успешно трудятся мастеркитовские клапана на 12В, жрут не много, монтировать удобно, по цене приемлемо и, главное, что у нас продаются. Для капилярного шланга протока хватает. Вот такие http://www.masterkit...?code_id=887029.
О!, dimmich, с приездом Клапана от омывателей не пробовал, они при 2Атм сколько литров в час пропускают?
Темы с аналогичным тегами приборы
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей