|
_ |
DMX LED-Matrix
To reduce the amount of drivers, wires and Ports, the output is multiplexed. This means only one line is active and all others are blanked. (The scrolling frequency is about 300Hz.) Therefore the LED current can be increased till the LEDs emit at their usual brightness or the max. pulse current is reached. To meet the demands of the most installations, the matrix can run in two modes: Matrix-Micro or Full-Matrix. Additionally to one of those extensions a transceiver is needed. DMX-Transceiver (Rev. 3.01)
Because of the complete usage of the RS485 converter, a bidirectional transfer of data is possible (i.e: RDM as described in ANSI E1.20). Till now this feature is only supported by a few expensive devices. Though the circuit is only made of an AVR and few other parts I recommend a diy etched board.
| ||||||||||||||||||||||||
| IC1 IC2 IC3 B1 LED1 LED2 R1 R2,3,4 C1,2 C7 C5,6 SW1 Q1 connectors |
ATmega8515-16PU 75176B 7805 rectifier (round) LED 5mm red LED 5mm green 10k (PT10-S) 390 Ohm 27pF 100nF 100µF DIP-Switch (10) 8MHz (HC49) pin header (single) |
As you can see, the schematic is quite simple: The heart of the controller is the firmware of the mcu (IC1). The start address is set with SW1. The LEDs indicate the status of the controller. The parts around IC3 are responsable for an exact Vcc of 5.0Vdc. IC2 is the RS485-Transceiver. It allows our controller to communicate via DMX512 with other equipment.
For a dimmer- or switchpack you have to connect the pins of "output" with the "-"pins of the dimmer-/switchmodules because a mcu can drive bigger loads as a current sink. The "+"inputs of all modules must be connected to vcc.
The "spare" port is used for additional pins or to jumper different modes.
AC1&2 have to be connected with a power supply of 9-12V ac or dc. 3-5W should be sufficient.
The following schematic shows you how to connect the transceiver with the DMX bus:


The board is 48 * 76 mm^2. The resolution of the picture above is 300dpi.

On the resources site you can find a manual for programming AVRs. The 8MHz crystal has to be selected as clock source by changing the fuse bits.
After choosing the crystal as clock source, you can write the Matrix-Firmware in the Flash of the AVR.
If the ZC input is left open, the transceiver runs in micro mode in which 3*8channels are generated. Because of the high duty cycle (1/3) the current does not need to be increased much. The max. current of an AVR pin is about 40mA - if you need more, please use source drivers like the UDN2981.

The schematic is an example for a 2*2-matrix. The transistors can be replaced with driver ICs or logic level mosfets.
Pulling the ZC input to GND (connect the mid pin to the one next to the wire-bridge) the transceiver operates in full-matrix mode and generates 8*8channels. Therefore the duty cycle is 1/8.

The circuit above is an example for a 2*2 matrix. The shift register (IC2) selects the current row and IC1 is used to drive currents up to 500mA. (Spare3 is not used at the moment.)
The max. current of an AVR pin is about 40mA - if you need more, use a source driver array like the UDN2981...
While the transceiver is booting, the ErrLED is on. A change of relevant DMC channels is indicated by a flashing green LED. The red one repeats error codes until the bug is fixed:
| Pattern | Error | Solution | |
|
|
flashing | There is no signal connected to the transceiver. | Connect the transceiver to the DMX bus. |
|
|
double flashing | The signal is not accepted as DMX. The transceiver cannot receive all required channels. |
Swap D+ and D- at the DMX connector. Transmit more channels or choose a lower start address. |
![]() |
![]() |
![]() |