doc: add purpose and background

This commit is contained in:
King Kévin 2023-09-27 01:56:27 +02:00
parent 01be732443
commit 908fdfef5a
1 changed files with 97 additions and 1 deletions

View File

@ -1,7 +1,103 @@
these are the hardware design files for **insert project name here**.
WLED chain is a board for the [WLED](https://kno.wled.ge/) firmware, allowing to power, control, and chain them over Ethernet cables.
purpose
=======
The [WLED](https://kno.wled.ge/) firmware is ideal do control addressable LEDs strip.
WLED chain is a hardware board for it, matching my usage: robust remotely controlled LED strip based light installations for festivals.
It allows to:
- use of the shelf 12-24V power supplies to power the 5V LED strips
- inter-connect them to form long chains (only connecting the first to externally provided power and data)
- use cheap Ethernet CAT5E cables to inter-connect them (also over long distances)
- provide power and data over the Ethernet cables
- proper 5V LED data signal output (up to three of them)
usage
=====
background
==========
origin
------
[WLED](https://kno.wled.ge/) is a very good firmware to control addressable LED such as the WS2812b.
Just get a cheap ESP32 development board, flash WLED using the [web installer](https://install.wled.me/), and of you got.
I did that very often, and for small projects its fine.
But for larger projects with multiple devices, you encounter some limitations:
- you have to separately take care of the power supply: LED strips can draw a lot of current which the development board can not handle
- remote control using ArtNet over WiFi can be problematic: WiFi routers don't all handle broadcast well, WiFi coverage is not always good, WiFi is jittery
- providing power to multiple device can be a pain: there is not always a power plug nearby
this project tries to solve these issues, and since I designed a board, provide even more features
bus
---
The first problem is WiFi:
- ESP32 operate on 2.4 GHz, a crowded spectrum
- ESP32 board with built-in antenna have poor reception
- WiFi router don't always handle broadcast well
This make the WiFi a poor interface to remotely control LEDs with multiple WLED (using ArtNet or similar) in a real-time manner (low latency and jitter).
The first solution would be to use Ethernet instead of WiFi.
This would keep the networking capability.
ESP32 supports this interface, and the [WT32-ETH01](https://www.seeedstudio.com/Ethernet-module-based-on-ESP32-series-WT32-ETH01-p-4736.html) makes it available.
But to connect multiple devices you need a Ethernet switch, and run wires from this switch to each device (e.g. is a star topology).
I wanted to be able to chain the devices, to increase the distance while reducing number of cables and their length.
You could use the [KSZ8863](https://www.microchip.com/en-us/product/KSZ8863) 3-port Ethernet PHY.
This can act as Ethernet interface for the ESP32, and built-in switch.
Now the boards can be chained.
There is already [schematic](https://github.com/espressif/esp-eth-drivers/tree/master/ksz8863) available, but the support still is beta, and the implementation is complex are not inexpensive.
I also though about CAN bus.
This is a very resilient bus, and the ESP32 has an interface for it.
But WLED does not support it yet, and the host would need a bridge for it.
Finally I arrived to RS-285.
It's another differential protocol, often used in the industry because resilient.
And the implementation is WLED is easy because it's just serial.
This is when I remembered that DMX512 also uses RS-485.
And DMX is the de facto standard in the lighting event world.
Thus interface with is will be very easy and there is a lot of software support.
The limitation is that it supports only one universe of 512 channels, or 170 RGB LEDs.
A solution would be to control modes instead of individual LEDs.
features
--------
Here a wish list of features in decreasing order:
- daisy chain capability (providing data and power)
- built-in power 5V power supply (input up to 30V)
- RS-485/DMX512 interface (not isolated)
- RJ45 port (2x for daisy chain)
- RJ45 pin header (to solder wires directly)
- DC barrel jack power input
- RJ45 power input
- proper 5V DOUT for WS2812B IC input
- external WiFi antenna port
- microphone/line in for sound reactive (use [ESP32-LyraT-Mini](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/board-esp32-lyrat-mini-v1.2.html) design as reference)
- [sonoff waterproof enclosure](https://www.sonoffegypt.com/products/sonoff-ip66-waterproof-case) format
- XLR port (to fit usual DMX512 installations)
- fully isolated DMX512
- RDM support (requires adding bias on RS-485, and mostly software support)
- Lithium battery input and charger (not really the intended use scenario for this device)
- automotive fuse protection
- high voltage input (up to 60V, using TPS54560DDAR)
- USB Power Delivery power input (using IP2721 or FUSB302)
I'll probably add them with each new version
other
-----
Here a list of other similar LED controllers:
- [QuinLED-Dig-Quad](https://quinled.info/pre-assembled-quinled-dig-quad/): WLED compatible, but not DMX or power supply
- [SP201E](aliexpress.com/item/1005005061637017.html): cheap DMX512 LED strip controller, but no WLED, RJ45, or power supply
- [H807DMX](https://www.aliexpress.com/item/1005005293168050.html): compatible with most LED strips, and has RJ45 DMX512 input, but no WLED or power supply