• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

pvvx

Активный участник сообщества
И в ZG-303Z опять китайцы нахалтурили. Поставили резистор на 10к, низкочастотный диод “T4” и конденсатор на несколько сотен пФ. Т.е. совсем неадекватную цепочку для определения емкости самого емкостного датчика.
При этом в оригинальной прошивке гонят на эту цепь меандр с таймера на 250кГц длительностью 500 мс. Слепили аналог со схемы для Arduino, но изменили номиналы.

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

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

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

Я не стал выёживаться и влепил свою функцию, от давно отработанных у меня аналогичных датчиков. Так как это всё настолько нелинейно и не предсказуемо из-за параметров диода, то моя функция была подобрана по снятым реальным характеристикам с разными R,D,C и соотношением частоты и скважности PWM на моем датчике. Она ближе к кубической зависимости... Её и влепил, т.к. показывает что-то более адекватное, на имеющихся у меня ZG-303Z. Но у неё нет понятных настроек для пользователя и подстройки в текущей версии не сделаны (!). Требуется статистика с разных плат, а её пока нет. Я не собираюсь покупать сотни таких датчиков и ещё у разных производителей и продавцов, чтобы набирать статистику и точно подогнать параметры к функции для вычисления влажности этими датчиками.
 

pvvx

Активный участник сообщества
В текущей реализации ШИМ гонит скважность 18 к 3 - т.е. основная огибающая частота импульса этого ШИМ на диод порядка 8 МГц. А диод "T4" :)
На всё измерение с вычислением уходит порядка 1 мс
 

shaman1010

Member
низкочастотный диод “T4”
Чем 1N4148W такой уж низкочастотный, с заявленным временем переключения 4 нс - ?

То, что чипы одинаковые, но с разной маркировкой - это понятно, и ковычки в моем сообщении не зря стоят. это в целом, чтобы не пугались (мало ли) - чип тот же, обвязка та же, маркировка отличается.
 

pvvx

Активный участник сообщества
Чем 1N4148W такой уж низкочастотный, с заявленным временем переключения 4 нс - ?
Это не детекторный диод.
И токи на него макс 3В через 10 кОм. На выходе на кондере порядка 700 пФ (при замере в схеме) видны его иглы переключения и прочих паразитных ....
Диод любого перехода KT315 и то лучше работает :)
 

pvvx

Активный участник сообщества
И фронт - rise/fail на резистор с диодом подается в 2 нс (выход с GPIO и через резистор на диодe):
1760240263451.png
Емкости щупов тоже сказываются...

А это весь процесс - желтый на входе диода, типа голубой - на выходе (увеличен)
1760240360316.png
Оно-же развернуто и видим как работает диод на кондер:
1760240569784.png
 

pvvx

Активный участник сообщества
Т.е. накопительный кондер китайцы зажилии по емкости. И припаяли к нему ещё разрядный резистор в 1 МОм, как будто у чипа нет подтяжки к нулю, для разряда емкости после измерения.
И правильный алгоритм для авто-калибровки не применить, кода ШИМ гонится настраиваемое-калибровочное время и заряд идет при пустом сенсоре до калибровочного значения.
Т.е. калибровка пустого сенсора - Как только со старта ШИМ получили заданный уровень на ADC, запоминаем время работы ШИМ.
А ADC измеряет долго и с таким кондером не успеть за нарастанием напряжения... Нужен кондер в диапазоне от 4 до 47 нФ. Но большой - дольше замер и нужен оптимум, с учетом емкостей диода и частоты/скважности ШИМ ...
В итоге пришлось выкинуть все авто-калибровки и измерять что накопилось за примерно ~250 мкс и далее до ~400. Это видно на средней осциллограмме в конце действия ШИМ- 8 измерений ADC (для усреднения) с пилой, т.к. 8..10 раз подключается вход ADC, а китай-емкость мала.
Затем вместо ШИМ выводится "1" и снова измеряется для получения соотношения измеренного напряжения с датчика и падения напряжения питания + падений на диоде..
 

shaman1010

Member
У ZG303-го, судя по всему, не тот пин задан для дерганья (прошивка 5,4).
У этой модели, имхо, можно рассмотреть два варианта применения "лишних" rx и tx:
1) задать их для дерганья, выбирая в настройках. Возможно даже выбирая направление пина (чует аналоговый уровень чего-то и клацает насосом, например)
2) мне кажется более логичный - дергать тот же ресет, как и раньше, НО обязательно его состояние передавать в HA (для автоматик) а к rx-tx оставить возможность подключения какого-то микроконтроллера/девайса (может для автономной поливалки, без HA, что-нить додумается, и по уарту время синхронизировать будет, не знаю :) )
 

shaman1010

