WirenBoard и протокол e-Bus

Спасибо! )) (мне не пришло уведомление о новом сообщении в теме, в которой я участвовал… или это настроить надо… upd точн, надо включить “наблюдать”)

если хочешь, чтобы что-то было сделано,- сделай сам )


1 лайк

Ух ты! Прямо хорошо… Так, в dip6 - оптроны, питание d-dc изолированным? А чтож не распаялся выход на клеммы контроллера? Или предсерийный образец?
ebusd работает?

Спасибо! )

да, оптроны CNY-17-4, питание RO-0509

это мой образец для MOD4 (т.к. у меня MOD1-3 планируются все под RS-485), там с обратной стороны штырьки я заколхозил )) но в плате. конечно, разведено под клеммы (через штырьки с “лицевой” стороны) тоже )

ну, тут хз )) я хз как продавать… я не уверен, что время, затрачиваемое мной на распайку одной платы (я не профи в этом), будет оплачено (в стоимости модуля) сопоставимо с тем, что я зарабатываю за то же время на основной работе )))))
но четыре нераспаянных платы и 3 комплекта деталей у меня ещё остались ))

в другой теме я писал, что работает, но, как обычно, есть нюансы:
вчера я тестировал с новым WB7 (спасибо за помощь с этим), так вот:

  1. модуль, вставленный в WB7 - “не работает” (как бы работает, но ebusd ловит на нём сигнал, но нет обычного обмена)
  2. модуль, вставленный в WB6 - работает(!)
  3. модуль, подключённый через USB-UART-адаптер - не работает ни с WB7, ни с WB6 (sic!). При том, что так он работал (!) с предыдущим (заменённым) WB7 …

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

Вообще и правда очень круто!!!

По личным наблюдениям - сильно не хватает интерфейсов к 2-м котлам.
В моем окружении люди обычно ставят электрический и газовый котел (электрический на случай проблем с газом в холодное время года). У меня же, электрический котел работает пока в дом не войдет газ.

И конечно-же в WB можно поставить два Невотоновских модуля, но на практике есть чем еще занять эти слоты (например модулями RS485). Да и Невотон как-то не торопится доводить их “до ума” (например, давления в системе отопления не получается).

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

Сам же присматриваюсь к решениям наподобие Адаптер E-Bus, RS485 (Modbus)
Оно и слоты занимать не будет и подключать можно более 2-х таких устройств.

Да. Но тут зависит от самих котлов, если в документации котла есть “каскадирование” - то точно.
Но и адаптеров, которые по сути преобразователи физики через usb/uart например можно подключить неограниченное количество.

Тщательно проверяем, уровни в WB6 и WB7 разные процессоры. Уровни - только 3.3! На плате не виду перед оптронами какой-то логики, я б поставил например инвертор, для того чтобы точно не иметь с кровнями проблем.

я из этой фразы не понял )))
уровни разные или процессоры? ))

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

а можете ткнуть ссылкой на описание такого процесса - ставить инвертор? что это и для чего используется? на базе чего можно использовать “инвертор”? я погуглю, конечно, но хотелось бы из уст предлагающего узнать ))

спасибо )

BTW у меня так и было первый год )) сейчас электрический в виде резерва стоит )) к нему тоже сделал управление из WB: включение в случае проблем с газовым… только вот наличие проблем с газовым надо будет детектить благодаря ЭТОЙ поделке, но вот пока буксует )))

такой адаптер можно сделать в любом форм-факторе - изначально он был в таком (его я нашёл в интернете)


но там косяки с разводкой платы - нет гальванической изоляции, хотя по схеме она есть ))
я решил сделать правильно, а поскольку всё равно заново делать и у меня уже был WB, я подумал, что сделать в форм-факторе модуля расширения - будет самое то ))

Да, верно…

Инвертором я обозвал шинный формирователь, то есть (в общем) любой логический элемент с триггером Шотки на входе. То есть если мне надо оптрон завести на вход цифровой схемы - делаю так
Screenshot_20221103_141500

:frowning: я ничего не понял ни из слов, ни по схеме, особенно применительно к “моей” схеме…

