So far the description is very sketchy but it takes a while to reinvent the wheel and make it square.
Here I'll cover the chaining circuit : the shift register is initially cleared and progressively "filled" by the value 1. This value comes from the power-on reset circuit but can also be controlled by an external circuit, through an opto-coupler.
- In stand-alone mode, a switch connects the P.O.R. circuit directly to the data input of the shift register.
- In chained mode, an external 5V signal (coming from another sequencer or a programmed controller such as an Arduino or Raspberry Pi board) will control the data-in input.
The shift register's output is available to the outside, either as feedback to the control board and/or to be chained to the next sequencer's Data In connector.
The mains supply circuit is a bit more complicated because it needs to provide protection, power, clock and failure detection.
- Protection comes from a fuse/resistor in series with a MOV and/or a Gas Discharge Tube (GDT).
- Power comes from the PSU module, described before. The output is isolated and floating, for increased safety, yet all I/O are optocoupled (see the first picture).
- The clock comes from the mains itself. As explained in a previous log, the optocoupler is powered by the drop of a couple of diodes This is in series with the PSU because some current must pass for the LED to work. Whether the PSU will draw enough current remains to be measured though.
- The failure detection, and Power On Reset, come from the absence of clock signal. Here I have just used a RC network that constantly gets discharged, and charged only when there is a clock pulse.
This is still far from perfect and I'm not an expert in mains-facing circuits. For example, I have GDT but the Resistor/fuse is still to be determined. Phase detection should be better designed, because the duty cycle depends on the PSU's draw, which is proportional to the output load, etc.