This firmware is designed for "DMX Freaks" only.
The analyzer is made of a DMX transceiver and a 2x16 char text LCD (HD44780 compatible). It can be controlled via three push buttons.
DMX-Transceiver (Rev. 3.01)
With this modul DMX data can be received or transmitted.
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.
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:
this is the layout:
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 changing the clock source the Analyzer-Firmware can be written to the AVRs flash.
LC-Display (HD44780 kompatibel)
Please refer to the following table when connecting the LCD to the transceiver. You will find the LCD pinning in its data sheet.
The Analyzer is controlled by three buttons, switching the SPARE pins to GND.
In this mode the timing of the incoming DMX frames is measured. A DMX frame
is initialized by a Break to synchronize the finite state machine of the
receivers. To separate the start code from the Break, a Mark After Break is
needed. After the start code up to 512 DMX channels are transmitted. Many
manufacturers insert a short delay between the channels. These inter byte gaps (aka
inter slot times) help poorly designed receivers to capture the previous byte
Break: 176µs - 352µs
In this mode the size of the universe, the refresh rate and the error rate are measured. The refresh rate should be higher than 20Hz. The maximum universe size are 512 channels. If the start code after a Break is neither Null (normal data) nor 0xCC (RDM message), an error is counted.
The values of 10 consecutive channels are displayd as bar graphs. The channels can be chosen with the Up/Down buttons.
The values of two consecutive channels are displayd. The channels can be chosen with the Up/Down buttons.
DMX Output Slow
512 channels are faded up and down. The universe is transmitted slowly because of a very long Break and inter byte gaps.
DMX Output Fast
64 channels are faded up and down. The universe is transmitted very fast because of a minimum Break length and no inter byte gaps.
DMX Output Val
512 channels are transmitted in slow mode with the chosen value.