Hallo, ich habe einen Sensor mit einem LoRa Modul (RN2483A) gebaut und es werden im 1/2 Stundentakt Daten an ein Gateway übermittelt. Als MCU habe ich einen STM32L010 im Einsatz welcher aus dem 16MHZ HSI Clock die gesamte Peripherie mit 8MHz taktet. Die MCU sowie das RN2483A Modul befinden sich also die meiste Zeit im sleep mode. Der Watchdog (wird unabhängig vom LSI RC mit 37kHz getaktet) ist mit einem Timeout von 32 Sekunden eingestellt. Die MCU wacht per RTC-Interrupt alle 20 Sekunden kurz auf um den Watchdog counter zurück zu setzen. Das ganze System mit Watchdog verbraucht 125µA im sleep mode (ohne Watchdog 38µA). Die Frage ist nun, ist ein Watchdog wirklich nötig? Wie ist eure Meinung dazu?
Welche Batterien sind im Einsatz (Technologie, Spannung, Kapazität, Anzahl)? Wie lange halten die Batterien? Wie sieht die Spannungsversorgung aus (Kapazität Elkos, LIC, DC/DC Wandler)? Wie wird der Sensor noch aufgeweckt außer über den Watchdog (Portinterrupt, Timer)? Wo wird der Watchdog aufgezogen? Sind in den 125µA die aktiven Phasen als Mittelwert enthalten?
M. G. schrieb: > Die Frage ist nun, ist ein Watchdog wirklich nötig In industriellen Anforderungen sag ich mal ja. Bei Hobbyschaltungen verzichtbar. Was passiert denn, wenn der uC mal hängen bleibt ? Er sendet nicht mehr. Stört das wen ? Kommt dann jemand um ihn wieder in Betrieb zu nehmen ? Wenn es keinen stört: spar dir die ganze Bastelei.
MaWin schrieb: > M. G. schrieb: >> Die Frage ist nun, ist ein Watchdog wirklich nötig > > In industriellen Anforderungen sag ich mal ja. Die Sensoren werden vergossen und sollten mit der Batterie mind. 5 Jahre halten. Das ist mit dem Watchdog bei dem Stromverbrauch nicht möglich und eine größere Batterie kann (sollte) nicht verbaut werden.
Gerald K. schrieb: > Welche Batterien sind im Einsatz (Technologie, Spannung, Kapazität, > Anzahl)? Eine Li-ION Zelle (3,6V, 3600mAh, Tadiran) > Wie lange halten die Batterien? Nun ja, je nach Temperatur, Stromverbrauch...sollten sie rechnerisch ohne Watchdog ca. 8 Jahre durchhalten. > Wie sieht die Spannungsversorgung aus (Kapazität Elkos, LIC, DC/DC > Wandler)? Kein DC/DC - direkt von der Batterie > Wie wird der Sensor noch aufgeweckt außer über den Watchdog > (Portinterrupt, Timer)? RTC timer interrupt > Wo wird der Watchdog aufgezogen? WDT Reset kurz alle 20 Sekunden > Sind in den 125µA die aktiven Phasen als Mittelwert enthalten? Nein, da kommen noch ein paar µA (ca. 15) dazu.
Dann mach den Watchdog doch extern. Egal ob per mini-µC oder RTCC oder einfach per Kondensator an der Reset-Leitung. Möglichkeiten gibt es zuhauf, da ja extrem viel Strom (für heutige Verhältnisse) zur Verfügung steht.
M. G. schrieb: > und eine größere Batterie kann (sollte) nicht verbaut werden Dan nimm halt einen geeigneteren uC. Unter 10uA inkl. Watchdog geht.
Es gibt auch externe Timer, welche unter 1uA ziehen.
M. G. schrieb: > Nun ja, je nach Temperatur, Stromverbrauch...sollten sie rechnerisch > ohne Watchdog ca. 8 Jahre durchhalten. Auf Grund des Betreffes habe darauf geschlossen, dass es schon Batterieausfälle gegeben hat. Gibt es noch keine Erfahrungswerte aus der Praxis? M. G. schrieb: > Kein DC/DC - direkt von der Batterie Bei Li-Primärzellen habe ich und auch andere die Erfahrung gemacht, das diese Zellen nach langer Pause beim Einschalten des Senders in die "Knie" gehen. Die Abhilfe mittels LIC habe ich schon an anderen Stellen beschrieben. Es kann sein, dass der Watchdog oder die Spannungsüberwachung des MC einen oder mehrere Restart auslöst. Werden Restart überwacht bzw. gezählt und gemeldet? Diese Restart und auch Telegrammwiederholungen (sollten auch gezählt und gemeldet werden) für zu einem erhöhten Stromverbrauch. Nebenbei mit der Zählungen der Wiederholungen kann auf auf die Übertagungsqualität geschlossen werden, die ebenfalls einen Einfluss auf die Batterielebensdauer hat. M. G. schrieb: > RTC timer interrupt Der Watchdog löst wie der RTC einen Interrupt aus, nur das der Watchdog-Interrupt nicht maskierter ist und eine höhere Prorität hat. Wenn der RTC Interrupt nicht maskiert oder disabled ist, vielleicht reicht dieser aus und man kann auf den Watchdog verzichten. Vorausgesetzt man überwacht in der Interruptroutine das Hintergrund-Programm . M. G. schrieb: > WDT Reset kurz alle 20 Sekunden Meistens lässt sich der Watchdog nicht länger aufziehen. Eigentlich sollte die Funktion des Watchdog anders aussehen : Der Watchdog sollte nur im Falle eines Fehlers (Dauerschleife oder Programmhänger) auslösen. Der Watchdog sollte nur vom Hintergrund-Programm und niemals in einer Interruptroutine, aufgezogen werden. Aber vielleicht schlägt in deiner Applikation der Watchdog alle 20 Sekunden zu und startet den Sensor von Neuem. Fällt vielleicht es dir nicht auf. Damit der MC vom Watchdog nicht aus dem Sleep-Modus geweckt wird, gehört dieser unmittelbar vorher abgeschaltet und unmittelbar nach dem Aufwecken (z.B. durch den RTC) Interrupt wieder aktiviert. _Warum sollte der Watchdog niemals in einer Interruptroutine aufgezogen werden_ : Eine Interruptroutine wird auch durchgeführt wenn das Hintergrund-Programm in einer Dauerschleife oder Deadlook-Situation hängt! Fehlerzähler oder Statistik ist eine wertvolle Hilfe die Qualität zu beurteilen und Fehler zu verbessern. Dies ist speziell für Sensoren wichtig die still und unbeobachtet, zeitlich unbegrenzt vor sich hinwerken.
Eine "echte" RTC ist eventuell noch sparsamer im Verbrauch. Eventuell kannst Du über den Interruptausgang sogar den ganzen µP (via FET) aus- bzw. einschalten. Die Teile gibt es mit eingebautem Quarz - oft noch genauer als die die Du für kleines Geld kaufen kannst, oder Du nimmst den vom µP.
Ich vergaß: Eine RTC kannst Du so programmieren, dass sie nach 36,8 Stunden mal aufwacht und Du nicht alle paar Sekunden einen Wachhund ins Körbchen schicken musst.
M. G. schrieb: > Das ganze System mit Watchdog verbraucht 125µA im sleep mode Das ist sehr viel für einen µC. Z.B. ein ATmega48PB verbraucht im Power-Down mit Watchdog 2µA an 1,8V.
Die Frage ist überhaupt ob ein RTC, der zum 1/2 stündlichen Aufwecken benutzt wird überhaupt notwendig ist. Meldungen können auch am Server mit einem Zeitstempel versehen werden. Dann reicht der interne Timer eines sparsamen MC, wie schon MaWin erwähnt hat.
Peter D. schrieb: > M. G. schrieb: >> Das ganze System mit Watchdog verbraucht 125µA im sleep mode > > Das ist sehr viel für einen µC. > Z.B. ein ATmega48PB verbraucht im Power-Down mit Watchdog 2µA an 1,8V. Ja du hast recht, das ist zuviel. Hier dürfte etwas anderes nicht stimmen. Lt Datasheet (STM32L010) liegt der Stromverbrauch im standby mode (IWDG und LSI enabled) bei rund 3µA.
Hast Du das Schaltbild mal unter diesem Gesichtspunkt untersucht? Meine Lieblinge sind: Unnötige Pull-Up oder -down Widerstände nicht unbedingt notwendige LEDs Bausteine, die sich mit einem einfachen FET abschalten lassen würden usw.
oder ein Watchdog der alle 20s zuschlägt und das System neu startet
Sebastian S. schrieb: > Hast Du das Schaltbild mal unter diesem Gesichtspunkt untersucht? Ja, das war ein guter Hinweis - Danke! Über R13 - R8 und R9 (siehe Schaltung) ist einiges geflossen. Ich habe R8 nun auf 1M erhöht und bin nun bei 25µA im stop-mode (inkl. watchdog) gelandet. Nur trotzdem sollte ich wenn ich mir die Datenblätter ansehe noch weiter herunter kommen. Die Referenzspannungsquelle ist im stop-mode nicht aktiv. Lt Datenblatt sollte der UC bei VDD=3,6V (Stop-Mode + RTC) rund 1,2µA und der RN2483A im sleep-mode rund 1,6µA verbrauchen. In Summe also 1,2 + 1,6 + 4(R13-R8-R9) - rund 8µA. Da verbrauche ich aber noch immer das Dreifache.
M. G. schrieb: > Die Frage ist nun, ist ein Watchdog wirklich nötig? Das musst du doch wissen. Wie oft hat dein Watchdog denn schon zugeschlagen, obwohl er eigentlich hätte regelmäßig resetet werden sollen? Wie prüfst du, ob deine RTC vernünftig läuft und wie es ihrer Batterie geht?
Hallo, warum hast Du eigentlich einen Ferrit in Reihe zur Batterie? Jogibär
Wolfgang schrieb: > M. G. schrieb: >> Die Frage ist nun, ist ein Watchdog wirklich nötig? Eigentlich sollte man ihn schon einbauen. Es läuft zwar alles stabil und der WD hat noch nie zugeschlagen...aber vielleicht in einem Jahr einmal? > Wie prüfst du, ob deine RTC vernünftig läuft und wie es ihrer Batterie > geht? In bestimmten zeitlichen Abständen sendet das Modul die Daten. Sollte die RTC nicht richtig laufen sehe ich das. Batteriespannung wird mit gesendet.
Michael J. schrieb: > Hallo, > > warum hast Du eigentlich einen Ferrit in Reihe zur Batterie? Hatte ich zuerst nicht, aber dadurch blocke ich HF-Rauschen und die Spannung ist viel sauberer.
Wer auch immer da rauscht, Deine Batterie ist es nicht. Auch ist der Platz zwischen Batterie und Masse suboptimal.
Amateur schrieb: > Wer auch immer da rauscht, Deine Batterie ist es nicht. Ja, das ist mir klar. > Auch ist der Platz zwischen Batterie und Masse suboptimal. Bitte um genauere Erklärung...
Hallo, ich glaube nicht, daß Dein Rauschen von der Batterie kommmt. Im Gegenteil, bei hochgenauen Meßgeräten werden oft Batterien verwendet, da diese kaum Rauschen und keine HF Störungen verursachen. Im Gegensatz zu Netzteilen. Daß ein Ferrit Rauschen verringert, wäre mir neu. Bei EMV sieht es natürlich anders aus; muß man aber genau auslegen und messen. Jedes Bauteil verursacht Rauschen und ich kenne kein Bauteil, welches effektiv reines Rauschen (Thermo, Schrot usw.) herausfiltert. Ich laß mich aber sehr gern belehren, man kann nicht alles wissen. Die richtige Position für den Ferrit wäre eher in der Auftrennung zwischen analoger und digitaler Versorgung zu sehen, um die Störungen des digitalen Bereichs zu verringern. Dazu sollte (wenn es was bringt) die Masse auch aufgespalten werden. (Signal/Rauschverhältnis) Das ist aber ein so komplexes Thema, da kommt man nur mit vernüftiger Meßtechnik weiter; was bringt was und was bringt nichts bzw. ist es notwendig. Jogibär
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
