Ложные импульсы на входах Ax

Продолжая обсуждение из темы WB7 дребезг DI:

Здравствуйте

С вашего позволения продолжу обсуждение закрытой темы, т.к. симптоматика 1 в 1. И мне думается, что я нашел причину. Как ни странно, она скорее всего в софте, хотя из-за помех конечно.

В моем случае контроллер WB 8.5 прошивка 2501.

Длина провода от геркона (газовый счетчик) до входа А1 около 30 метров и конечно наводки есть. Геркон стоит переключающий МКС 14104 (как наиболее чувствительный, долго подбирал). Нормально замкнутый контакт на GND, нормально разомкнутый на “+5В”. Переключающий на А1. Сделана подтяжка на переключающий с GND сопротивлением 2 кОм. И кондер еще. В среднем по проводу “гуляет” 0.02 Вольта. Иногда пробегает всплеск 0.2 - 0.3 Вольта.

А вот дальше САМОЕ интересное.

Ко входам А2-А4 ничего не подключено. Это важно! И там иногда пробегает 0.01 Вольта. Но бывает всплеск до 0.1 Вольта. И WB Это регистрирует, как ложный импульс. На А1 часто, на А2 и пр. редко. Напомню, к А2 ничего не подключено, но настроен как счетчик воды.

Так вот, смотрите. было бы очевидно и понятно, что если в настройках аналоговых входов стоит количество “десятичных знаков” = 0, то любые погрешности до 1 Вольта в зачет бы не шли. И тогда и проблемы нет, Как +5 Вольт придет (ну или все, что больше 1 Вольта), то и импульс.

А так какая-то ерунда, какое значение “десятичных знаков” в настройка Ax ни ставь, wb-gpio/Ax срабатывает на 1/10 Вольта. Проверено.

Мне думается, такую зависимость не сложно учесть.

А еще лучше, если бы можно было указать где-нибудь порог срабатывания по напряжению. Наверное окошко в настройках канала GPIO. Хотел поэкспериментировать с датчиками Холла 41F и 49E, а там порог срабатывания вообще индивидуальная величина.

Добрый день.

В схеме, приведенной в документации и в Wiren Board 7.4.x: Низкоуровневая работа с железом — Wiren Board видно что DI вход - реализован триггером Шмидта. И тот импульс который ADC регистрирует как невысокий - на самом деле больше его порога.

Настройки аналоговых каналов не имеют никакого отношения к сервису wb-mqtt-gpio.
И влияния на него не оказывабт.

Порог задан аппаратно и его значение не настраивается.

При всем уважении, не понял.

Ссылка на документацию.
https://wirenboard.com/wiki/Wiren_Board_7.4#Универсальные_входы/выходы_A1-A4
Срабатывает при напряжении на клемме больше 3 В (логическая единица), меньше 1.5 В — логический ноль. Для ревизии 7.4.1: 2.5 вольта - логический ноль, 3.1 вольта - логическая единица.|I/O →Ax_IN
wb-gpio/Ax_IN|

А как же регистрация импульса на wb-gpio/A1 при изменении wb-adc/A1 с 0.0 на 0.1 Вольта?

Ну и посмеяться) Без обид.

A2_IN_total 2.7 м³

A2_IN_current 0.2м³/ч

Это за сутки. Счетчик на входе А2, к которому не подключены никакие провода…
Множитель 10 импульсов на куб. Т.е. 27 ложных импульсов.

Ну где-то есть паразитная программная связь, ну не должно так быть. Я всю логику понял, все правильно задумано, свои предложения по доработке снимаю. Действительно изменение напряжения по входу wb-adc/A1, если оно ниже порогового 2.5 Вольта никак не должно быть связано с wb-gpio/A1. И если выше 3.1 тоже. Все понятно, но факт налицо… А это совсем никуда не годится. Поправьте, плз.

P.S. И да, небольшая неточность. На даче (о ней сейчас речь) контроллер WB 8.4 2501. А дома у меня WB 8.5 2501. Но дома мне импульсы не нужно мерять. Может это баг именно 8.4?

