A while ago I got my hands on some old split-flap displays from a train station. Yesterday I finished driver circuits for 8 of the segments. It was only just in time to also quickly implement a clock algorithm for an extraordinary clock to display the turn of the year. Don’t miss the movie at the end of this posting.
The original driver circuits consisted of a Zilog processor, an EEPROM, an optocouppler for driving the 42V synchronous motor, transistors, two reflective IR-sensors for segment position and a few passive components. Since I do not have any information about the original interface and protocol, I decided to implement my own driver circuit and directly connect to the sensors and motor.
So each segment has its own driver circuit, built around a PIC12F683. Cheap optocouplers MOC3023/MOC3063/IL410 are used for switching the motor. The controller has to switch the IR sensor LEDs individually, because there is only one signal output for the two sensors. There are also two status LEDs and a button for debug features and for configuring the segment address. The driver boards are connected to a simple one wire bus, where they listen for commands and write status response to.
One of the greatest problem was to connect all the devices to only six I/O-pins of the PIC. I got it done by only using one pin for the two status LEDs, using the high impedance state and multiplexing for driving both of them via one port pin. Also the motor output signal to the optocoupler is formed by the two sensor LED outputs or-ed together using two diodes. Since the sensors are only needed when the motor is on, this saved me another port pin.
The clock application is quite funny, but far too loud to make a good project. So I am looking for a better way to use the displays. Maybe some kind of build status display for our continuous integration server at work.