Hilfe bei RTC DS3231

  • Was habe ich bereits gebaut:

    Allsky Kammera nach Thomas Jacquin.

    NAS Sation mit 2x 2TB RAID 1

    ein paar Sachen noch mit dem PI3 b

    aber alles mit herunterladen ausführen, ein wenig gebastle und gut wars.

    Was Möchte ich machen:

    Ich möchte noch eine Allsky Kamera bauen. Eine habe ich schon gebaut, die auch ordentlich funktioniert, nun soll die Vollversion kommen.

    Als Hauptplatine wird auf dem PI4/PI5 das HQ PI Kameramodul verbaut. (habe ich schon mit PI4 installiert und getestet, konnte Bilder machen). Daneben möchte ich 3 Module verbauen (oder 3 in 1), einen Temperatursensor mit Luftfeuchte, ggf. den Bosch BME280 der mir die Werte Temperatur, Luftfeuchte und Luftdruck auf einem Modul liefert. Das wäre schön, wenn das gehen sollte. Dazu noch einen Regensensor.

    Zusätzlich noch nice to have wäre ein Geigerzählermodul, wie von TGD hier im Forum, in einer Wetterstation verbaut, beschrieben.

    AAAAber ich bekomme es ja nicht einmal hin das RTC DS 3231 richtig zu installieren! Ich habe es schon mehrfach mit der Beschreibung Zeit ist relativ von Martin Mohr. Das ist von 2015!!! Wahrscheinlich klappt es deshalb nicht.

    So jetzt sitze ich hier und bitte die Fachleute bei der Installation der RTC Uhr um Hilfe.

    Grüsse

  • Hallo @Pilullef

    Wilkommen im Forum.

    Du meinst diese Anleitung? Die ist wirklich etwas veraltert.

    Wenn dein RTC für den Pi geeignet ist (wegen der 3,3V an den GPIO's) und es nur um die Aktivierung geht, dann wie folgt:

    Zum Aktivieren der RTC ein Eintrag dtoverlay=i2c-rtc,ds3231 in der /boot/config.txt, Infos dazu sind in der /boot/overlays/README - Datei zu finden. Nach reboot muss dann eine Geräte-Datei /dev/rtc0 da sein. Einstellen kann man die RTC mit hwclock --systohc (kopiert die Systemzeit zur RTC), Einstellung prüfen z.B. mit timedatectl

    Gruß Martin

  • Ja natürlich die, etwas anderes habe ich nicht gefunden!!!!!! Zumindest das was ich zum nachmachen verstanden habe.

    zum verzweifeln!!!!!!

    Danke erstmal dann werde ich morgen das System nochmal neu aufsetzen und es mit deinen Einstellungen neu versuchen.

    Grüsse

  • Dein System komplett neu aufzusetzen sollte nicht unbeding notwendig sein, wenn du nach der Anleitung vorgegangen bist, sollte es ausreichen nur die Einträge in der /etc/modules und der /etc/rc.local rückgängig zu machen (wenn ich nichts übersehen habe).

    Gruß Martin

  • 1. RTC - Device Tree Overlay laut /boot/overlays/README aussuchen und aktivieren (Name: i2c-rtc, oder i2c-rtc-gpio )

    2. System runterfahren

    3. RTC anschliessen

    4. Neustart und System-Clock in die RTC (Hardware Clock ) übertragen (mit hwclock --systohc) - siehe < man 8 hwclock >

    Damit beginnt erst die RTC bei eingesetzter Batterie an zu "ticken".

    5.fake-hwclock.service mit systemctl disablen, ev. maskieren.

    Die hwclock (RTC) wird mittels einer udev-Regel erkannt und die Systemzeit danach eingestellt.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • so Hallo Martin,

    heute morgen mal wieder versucht.....

    die echte config.txt in config_old.txt umbenannt

    in die config.txt in die Komandozeilen:

    # For more options and information see

    # http://rpf.io/configtxt

    # Some settings may impact device functionality. See link above for details

    # Hier der Eintrag fuer die RTC Uhr DS3231

    dtoverlay=i2c-rtc,ds3231

    # uncomment if you get no picture on HDMI for a default "safe" mode

    #hdmi_safe=1

    __________________________________

    steht das da richtig?

    Denn jetzt kann ich nicht mehr über VCN zugreifen, nur noch über Putty.

    zudem hat er hwclock --systohc auch nicht gefunden?????

  • Man muss eigentlich nur darauf achten, dass die dtoverlay-Einträge in einem globalen Bereich der /boot/config.txt stehen.

    Dies ist der Anfang der Datei und alle Zeilen nach der Zeile [all].

    Wenn der Eintrag in einem Bereich nach [pi4] (oder so) steht, dann gilt er nur für diesen RPi-Typ.

    Ich habe auf meinem RPi400extBrd vorgesehen, optional eine RTC DS3232 bzw. DS3231 zu bestücken und dies funktioniert mit dem Eintrag

    dtoverlay=i2c-rtc,ds3231

    einwandfrei. Siehe hier

  • Als absoluter Neuling bin ich echt aufgeschmissen. Literatur schon bestellt, ob die was bringt, naja mal sehen.

    OK mal soweit!

    jetzt habe ich das umgeschrieben, so wie vorgeschlagen:

    # Run as fast as firmware / board allows

    arm_boost=1

    [cm4]

    # Enable host mode on the 2711 built-in XHCI USB controller.

    # This line should be removed if the legacy DWC2 controller is required

    # (e.g. for USB device mode) or if USB support is not required.

    otg_mode=1

    [all]

    # Hier der Eintrag fuer die RTC Uhr DS3231

    # da es hier dann generell gilt

    dtoverlay=i2c-rtc,ds3231

    #----------------------

    gpu_mem=128

    dann syncronisiert und abgefragt:

    admin@piFeldRTC:~ $ sudo hwclock -w

    admin@piFeldRTC:~ $ sudo hwclock

    2023-11-13 17:33:45.279644+01:00

    admin@piFeldRTC:~ $

    scheint zu funktionieren.

    Aber woher weiß ich jetzt, dass auch die RTC Uhr läuft und nicht die Systemuhr?

    Ich habe mir so ein Kit bestellt mit Zeugs und einem Display, da werde ich versuchen die RTC Uhr aus zu lesen. Anderst geht das wohl nicht?

  • Hallo @Pilullef .

    zu System-Uhr und RTC vielleicht hier eine Erklärung : https://wiki.ubuntuusers.de/Systemzeit/

    Kurz: die System-Uhr ist die Uhr, die Linux benutzt, wenn das System läuft. Die RTC läuft davon unabhängig, auch wenn der Pi ausgeschaltet ist. Nur beim Booten liest das System die RTC, um die Systemzeit richtig zu setzen.

    Die aktuellen Werte kann man sich z.B. mit timedatectl status anzeigen lassen.

    Gruß Martin

  • Martin28

    danke für deine Erklärung. Dass das System nur beim booten die Uhrzeit holt war mir nicht klar ich dachte, dass die Zeit immer in regelmäßigen Schritten, alle z.B. Stunde von der RTC geholt wird.

    Für die Anwendung Allsky, die ich mitten im Nirvana anwende (ohne Internet oder der Gleichen und nur über Akku) benötige ich die genaue Uhrzeit für die ganzen Aufnahmen bei Nacht um diese Ereignisse dann genau zuordnen zu können.

    Mal so viel zum Hintergrund der Aktion.

    Die anderen Sensoren werde ich benötigen um an meiner Allsky hinter dem Haus, teils zum ermitteln des Taupunktes um eine Heizung für das Gehäuse ein zu schalten und auch aus Interesse was da unter dem Himmel so läuft. Die hängt natürlich am Internet und wird da über die aktuelle Zeit versorgt.

    Grüsse

  • Moinsen,

    Dass das System nur beim booten die Uhrzeit holt war mir nicht klar ich dachte, dass die Zeit immer in regelmäßigen Schritten, alle z.B. Stunde von der RTC geholt wird.

    Das Ist so ein Thema für sich. Auch die Systemzeit hat eine Zeitdrift, auch wenn sie beim Start erstmalig mit einer externen Quelle abgeglichen wurde.
    Das selbe trifft auch für die unterschiedlichen RTC Chips zu. In der Zeitschrift "MagicPI" wurde dazu mal ein sehr umfassender Artikel veröffentlicht ( so um 2020/2021 ) welcher die Eigenabweichungen der verschiedenen RTC Chips auch unter unterschiedlichen Pufferbatteriespannungen wie auch unter unterschiedlichen Umgebungstemperaturen einmal näher beleuchtete.
    Hier kann man allgemein sagen, oder daraus Rückschlüsse ziehen, das RTC's mit externen Quarz-Bausteinen bei konstanten Temperaturen genauer laufen, aber mit zunehmenden Alters / Entladezustands der Pufferbatterie Probleme bekommen. RTC's mit internen RC Schwingern eine allgemein höhere Drift haben als gleiche RTC's mit einem Quarz, jedoch nicht so krass auf Temperaturschwankungen reagieren. Ein regelmäßige Nachsynchronisierung wird deshalb trotzdem empfohlen. Ausgehend von den Maxiama welche im Außenbereich hier in Deutschland zu erwarten sind, kann es zu Zeitdriften von bis zu 30+ min / Jahr kommen.
    Das nur einmal als Randbetrachtung zur Auswahl der richtigen RTC für den jeweiligen Anwendungsfall.

    Franky

  • Hallo Franky,

    das Thema mit der Zeittrift bei der Systemzeit war klar und ich bin darüber umfangreich im Bilde. Ich habe ja schon eine Kamera am laufen, da kann ich die Zeittrift über einen Monat deutlich sehen.

    Deshalb auch der Schritt zur RTC und weil diese, Adafruit PiRTC, Präzise DS3231 RTC Echtzeituhr für Raspberry Pi, native Kernel, die genaueste war, habe ich auch diese verbaut. Da diese meinen Anforderungen entsprochen hat.

    Hier geht es auch nicht um eine Trift im Stundenbereich, ich brauche schon eine Genauikeit von 10-15sec im Jahr. Es geht darum das Teil nach einem halben Jahr Pause ohne Strom aus dem Koffer zu holen, im Feld aufzubauen und eine oder zwei Nächte laufen zu lassen. Dann weg zu packen um sie wieder im Keller verschwinden zu lassen.

    Grüsse

  • Moinsen @Pilullef,

    Dann muss ich dir sagen, das diese von dir prognostizierte Genauigkeit von Delta 15 sek / A im angegebenen Ambient-Temperaturbereich 0 bis +70 °C reine Illusion ist.
    Von möglichen Nachttemperaturen unter Null will ich gar nicht reden.
    Diese Präzision erreichst du nur mit komplexeren NXP Systemen, welche dann aber auch mit einem deutlich höheren Energiehunger daherkommen. Ausgehend vom Hersteller Datasheet des DS3231 reichen schon rekursiv betrachtet 18 Tage mit einer Ambienttemperatur > 35°C und das Delta-Ziel < 15 Sek / A bleibt ein Traum. Das entspricht pro Jahr einer Dauer von 432 h wo die Umgebungstemperatur diese 35 °C überschreitet.
    Entschuldige, wir / ich kenne das Problem sehr gut, ohne das ich dir jetzt dazu eine Fachvortrag halten möchte. Mit den Standard RTC sind 2 min / A über den gesamten Temperaturbereich Ambient Delta-T realistisch. Aber das was du forderst bekommst du nicht für 10 Euro auch keine 20 Euro.

    Franky

  • Danke Jungs!!!!!

    das mit der RTC läuft prima so! Das ist genau richtig, ich hol die Kamera aus dem Keller fahr Sie kurz hoch, das Modul hat dann die neue Zeit, dann wieder in den Koffer und raus aufs Feld. Das passt wunderbar.

    Aber jetzt habe ich ein anderes Problem, bei der RTC belege ich GIPO 1-6 da sind keine 5V mehr für meine anderen Sensoren.... wie geht das dann?????

    Grüsse

  • einfacher Test ob die RTC läuft:

    RPi ans Internet hängen und die Systemzeit abfragen (z.B. mit dem Kommandozeilenprogramm date). Dann den RPi herunterfahren, Internetverbindung trennen und 5 Minuten warten. Dann starten und die Systemzeit nochmals auslesen. Wenn die RTC läuft, stimmt die Zeit, sonst hat die Systemzeit den Wert vom letzten Herunterfahren.

  • Das mach ich dann gleich Morgen früh! ........ Es schimpft schon........ sonst darf ich am Sa nicht zum den Motorradstammtisch.....

    :saint: :saint: :saint:

    Grüsse

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!