![]()
|
_ |
DMX Matrix
To save drivers, cables and connectors, the outputs of a matrix are multiplexed. This means that only one row is active for a short time before switching to the next. The operating current of the LEDs can therefore be increased until either the usual brightness or the 'max. pulse current' is reached. To meet a wide range of requirements, the matrix can be operated in two modes: Matrix-Micro and Full-Matrix. In addition to one of these shields, a DMX Transceiver is required.
DMX Transceiver (Rev. 3.2)With this module, DMX data can be sent and received. However, due to using a microcontroller, this circuit is not ideal for beginners. The Transceiver is suitable for bidirectional communication (e.g. RDM according to ANSI E1.20) due to the complete connection of the RS485 converter. Industrial-quality circuit boards are available in the shop.
|
IC1 IC2 IC3 D1 LED1 LED2 R1 R2,3,4 C1,2 C3,4 C5,6 SW1 Q1 connectors |
ATmega8515-16PU (+socket!) 75176B (+socket!) 7805 1N4007 LED 5mm red LED 5mm green 10k (PT10-S) 390 Ohm 27pF 100nF 100µF DIP switch (10x) 8MHz (HC49) pin header RM2.54 |
As you can see, the circuit is quite simple: All the magic happens in firmware within the MCU (IC1). It is transferred to IC1 via the "ISP"port. The start address and special options (if any) are set via ADR. The LEDs serve as status indicators. The voltage regulator IC3 ensures a stable operating voltage of 5V. Q1 and C1,2 are needed for an operating frequency of 8MHz. The RS485 converter IC2 allows the MCU to communicate with the DMX universe. With the help of "Spare", various firmware options can be jumpered. Via A-Input, an analogue threshold value (e.g. for thermal protection) can be read.
A supply voltage between 9V and 12V dc is connected to PWR. The DMX Transceiver itself requires <300mA. When selecting the power supply, all loads must be taken into account.
pcb layout (48 * 76 mm^2; 300dpi) |
placement |
The transceiver is connected to the DMX bus as shown in the next diagram:
Attention: Pin 3 of the XLR connectors is connected to the middle pin of the PCB connector!
Instructions for programming and selection of clock sources can be found under 'Resources'.
After selecting the crystal as clock source, the matrix firmware can now be transferred to the DMX Transceiver. This firmware evaluates the next 24 or 64 channels after the start address.
If the ZC input of the Transceiver is left open, it works as a matrix micro. In this case, 3*8channels are driven and the duty cycle of one individual line is still relatively high at 1/3, so that the current only needs to be increased slightly. Please note that the pins of an AVR can supply max. 40mA - if this is not sufficient, source drivers (e.g.: UDN2981) can be used.
The circuit above is an example of a 2*2 matrix. Of course driver ICs or logic level MOSFETs (e.g.: IRLZ44) can be used instead of transistors.
If the ZC input is jumpered to GND, the Transceiver works as a full matrix and outputs 8*8 channels. The duty cycle is accordingly 1/8.
The above circuit is an example of a 2*2 matrix. IC1 is needed to switch currents of up to 500mA. (Spare3 is currently not used).
In multiplex mode, the current for the LEDs may be increased. Since the pins of an AVR can drive max. 40mA and I wanted waive source drivers (e.g.: UDN2981), the resistors were dimensioned to 35mA. (If the maximum brightness is needed, one can still use a source driver...)
The ErrorLED should light up during start-up. A change in the relevant relevant DMX channels is acknowledged with a flashing of the green LED. An error is indicated by the ErrorLED flashing:
Pattern | Error | Solution | |
![]() |
single flashing | There is no signal present at the Transceiver. | Connect the Transceiver to the DMX bus. |
![]() |
double flashing | The signal is not recognised as DMX. Not all required channels are received. |
Swap D+ and D- on the DMX connection. Transmit more channels or select a lower start address. |
![]() |
![]() |
![]() |