Pull to refresh

Comments 33

Результат измерения величины в «попугаях»? На графике в статье некие величины до 2800 единиц.

Да, я в конце написал, что еще будем преобразовывать. Сейчас получаем, обрабатываем и смотрим сырые данные, чтобы исключить ошибки конвертации при отладке.

Спасибо. Если я правильно понимаю, показания емкостных датчиков зависят от расположения с лотке самих датчиков, а также от размера и формы лотков и количества грунта. Не понадобится ли калибровка каждого конкретного сочетания лоток-датчик или достаточно будет откалибровать датчики для лотков одного размера? Если Вы еще не изучали это в деталях, было бы интересно узнать о результатах.

Пока увидели не существенную зависимость от положения датчиков в лотке, но все-таки она есть. Думаю, что придется калибровать в сухом грунте конкретного лотка, чтобы получать наиболее достоверные данные. Также можно использовать два датчика в одном лотке, но тогда в два раза сократиться количество ячеек.

А еще есть зависимость (и существенная) от типа и состава грунта.

Справедливости ради, АЦП всё-таки в этом микроконтроллере один. Несколько там именно каналов измерения. Внутренний мультиплексор. Всё бы и ничего, но УВХ там тоже один. Если измерять разные каналы с разным напряжением с достаточно малым промежутком времени, то они через остаточный заряд в УВХ могут влиять на результаты измерения друг друга. Увеличьте время выборки и всё придёт в норму, магия исчезнет. Пишу потому что это не самая очевидная причина потенциальной проблемы. Имейте в виду.

Спасибо. Да, заметили, что скорость опроса заметно влияет. В нашем случае измерения можно проводить довольно редко.

Почитайте интересную статью и материалы по ссылкам внизу статьи, очень помогает в понимании работы АЦП в любом процессоре. https://leoniv.livejournal.com/194681.html

А почему не упростить звено STM32 и перенести его нагрузку на ESP? вроде всего хватает по ногам. Правда придётся его заменить ещё одним мультиплексором и измерять всё одним ADC, но по сути STM32 так и делает, просто мультиплексор у неё свой.
Затопрошивка одна. Можно смело думать в сторону OAT и не изобретать велосипедов.

Такой вариант тоже рассматривали и даже реализовывали (думали даже по поводу внешнего многоканального АЦП). Нужно было использовать больше мультиплексоров, также количество ног ESP на грани. Получался огород с управлением мультиплексорами. Не понравилась работа АЦП у ESP в принципе. Часть обработки данных логичнее реализовать на STM (как нам кажется). Может писать один код было бы и проще на одном контроллере, но остановились именно на такой реализации.

Нужно было использовать больше мультиплексоров...

+1 мультиплексор, итого 9 мультиплексоров на 8 каналов, включенных каскадно. Для уменьшения количества ног для управления ставится дешифратор, и задействуется 6-я нога у 8-ми мультиплексоров. Из плюсов - достаточно откалибровать один канал, вместо 8. Из минусов - ставится дополнительно два корпуса.

Кстати вопрос, а почему выбрано питание датчиков (и так понимаю мультиплексоров) 4.5В?

Там 4,2В (у меня опечатка, исправил). Сделано для того, чтобы можно было использовать блоки питания на 5В (на всякий случай, но думаю не понадобится).

"... Кстати вопрос, а почему выбрано питание датчиков (и так понимаю мультиплексоров) 4.5В?..." - зато удобно переходить на резервное батареечное питание :)

Ай красава! Прям мысли мои за меня написал!

Да, серьезно рассматривали этот вариант (есть не сколько проектов на ней).

А зачем в этой схеме STM? Что в ней такого, чего нет в ESP? АЦП и там и там один канал.

Температура меняется не быстро, 1000 отсчетов в секунду не нужны, мультиплексоры уже есть.

А ещё "показания влажности" (если их можно так назвать) с этих "датчиков": имеют большой разброс от датчика к датчику, нелинейны, а самое противное - данные с них сильно зависят от температуры (т.е. при одной и той же влажности (погружение в стакан воды на 30% например) и изменении температуры на 3-5-10 градусов - "данные влажности" сильно поплывут...). Т.е. на каждый датчик заводить лист с поправочными коэффициентами для влажности 0%..5%...100% и постоянной температуре и, как пример, как меняется при влажности 5% показания при изменении температуры от ... и до .... Т.е. проще уж тогда на каждый датчик вешать eeprom с таблицей поверки / калибровки датчика, и какую ардуину, чтобы отдавать уже причёсанные данные по какому 485 или LoRa (i2c боюсь по расстоянию не потянет, может аналог какого 1-wire?)

