dmx-ledstrip-dimmer-32ch
Publicrobinolejnik/dmx-ledstrip-dimmer-32ch
Loading…
Imported from GitHub: robinolejnik/dmx-ledstrip-dimmer-32ch · commit 52204e6 · license MIT
Description
Arduino Mini and TLC5940 based 32 channel 12V PWM dimmer with DMX512 and RDM support.
README
32ch DMX LED Strip Dimmer
Arduino Mini and TLC5940 based 32 channel 12V PWM dimmer with DMX512 and RDM support.
Table of contents
- Features
- Building and connecting the PCB
- Installing the Software
- Setting the DMX channel
- Write your own Software
- Arduino Pin Configuration
- Contributing
- See also
- License
Features
- 32 channels
- several amps current capability per channel
- high PWM frequency
- DMX512 with RDM support
- control LEDs, LED-Strips, Lamps, Motors, Relays, ...
Building and connecting the PCB
The double sided PCB has surface mounted components on both sides. All resistors and capacitors are 0805 sized parts. Screw terminals are available for all connections.
Installing the Software
Connecting the Programmer
On the PCB, there is no dedicated programming connector. Instead, directly connect a serial adapter to the Arduino Pro Mini. Make sure that no DMX device is connected to the PCB.
Libraries
Install the required libraries within the Arduino IDE
- tlc5940 Control of the two TLC5940 ICs
- dmxserial2 Used to handle DMX and RDM decoding
Open the Sketch with the Arduino IDE, change the DMX address if needed, select the correct serial port and Hardware (Arduino Pro Mini or Arduino Mini) and click Upload.
Setting the DMX channel
The DMX channel can be preset in the Arduino source code. Later, it can only be changed via RDM (Remote Device Management) commands.
Write your own Software
The PWM signals are created by two chained TLC5940 PWM LED drivers. Output 1-16 of U7 maps to Output 1-16 on the PCB, output 1-16 of U8 maps to Output 17-32 of the PCB. Per channel, one 74HC04 inverter is used. It is necessary because the PWM controller cannot completely turn off a directly connected N-channel MOSFET. It cannot get it's PWM count down to 0. By inverting the PWM signal, the PCB output can be turned off by fully turning on the TLC5940 channel.
Arduino pin configuration
| Pin | Function |
|---|---|
| 0 | RxD (DMX) |
| 1 | TxD (DMX) |
| 2 | RS485 (DMX) Direction |
| 3 | GSCLK (TLC5940) |
| 9 | XLAT (TLC5940) |
| 10 | BLANK (TLC5940) |
| 11 | SIN (TLC5940) |
| 13 | SCLK (TLC5940) |
Unlisted pins are not connected. The internal voltage regulator on the Arduino Mini Board is not used.
Take a look at the schematic too. It should clarify things further.
Contributing
If you want to improve something, feel free to create a pull request.
One thing to optimize is the linear voltage regulator. Maybe someone is interested in fitting a suitable step down converter into the PCB?
No comments yet. Be the first to ask about this board.