Close

0. Before we start, let's talk about 555's precision

A project log for GPS disciplined 555 clock

Can we make a precise clock with analog indicators driven by 555s?

jan-waclawekJan Waclawek 01/09/2022 at 22:340 Comments

The 555 is a timer, so it should be usable as a basis for timekeeping, right? Well, it boils down to precision: centuries of evolution, nowadays we are spoiled by precision clocks, so not any timer will make the cut.

But how precise or imprecise is a 555, anyway?

Let's assume we want to build a 555-based 1Hz astable oscillator, using the basic datasheet-given circuit. A cursory glance at the datasheet seems to indicate, that it actually does provide a precision characteristics, Initial error of timing interval, with values (depending on particular 555 model) in around 1%-3%. That's very bad, beyond any usability for timekeeping.

But wait a minute, there's some footnote to that value:

Timing interval error is defined as the difference between the measured value and the average value of  a random sample from each process run.

Okay, so this actually does not specify precision of any kind, this specifies the spread of values across individual pieces. In other words, we can work around this problem by individually trimming the external components. So what's next?

Some 555 datasheet give a Temperature coefficient of timing interval,  with values of 50-200 ppm/°C. This is mostly given by temperature-dependent mismatch between the 3 internal resistors in the divider ladder, which determine the two thresholds between which the voltage on external capacitor oscillates. There are also temperature-dependent changes in the comparators' offsets. These are all internal to the chip and can't be effectively influenced by the user (except maybe some intricate and complex compensation schemes, e.g. building a thermostat around the circuit, which are simply not worth the hassle). Let's assume that we select a model where this coefficient is around 100ppm/°C and we operate it indoors, within a 10°C span, that gives us the baseline variation of cca 1000ppm or 0.1%.

There is also a voltage-dependent coefficient, up to 0.5%/V, but we can easily work around this using any modern LDO with output voltage variation in the range of few 10mV as a power supply, reducing this error to below 100 ppm, i.e. negligible compared to the temperature-dependent variation.

Another error source might stem from temperature variations of the delay between comparator and output, i.e. the internal latch's delay. This delay is in the range of 100ns, given we are going to operate in 100ms range and up, this error is entirely negligible.

Even assuming perfect external components and the 10°C operation temperature span, the timekeeping precision of 1000ppm is disappointing. This means around one and a half minutes per day, which was the typical error of commonplace wristwatches I used to wear as a child. Modern mechanical watches and cheap crystal oscillators are good to tens of seconds in a month, i.e. few tens of ppm. So, a 555 is not a good timebase.

But it still can be good for our purposes. We need to consider impact of external components, too.

Resistors are quite readily available down to cca 25ppm/°C, this adds another cca 250ppm to our error budget.  Capacitors are tricky - we are going to charge them slowly in several hours (12h = cca 50ks), so we want as low leakage as possible, this implies polypropylene (PP) film capacitors. (Generally, they have leakage time constant > 100ks at room temperature, which means that we might need to compensate for leakage in the "hours" stage). They have a relatively high temperature coefficient of around 150ppm/°C - another 1500ppm to our error budget. Time constant of dielectric absorption is poorly studied, but given our long time constants it might play role in our application - luckily, PP has relatively low dielectric absorption of cca 100-1000ppm.

The timing capacitor is also loaded by inputs of 555's internal comparators - in modern CMOS 555 variants this represents 10s of pA, inputs of any amplifiers (to provide output to indicators) - again in the realm of pA with CMOS opamps, and outputs of discharging circuits (this can be problematic in some 555 variants so this has to be observed carefully). This leakages either have to be compensated, or accounted for by using currents several orders of magnitude higher, if needed. We will discuss this individually later in the design.

So, all in all, we can expect, that our well-trimmed 555-based timing circuits will have a timing variation due to temperature changes in the range of 0.3-0.4%.

Discussions