Tiny-BCU
Idea
- BCU without ready-to-use KNX Transceiver like OnSemi, Siemens or Elmos
- Small µC that reads/writes the bits to KNX bus and
- "emulates" a reduced KNX TPUART BCU protocol
Benefits
- No dependency to onsemi & co: OnSemi had several times delivery difficulties; Elmos can not be ordered when you're private person, Siemens is not cheap
- better handling wrt. bus powered supply
- easier to build, due to no QFN package
- Parts typically all available at german distributeros/electronic shops
- possibly different and thus easier communication protocol (I2C?)
- possibly more cpu cycles for the sketch due to caching on TinyBCU controller?!
Cons
- not that tiny as MicroBCU due to more parts on PCB
- possibly not significant cheaper than traditional BCU
Requirements
- Transceiver-Part: something to read/write the bits physically from/to KNX bus; simple analog circuit for extracting/inserting the bits from/to bus.
- Controller-Part: something that can interpret the bits from transceiver-part and make it BCU-style readable + write the bits of a telegram to the transceiver-part
- Supply-Part: voltage and current from bus: at least 3.3V and 5V with about >=50mA, without creating interferrences on the BUS
Transceiver-Part
See: https://github.com/selfbus/hardware-incubation/tree/master/module/UPModule
Supply-Part
See: https://github.com/selfbus/hardware-incubation/tree/master/module/UPModule For instance one can also use the "Polulu" step-down modules to create 3.3V and 5V from up to 40V input. The are multiple candidates available, f.i. from TI
Controller-Part
Something like the Attiny85.
Features:
- Interrupt-Pin: https://hoeser-medien.de/2015/04/attiny85-interrupt-basierend-auf-pinchange-interrupt-library/
- UART via softserial
- ultra low power
- small and also in DIP available --> easy to solder. Even with socket one can remove the chip to program it.
Open questions: How to debug? Maybe develop with Arduino UNO and then port to attiny?
SW: See: https://github.com/selfbus/software-arm-lib/tree/master/sblib/inc/sblib/eib