Forum: Mikrocontroller und Digitale Elektronik Alarmfunktion DS3231 am Raspberry Pi


von Benjamin S. (housejunky)


Lesenswert?

Moin Blogger,

ich habe ein kleines Problem. Ich möchte einen Raspberry Pi mit dem RTC 
Modul DS3231 versehen, um ein automatisches, zeitgesteuertes Hochfahren 
zu realisieren. Das Anschließen und Einbinden des Moduls lief ohne 
Probleme, die aktuelle Uhrzeit zieht sich der Pi automatisch ohne 
Netzwerkverbindung von der RTC.
Nur wie kann ich einen Alarm programmieren? Ich möchte, dass alle 30 
Minuten ein Alarm ausgelöst wird von der RTC, um den Pi zu starten.
Hat jemand eine Idee dazu? Habe zwar eine Dokumentation mit Addresstafel 
zu dem Modul, aber bin noch recht unerfahren auf dem Gebiet.

Danke für eure Hilfe.

von Verständnisloser (Gast)


Lesenswert?

Verständnisfrage:

Du willst ein DS3231 mit deinem eigenen Code ausstatten der alle 30min. 
(!) dein Raspberry Pi hochfährt? Unabhängig von der Uhrzeit? Weshalb 
muss das Raspi so oft hochgefahren werden?

Mein 95- Jähriger Großvater hat ein ähnliches Problem mit einem von ihm 
selbst entwickelten "Watchdog" gelöst, wenn sein das Teil nicht alle 60 
Sekunden einen Impuls über den parallel-port seines Hauscomputers 
empfangen hat, wird die Boardspannung des PC für wenige Sekunden 
unterbrochen. Heutzutage in wenigen Minuten für einen Bruchteil der 
Kosten mit einem Arduino und einem Relais realisierbar :)

Das Programm lässt sich selbstverständlich für deine Zwecke modifizieren 
:-)

von Benjamin S. (housejunky)


Lesenswert?

Der Pi soll automatisch hochfahren, ein Programm ausführen und sich 
danach wieder automatisch runterfahren. Und das alle 30min bzw. das 
Intervall soll variable sein. (kann auch jede Stunde sein oder alle 
15min)

Habe es nun soweit geschafft, dass das DS3231 bei nem programmierten 
Alarm 2 von high auf low wechselt, wenn die Minuten übereinstimmen.

Leider ist der low-pegel nicht ganz bei 0V, sondern bei 0,04V

Nun muss ich mir eine geeignete Beschaltung überlegen, die Pegeländerung 
mit den "Run-Pins" des Pi zu verbinden, um ihn zu starten.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich überlege gerade, wieviel Strom ein runtergefahrener Pi braucht.
Abgeschaltet wird er doch ohnehin nicht oder wie?

Gruß aus Berlin
Michael

von Joachim B. (jar)


Lesenswert?

Michael U. schrieb:
> ich überlege gerade, wieviel Strom ein runtergefahrener Pi braucht.
> Abgeschaltet wird er doch ohnehin nicht oder wie?
>
> Gruß aus Berlin
> Michael

ich meine ja auch das spart nicht viel aber es gibt ja unterschiedliche 
PI

mit linear Regler, mit Schaltregler, im idle sollen einige sogar bis 
210mA runterkommen, besser wäre natürlich nach dem Shutdown vom PI die 
Versorgung stromlos zu schalten und diese nur von der RTC zu aktivieren.

Shutdown Kommando PI mit voriger Aktivierung eines Zeitrelqaus welches 
trennt wäre ja machbar, ach das Dateisystem auf read only umzustellen 
damit das keinen Knacks bekommt.

Das bedarf aber eines besseren Konzepts als nur mit shutdown und reset 
Tasterersatz.

: Bearbeitet durch User
von Benjamin S. (housejunky)


Lesenswert?

Ich möchte das ganze auf einem Pi Zero realisieren. Dort wurden Ströme 
beim Booten von ca. 150mA gemessen und im idle ca. 40mA.

Im runtergefahrenen Zustand habe ich noch keine Angabe, mein USB 
Strommesser ist noch in der Post unterwegs. ;)

Hintergrund ist, das System soll Energieautark an einer Powerbank über 
einen längeren Zeitraum betrieben werden. Deswegen auch das Hoch- und 
Runterfahren des Pi. Die Messaufgabe beträgt nur ca. 30 Sekunden alle 30 
Minuten.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Benjamin S. schrieb:
> Die Messaufgabe beträgt nur ca. 30 Sekunden alle 30 Minuten.

Vielleicht solltest Du das Konzept, einen fetten PI für eine so simple 
Aufgabe zu verwenden, nochmals überdenken.

Wahrscheinlich ist die Aufgabe mit einem geeigneten µC viel einfacher zu 
lösen. Den schickt man einfach in den Sleep Mode und fertig.

von Benjamin S. (housejunky)


Lesenswert?

Naja, Vorteil am Pi ist der integrierte SDslot und die GPU. In den 30 
Sekunden, die der Pi alle 30min läuft, soll ein Beschleunigungssensor 
und ein Drehzahlsensor über i2c ausgelesen und die Werte als csv 
gespeichert werden. Die Daten sollen zudem ausgewertet werden mittels 
FFT....
Glaube, das schafft ein µC nicht mal eben so.

von Christian B. (luckyfu)


Lesenswert?

Benjamin S. schrieb:
> Die Daten sollen zudem ausgewertet werden mittels
> FFT....
> Glaube, das schafft ein µC nicht mal eben so.

ein µC sicher nicht, aber ein DSP schon.

von fät (Gast)


Lesenswert?

Moin,

hängt man einen P-Fet in die Vcc und verbindet man das Gate mit dem /INT 
Pin vom RTC Chip werden aus den xyz mA  ca. 1µA..

Pullup-R nicht vergessen..

von Peter D. (peda)


Lesenswert?

Benjamin S. schrieb:
> Die Daten sollen zudem ausgewertet werden mittels
> FFT....
> Glaube, das schafft ein µC nicht mal eben so.

Alle 30min eine FFT sollte selbst jeder 8-Bitter wuppen können.
Es reicht also irgendein MC-Board mit RTC-Funktion und SD-Slot.

von Heinz (Gast)


Lesenswert?

Und, hat's geklappt?
Wie lange liegt der Alarm-Ausgang an? Ist er über #Reset zurückzusetzen?
Oder braucht man eine zusätzliche Selbsthaltungsschaltung (Flipflop), 
die dann beim/Nach runterfahren zurückgesetzt wird?
Oder könnte man mit etwas Logik und dem 2. Alarmausgang den 
Ausschaltzeitpunkt auch bestimmen?

Ich möchte erreichen, dass ein Rechner (Rpi) alle 24 h mal ein Bild 
aufnimmt und auf einen Server lädt.

von Oliver S. (phetty)


Lesenswert?

Benjamin S. schrieb:
> In den 30
> Sekunden, die der Pi alle 30min läuft, soll ein Beschleunigungssensor
> und ein Drehzahlsensor über i2c ausgelesen und die Werte als csv
> gespeichert werden. Die Daten sollen zudem ausgewertet werden mittels

Unter Garantie wird die SD-Karte zerschossen.

von Heinz (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.