This is only a preview of the September 2022 issue of Silicon Chip. You can view 38 of the 112 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Articles in this series:
Items relevant to "WiFi Programmable DC Load, Part 1":
Items relevant to "New GPS-Synchronised Analog Clock":
Articles in this series:
Items relevant to "Mini LED Driver":
Items relevant to "Wide-Range Ohmmeter, Part 2":
Articles in this series:
Purchase a printed copy of this issue for $11.50. |
of
-S
og
oc
GPS
y
h
c
n
e
d
s
i
A
n
nal
o
r
Cl
Ge
f
a
r
G
s
’
m
ha
k
w
it
h l
o n g b at t e ry
e
f
li
This GPS Clock Driver converts an ordinary wall clock into a highly-accurate
timepiece that will keep exact time (within seconds) for up to eight years
using a pair of C cells. You need not touch the clock during that period; it will
automatically adjust for daylight saving by adding and subtracting an hour
exactly when needed. This is a clock you can rely on to tell you the correct time.
is amazing how useful it is to have
it
at least one highly accurate clock
in the house. At a glance, you know the
correct time without having to remember if that clock is running slow or fast
and by how much.
Most people would be happy with
a wall clock that was accurate to the
minute, but with this project, it will be
accurate within a few seconds. Even
better, any inaccuracy will not accumulate – the clock will remain that
accurate for the life of its battery.
Adjusting for daylight saving is an
annoyance with traditional quartz wall
clocks. Twice a year, it forces you to
get up on a chair or step stool to take
down the clock and adjust its hands.
Our GPS Driver automatically makes
those adjustments for you.
At 2am on the day specified for the
start of daylight saving, the clock will
begin running fast until it has added
the required hour. Then, at 3am on
the day specified as the end of daylight saving, the clock will run slow or
stop until it has returned to the non-
daylight saving time.
This is accomplished using a GPS
module to get the precise time from
the network of GPS satellites and
some clever software to control the
clock’s hands.
We have published similar designs
many years ago (the last was in February 2017), but they all had a relatively
short battery life. By using ultra low
power components and some extra
tricks in the firmware, this design will
run for about two years on a pair of AA
cells and up to eight years with C cells.
It will work with most wall clocks
on the market. All that is needed is a
modification to connect wires to the
stepper motor in the clock’s movement. Luckily, that is usually easy.
Scope 1: the output of the GPS Clock Driver for a stepping movement consists of
alternating positive and negative pulses that make the rotor in the clock’s motor
to make a 180° step with each pulse. Each pulse is about 40ms in duration, and
they are delivered once per second.
Stepping clocks
Scope 2: the output driving a sweep movement; a continuous stream of positive
and negative pulses at 8Hz. Each pulse is 31.25ms long with 31.25ms between
pulses, resulting in 16 pulses per second. At low battery voltages, the clock
driver lengthens the pulse time by 24% and reduces the idle time by the same
amount, delivering more energy to the clock’s motor.
There are two types of analog wall
clocks: stepping clocks, where the
second hand steps once a second, and
sweep clocks, where the second hand
moves smoothly around the dial. Stepping clocks are more common than
sweep types. They have a Lavet-type
stepping motor consisting of a small
magnet that rotates between a coil’s
magnetic poles.
The clock driver delivers alternating positive and negative pulses to this
coil, and the rotor rotates 180° with
each pulse. Each pulse is about 40ms
in duration, and one is delivered per
second (as shown in Scope 1), causing the second hand to advance once
per second.
Stepping clocks vary considerably
in quality and price. We purchased
an example for testing from Kmart for
the princely sum of $2.75 and, while
it was not the best, it was also not the
worst clock movement. Its accuracy
was terrible but, as we are replacing
its driving circuit with our own, that
doesn’t matter.
Typically, stepping clock movements have a coil resistance between
200W and 500W, with a higher
siliconchip.com.au
Australia's electronics magazine
resistance indicating a longer battery
life (the Kmart special was 375W).
Sweep clocks
Sweep clock movements, sometimes called silent or continuous
movements, have a similar drive motor
except that it is driven by a continuous stream of positive and negative
pulses at 8Hz, as shown in Scope 2.
This continuously spins the rotor,
with its momentum keeping it moving between each pulse, so it does not
make individual steps like the stepping type movement.
September 2022 57
Einstein’s theory of relativity and GPS accuracy
GPS satellites circle the Earth at an altitude of 20,000km and are used to ‘trilateration’ locations using precise onboard clocks. In their high-altitude orbits,
the clocks experience a weaker gravitational field, so spacetime is warped differently for them compared to clocks on Earth. The effect is that the clocks
speed up at a rate of 45μs/day.
The satellites are also whizzing around at pretty high speeds (about
14,000km/h), and the time dilation predicted by Einstein’s special theory
amounts to slowing the clocks by 7μs/day. Together, these effects amount to
a net speeding up of 38μs/day.
That doesn’t sound like much, but ignoring it would lead to a vast inaccuracy
in the global positioning system within a few hours. Light travels over 10km
in 38μs, and that sort of error in position per day wouldn’t make for accurate
navigation.
The solution is to slow the satellite clocks by a precise amount calculated
using Einstein’s theory of relativity so that they match time measured on the
Earth’s surface. This allows the system to work to accuracies of metres rather
than kilometres.
Edited excerpt from “Why does E=mc2” by Brian Cox and Jeff Forshaw, ISBN
978-0-306-81758-8
As a result, the second hand moves
continuously (sweeps) around the
dial, and the clock is silent. This contrasts with the stepping types, which
make an audible tick sound every
second.
Each pulse is 31.25ms in duration
with a dwell time of 31.25ms between
pulses, resulting in 16 pulses per second. Because the motor is drawing
current 50% of the time, you would
expect the battery to be flattened in
no time compared to a stepping clock.
Sweep movements avoid this by utilising a coil with many more turns and
a higher resistance (typically 5kW).
Sweep clocks are more expensive,
typically $50 to $150. However, we
found an excellent example at IKEA
(the “TJALLA”) for just $16, and it
performed pretty well, rivalling a
genuine Seiko sweep movement that
we purchased for around $30. The
only problem with the IKEA movement was that it was difficult to pull
apart to modify, and even harder to
reassemble.
Keeping perfect time
When the clock is running, the GPS
Clock Driver will need to occasionally
add or subtract a second to keep the
hands accurate. This is easy for a stepping movement; the Driver delivers
two pulses in one second to advance
the clock by one second, or no pulses
for a second to retard it by one second.
With daylight saving, this is more
noticeable. When daylight saving
starts, the hands need to advance by
one hour and to do this, the Driver
generates two steps every second for
an hour until the hands have reached
the correct daylight saving time. At
the end of daylight saving, the clock
will stop stepping for an hour until
the time catches up with the position
of the hands.
Sweep movements need a different
approach because we must maintain
the momentum of the spinning rotor; it
cannot simply go twice as fast or stop/
start. So, the adjustment must be more
subtle. To add or subtract a second,
the movement is run 12.5% faster or
slower for eight seconds.
With daylight saving, this means
that it will take eight hours to add the
required hour and a similar time to
retard by an hour. While this is a long
time for the clock to be catching up,
it only happens twice a year. Instead,
you could disable daylight saving in
the setup and manually adjust the
hands when required.
How the Clock Driver works
Fig.1 is the GPS Clock Driver block
diagram. Microcontroller IC1 generates a sequence of positive and negative pulses that are buffered by op
amp IC2. IC2 drives the motor in the
clock movement.
A crystal oscillator running at
32768Hz (215) drives a 16-bit counter/
timer in IC1 to generate the precise timing required. Importantly, this timer
can operate while the microcontroller’s core is in sleep mode, so it only
consumes a few microamps.
The microcontroller spends most of
its time in this low-power sleep mode.
When it is time to generate an output
pulse, the timer wakes the CPU to drive
the output pin to start the pulse, and it
resets the timer to wake again when the
pulse is due to finish. When it wakes
again, it terminates the output pulse,
sets the timer for the next pulse and
goes back to sleep.
This continues forever, with the
microcontroller jumping in and out
of sleep and toggling the output pin to
generate the pulse train for the clock’s
motor. The CPU’s running time is short
compared to the sleep time, so the
average current drawn by the micro
is very low.
Fig.1: the GPS Clock Driver uses a crystal oscillator running at 32768Hz and a 16-bit counter/
timer within microcontroller IC1 to generate the precise timing required to drive the clock motor.
IC1 generates a sequence of positive and negative pulses that are buffered by op amp IC2 to drive
the clock movement motor. IC1 spends most of its time in sleep mode to extend battery life.
58
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
The sequence of pulses to the clock’s
motor alternate between positive
and negative, with a dwell time in
between. This is achieved by switching the pin between high, low and
high-impedance.
Op amp IC2 buffers this signal to
drive the clock by bringing its output to
the positive terminal of the upper cell
or the negative terminal of the lower
cell, or the junction for the dwell time
between pulses. This divides the load
between the cells, with each providing half the power for the clock motor.
GPS synchronisation
Not shown in Fig.1 is the boost
voltage regulator that powers the GPS
module. Occasionally, after delivering
a pulse to the motor, the firmware will
not put the CPU to sleep but will keep
running and enable the boost regulator, which delivers a regulated 4V to
the GPS module. It will then get an
accurate time from the constellation
of GPS satellites.
Generally, it takes less than a minute for the GPS module to locate sufficient satellites and return the precise time. When the microcontroller
has received this time, it shuts down
the regulator and makes some calculations to determine any timekeeping
errors. After this, it reverts to its regular strategy of sleeping until the next
pulse is due.
Initially, the time between GPS synchronisations is set to 12 hours, but
over time the firmware will increase
this to five days. The average battery
power required for GPS synchronisation is minimal, so this process does
not materially affect the battery life.
The firmware keeps track of the
position of the clock’s hands as the
number of seconds since 1st January
2000. The GPS time is also converted
to this format, so it is easy for the firmware to compare the two and calculate
any correction that may be required.
The difference between the two
numbers represents the error in the
32768Hz crystal oscillator, which is
used to keep the time between GPS
synchronisations. By working out this
error, the firmware can correct for it
over the next period between GPS synchronisations by occasionally adding
or skipping a second as needed.
This will start working following
the second GPS synchronisation and
will keep the clock accurate regardless
of any error in the crystal, including
siliconchip.com.au
compensating for additional errors
due to temperature and ageing of the
crystal. The practical effect is that,
apart from the first day, the clock’s
hands will always be accurate within
a few seconds between GPS synchronisations.
Also, the next GPS synchronisation
should not need a large correction;
maybe only a second or two (or possibly none).
When the boost regulator and the
GPS module are initially powered,
they can draw a lot of current, especially if the cell voltages are low. This
cannot be sustained by a battery on its
last legs, so the firmware measures the
battery voltage when running the boost
regulator. If it is below 2.25V (1.125V
per cell), it will skip any subsequent
GPS synchronisations.
This will have little effect on the
clock’s accuracy as it will only occur
towards the end of the battery’s life,
and by then, the firmware will have
a good idea of any error in the crystal
and will continue to compensate for it.
Circuit details
The full circuit, shown in Fig.2,
is based around a Microchip
PIC16LF1455 microcontroller. It is
an extra-low-power device that can
operate with a supply voltage as low as
1.8V (0.9V per cell in this case). Most
clock movements will stop running
between 0.9V and 1.0V per cell, so the
microcontroller will run for as long as
the clock’s motor can keep going.
This microcontroller also has USB
support, so a mini Type-B socket is
provided for configuration (CON4).
When a host is connected or removed,
the microcontroller will detect the
USB +5V voltage on its pin 9.
The 5V is dropped to 2V by the
10kW/6.8kW resistive divider, so it will
not damage the microcontroller when
the battery is at 1.8V. It will still be
recognised as a high logic level when
the microcontroller runs from a fresh
battery (3.2V).
The GPS Clock Driver on the back of an IKEA “TJALLA” sweep clock. The
movement has been modified to bring the connection to the clock motor’s
coil out through a hole. The Driver PCB was designed to be small as there is
often little space behind a wall clock.
Australia's electronics magazine
September 2022 59
Fig.2: the Microchip PIC16LF1455 microcontroller (IC1) runs the show. It steps the clock movement by driving its
pin 8 high for a negative pulse, low for a positive pulse or setting it to high impedance during the idle time between
pulses. Op amp IC2 buffers this signal and uses the centre point of the two batteries as its reference to drive its output
either positive or negative. When the microcontroller needs to get the GPS time, it drives its pin 7 high, causing the
boost regulator (IC3) to start running and power the GPS module.
Any change in the voltage on pin
9 will cause the microcontroller to
restart. If, upon restarting, the USB
voltage is present, the firmware will
set the microcontroller’s clock speed
to 16MHz and enable the USB interface. LED1 will flash three times to
indicate that the firmware is in configuration mode.
If the USB voltage is not detected
on startup, the clock speed will be set
to 4MHz, and the USB controller will
be disabled (both to save power). The
firmware will go through the usual
clock startup routine, flashing LED1
twice.
The PIC16LF1455 has an unusual
feature: it can use the host’s USB signalling rate to fine-tune its internal
clock. The USB specification requires
a high accuracy in this timing and
that generally requires a 12MHz, or
similar, crystal oscillator. But the
PIC16LF1455 does not need this,
which frees up two pins and makes for
60
Silicon Chip
an easy-to-implement USB interface.
The microcontroller steps the clock
movement by driving its pin 8 high
for a negative pulse, low for a positive pulse or setting it to high impedance for the idle time between pulses.
This controls op amp IC2 (MCP6041),
which uses the centre point of the
two cells as its reference and drives
its output either positive or negative
relative to that.
The MCP6041 has several desirable characteristics: its output will
swing rail-to-rail, which means that
little of the precious battery voltage
is lost within the op amp. It also has
an extremely low quiescent current
(less than a microamp), so the battery
is conserved between pulses, and it
will operate at a supply voltage well
below 1.8V (0.9V per cell).
Boost regulator
When the microcontroller needs
to get the GPS time, it drives its pin
Australia's electronics magazine
7 high, enabling boost regulator IC3,
a Microchip MCP16251. It generates
about 4V at its pin 5. This is set by the
ratio of the 2.2MW and 1MW resistors;
4V was chosen so that the regulator
will have some headroom to regulate
the output voltage with fresh cells.
The MCP16251 disconnects its output when it is disabled by a low voltage
on its pin 3. This is unusual in a boost
regulator, and is an important characteristic as it prevents the GPS module
from draining the battery when it is
not being used.
The output from the GPS module
(VK2828U7G5LF) is a standard asynchronous serial stream at 9600 baud
with TTL signalling voltages. To protect the microcontroller when the battery voltage is low, BAT85 diode D1
clips its output to just a little over the
battery voltage.
The module comes with a connector and colour-coded flying leads,
as shown in Fig.2. It also has two
siliconchip.com.au
indicator LEDs; the red LED, which
indicates power, while the green LED
will flash at one pulse per second.
Battery life
The main factors determining how
long the batteries will last are the current drawn by the clock’s motor and
the quality of the cells used.
The Kmart stepping clock drew
an average of 170µA while the IKEA
sweep clock averaged 135µA (both
with a drive signal of 1.5V peak-topeak), typical of these types of movements. Because the GPS Clock Driver
powers the motor from both cells, the
typical average current drawn from
each is 70-85µA.
The average current drawn by the
microcontroller is about 18µA, which
applies to both cells. The shutdown
current of the boost regulator and a
few other sources add about another
3µA per cell.
Finally, there is the current consumed by the periodic operation of
the GPS module. The peak current
is up to 100mA, but it is only drawn
for a short period every five days, so
its long-term average is quite low at
about 5µA.
Adding all of this together means
that a typical clock will draw about
100µA from each cell.
To keep the clock running for longer
on low battery voltages, the firmware
changes the pulse train duty cycle if
the battery voltage is less than 1.125V
per cell. It lengthens the pulse time
by 24% and reduces the idle period
by the same amount. The waveform’s
frequency is the same, so it does not
affect the timekeeping accuracy, but
it delivers more energy to prevent it
from stalling.
This allows a sweep clock to continue operating below 1V per cell,
thereby using the last erg of energy in
the cell and lengthening the running
time. The effect on a stepping clock
is not as significant, but most will last
until 1V is reached.
By the way, if you are testing the
minimum running voltage for your
clock, you need to mount it in a vertical position. The effort required to
raise the second hand against gravity
will cause the clock to stop early compared to if it is mounted horizontally.
Also, if you are not concerned
with having a second hand, you can
remove it, and the clock should run
for a few weeks longer because it
siliconchip.com.au
does not have to put in that additional effort.
Good-quality alkaline AA cells have
a capacity of 2000mAh or more with
light loads (terminating at 1.0V) so,
with a total current draw of 100µA,
you could expect the battery to last
about two years. Obviously, this can
vary considerably depending on the
quality of the movement and the cells,
but it is a reasonable estimate.
If there is room behind the clock,
you could separately mount two C
cells which have a capacity about four
times that of the AA cell, so you could
expect up to eight years of operation
(see below). The limiting factor would
be the quality of the cells and their rate
of internal self-discharge.
Sourcing the parts
The easiest way to source the parts
is to purchase a kit from the Silicon
Chip Online Shop. This includes all
the components needed except for
the clock and cells (see the parts list
for more details). The kit includes a
pre-programmed microcontroller.
However, if you have purchased the
parts separately, you will need to program it yourself. There are six solder
pads on the PCB for mounting a pin
header. This is not usually populated,
but if you want to program the chip
in-circuit, you can install the header
and connect a PIC programmer such
as a PICkit 3 or PICkit 4.
The firmware is available from the
Silicon Chip website as well as http://
geoffg.net/gpsclockdriver.html
It is worth checking for updates from
time to time, as there is the possibility that a bug will be found and fixed.
Besides the PCB and microcontroller, the other components are standard
and can be purchased from the usual
suppliers. However, you won’t find
all the parts at Jaycar or Altronics (or
likely any source), and ongoing parts
shortages mean that you should check
that you can get all the parts before
you start ordering. The availability of
the kit means you can avoid that hassle, though.
Do not substitute the BAT85 diode
with another type. It is a schottky type
for a low voltage drop, but it also has a
low reverse leakage, which is needed
to extend the battery life.
We have specified the V.KEL
VK2828U7G5LF GPS receiver, a great
performer that is readily available at a
good price. If you want to use another
module, that will probably be OK. Just
make sure it uses TTL signalling and
not RS-232 levels.
The firmware will automatically
try the typical communication speeds
used by these modules (4800, 9600 or
19,200 baud). It uses the NMEA RMC
A clock using separately-mounted C cells for power. C cells have a capacity
about four times that of AAs, so a lifetime of up to eight years is possible.
However, that will depend on the cells’ quality and their internal selfdischarge rate. The PCB is much smaller without the onboard cell holders.
Australia's electronics magazine
September 2022 61
Fig.3: assembly of the GPS Clock Driver is pretty straightforward. Start by soldering the three SMDs (IC3, L1 and
CON4) and check carefully that they all have good solder joints before fitting the through-hole parts. The cell holder
polarity is critical, while the LED needs to have its longer anode lead inserted into the pad labelled +. The ICs and
diode also need to be orientated correctly.
message generated by the GPS module, which is standard across all manufacturers.
When purchasing the clock, you
could choose a clock design that is
attractive but swap out the movement for something else. Most highend clock manufacturers have standardised the physical dimensions of
the clock movement and its mounting
arrangement. However, this does not
apply to cheap clocks, which do not
follow any standard.
You can also buy movements online
with a wide variety of matching hands.
So, making your own clock with a
unique clock face is also an option.
The fully populated Driver PCB. The tactile switch for adjusting the second
hand is near the top edge, alongside the USB connector for configuring
the firmware. On the far top right are the inductor and other components
associated with the boost regulator that provides 4V for the GPS module.
You will need a x10 or more magnifier to read these letters (some smartphone cameras will do it too). The first
two should be “MB”, while the last
two can be anything. Pin 1 is at lower
left with the letters the right way up.
To solder the chip, first coat the PCB
pads with flux paste, then place a tiny
solder bump on a corner pad. Position
the chip and, while holding it down,
apply the iron to that pad.
With the first pin tack-soldered and
the chip held in position, check and
adjust the orientation of the other pins
before soldering them. Always apply
plenty of flux and use minimal solder
on your iron.
Next, fit the USB connector. This has
two small plastic posts on the underside that go into two holes in the PCB
to position it. Coat the pins and PCB
pads with flux gel and, with a small
amount of solder on your iron’s tip,
slide it across the PCB pad to the connector’s pins. When the tip of the iron
hits the pin, the solder should magically flow around it.
With these small devices, it is easy to
create solder bridges between the pins,
but they can be removed using solder
wick (braid). Finally, check all joints
with a powerful magnifier (x10 or x20)
to ensure that each joint is correctly
soldered with no bridges. Don’t forget to solder the larger mounting tabs.
The inductor is the last SMD. Start
by placing a small solder bump on one
PCB pad, and then, while holding the
inductor in place, apply heat to that
pad. That should secure it in place.
Then, use rosin-cored solder wire to
solder the other lug before refreshing
the first solder joint.
Australia's electronics magazine
siliconchip.com.au
Construction
The GPS Clock Driver is built on
97 × 55.5mm PCB coded 19109221,
shown in Fig.3. It was kept small as
62
Silicon Chip
there is often little space behind a
wall clock.
You can cut off the end section of
the PCB with two AA cell holders if
you will use separately-mounted batteries. That results in a 64.5 × 55mm
PCB that should fit almost anywhere.
If cutting the board, do that before
fitting any components. Use a metal
ruler and a sharp craft knife to deeply
score the PCB on both sides deeply,
then snap the board apart and tidy up
the edge with a file.
The first component to solder is
IC3, the MCP16251 in a 6-pin SOT23 package. It is quite small but not
overly difficult with a steady hand.
First determine its orientation. It has
a laser-etched dot on the top near pin
1, but it is faint, so it is easier to read
the four letters engraved on the chip
and use them for orientation.
The remaining components are all
through-hole types; start with the
low-profile items like resistors before
moving on to higher-profile components such as the LED and cell holders. You can use IC sockets for IC1 and
IC2 as these will make removing the
device easy if you suspect it is faulty.
Like the ICs, LED1 and D1 are polarised, so they must be orientated as
shown in Fig.3.
The GPS module can be secured
to the PCB using double-sided adhesive foam tape. The ceramic antenna
should be on top, with the module’s
metal shield and label against the PCB.
Typically, the antenna should be
horizontal and facing the sky for the
best sensitivity. If you have the space,
you could separately mount the module with the antenna in this orientation. However, our tests showed that
the module worked just as well when
pointing to the horizon, mounted on
the PCB and attached to the back of
the clock.
The GPS module is supplied with
a connector and colour coded-leads
which go to the solder pads on the
right-hand side of the PCB. Trim the
leads to length and solder them to the
respective pads – WH means white, RE
red, BU blue etc.
If using external cells, wire them to
the four “EXT BAT” solder pads. These
can be used for terminating soldered
leads or a 0.1” 4-pin header and socket.
Modifying the clock movement
The idea is to disconnect the clock’s
stepping motor coil from its control
board and connect two flying leads to
the coil. All clock movements are different, so we can only give you general
guidance here.
The process involves freeing the
clock’s movement from the clock housing, dismantling it, making the modification and reassembling it.
First, remove the housing holding
the front glass of the clock. Generally,
this is held in place with screws accessible from the back. Then remove the
hands. Generally, the second hand
is a friction-fit on a pin in the centre
of the shaft, so a gentle pull on this
should free it.
Next is the minute hand; in most
high-end clocks, it is held down with
a circular threaded nut. However, in
cheaper clocks, it is often a friction fit
on the minute hand shaft. The hour
hand is likely a friction fit on the
siliconchip.com.au
Parts List – New GPS-Synchronised Clock
1 double-sided PCB coded 19109221, 97 × 55.5mm
1 V.KEL VK2828U7G5LF GPS module or similar (MOD1) [SC3362]
1 32768Hz watch crystal (X1)
1 4.7μH 4.3A 6×6mm ferrite-cored SMD inductor (L1)
[eg, EPCOS B82464-A4]
1 4-pin low-profile tactile pushbutton switch (S1) [Altronics S1120]
1 2-way 2.54mm polarised right-angle header with plug and pins (CON1)
1 SMD mini type-B USB socket (CON4) [Altronics P1308]
1 6-pin header (CON5; optional)
2 PCB-mounting single AA cell holders (BAT1, BAT2) [Altronics S5029]
1 14-pin DIL IC socket (optional)
Kit (SC6472
SC6472 – $55):
1 8-pin DIL IC socket (optional)
includes the PCB and all onboard parts,
Semiconductors
including the VK2828 GPS module.
1 PIC16LF1455-I/P microcontroller
programmed with 1910922A.HEX, DIP-14 (IC1)
1 MCP6041-I/P 600nA rail-to-rail input/output op amp, DIP-8 (IC2)
1 MCP16251T-I/CH DC-DC boost converter with disconnect, SOT-23-6 (IC3)
1 5mm red LED (LED1)
1 BAT85 30V 200mA schottky diode (D1)
Capacitors
2 10μF 16V X7R multi-layer radial ceramic [eg, TDK FK26X7R1C106M]
1 100nF 50V X7R multi-layer radial ceramic
2 22pF 50V C0G/NP0 radial ceramic
Resistors (all 1/4W 5% or better)
1 2.2MW
2 1MW
1 820kW
3 10kW
1 6.8kW
1 1kW
hour hand shaft and should be gently
pulled free.
With the hands removed, you will
find that the movement is held onto
the clock face with a hex nut on the
threaded shaft. Remove the nut and
it should come free. Some cheaper
clocks do not use a securing nut;
instead, the movement is held in place
by plastic clips on the rear of the clock.
Take photographs of the movement
and the layout of the gears before you
start dismantling it, then take additional photos as you progress. It is
very easy for the gears to fall out while
you are handling the movement, and
it will then be tough to reassemble it
without a guide.
In most cases, the movement will
have a top cover held on by clips to
the base. You can lever off these clips
to remove the cover and gain access
to the motor and gears. Inside, you
need to identify the motor’s coil (this
will be obvious) and the wires from
the coil, which will be soldered to the
PCB with the control chip (normally
under a blob of black epoxy).
The wires are very fine, so the best
method of disconnecting the control
chip is to cut one of the tracks leading from the coil’s termination on the
control PCB. You can then solder your
flying leads to the coil’s termination
Australia's electronics magazine
points and feed these out of the movement – you will probably need to drill
a hole in the top cover to do this.
Finally, reassemble the clock
and terminate the flying leads on a
2.54mm-pitch 2-pin crimp plug.
If you have a stepping movement,
you can test your work by connecting
a 1.5V AA cell across the leads and
reversing it. Every time you reverse
the cell, the clock should step by one
second.
Configuring the Clock Driver
By default, the Clock Driver is set up
for a stepping-type movement with no
daylight saving compensation. If that
is all you need, you can just insert the
cells and start the clock running (see
“Powering it up” below). Otherwise,
you will need to configure the Driver.
Plug the USB connector into a computer or laptop and insert the cells. The
Clock Driver will connect to your computer as an asynchronous serial port
over USB, and the LED will flash three
times to indicate that the firmware
is working in configuration mode.
Ensure that fresh cells are installed;
partially exhausted cells may not be
able to deliver the correct USB signal
levels, causing errors.
The Driver imitates the Microchip MCP2200 USB/serial converter.
September 2022 63
End Daylight Saving Month (1-12) ? 4
End Daylight Saving Day (1=Sun) ? 1
End Daylight Saving Day in Month (1 to 4=Last) ? 1
below). It will remember the settings
you have entered, so you never have
to re-enter them, even when replacing the cells.
Daylight saving starts at 2:00am and
ends at 3:00am. The one exception is
the United Kingdom, where it needs
to start/end one hour earlier. The firmware determines if the clock is running
in the UK by checking the time zone
offset, which is zero in the UK.
Time Zone (-12.5 to +12.5) ? +10
Powering it up
Configuration Saved
Unplug USB ❚
All you need to do is set the hands to
the next half hour or full hour (whichever is closest) and insert the cells,
then hang the clock back on the wall.
The clock will wait until the next half/
full hour is reached and automatically
start running. From then on, it will
keep precise time until the battery is
exhausted.
Do not put cells into the clock’s
movement. The GPS Clock Driver
wholly replaces the controller board
inside the movement, so it does not
need to be powered.
The onboard LED informs you of the
progress during the startup process.
When the cells are inserted, the LED
flashes twice to indicate that the microcontroller and firmware are running.
The firmware then powers up the GPS
module, flashing the LED briefly at
1Hz while it is searching for satellites.
When the GPS module has a lock
(ie, it has the accurate time), the LED
will change to a long flash every second. Finally, when the clock starts
running, the LED will turn off.
With a new GPS module, it can
take some time (up to 45 minutes)
to find enough satellites. That delay
might result in the clock starting at
the wrong time. So, when you first
use the clock, keep an eye on when
it gets a satellite lock and readjust
the hands if necessary. Once the GPS
module has its first lock on the satellites, it is generally much faster, with
GPS Clock Driver v1.0
Sweep Clock (Y/N) ? Y
Use Daylight Saving (Y/N) ? Y
Start Daylight Saving Month (1-12) ? 10
Start Daylight Saving Day (1=Sun) ? 1
Start Daylight Saving Day in Month (1 to 4=Last) ? 1
Screen 1: configuring the clock driver using the USB interface. In this case,
sweep clock drive has been selected and daylight saving has been configured to
suit NSW/Vic/Tas/ACT. These settings are remembered, so you never have to reenter the configuration details, even when replacing the battery.
Windows 10 and 11 are delivered
with the correct driver installed, but
for other operating systems, you may
need to load a driver. You can find
this on the Microchip website: www.
microchip.com/wwwproducts/en/
MCP2200
You will also need terminal emulator software to send your keystrokes to
the clock driver and display anything
sent back. For Windows, we recommended Tera Term (http://tera-term.
en.lo4d.com), which is free to download and use. PuTTy is another popular emulator that will also work.
The terminal emulator needs to
know the number of the virtual serial
port generated when the clock is connected. For Windows, you can find it
using Device Manager. Other details
such as the baud rate are unimportant
and can be ignored.
With everything set up, hit the
Enter key on your keyboard, and you
should see the configuration header
as in Screen 1.
The first question asked by the firmware is “Sweep (Y/N)”. If you type “Y”
then Enter, you will configure the clock
driver for a sweep movement. If you
enter “N” instead, it will be configured
for a stepping clock movement.
The next question is “Use daylight
saving (Y/N)”, and if you reply “N”,
you do not have to do anything else; it
will save the settings and you will be
prompted to unplug the USB cable. If
you replied “Y”, you will need to enter
the specifications for the start and end
of daylight saving.
Configuring daylight saving
The firmware can cope with the
64
Silicon Chip
daylight saving requirements for most
countries worldwide, although some
are just too complicated or vague (for
example, Iran’s). Table 1 shows the
settings required for Australia and
New Zealand.
For both the start and end of daylight saving, you need to enter three
numbers:
1) The month when daylight saving
starts/ends (1 to 12, where 1 is January).
2) The day of the week when daylight saving starts/ends (with Sunday
being day 1).
3) The week of the month it falls
in, with 1 being the first week and 4
meaning the last week.
Then you will be asked for your
time zone. This should be entered as
the number of hours before or after
UTC. So, for example, Sydney and
Melbourne are +10, Adelaide is +9.5
and Los Angeles is -7.
When you press Enter after that, you
will see “Configuration Saved, Disconnect USB”. Disconnect the USB cable
and the clock driver will restart as if
the battery has just been connected (ie,
it will wait for the next precise half/full
hour then start running, as described
Table 1 – DST rules for AU & NZ (not observed in Qld, NT & WA)
NSW, Vic, Tas & ACT
South Australia
New Zealand
Start month
10
10
9
Start day
1
1
1
Start day in month
1
1
4
End month
4
4
4
End day
1
1
1
End day in month
1
1
1
Time zone offset
+10
+9.5
+12
Australia's electronics magazine
siliconchip.com.au
subsequent attempts typically taking
under a minute.
Adjusting the second hand
All clock movements allow you to
adjust the hour and minute hands,
but the second hand will probably not
be at the 12 o’clock position and will
be stuck somewhere around the dial.
To correct this, you can hold down
the tactile switch on the PCB while
the clock is waiting to start, and the
firmware will drive the second hand
around the dial. Release it when it
reaches the 12 o’clock position.
That way, the clock will start with
the second hand indicating the correct second.
A problem with some movements
is that when the clock starts running,
the movement might start driving the
hands a few seconds early or late.
While not a big deal, you can adjust
for even this slight error while the
clock is running. Hold down the tactile switch when the clock is running
until the LED illuminates. If you then
immediately release the button, the
firmware will advance by one second.
On the other hand, if you keep holding down the button until the LED
goes off again before releasing it, the
firmware will retard the hands by one
second.
Remember that a sweep clock will
need eight seconds to gain or retard
its hands by one second. So, if using a
sweep movement, you should wait for
a while to check the effect of the last
adjustment before making another one.
You can verify your clock is accurate using a time source such as www.
time.gov which will give you the exact
time to the second – even compensating for delays over the internet. With
this as your reference, you can use the
tactile switch to bring the second hand
to an exact agreement with this source
and compensate for any starting error.
You should correct for any startup
error immediately after the clock has
started running. This is so that you do
not inadvertently adjust for an error in
the crystal’s frequency, which will be
automatically corrected by the firmware after the first 12 hours of running, following the second GPS synchronisation.
All clock movements use a type of
stepping motor that is locked to the
pulse train delivered by the microcontroller. So, once the hands are accurately set, they will never lose or gain a
siliconchip.com.au
second unless the battery is exhausted
or the movement is faulty. Therefore,
in the normal scheme of things, you
should never have to adjust the clock
again after compensating for any initial startup error.
Troubleshooting
To test your clock, insert the cells
and observe the LED sequence as
described above. Hopefully, it will run
through the starting sequence, and the
clock will start running. If it does not
work as expected, use the LED to help
track down the problem.
The LED should flash twice when
the cells are inserted (and the USB is
not connected). If that does not occur,
the fault could lie with the cells, the
microcontroller or the LED. Check
that the LED is the right way around
and that it works before looking for
other causes.
If you do not see the double-flash,
check the voltage between pins 1 and
14 of the microcontroller. It should be
the same as the battery voltage (3.2V
with new cells). If that is OK, check
the microcontroller. Is its orientation
correct? Has it been properly programmed? If you used an IC socket,
check that it is properly inserted, with
no pins folded underneath.
After the double flash, the firmware
will power up the GPS module. Within
a few seconds, you should see a brief
flash every second on the LED indicating that data is being received from the
module. If you do not see this flash,
the problem could be with the boost
voltage regulator or the GPS module.
Check the voltage between ground
and the red wire to the GPS (marked
RE on the PCB). It should be about
4V; anything else indicates a problem
with the regulator and its associated
components.
If the regulator is OK, the fault must
be with the GPS module. Check that
it is connected correctly and that it
uses one of the supported serial communication speeds (4800, 9600 or
19,200 baud).
GPS satellite lock
After a while, the GPS module will
get a lock on sufficient satellites to
obtain an accurate time and when that
happens, the boost regulator will shut
down and the LED will change to a
long flash every second. Usually this
will be within a minute or two, but it
could take some time.
Australia's electronics magazine
The inside of a typical wall clock
movement modified for our GPS
Clock Driver. The motor coil is at
upper right while the blue control
board is on the left, with a blob
of black epoxy hiding the control
chip. This has been disabled by
cutting a PCB trace, and flying
leads have been soldered to the
motor coil termination points.
There might not be a strong enough
signal to get a lock. Take the clock outside and place it so that the antenna is
pointing directly at the sky, and leave
it that way for at least an hour.
Typically, if the GPS module could
gain a lock when you inserted the cells,
it should be able to get a lock on subsequent synchronisations. However,
a marginal signal level or moving the
clock might change that.
When the cells are inserted, the
firmware will wait forever to get a GPS
signal. However, after that first time,
the firmware will wait for just 30 minutes to get a signal and then, if unsuccessful, it will give up and retry in 24
hours. To indicate this, the LED will
then flash briefly every second until a
subsequent attempt is successful and
an accurate time is obtained.
If you find that your clock is inaccurate, check the LED. If it is flashing,
that indicates there was an insufficient
GPS signal to get the accurate time.
If you find that you are getting a
short battery life, check the voltage
of the exhausted batteries when you
replace them. Most movements will
keep going down to 1.0V. If it stops
at a voltage significantly higher than
that (say 1.2V), the movement has too
much friction and should be replaced.
We experienced this with a cheap
movement that failed after a few years,
so it might be prudent to purchase a
spare movement (or clock) as a backup
in case you need to swap out an old
movement. That way, you are guaranteed a replacement that will fit your
clock and accept the same hands. SC
September 2022 65
|