Kalibrator DS3231
Wstęp
Proste urządzenie do kalibrowania offsetu układów RTC DS3231.
Założenia:
- porównanie czasu odmierzonego przez DS3231 poprzez zliczanie impulsów SQW 1Hz i porównanie z odstępem czasu pobranym z serwera ntp w internecie,
- konfigurowanie ustawień WiFi i serwera ntp przez plik umieszczony na karcie pamięci (karta potrzebna tylko na czas konfigurowania urządzenia),
- zliczanie są nie tylko impulsy ale także czas od ostatniego impulsu z dokładnością 1ms,
- pobieranie czasu z ntp na przycisk - zmniejsza to pobór energii i nie doprowadza do nadużywania połączeń z serwerem ntp,
- pokazywanie na wyświetlaczu odstępu czasu z internetu, odstępu czasu zmierzonego z DS3231, obliczonego błędu PPM zegara RTC, pokazanie proponowanej zmiany offset do zaprogramowania w DS3231,
- możliwość zapamiętania nowego offset w kalibratorze,
- ryzyko wpływu błędów pomiaru czasu przez opóźnienia sieci zmniejszone przez możliwość pracy urządzenia nawet przez kilka dni,
- zasilanie bateryjne zabezpieczające przed przypadkowym odłączeniem zasilacza i pozwalające na przenoszenie urządzenia w czasie kilkudniowego pomiaru.
Schemat i PCB
Urządzenie oparto na module ESP8266-E12 NodeMCU, które już staroświeckie plątało mi się w szufladzie. Wykorzystano wszystkie piny modułu, nawet wyświetlacz jest I2C a nie SPI, a przyciski są tylko dwa:
- 1 krótkie naciśnięcie: wyłączenie wygaszacza ekranu i pokazanie pomiarów,
- 1 długie naciśnięcie: wyzerowanie liczników i rozpoczęcie pomiarów od nowa,
- 2 krótkie naciśnięcie: pobranie czasu z ntp i obliczenie błędu i offsetu,
- 2 długie naciśnięcie: zapisanie do DS3231 aktualnie wyliczonej korekty offsetu.



Znalezione błędy
- Po zrobieniu płytki okazało się, że pin D0 w ESP8266 nie ma wewnętrznego pull-up i nie działa przycisk. Wystarczyło dolutować rezystor np. 100kOhm między D0 a 3,3V.
- Dioda zenera 3,3V mająca zabezpieczać pin A0 niestety za bardzo wpływała na pomiary napięcia. Rezystancje dzielnika są na tyle duże i prądy na tyle małe, że nawet prąd wsteczny diody spolaryzowanej zaporowo miał wpływ na pracę dzielnika. Dioda została usunięta.