[time-nuts] Next step up from basic GPS/PPS timekeeping

Neil Green ncguk at hotmail.co.uk
Sun Feb 28 17:23:13 UTC 2016


On 25 Feb 2016, at 9:07 pm, Jim Harman <j99harman at gmail.com> wrote:

> On Thu, Feb 25, 2016 at 1:08 PM, Neil Green <ncguk at hotmail.co.uk> wrote:
> 
>> I’ve decided to build this:
>> 
>> http://www.hackersbench.com/Projects/1Hz/
> 
> Good start!
> 
> Once you have built it and observed how sensitive it is to temperature
> variations, you might want to take a look at this:
> 
> https://www.adafruit.com/products/3013

So, after some fighting and frustration and sleeping on it, I successfully assembled the circuit I linked to above and powered it from a regulated 5V breadboard power supply:

http://86.17.250.240/IMG_1750s.jpg

I had a DS3231 lying around so, as per Jim Harman’s suggestion I used its 32K output instead of a cheapo 32.768Hz crystal. The results were initially as disappointing as I’d expected but, after ensuring that the oscillator *and* the 32k output of the DS3231 were enabled, and building a custom kernel for the Raspberry Pi to include KPPS processing, things improved dramatically. A typical output of 'ppstest /dev/pps0':

source 0 - assert 1456678708.000000032, sequence: 3205 - clear  0.000000000, sequence: 0
source 0 - assert 1456678709.000001034, sequence: 3206 - clear  0.000000000, sequence: 0
source 0 - assert 1456678710.000000034, sequence: 3207 - clear  0.000000000, sequence: 0
source 0 - assert 1456678711.000001035, sequence: 3208 - clear  0.000000000, sequence: 0
source 0 - assert 1456678712.000004033, sequence: 3209 - clear  0.000000000, sequence: 0
source 0 - assert 1456678713.000001035, sequence: 3210 - clear  0.000000000, sequence: 0
source 0 - assert 1456678714.000000033, sequence: 3211 - clear  0.000000000, sequence: 0
source 0 - assert 1456678715.000001035, sequence: 3212 - clear  0.000000000, sequence: 0
source 0 - assert 1456678716.000000034, sequence: 3213 - clear  0.000000000, sequence: 0
source 0 - assert 1456678717.000001034, sequence: 3214 - clear  0.000000000, sequence: 0
source 0 - assert 1456678718.000001034, sequence: 3215 - clear  0.000000000, sequence: 0
source 0 - assert 1456678719.000001034, sequence: 3216 - clear  0.000000000, sequence: 0
source 0 - assert 1456678720.000000035, sequence: 3217 - clear  0.000000000, sequence: 0
source 0 - assert 1456678721.000000034, sequence: 3218 - clear  0.000000000, sequence: 0
source 0 - assert 1456678722.000001034, sequence: 3219 - clear  0.000000000, sequence: 0
source 0 - assert 1456678723.000002034, sequence: 3220 - clear  0.000000000, sequence: 0
source 0 - assert 1456678724.000000033, sequence: 3221 - clear  0.000000000, sequence: 0

As you can see, the numbers are jumping about a bit but they are comparable to the GPS PPS output I have running of another Pi. The next stage is to tidy everything up, simplify where possible, shrink it and try to squeeze it into an enclosure. After that I'll maybe try to get my head around a 10mHz to 1hz version.

Thanks to everyone who offered advice. It was all helpful.

Neil.


More information about the Time-nuts_lists.febo.com mailing list