Если рассматривать шкалу в абстрактных единицах и она 1000 единиц, то разность показаний между датчиками в однородной почве (в одном лотке) <10 единиц. Влияние температуры на показания есть, но если рассматривать замкнутую систему с поддержанием температуры, то это легко учитывать. Как раз хуже всего датчики себя ведут в совсем сухой и рыхлой почве.

Несколько смутило отсутствие защиты входов RJ-45.
Рано или поздно может найтись умник, который вставит туда патч-корд, второй конец которого засунет в switсh (+ Power-over-Ethernet).

В любом случае, защита всех наружных интерфейсов от статического электричества — это аксиома.

Там есть защита на плате.

не самая удачная идея тянуть низкоуровневый аналоговый сигнал по метрам проводов

сколько он мусора насобирает по дороге при включенной модной светодиодной подсветке?

Нужно будет использовать экранированный кабель. Мы делали устройство с большим количеством аналоговых датчиков температуры. Длина проводов в экране 10-20м. Работает отлично.

UFO just landed and posted this here
UFO just landed and posted this here

Можете, если не сложно, раскрыть, что такое "неправильный режим полива" и какой должен быть правильным, чтобы избежать плесени?
У меня есть в мыслях сделать такой проект и хотелось бы знать, что там ждёт, и стоит ли вообще браться.

UFO just landed and posted this here

Огромное спасибо за развернутый ответ )

1. В корпусе с гермовводом с другой стороны разъём питания не герметичный.
2. Вывод нескольких проводов через один гермоввод не обеспечивает герметичность. Один провод - одни гермоввод.
3. Через гермоввод не пролазит RJ-45 - монтаж этого устройства заиграл новыми красками ))А учитывая 1 и 2, я настоятельно рекомендую пересмотреть конструкцию.
4. Значительно удобнее и в монтаже и в эксплуатации одно устройство - одни разъём (с питанием и землёй обязательно в каждом проводе). Можно перейти на RJ-11.
5. При использовании длинных проводов до аналоговых датчиков используют токовую петлю, а высокоимпендансные линии для передач потенциала используются либо внутри устройств либо на коротких шнурах. И поэтому мы приходим к:
6. Такая архитектура имеет смысл если датчики рядом с блоком, т.е. блок находится прямо на стеллаже. Если блок "в соседнем помещении", то хорошая архитектура это на каждом датчике МК с RS-485-ым и концентратор. А Wi-Fi в таком случае вообще не нужен - он не решает ни каких задач, т.к. концентратор может быть у центрального контроллера или ПК (что у вас там).
6. Питание напряжение 4,2 вольта - это компромисс между нагревом линейника 3,3 В для питания ESP и МК, и стоимостью ещё одного DC-DC 5 вольт на плате для датчиков. На основании того, что "у нас работает" этот компромисс и одобрили. Уже такого обоснования достаточно что бы это всё не делать (точнее у Вас работает и ладно, но не продавайте это ни кому), но можно добавить помеховую обстановку и падения напряжения питания на проводах до датчиков. Т.е. так как напряжение питания датчика не стандартное не факт, что так будут работать все датчики или этой же фирмы через год - ни кто ни чего не обещает. Повторяемость на серии и работа в пределах параметров обещанных производителем компонентов - признак профессиональной разработки. Нужно делать два источника питания: внутренний и внешний.
7. Точность встроенного АЦП у STM мягко говоря не очень, но можно хоть немного "спасти ситуацию" используя внешний генератор опорного напряжения (например LM4040). В таком виде на показания хоть как-то можно ориентироваться только если сигнал имеет уровень около половины от максимального.
8. Дизайн платы не оптимизирован под серийное производство устройства на высокопроизводительных линиях.

UFO just landed and posted this here

Опять связка ESP+мк. Даже если бегло сравнить 8266 и 030, по всем характеристикам 8266 достаточна и превосходит STM32f0. Что позволяет реализовать устройство только на ней, уже не говоря про ESP32. Чтобы АЦП у есп работал нормально- ее надо правильно питать и правильно разводить плату. Внешние АЦП тоже никто не отменял. Вообще гора мультиплексоров достаточное зло, которое имеет неплохие расхождения по каналам и корпусам, и это все надо калибровать индивидуально.

Правильной реализацией такого проекта вообще будет индивидуальный мк вроде тинни 10 или 13 на каждый датчик и цифровая шина 1wire или 485.

Sign up to leave a comment.

Articles