I'm working on a building a dim-able 8x16 AC-powered incandescent bulb matrix. I've pretty much nailed down the technique for the dimming using zero-cross detection and timed TRIAC switching: http://arduinodiy.wordpress.com/2012/10/19/dimmer-arduino/
Each bulb will have its own TRIAC controller module with the TRIAC receiving a single bit control (ON/OFF) from a microcontroller via an optocoupler. Thus, each refresh and update requires 128 bits of data, one bit for each bulb in the matrix. For ease of wiring, I want to use a board-to-board serial connection for the TRIAC control bits. My queries are related to the nature of a serial interface that allows the propagation of those 128 bits through the matrix as quickly and reliably as possible.
I've included a schematic for a single module. It consists of a dual D-type flip flop that uses a 3-wire interface to clock the data bits through the matrix and then latch them to the TRIAC. The 128 bits needed to refresh the matrix are clocked through the first flip flop in each of the 128 modules and then the whole 128 bit control word is latched to the second flip flop on each module. It's basically a giant 128 bit shift register.
I don't have any experience with DIY serial hardware and I'm specifically worried about the integrity of the CLOCK and LATCH signals as they propagate through the matrix. I've buffered both the CLOCK and LATCH on each module using a non-inverting Schmitt-trigger buffer. I figured buffering would make the system more immune to noise? The wire run between modules will be something like 4-6". I was hoping to use 6 conductor ribbon cable, so no twisted pair if possible. Finally, the modules will be on professionally fabricated PCBs. The AC power and low voltage DC control signals are separated by optocouplers with the AC portion on one half of the board and the DC portion on the other.
For the sake of simplicity and cost, I'm trying to avoid using any of the standard serial interfaces. Also, because each module only needs a single bit of data, a multi-word serial interface seems like overkill.
I was hoping the wise folks here could point out any pitfalls I might be missing. Specifically, is there a risk of problems with clock integrity using this set up due to the rapid AC switching? Anything else I should watch out for? Am I being totally naive in thinking that this will work in a noisy AC environment?
Each bulb will have its own TRIAC controller module with the TRIAC receiving a single bit control (ON/OFF) from a microcontroller via an optocoupler. Thus, each refresh and update requires 128 bits of data, one bit for each bulb in the matrix. For ease of wiring, I want to use a board-to-board serial connection for the TRIAC control bits. My queries are related to the nature of a serial interface that allows the propagation of those 128 bits through the matrix as quickly and reliably as possible.
I've included a schematic for a single module. It consists of a dual D-type flip flop that uses a 3-wire interface to clock the data bits through the matrix and then latch them to the TRIAC. The 128 bits needed to refresh the matrix are clocked through the first flip flop in each of the 128 modules and then the whole 128 bit control word is latched to the second flip flop on each module. It's basically a giant 128 bit shift register.
I don't have any experience with DIY serial hardware and I'm specifically worried about the integrity of the CLOCK and LATCH signals as they propagate through the matrix. I've buffered both the CLOCK and LATCH on each module using a non-inverting Schmitt-trigger buffer. I figured buffering would make the system more immune to noise? The wire run between modules will be something like 4-6". I was hoping to use 6 conductor ribbon cable, so no twisted pair if possible. Finally, the modules will be on professionally fabricated PCBs. The AC power and low voltage DC control signals are separated by optocouplers with the AC portion on one half of the board and the DC portion on the other.
For the sake of simplicity and cost, I'm trying to avoid using any of the standard serial interfaces. Also, because each module only needs a single bit of data, a multi-word serial interface seems like overkill.
I was hoping the wise folks here could point out any pitfalls I might be missing. Specifically, is there a risk of problems with clock integrity using this set up due to the rapid AC switching? Anything else I should watch out for? Am I being totally naive in thinking that this will work in a noisy AC environment?
Attachments
-
86.9 KB Views: 32