P.P.S. У меня прямо целое научное исследование. Докладываю.

Есть у меня еще 1 WB 8.4 про запас и на эксперименты - старший сын в институте (МИРЭА) в прошлом году проходил не поверите wirenboard. Вы Молодцы, оч. круто, правда. И чтобы он мне не поломал “продуктивные контура)” ему в том году был куплен девайс.

Так вот поставил я на 2-й WB 8.4 вход A1 в режим счетчика воды. И дома на WB 8.5 тоже. Разумеется входы ни к чему не подключены. А разница уже есть…

У обоих 8.4 по входам А1-А4 гуляет стабильно 0.02 - 0.03 Вольта. Раньше как-то даже внимания не обращал.
А у 8.5 по этим же входам 0.00 - 0.01 Вольта…

Питание у всех одинаковое, 24В от Meanwell которые не самые дешевые белые, а которые подороже и почище выход. Модель не помню. В общем условия для эксперимента одинаковые. Прошивка у всех тоже одинаковая 2501.

Мониторю дальше на предмет ложных срабатываний. Есть мысли?

P.P.P.S. Эксперимент можно сворачивать, результаты следующие:

  1. 8.4 и 8.5 ведут себя абсолютно одинаково, несмотря на разную точность входов Ax.
  2. 8.4, который лежит на столе в лабораторных условиях не дает всплесков по входу, несмотря на плавающее напряжение в пределах погрешности.
  3. 8.4 и 8.5, которые работают в “реальных условиях” - у 8.4 порядка 10 устройств на шине, у 8.5 порядка 40шт на разных RS485 и Zigbee дают выбросы на входы А1-А4 даже если к ним ничего не подключено.

Вывод; к аппаратной части в целом вопросов нет (у 8.5 она субьективно лучше реализована, не знаю в чем там отличие), а вот программный баг присутствует.

Фото, что бы не быть голословным, разница 8.4 и 8.5 по входам, к которым ничего не подключено.


Посмотрите осциллографом на вход. Ну или ограничьте явно величину пиков наводок стабилитроном в 2 вольта.
Аналоговый вход не будет корректно измерять амплитуду коротких импульсов. То есть 5мс импульс в 5, например, вольт будет измерен ADC как 1 вольт подъем.

На практике на неиспользуемые входы никто не обращает внимания. Появляется там “1” иногда - ну и пусть. А вот уже используемые - они уже подтянуты и наводка маловероятна.

О! Это вот радует, правда.

На 8.5 другая плата - но схемотехника принципиально не отличается.

Хотя - поискал в бэклоге, нашел описанное похожее поведение.
Пожалуй выполню следующее: замкну вход на GND и посмотрю - будет ли что-то регистрироваться.

Ага, идею понял. На пиках скинет на gnd все, что выше. Блин, сам бы не додумался. Стабилитрон 2 Вольта заказал. Лот 10шт правда на российском маркетплейсе (ну вы поняли, рекламы не будет, китайцев тоже ждать не хочется) нафига мне столько? Но эксперимент важнее, и сын тоже впитывает знания. Осциллографом тоже посмотрю кстати, фиксацию пороговых поставлю, у меня он на развертку 100 МГц. Хватит?)))

В выходные поставлю эксперимент, по результатам доложу. Хорошего дня.

1 лайк

Хотя, только сейчас подумал. Если стабилитрон между “-” и сигналом он уберет пики по помехам, но так он также при честных +5 Вольт на входе их задавит в +2 Вольта… И импульса не будет. Или стабилитрон между +5 и сигналом через сопротивление? Напомню, геркон переключающий, в отсутствие срабатывания нормально замкнут на “-”, где и гуляют наводки, так что совсем не 0 Вольт. Пики наводок срежет, а когда честное +5 придет, то и стабилитрон ни при чем. Помогайте, мозгов не хватает)

Естественно!

Благодарю, взаимно

Ну да, для проверки.

Можно конденсатор на 0,47мкФ неэлектролит поставить.