Home Page . . . . . . . Circuits Page . . . . . . . . Email: admin - at - it2n - dot - net

I've looked at the various propellor clocks people have built and put up
on the web and wished that I could have one of those.

Two examples: Bob Blick's clock and Luberth's analog and digital spinning clock.

After sitting and drooling over those images, I finally got around to building one.

Principle of operation

The propellor clock works by mechanically moving an array of seven (or more)
Light Emitting Diodes to form a virtual array. Due to the persistence of vision of the
human eye, if the movement is fast enough, the images formed by the moving array
merge into one and the sensation is that of an image floating in the air.

The diagram below shows three steps on displaying a "1". The three images are that of
the same seven LEDs, being moved rapidly to the right.

The circuit diagram is essentially that of Blick's propellor clock, with simplifications
gained by using sliprings to feed the supply to the clock, and an infrared light beam
to trigger the display once every rotation. This allows the supply to the clock to be
separately controlled from that of the motor. A variable supply to the motor allows its
speed to be smoothly varied.

For those nit-picking seekers of information, the motor is a permanent magnet commutated
direct current motor with three poles, the windings being delta connected, fed by two brushes
spaced 180 apart.

Everything happens under the control of the program inside the PIC16F84A on the rotating
circuit board. Sliprings and brushes enable power to be conducted to it. A phototransistor on
board intercepting the infrared beam from a stationary LED gives a positional reference so
that the display can be held steady even in spite of variations in the rotational speed of the motor.

The software

The program inside the PIC is "noblink.asm" downloaded from the web, and slightly modified.
This was originally written by Bob Blick, and then modified by various persons around the web.

The corresponding hex file is also available.

The PIC16F84A is a microcontroller manufactured by Microchip Technology Incorporated, USA.
It has Program, Data and EEPROM storage inside it and thirteen of its eighteen pins may be
programmed to be either inputs or outputs. In this application, seven pins are programmed to be
outputs and drive LEDs via current limiting resistors. Three pins programmed to be inputs connect
to switches for setting the time. One pin accepts a pulse per revolution, and the software computes the
speed from this and adjusts the display accordingly. Two pins are not used. A reset pin, two supply lines
and two crystal oscillator pins complete the connections to the microcontroller.

A 4MHz crystal is used. The internal instruction clock is one-fourth of this, 1MHz in this case. Thus the PIC
executes one instruction per microsecond. An internal timer is programmed to count up to 250 and interrupt the processor.

This timer has a maximum count of 256 - it is eight bits wide. So 250 is the maximum possible divisor,
taking all things into consideration. This gives an interrupt every 250 microseconds, a frequency of 4KHz.

An interrupt service routine counts this down to get seconds. To count upto 4000 two eight bit registers are used.
Due to the peculiarities of the PIC instruction set, the two registers are initialised to a value of 65536 - 4000 and
then when an overflow happens 4000 pulses have been counted (2^16 = 65536).

This 1Hz signal is counted down by sixty to get minutes. It is counted down by sixty again to get hours. It is counted
down by twelve so that the hours can be displayed.

Three keys are monitored to check for time setting pulses. They are used to increment the hours, tens of minutes
or the minute digits for initialising the time displayed.

An area in the program memory of the PIC holds a look up table with the dot patterns for the ten digits. As the arm
carrying the seven LEDs move from left to right, they have to light up columnwise for each digit.

A counter keeps track of the time taken for each revolution. This is monitored by the software looking at a pin which
gets a pulse every revolution. The speed of the display is adjusted using this value so that the digits take up the same amount
of space even when the speed of rotation varies.

Construction

The first thing to do was to get the circuit board. Easy. I cut a wedge shaped piece off a large square copper clad circuit
board purchased for the purpose.

Small islands were cut at the narrow end for the LEDs. Small chip resistors of 240 ohms were soldered in series with each
LED to limit the current.

A problem then became apparent: the width of the circuit board was not sufficient for the seven LED lines plus return, a total of
eight connections required to run back to the driver chip. So the connections were made with enamelled copper wire.

To reduce the profile of the integrated circuit, its socket was fabricated "in board": holes were drilled in the eighteen positions large
enough to accept the contacts extracted from a turned pin socket. The pins were pushed in all the way and soldered, making an
extremely low profile socket. Adding a 4MHz crystal and the two capacitors across it completed the circuit.

Not quite. The power supply, a means of rotating the board, and a suitably programmed processor to be placed in that socket were
then devised.

The easiest way of rotating the board is to just mount it, suitably balanced, on a shaft and give it a spin by hand when you need to
read the time, a "fidget clock". But I needed to put this up on display, without the possibility of clumsy hands breaking it up by the
(deliberate?) application of too much force. So I delved into my junk box and came up with a few motors that actually worked when
applied to a battery.

After much experimentation, the smallest of these was chosen because it will be easiest to support on a model windmill sort of
arrangement built from perspex.

A plastic pulley from one of the motors was fastened on to the circuit board with
superglue. A counterweight on the other end of the board compensated for the
uneven weight distribution. Sliprings and brushes were devised to supply power
to the rotating clock board.

Closeup view of the sliprings and "momentary contact". The sliprings are pieces cut off from brass tubing,
slipped over and glued over the long shaft of the plastic gear wheel. The contact is a piece of stiff wire sticking up
from the circuit board. It makes contact once per revolution with a third brush, serving to synchronise the display
with the rotation of the board.

The "momentary contact" to synchronise the display with the rotation of the board was found to be unreliable,
and changed for a non-contact method using a beam of infrared light. An infrared LED on the base is held so that
it illuminates a phototransistor on the moving board once per revolution.
The phototransistor and infrared LED were salvaged from an old floppy disk drive.

Surface mount components salvaged from an old hard disk drive were used to save space and weight. They are a bit
fiddly to handle and solder into position but have the advantage of requiring less space and the board does not need to
be drilled to accommodate them. The circuit board was prepared by cutting the copper away using a sharp knife to
make the circuit patterns and jumpers soldered in wherever necessary. A lightweight board requires only a small power
to make it rotate, making it possible to use a small motor which looks better in the finished clock.

This shows the completed board, the motor rotating it mounted on a sort of tower made from perspex tube.

The base of the tower is an inverted plastic plate. The red fittings are plastic bottle caps.

The finished clock in action, displaying the time.

Home Page . . . . . . . Circuits Page . . . . . . . . Email: admin - at - it2n - dot - net