navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Gameboy Dev
FLOZz' blog
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

atomic clock revisited

Last update: Sun Jun 9 13:45:05 2024
Trying again to make an Atomic Clock but with a Microsemi SA 22c.

Presentation

Principle

todo

Build log and challenges

Connector

Ok let's start with problems from inception: the connector. The kind vendor sent me a used one (looking good) but it's a rare piece, a SAMTEC TMMH-109-01-G-DV-ES-A 2 X 9 shrouded header. And with a 2mm pitch, just to make things funnier.
I ended up making a custom board for it that will transform that precious SMD connector in a regular 2.54 pitch connector.

Board design (Eagle & Gerber) on GitHub.

Power

That thing will need to be fed, a 15v and a 5v, at 18.5w max. So bought a nice 15V 3Amp power pack that will be largely sufficient. Now need to make a nice 5v out of it.
I will try to use the 2 steps technique to get a nice/ripple free 5v: use a high frequency switching mini board to get 15V to say 7-8V and then a LM7805 to reduce to 5v. The 2 steps will limit the amount of energy wasted as heat by the LM7805 but yet give the proverbial clean ripple free 5v. Of course efficiency wise it won't be great since we lose power in 2 stages, hopefully not more than with LM7805 only. Which I doubt since in tests I do run it without the switching board (feeding 15v to the LM7805) and it gets HOT, like you don't leave your fingers on ~= 60-70C with a little heatsink (not on the picture).
Board KiCad's on GitHub.
topbottom
So now the 2 steps power conversion: 15V to 7V via a LM2596 board, and 7v to 5V via the LM7805. More complex (unnecessarily?) circuit BUT I get a perfect clean 5V (thanks to the LM7805), with no heat wasted (it stays cool).
2 stages buck

Heat

The thing is going to get hot to control the working temp of its scientific package. So I need to stick a fat aluminium radiator on it, but luckily aliexpress is hereā™”.
And without the heater indeed it gets pretty hot: you can still leave your fingers there though unpleasant so I'd say just below 60C after 10 mins. But vendor says heatsink so heatsink it will have.
I had to go medieval on it because of its shape and the bottom holes fell just perfectly on one of the wing... so I did only 1 no the other one, and that holds well enough: the heatsink has to hold itself on the SA22C and that's it, I added plenty of thermal grease, and now the heatsink takes a long time to get hot, but you can still leave your hand on it so ~50C I'd say.
he suffered but for the good cause and it was worth it

Signal

The vendor said it was spitting 600Hz, couldn't go higher. Got to see in details. [After checking] yup, settings locked, that's 600Hz we get and that's it.
The PPS_OUT (1Hz) is 400ns as announced:
400ns blip every second

And the signal is nicely here. It says 595Hz but it's the oscilloscope that approximates at that scale, it's 600Hz if you zoom in.
595Hz ain't 600Hz but you have to zoom

Showing PPS_OUT

That is the default 1Hz signal from the SA22C. Perfect but less cool than the 600Hz signal passing through decades counter, isn't it? Anyway showing it is good I think so I will but since it's 400ns pulse the led doesn't have time to blink (RTFM Alan...). So let's extend the pulse with a 555!
The logic is this:
  • 1) Invert the signal (so make a NOT gate with a transistor)
  • 2) Feed that to a 555 in monostable configuration to extend the blip length (has to be a "going down" pulse)
  • Inspirations:here, and a nice calculator for the 555 R & C.

    Guess what: I made a board for that! It's here. When I produced it at home I forgot to mirror it but lucky me, only the 555 had to be mounted "mirrored" on the other side of the board to work.
    Result:
    Nice 200ms signal
    The board, that I forgot to flip hence the 555 alone on the back The board, that I forgot to flip hence the 555 alone on the back

    Dividing the output signal to get 1Hz

    Yes, PPS_OUT is already 1Hz and is exactly what I want, but why skip having a set of nice bar graphs that divide the signal? Plus I already made the board for that, years ago : the Decade Counter Viewer.
    Absolutely useless but the looks makes it a must have. 3 steps to go from 600Hz to 1Hz, just for the show.

    RTC Real time Clock


    The board I'll reuse (made more than 10 years ago in 2014) is set with a DS3234. Which causes me headaches since it's already so precise (+/- 1 min per year) that the Rubidium standard is adding little value... even worse, I might end up increasing the error at each startup?

    Startup logic is:
  • Read time from RTC
  • From that point, each pulse adds one second: micro controller will handle the time in memory
  • Every 24h store: read RTC, overwrite the time in RTC, save.
  • If I'm careful saving exactly 24h (based on the pulse count) then I will maintain the original RTC difference (drift) from real time as per the startup.

    Time display

    todo

    Points of interrest

    Implementation

    Bill of materials

    Schematics

    Source code

    Pictures

    Links

    Helpful sources

    Inspiration

    All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.tokyo ~ Formerly known as Kalshagar.wikispaces.com and electrogeek.cc (AlanFromJapan [2009 - 2025])