кстати, мой гугл знает “триггер Шмитта” и “диоды Шоттки”, но не знает “триггера Шоттки” :frowning:

ну, и менять схему - это пока неосвоенное кунг-фу…

судя по приведённой схеме, сигнал инвертируется, а цифровой схеме эта инверсия учитывается… так?

т.е. если мне “надо” добавить в уже готовую схему TTL-элемент для “коррекции” уровней сигналов, то надо два инвертора? не скажутся ли задержки двух инвертеров на работоспособности всей схемы? ))) всё это надо проверять ))

З.Ы. кстати, когда я в очередной раз воткнул свой адаптер в USB-TTL-конвертер, то он “снова” заработал (но не в WB7 :frowning: ), так что я пока воткнул его так… хоть как-то пока можно теперь управлять котлом (точнее, панелью управления котлом - ради чего всё и задумывалось ))
теперь я могу узнавать о возможной ошибке котла и включать режим отпуска из сценариев WB ))

а диагностику схемы попробую провести потом… а на oshwlab.com и на github.com нашёл другие вариации этой схемы (на другой элементной базе)… может, попробую себя в проектировании варианта с SMD-компонентами , чтобы модуль был более компактный ))

Да, дальше это учтено уже.

Задержки будут в районе десятков наносекунд, совсем незаметно, особенно “на фоне” оптрона. Ну и связь - асинхронная, не скажется никак.

Если брать например эту схему:


то подятгивающий резистор на RXD в сторону “контроллера” (22Ком) я б поставил для питания 3,3 раза в полтора-два меньше.

первый раз её вижу )))
я использовал такую (моя версия из EDA)
ebus-adapter-2.2-2.1-schematic.pdf (53.4 КБ)

по ней у вас есть комментарии? )

Лучше , конечно, осциллографом ткнуться.
Но так, навскидку, R6 явно многоват. Он даст ток светодиоду отптрона 0,6 мА, даже без учета падения на самом светодиоде - что очень-очень мало.

у меня только такой


но хоть что-то… потыкаюсь ))
я так понимаю, надо акцент сначала делать на форме и величине сигнала на RX/TX?

в общем, исследования показывают, что
ebusd при передаче (сигнал TX) проверяет входящий сигнал (RX), и если тот отличается от передаваемого, то обмен считается невалидным… (в общем, логично)
проблема заключается в том, что использовании в MOD4 сигнал RX искажается, а через USB-свисток - нет. (А логический анализатор лишь подтверждает то, что выводится в лог ebusd)

Проверка осциллографом (да и вольтметром) показывает, что при USB напряжение TX меньше (sic!) 3.3В (видимо, из-за падения на индикаторном светодиоде самого свистка - а именно - 2.2В (а между +3.3 и TX есть разница потенциалов, т.к. светодиод LED2 модуля немного светится, то бишь оптрон приоткрыт(?)
а потому(?) на RX - хоть и высокий уровень сигнала ниже, чем 3.3В, но и низкий - тем самым ближе к 0 ))


но вот микросхема USB-свистка его понимает, и всё ок…

хотя уровень 0 для TTL, согласно докам, - не выше 0.5В… а на осциллографе видно, что всё ок… но такой осциллограф не показывает таймлайн в динамике за отрезок времени, так что пока невалидно делать какие-то выводы… т.к. очевидно, что искажения-то есть…

а я правильно понимаю, что TTL-инвертор “выравнивает” уровни сигналов? т.е. на выходе инвертора будут чётко 0 и 3.3, при “плавающем” входном сигнале?

При напряжении на TX близком к 3,3 оптрон должен быть закрыт. проверить - просто , подключить TX к генератору (если есть) или к регулируемому БП и менять напряжение на входе, добиваясь открытия-закрытия Q1 на половине входного напряжения, подбором R6.

Да. Это сильно упрощает жизнь.

Работающая у меня схема.
Собирал плату под Wemos D1, но потом прикрутил к Raspberry
Там а так понимаю те же уровни 3.3V


1 лайк

да, у меня та же схема (с гальванической развязкой) на той же элементной базе…