Member
И, кстати, а чего по блютузу время девайсов (раз в сутки, либо настраиваемо) не синхронизуется с HA ? Теоретически это не должно много съедать, особенно отключенное, если батарею жалко :).
 

shaman1010

Member
В варианте использования двух пинов (один на вход, второй на выход) вполне решается вопрос затенения еще. (фоторезистор на вход повесить, как вариант) и не поливать под солнцем, даже если время срабатывания от HA уже пришло, но другие датчики солнца не увидели.

Поставил два девайса в цветочный горшок, понаблюдаю. (один 4 в 1 на стандартной корявой прошивке, второй на 5.4) сейчас показания отличаются как небо от земли. Послежу.
 

pvvx

Активный участник сообщества
У ZG303-го, судя по всему, не тот пин задан для дерганья (прошивка 5,4).
У этой модели, имхо, можно рассмотреть два варианта применения "лишних" rx и tx:
1) задать их для дерганья, выбирая в настройках. Возможно даже выбирая направление пина (чует аналоговый уровень чего-то и клацает насосом, например)
2) мне кажется более логичный - дергать тот же ресет, как и раньше, НО обязательно его состояние передавать в HA (для автоматик) а к rx-tx оставить возможность подключения какого-то микроконтроллера/девайса (может для автономной поливалки, без HA, что-нить додумается, и по уарту время синхронизировать будет, не знаю :) )
Кто подключает MCU - тот соберет прошивку сам с нужными настройками.
В HA и так передается всё.
 

pvvx

Активный участник сообщества
Вывод TX - это управляемый выход с гистерезисом по температуре или влажности почвы. Передается в HA как Power On/Off
Вывод RX - это вход для геркона двери или счетчика, задается и инверсия Open/Close. В HA посылается счетчик срабатываний или если выбран тип Switch, то события On/Off + счетчик.
 

pvvx

Активный участник сообщества
В варианте использования двух пинов (один на вход, второй на выход) вполне решается вопрос затенения еще. (фоторезистор на вход повесить, как вариант) и не поливать под солнцем, даже если время срабатывания от HA уже пришло, но другие датчики солнца не увидели.
Ваши предложения не думают об батарейке. Резистор надо питать при измерении - это дополнительная функция. А просто так не повесить ничего, даже геркона, т.к. резистор в 1МОм для подтяжки жрет больше раза в 2, чем устройство в sleep....
Поставил два девайса в цветочный горшок, понаблюдаю. (один 4 в 1 на стандартной корявой прошивке, второй на 5.4) сейчас показания отличаются как небо от земли. Послежу.
Берете кружку, наливаете воду и проверяете по уровню какие % показывает. Всё остальное будет зависеть от сотни факторов.
 

shaman1010

Member
Всё остальное будет зависеть от сотни факторов.
Так два девайса рядом в одной малой замкнутой области и покажут на промежутке, насколько они удобны / корректны для использования. По стакану воды не так очевидно для применения.
 

shaman1010

Member
Выставляется в конфигурации TelinkMiFlasher. А описание дано в README с картинками...
Не не, я о конкретном применении двух пинов именно в этом девайсе. Так по гистерезису то давно и понятно.

По обычному тыку пины не дергались, по этому и обратил внимание.
 

pvvx

Активный участник сообщества
А вот для Zigbee настроек пока нет, т.к. это от меня не зависит. Это дело ZHA или Z2M писать свои конверторы (причуды) на своих языках...
Но я в ZHA себе поправил там имеющиеся и всё работает...
 

shaman1010

Member
Ваши предложения не думают об батарейке. Резистор надо питать при измерении - это дополнительная функция. А просто так не повесить ничего, даже геркона, т.к. резистор в 1МОм для подтяжки жрет больше раза в 2, чем устройство в sleep....
Но можно же фоторезистор повесить относительно земли на какой-то пин. И поднимать с pullup-ом этот пин только тогда, когда необходимо измерить (а это можно делать крайне редко).
В 4-in-1 они задействовали какую-то букашку с открытім pn переходам, залитую в корпус 0603 (не всматривался особо, что это).
 

pvvx

Активный участник сообщества
Но можно же фоторезистор повесить относительно земли на какой-то пин. И поднимать с pullup-ом этот пин только тогда, когда необходимо измерить (а это можно делать крайне редко).
В 4-in-1 они задействовали какую-то букашку с открытім pn переходам, залитую в корпус 0603 (не всматривался особо, что это).
Прошивка, в которую вы пытаетесь впихнуть все имеющиеся на рынке DIY датчики сделана для простых обывателей, которые с паяльником не дружат и для них главное - время жизни батареи.
А любая опция или функция увеличивает потребление. По этому все не используемые 60% такими пользователями функции отключены или выброшены из прошивки, если увеличивают потребление более чем на 1%.
 
Сверху Снизу