[time-nuts] Re: NIST 60KHz message

Peter Putnam ni6e at twc.com
Mon Mar 15 02:41:04 UTC 2021


Ray, Jeffrey, et al.,

The clock chip supplied with the kit is a DS1307. The DS1307 drift rate 
of a minute per month works out to 2 seconds per day. That level of 
error is easily observed toward the end of a 24 hour refresh period from 
the WWVB chip.

The daily drift of a DS3231SN chip with its temperature-compensated 
oscillator will be on the order of 50 to 75 milliseconds. Other 
advantages of the DS3231 are an alarm capability, processor interrupt 
capability and a 1 PPS output.

The Arduino code need not be changed to upgrade to a DS3231. The 
register structure of the DS3231 is a super-set of the DS1307.

Regards,
Peter


On 3/14/2021 12:10 PM, rcbuck at atcelectronics.com wrote:
> Jeffry,
>
> Yes, the sync once per day is due to the Arduino software. The ES100
> needs to be told when to start receiving the WWVB signal and when to go
> to sleep. You can modify the software to change the time and number of
> syncs per day. I would suggest you change it to 2am CA time. The daily
> sync is used to update the RTC (DS3231) that is on the board. The clock
> gets the time from the DS3231. I really try to avoid Arduino code so I
> can't tell you where the code needs to be modified. The 8pm you see
> corresponds to midnight UTC. Since DST started today your clock should
> update around 7pm tonight depending on WWVB signal strength at your
> location.
>
> The sync will happen each time the module is powered up. It usually
> takes about 3 minutes at my location in Phoenix.
>
> In the Arduino .ino file the interrupt count is updated every time the
> ES100 generates an interrupt. The interrupt code also makes an
> adjustment to the milliseconds variable value.
>
> There is a millis() function somewhere that updates the milliseconds
> value. I have looked and can't find that function in any of the code
> supplied with the kit. It may be in the Time library but I haven't
> looked there. The milliseconds value is used to calculate the time when
> a valid data string is received from the ES100.
>
> There is a note in the ES100.h file that says this: "// This hold the
> millis() when the interrupt occured, will be useful in the user code to
> handle the second boundary. New valid data should be handled within
> 65536 milli seconds, after that the variable will overflow and the user
> won't be able to calculate the right second boundary."
>
> Daylight savings time started at 2 AM this morning. The "NDST 11/07
> 02:00" means daylight savings time ends at 2am on 11/07, first Sunday in
> November. "(N)o (D)aylight (S)avings (T)ime".
>
> Ray, AB7HE
>




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