[ad_1]
Correct timing is one thing that’s at all times been of curiosity to me. Nowadays we rely closely on time delivered to us over the Web, by means of radio waves from GPS satellites, or broadcast stations. However I wished a clock that may preserve glorious time with out counting on the surface world—actually one thing higher than the time supplied by the quartz crystal oscillator utilized in your typical digital clock or microcontroller, which might drift by about 1.7 seconds per day, or over 10 minutes in the midst of a 12 months.
After all, I may purchase an atomic clock—that’s, one with a rubidium oscillator inside, of the type used onboard GPS satellites. (Not the sort that’s marketed as an “atomic clock” however one that truly depends on choosing up radio time alerts.) Rubidium clocks present unbelievable accuracy, however value thousands of U.S. dollars. I wanted one thing in between, and salvation was discovered within the type of the oven-controlled crystal oscillator, invariably referred to as an OCXO for historical reasons. With considered one of these, I may construct my very own clock for round US $200—and one which’s about 200 occasions as correct as a typical quartz clock.
Temperature adjustments are the largest supply of error in standard crystal oscillators. They trigger the quartz to broaden or shrink, which alters its resonance frequency. One resolution is to trace the temperature and compensate for the changes in frequency. However it could be higher to not have the frequency change within the first place, and that is the place the OCXO is available in.
The printed circuit board [center] could be lower into two items, with the timing-related parts mounted on the decrease part, and the management and show parts mounted on the higher part.James Provost
The OCXO retains the crystal at a relentless temperature. To keep away from the complexity of getting to each warmth and funky a crystal in response to ambient fluctuations, the crystal is saved heated near 80 °C or so, nicely above any environmental temperatures it’s prone to expertise. Previously, OCXOs had been energy hungry and hulking or costly, however in the previous few years miniature variations have appeared which might be less expensive and draw means much less energy. The Raltron OCXO I selected for my clock prices $58, operates at 3.3 volts, and attracts 400 milliamperes in steady-state operation.
The OCXO resonates at 10 megahertz. In my clock, this sign is fed right into a 4-bit counter, which outputs a pulse each time it counts from 0000 to 1111 in binary, successfully dividing the 10-MHz sign by 16. This 625-kilohertz (kHz) sign then drives a {hardware} timer in an Arduino Nano microcontroller, which triggers a program interrupt each tenth of a second to replace the clock’s time base. (Full particulars on how the timing chain and software program work can be found in an accompanying submit on IEEE Spectrum’s web site , together with a invoice of supplies and printed circuit board recordsdata.) A rotary controller linked on to the Nano helps you to set the time.
The Nano retains monitor of the time, advancing seconds, minutes, and hours, and it additionally drives the show. This show is created utilizing six Adafruit “CharliePlex FeatherWings,” that are 15 by 7 LED matrices with controllable brightness that are available in quite a lot of colours. Every one is managed by way of the addressable I2C serial bus protocol. An issue arises as a result of a CharliePlex is hardwired to have solely considered one of two attainable I2C addresses, making it unimaginable to deal with six clock digits individually on a single bus. My resolution was to make use of an I2C multiplexer, which takes incoming I2C knowledge and switches it between six separate buses.
The timing chain begins with the OCXO oscillator and its 10-megahertz sign and ends with the show being up to date as soon as each second. The timing sign synchronizes a {hardware} timer within the Nano microcontroller in order that it triggers an interrupt handler within the Nano’s software program 10 occasions a second. Consequently, you can also make many modifications or add new options by way of software program adjustments.James Provost
Utilizing a microcontroller—relatively than, say, discrete logic chips—simplified the design and permits for simple modification and enlargement. It’s trivial to tweak the software program to substitute your individual font design for the numbers, for instance, or alter the brightness of the show. Connector blocks for serial interfaces are straight obtainable on the Nano, which means you could possibly use the clock as an timer or set off for another gadget.
For such a function you could possibly omit the show fully, decreasing the clock’s dimension significantly (though you’ll have to switch the software program to override the startup verification of the show). The clock’s printed circuit board is designed in order that it may be lower into two items, with the decrease third holding the microcontroller, OCXO, and different supporting electronics. The higher two thirds maintain the show and the rotary encoder. By including 4 headers and operating two cables between the items to attach them, you may prepare the boards to type a variety of bodily configurations, providing you with lots of freedom in designing the shape issue of any enclosure you may select to construct for the clock. Certainly, creating the PCB so this was attainable was in all probability essentially the most difficult a part of the entire course of. However the ensuing {hardware} and software program flexibility of the ultimate design was price it.
The entire gadget is powered by means of the Nano’s USB-C port. USB-C was wanted in an effort to present sufficient present, because the clock, OCXO, and show all collectively want greater than the 500-mA nominal most present of earlier USB ports. A battery backup linked to this port is required to forestall resets as a consequence of energy loss—utilizing one of many standard coin-cell-based real-time backup clocks could be pointless as a consequence of their relative inaccuracy.
And as for that aim of making an correct clock with an incredible bang for the buck, I cross-checked my OCXO’s output in circuit with an HP 53150A frequency counter. The result’s that the clock drifts not more than 0.00864 seconds per day, or lower than 3.15 seconds in a 12 months. Actually, its accuracy might be higher than that, however I’d reached the restrict of what I may measure with my frequency counter! I hope you’ll construct considered one of your individual—it takes just some hours of soldering, and I believe you’ll agree it could be time nicely spent.
[ad_2]
Source link