KAmodRPI RTC (PL): Difference between revisions
From Kamamilabs.com - Wiki
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__jzpdf__ | __jzpdf__ | ||
===== Opis ===== | ====== Opis ====== | ||
[https://kamami.pl/moduly-rtc/1191668-kamodrpi-rtc-modul-precyzyjnego-zegara-czasu-rzeczywistego-rtc.html?SubmitCurrency=1&id_currency=1 KAmodRPI RTC] to moduł precyzyjnego zegara czasu rzeczywistego – RTC, przeznaczony dla komputerków z serii Raspberry Pi. Bazuje na układzie DS3231, który został połączony z baterią podtrzymującą jego działanie przy zaniku zasilania głównego. Komunikacja z zegarem RTC odbywa się poprzez interfejs I2C.<br> | |||
<br> | <br> | ||
<center> | <center> | ||
[[File: | [[File:KAmodRPI5_RTC_1.jpg|none|800px|thumb|center]] | ||
[[File:KAmodRPI5_RTC_2.jpg|none|800px|thumb|center]] | |||
</center> <br> | </center> <br> | ||
Układ DS3231 jest kompletnym zegarem RTC, który wyróżnia się wysoką precyzją w odmierzaniu czasu. Doskonałe parametry uzyskano dzięki zintegrowaniu rezonatora kwarcowego w strukturze układu i zastosowaniu kompensacji temperaturowej. | Układ DS3231 jest kompletnym zegarem RTC, który wyróżnia się wysoką precyzją w odmierzaniu czasu. Doskonałe parametry uzyskano dzięki zintegrowaniu rezonatora kwarcowego w strukturze układu i zastosowaniu kompensacji temperaturowej. | ||
Line 13: | Line 14: | ||
* Zegar ze zintegrowanym rezonatorem kwarcowym i kompensacją temperaturową | * Zegar ze zintegrowanym rezonatorem kwarcowym i kompensacją temperaturową | ||
* Deklarowany przez producenta układu DS3231 błąd odmierzania czasu nie przekracza 2 minut na rok, przy pracy w temperaturze z zakresu -40...+85 ºC | * Deklarowany przez producenta układu DS3231 błąd odmierzania czasu nie przekracza 2 minut na rok, przy pracy w temperaturze z zakresu -40...+85 ºC | ||
* | * Oblicza sekundy, minuty, godziny, dni tygodnia, miesiące oraz rok | ||
* Komunikacja poprzez interfejs I2C (400 kHz) | * Komunikacja poprzez interfejs I2C (400 kHz) | ||
* Zawiera gniazdo na baterię podtrzymującą typu CR1220 | * Zawiera gniazdo na baterię podtrzymującą typu CR1220 | ||
Line 31: | Line 32: | ||
|- | |- | ||
| style="text-align: left;"| | | style="text-align: left;"| | ||
* <b>KAmodRPI | * <b>KAmodRPI RTC</b> | ||
* <b> | * <b>Bateria podtrzymująca</b> | ||
*<b>Dodatkowe złącze żeńsko-męskie</b> | |||
| style="text-align: left;"| | | style="text-align: left;"| | ||
* Zmontowany i uruchomiony moduł | * Zmontowany i uruchomiony moduł | ||
* | * Bateria typu CR1220 | ||
* Umożliwia dołączenie modułu do komputerka Raspberry Pi wyposażonego w radiator | |||
|} | |} | ||
</center> | </center> | ||
<center> | |||
[[File:KAmodRPI5_RTC_3.jpg|none|800px|thumb|center]] | |||
</center> <br> | |||
===== Schemat elektryczny ===== | ===== Schemat elektryczny ===== | ||
Line 59: | Line 66: | ||
|} | |} | ||
</center> | </center> | ||
Sygnały na złączu komunikacyjnym zostały tak rozmieszczone, aby odpowiadały sygnałom na złączu GPIO stosowanym w płytkach Raspberry Pi. Moduł KamodRPI | Sygnały na złączu komunikacyjnym zostały tak rozmieszczone, aby odpowiadały sygnałom na złączu GPIO stosowanym w płytkach Raspberry Pi. Moduł KamodRPI RTC zajmuje tylko pierwsze 10 szpilek, 40-stykowego złącza GPIO. Funkcje sygnałów na złączu <b>J2</b> są następujące: | ||
* styk nr 1: <b>+5V</b> - wejście zasilania o napięciu 2,3...5,5 V; | * styk nr 1: <b>+5V</b> - wejście zasilania o napięciu 2,3...5,5 V; | ||
* styk nr 3: <b>SDA</b> – linia danych interfejsu I2C; | * styk nr 3: <b>SDA</b> – linia danych interfejsu I2C; | ||
Line 108: | Line 115: | ||
| style="text-align: center;"|<b>RST, G</b> | | style="text-align: center;"|<b>RST, G</b> | ||
| style="text-align: left;"| | | style="text-align: left;"| | ||
* Pad oznaczony <b>RST</b> to wyjście zerujące aktywowane niskim poziomem napięcia zasilania. Próg zadziałania jest ustawiony na ok. 2,57 V. Pad oznaczony<b>G</b> to masa. | * Pad oznaczony <b>RST</b> to wyjście zerujące aktywowane niskim poziomem napięcia zasilania. Próg zadziałania jest ustawiony na ok. 2,57 V. Pad oznaczony<b> G</b> to masa. | ||
|} | |} | ||
</center> | </center> | ||
Line 119: | Line 126: | ||
===== Wymiary===== | ===== Wymiary===== | ||
Wymiary modułu <b>KAmodRPI | Wymiary modułu <b>KAmodRPI RTC</b> to ok. 21x20 mm, a wysokość bez złącza to ok. 8 mm. Moduł jest kompatybilny z płytkami Raspberry Pi 5 oraz wcześniejszymi wersjami Raspberry Pi. Na płytce zostały umieszczone dodatkowe otwory, które mogą być przydatne w przypadku niestandardowych aplikacji modułu RTC. | ||
<center> | <center> | ||
[[File:KAmodRPI_RTC_r_4.jpg|none|400px|thumb|center]] | [[File:KAmodRPI_RTC_r_4.jpg|none|400px|thumb|center]] | ||
Line 125: | Line 132: | ||
=====Uruchomienie modułu z komputerkiem Raspberry Pi 5===== | =====Uruchomienie modułu z komputerkiem Raspberry Pi 5===== | ||
Moduł KamodRPI | Moduł KamodRPI RTC montujemy na pierwszych 10 szpilkach złącza GPIO komputerka Raspberry Pi tak, jak pokazano na poniższych fotografiach: | ||
<center> | <center> | ||
[[File: | {| class="wikitable" | ||
| [[File:KAmodRPI5_RTC_5.jpg|center|500px|thumb|center]] | |||
| [[File:KAmodRPI5_RTC_4.jpg|center|520px|thumb|center]] | |||
|} | |||
</center> | |||
Jeżeli komputer Raspberry Pi jest wyposażony w radiator, to moduł KAmodRPI RTC należy zamontować z użyciem dodatkowego złącza żeńsko-męskiego. Żaden element modułu, a zwłaszcza koszyk baterii, nie może stykać się z radiatorem. Połączenie należy wykonać tak, jak na fotografii: | |||
<center> | |||
[[File:KAmodRPI5_RTC_6.jpg|none|600px|thumb|center]] | |||
</center> | |||
W takiej konfiguracji moduł KAmodRPI RTC jest umieszczony ponad radiatorem i cały zestaw może działać prawidłowo. | |||
<center> | |||
{| class="wikitable" | |||
| [[File:KAmodRPI5_RTC_8.jpg|center|510px|thumb|center]] | |||
| [[File:KAmodRPI5_RTC_7.jpg|center|500px|thumb|center]] | |||
|} | |||
</center> | </center> | ||
======Konfigurowanie magistrali I2C*====== | |||
<nowiki>*</nowiki> opisane procedury dotyczą komputerka Raspberry Pi 5<br><br> | |||
Pierwszym krokiem zawsze będzie odświeżenie repozytoriów i pakietów oprogramowania. Otwieramy konsolę np. poprzez kombinację klawiszy ''Ctrl+Alt+T'', a następnie wpisujemy polecenia: | Pierwszym krokiem zawsze będzie odświeżenie repozytoriów i pakietów oprogramowania. Otwieramy konsolę np. poprzez kombinację klawiszy ''Ctrl+Alt+T'', a następnie wpisujemy polecenia: | ||
'''<pre style="color: blue">sudo apt-get update</pre>''' | '''<pre style="color: blue">sudo apt-get update</pre>''' | ||
Line 162: | Line 185: | ||
Oznacza to, że na magistrali I2C znajduje się urządzenie z adresem 68 (hex) – to właśnie adres układu DS3231. | Oznacza to, że na magistrali I2C znajduje się urządzenie z adresem 68 (hex) – to właśnie adres układu DS3231. | ||
======Przygotowanie systemu Raspberry Pi====== | ======Przygotowanie systemu Raspberry Pi*====== | ||
<nowiki>*</nowiki> opisane procedury dotyczą komputerka Raspberry Pi 5<br><br> | |||
Przygotowanie systemu rozpoczynamy od edycji pliku /boot/firmware/config.txt (w starszych wersjach systemu operacyjnego Raspberry Pi jest to plik /boot/config.txt). W tym celu wpisujemy polecenie: | Przygotowanie systemu rozpoczynamy od edycji pliku /boot/firmware/config.txt (w starszych wersjach systemu operacyjnego Raspberry Pi jest to plik /boot/config.txt). W tym celu wpisujemy polecenie: | ||
'''<pre style="color: blue">sudo nano /boot/firmware/config.txt</pre>''' <br> | '''<pre style="color: blue">sudo nano /boot/firmware/config.txt</pre>''' <br> | ||
Line 183: | Line 206: | ||
Oznaczenie UU, które zastąpiło wcześniejszą wartość 68 oznacza, że system poprawnie skomunikował się z zegarem i zastrzegł jego adres. | Oznaczenie UU, które zastąpiło wcześniejszą wartość 68 oznacza, że system poprawnie skomunikował się z zegarem i zastrzegł jego adres. | ||
======Ustawianie i odczyt z RTC====== | ======Ustawianie i odczyt z RTC*====== | ||
<nowiki>*</nowiki> opisane procedury dotyczą komputerka Raspberry Pi 5<br><br> | |||
Aktualny systemowy czas możemy sprawdzić za pomocą polecenia: | Aktualny systemowy czas możemy sprawdzić za pomocą polecenia: | ||
Line 196: | Line 220: | ||
<br> | <br> | ||
Zegar RTC możemy ustawić dowolną wartością czasu, służy do tego polecenie: | Zegar RTC możemy ustawić dowolną wartością czasu, służy do tego polecenie: | ||
'''<pre style="color: blue">hwclock --set | '''<pre style="color: blue">hwclock --set ––date="2024-06-19 12:22:22"</pre>''' <br> | ||
Oczywiście data i czas mogą być inne ale muszą być zapisane analogicznie jak w powyższym | Oczywiście data i czas mogą być inne ale muszą być zapisane analogicznie jak w powyższym przykładzie. Teraz możemy ustawić w systemie czas pobrany z zegara RTC, służy do tego polecenie: | ||
'''<pre style="color: blue">sudo hwclock -s</pre>''' <br> | '''<pre style="color: blue">sudo hwclock -s</pre>''' <br> | ||
<center> | <center> | ||
Line 207: | Line 231: | ||
===== Linki===== | ===== Linki===== | ||
*[https://download.kamami.pl/p233506-ds3231_ds.pdf Karta katalogowa układu DS3231] | *[https://download.kamami.pl/p233506-ds3231_ds.pdf Karta katalogowa układu DS3231] | ||
*[https://wiki.kamamilabs.com/images/b/b2/KAmodRPI_RTC_3D.zip Model CAD (STEP)] |
Latest revision as of 18:53, 1 November 2024
Opis
KAmodRPI RTC to moduł precyzyjnego zegara czasu rzeczywistego – RTC, przeznaczony dla komputerków z serii Raspberry Pi. Bazuje na układzie DS3231, który został połączony z baterią podtrzymującą jego działanie przy zaniku zasilania głównego. Komunikacja z zegarem RTC odbywa się poprzez interfejs I2C.
Układ DS3231 jest kompletnym zegarem RTC, który wyróżnia się wysoką precyzją w odmierzaniu czasu. Doskonałe parametry uzyskano dzięki zintegrowaniu rezonatora kwarcowego w strukturze układu i zastosowaniu kompensacji temperaturowej. Na płytce znajduje się gniazdo na baterię typu CR1220, która umożliwia działanie zegara nawet przy braku zasilania głównego. Wymagane do poprawnego działania napięcie zasilania zawiera się w szerokim przedziale 2,3….5,5 V.
Podstawowe parametry
- Bazuje na układzie zegara RTC typu DS3231
- Zegar ze zintegrowanym rezonatorem kwarcowym i kompensacją temperaturową
- Deklarowany przez producenta układu DS3231 błąd odmierzania czasu nie przekracza 2 minut na rok, przy pracy w temperaturze z zakresu -40...+85 ºC
- Oblicza sekundy, minuty, godziny, dni tygodnia, miesiące oraz rok
- Komunikacja poprzez interfejs I2C (400 kHz)
- Zawiera gniazdo na baterię podtrzymującą typu CR1220
- Pobór prądu z baterii podtrzymującej nie przekracza 0,1 uA
- Opcjonalne wyjście przerwania (INT) / sygnału prostokątnego (SQW)
- Opcjonalne wyjście zerujące aktywowane niskim poziomem napięcia zasilania (RST)
- Wymaga zasilania o napięciu z zakresu 2,3….5,5 V
- Wymiary płytki 21x20 mm, wysokość ok. 8 mm (bez gniazda goldpin)
Wyposażenie standardowe
Kod | Opis |
---|---|
|
|
Schemat elektryczny
Złącze komunikacyjne zgodne z Raspberry Pi
Oznaczenie | Funkcja |
---|---|
J2
Gniazdo goldpin |
|
Sygnały na złączu komunikacyjnym zostały tak rozmieszczone, aby odpowiadały sygnałom na złączu GPIO stosowanym w płytkach Raspberry Pi. Moduł KamodRPI RTC zajmuje tylko pierwsze 10 szpilek, 40-stykowego złącza GPIO. Funkcje sygnałów na złączu J2 są następujące:
- styk nr 1: +5V - wejście zasilania o napięciu 2,3...5,5 V;
- styk nr 3: SDA – linia danych interfejsu I2C;
- styk nr 5: SCL – linia zegarowa interfejsu I2C;
- styk nr 7: INT – opcjonalne wyjście przerwania INT lub sygnału prostokątnego SQW. Sygnał jest dostępny dopiero po wykonaniu zworki z kropli cyny na padach oznaczonych INT-GPIO i trafia do portu GPIO04 na płytce Raspberry Pi;
- styk nr 9: GND – masa zasilania;
- styk nr 2, 4, 6, 8, 10: wyprowadzenia nie są podłączone.
Bateria podtrzymująca
Oznaczenie | Funkcja |
---|---|
BT1 |
|
Gniazdo baterii znajduje się na dolnej stronie płytki modułu. Pobór prądu z baterii nie przekracza 0,1 uA, co umożliwia poprawną pracę zegara przez wiele lat.
Dodatkowe funkcje
Oznaczenie | Funkcja |
---|---|
JP1 INT-GPIO |
|
INT, G |
|
RST, G |
|
Dokładne informacje dotyczące funkcjonalności i konfigurowania dodatkowych wyprowadzeń można znaleźć w dokumentacji układu DS3231.
Wymiary
Wymiary modułu KAmodRPI RTC to ok. 21x20 mm, a wysokość bez złącza to ok. 8 mm. Moduł jest kompatybilny z płytkami Raspberry Pi 5 oraz wcześniejszymi wersjami Raspberry Pi. Na płytce zostały umieszczone dodatkowe otwory, które mogą być przydatne w przypadku niestandardowych aplikacji modułu RTC.
Uruchomienie modułu z komputerkiem Raspberry Pi 5
Moduł KamodRPI RTC montujemy na pierwszych 10 szpilkach złącza GPIO komputerka Raspberry Pi tak, jak pokazano na poniższych fotografiach:
Jeżeli komputer Raspberry Pi jest wyposażony w radiator, to moduł KAmodRPI RTC należy zamontować z użyciem dodatkowego złącza żeńsko-męskiego. Żaden element modułu, a zwłaszcza koszyk baterii, nie może stykać się z radiatorem. Połączenie należy wykonać tak, jak na fotografii:
W takiej konfiguracji moduł KAmodRPI RTC jest umieszczony ponad radiatorem i cały zestaw może działać prawidłowo.
Konfigurowanie magistrali I2C*
* opisane procedury dotyczą komputerka Raspberry Pi 5
Pierwszym krokiem zawsze będzie odświeżenie repozytoriów i pakietów oprogramowania. Otwieramy konsolę np. poprzez kombinację klawiszy Ctrl+Alt+T, a następnie wpisujemy polecenia:
sudo apt-get update
sudo apt-get upgrade
Teraz zainstalujemy pakiet oprogramowania ułatwiający pracę z interfejsem I2C. W tym celu wpisujemy polecenie:
sudo apt-get install i2c-tools
Kolejnym zadaniem, które musimy wykonać jest włączenie kontrolera magistrali I2C. Uruchamiamy konfigurator Raspberry Pi poleceniem:
sudo raspi-config
Wybieramy opcję 3 (Interface options), a następnie wybieramy opcję I5 (I2C). Po zatwierdzeniu wszystkich zmian zobaczymy komunikat, że interfejs I2C jest gotowy.
W tym momencie, za pomocą programu i2c-detect możemy sprawdzić jakie urządzenia zostały podłączone do magistrali I2C. Wpisujemy:
i2cdetect -y 1
Efekt działania będzie podobny do tego pokazanego poniżej:
Oznacza to, że na magistrali I2C znajduje się urządzenie z adresem 68 (hex) – to właśnie adres układu DS3231.
Przygotowanie systemu Raspberry Pi*
* opisane procedury dotyczą komputerka Raspberry Pi 5
Przygotowanie systemu rozpoczynamy od edycji pliku /boot/firmware/config.txt (w starszych wersjach systemu operacyjnego Raspberry Pi jest to plik /boot/config.txt). W tym celu wpisujemy polecenie:
sudo nano /boot/firmware/config.txt
Na końcu istniejącej treści dopisujemy linię:
dtoverlay=i2c-rtc,ds3231
Następnie zapisujemy zmiany poprzez Ctrl+O oraz zamykamy edytor poprzez Ctrl+X. Uruchamiamy system ponownie, np. wpisując:
reboot
Po ponownym uruchomieniu systemu sprawdzamy skuteczność wprowadzonych zmian, wpisując polecenie:
i2cdetect -y 1
Tym razem efekt powinien być następujący:
Oznaczenie UU, które zastąpiło wcześniejszą wartość 68 oznacza, że system poprawnie skomunikował się z zegarem i zastrzegł jego adres.
Ustawianie i odczyt z RTC*
* opisane procedury dotyczą komputerka Raspberry Pi 5
Aktualny systemowy czas możemy sprawdzić za pomocą polecenia:
date
Aby zapisać aktualny czas do modułu RTC należy wpisać polecenie:
sudo hwclock -w
natomiast, aby odczytać czas z modułu RTC wpisujemy:
sudo hwclock -r
Zegar RTC możemy ustawić dowolną wartością czasu, służy do tego polecenie:
hwclock --set ––date="2024-06-19 12:22:22"
Oczywiście data i czas mogą być inne ale muszą być zapisane analogicznie jak w powyższym przykładzie. Teraz możemy ustawić w systemie czas pobrany z zegara RTC, służy do tego polecenie:
sudo hwclock -s
Czas systemowy w Raspberry Pi 5 będzie automatycznie pobierany z zegara RTC, przy uruchomieniu komputerka. Czas zostanie automatycznie skorygowany, gdy Raspberry Pi uzyska dostęp do internetu. Wtedy również wartość czasu RTC zostanie uaktualniona.