Hi, ich bin aktuell eine Wetterstation am bauen. Das ganze soll mit einem 18650 LiIon-Akku versorgt werden. Geladen wird der Akku über eine kleine Solarzelle, mit Hilfe von einem Solar-IC. Die Daten werden dann regelmäßig per Funk an die Innenstation übertragen. Als Controller kommt ein STM32L4 zum Einsatz. Ein erster Prototyp der Platine ist auch schon aufgebaut. Die Kern-Funktionen sind soweit alle gegeben (Sensoren funktionieren, Funk läuft, Sleep Modes usw...). Der Prototyp hat mir aber folgende Probleme aufgezeigt, die ich hoffentlich mit der neuen Platine beheben kann: Der 32,768 kHz Schwingt nicht. Das Design rund um den Quarz ist wohl sehr kritisch. Ich habe versucht, mich mit dem neuen Design an die AppNote (AN2867) von STM zu halten. Als Quarz habe ich folgenden raus gesucht. Der ist auch in in der Recommended Liste in der AppNote: FC-135 32.7680KA-AG5 Der Standby-Strom war deutlich höher wie zuvor berechnet. Ich habe die Messung der Akku-Spannung, die vorher mit einem Spannungsteiler gelöst war, jetzt gegen einen OpAmp als Spannungsfolger (Verstärkung 0,5) getauscht. Die 0 Ohm Widerstände sind immer dazu gedacht, dass ich dem Stromverbrauch einzelner ICs messen kann. Meine Fragen wären jetzt: Ist das Quarz-Layout so ok? Passt das mit dem OpAmp? Allgemeine Anregungen zum Layout oder der Schaltung sind ebenfalls willkommen!
Martin K. schrieb: > Der Standby-Strom war deutlich höher wie zuvor berechnet. Ich habe die > Messung der Akku-Spannung, die vorher mit einem Spannungsteiler gelöst > war, jetzt gegen einen OpAmp als Spannungsfolger (Verstärkung 0,5) > getauscht. -0.5 Der OP funktioniert so nicht und -0.5 bringt dir nichts.
ich habe so etwas etwas einfacher gebaut, nur mit SHT Sensor, aber auch mit RFM69. Der Controller LPC812/824 schaltet im Deep Sleep auch die Pull Up ab, das führte zu erhöhter Stromaufnahme des RFM durch die floatenden SPI Leitungen, da habe ich noch ext. Pull Up eingebaut. Also mal kontrollieren was der L4 da macht. Bei neueren STM32 kann man den Laststrom für den Quarz einstellen, da habe ich beim H7 auch lange gesucht weil der nicht ordentlich schwingen wollte.
> Der 32,768 kHz Schwingt nicht. Das Design rund um den Quarz ist > wohl sehr kritisch. Ja, 32khz Quarze sind deutlich sensibler. Sie schwingen z.B auf keinen Fall wenn du da einen 1:1 Tastkopf dran haelst und manchmal auch mit 1:10 nicht. Ich weiss zwar nicht ob dein Guardring unbedingt not tut, aber ich denke das es eigentlich funktionieren sollte. Falls die 10pF fuer deinen Quarz und deine MCU so richtig sind. > Passt das mit dem OpAmp? Du kannst einfach einen beliebig hochohmigen Spannungsteiler verwenden, sagen wir mal 2x1Meg. Zum unteren schaltest du dann einen 10nF oder 100nF Kondensator parallel. Dieser Kondensator verkleinert den Ausgangswiderstand soweit das der AD deiner MCU das brauchbar messen kann. Der Nachteil ist natuerlich das du einen sehr langsamen Tiefpass gebaut hast. Aber du musst deine Batteriespannung ja sicher nicht sehr oft/schnell messen. Vanye
J. S. schrieb: > Bei neueren STM32 kann man den Laststrom für den Quarz einstellen Ja, selbst auf High mag er nicht. Daher das Design nach AppNote. Vanye R. schrieb: > Falls die 10pF > fuer deinen Quarz und deine MCU so richtig sind. Habe mehrere Kondensatoren in dem Bereich vorrätig und kann dann etwas spielen. 10pf sollten rechnerisch passen. Vanye R. schrieb: > Du kannst einfach einen beliebig hochohmigen Spannungsteiler verwenden, > sagen wir mal 2x1Meg. Zum unteren schaltest du dann einen 10nF oder > 100nF > Kondensator parallel. Stimmt, danke! Werde den Op rauswerfen und das so umsetzen. Danke auch an Rainer W.!
Martin K. schrieb: > Der 32,768 kHz Schwingt nicht. Nimm einen fertigen 32kHz-Oszillator. Der OV-7604-C7 braucht weniger als 1uA und weniger Platz, das Layout ist viel unkritischer und er funktioniert. Im gleichen Gehäuse gibt es auch Temperatur-kompensierte 32kHz: RV-3032-C7. Da ist auch gleich eine komplette RTC dabei. Die braucht man zwar nicht unbedingt, aber damit könnte man noch mehr Strom sparen. Den 8MHz-Quarz könnte man ganz weg lassen. Die internen RC-Oszillatoren der STM32L4 können per Software und beim L431 auch per Hardware getrimmt werden. Als Referenz dienen die 32kHz oder ein 1Hz-Takt von einer RTC. Wenn beide Quarze entfallen, hast du oben Platz für die NRST-Leiterbahn und bekommst eine schönere Massefläche auf der Unterseite. Bis auf den Regensensor(?) funktioniert alles mit 3.0 bis 3.6V. Man könnte einen LiFePO4-Akku in Erwägung ziehen und den Spannungsregler sparen...
Bauform B. schrieb: > Regensensor(?) Das wird wohl so eine Bastelkiste sein, einfache Widerstandsmessung: https://www.az-delivery.de/products/regen-sensor-modul Also das Design ist etwas komisch. Zunächst einmal, mir ist nicht bekannt, was du an die freien Steckplätze anschließen möchtest. Für so einen Tropfensensor, und einfache Funktionen wie Thermometer und Luftfeuchtigkeit oder Luftdruck, ist das Design viel zu kompliziert, teuer, und verbraucht auch zu viel. Den ganzen Solarkram mit dem Akku kann man sich dabei komplett sparen. Es braucht auch keinen super tollen STM, es reicht ein einfacher AVR. Zwei AAA Batterien und du hast ein paar Jahre Laufzeit. Der größte Stromverbrauch, anhand der Schaltung, ist einfach, dass du den Tropfensensor die ganze Zeit mit dem Pullup versorgst. Es tut ein AVR und irgendein Funkmodul. nRF24L01 ist günstiger als dein 433MHz Modul, musst du aber selber mit der höheren Bandbreite und der geringeren Reichweite abschätzen. Für die üblichen Sensoren, da kannst du wählen von günstig (einfacher Thermistor und Luftfeuchtigkeitssensor über Aliexpress), oder du packst einen Sensirion drauf (die gibt es auch mit Membran und integriertem Heizelement). Sowas läuft eigentlich auch ein paar Jahre mit einer Knopfzelle. Kein LiPo nötig, kein Solarmodul. Spannungsregelung auch nicht, Komponenten laufen über den gesamten Spannungsbereich der Batterien. Keine externen Quarze, das mit dem OpAmp nur um die Batteriespannung auszulesen bzw. auszuwerten, verstehe ich auch nicht. Vanye R. schrieb: > Du kannst einfach einen beliebig hochohmigen Spannungsteiler verwenden, > sagen wir mal 2x1Meg. Zum unteren schaltest du dann einen 10nF oder > 100nF > Kondensator parallel. Dieser Kondensator verkleinert den > Ausgangswiderstand soweit das der AD deiner MCU das brauchbar messen > kann. Der Nachteil ist natuerlich das du einen sehr langsamen Tiefpass > gebaut hast. Aber du musst deine Batteriespannung ja sicher nicht sehr > oft/schnell messen. Kann man sich sparen. Pin der MCU als Ausgang, daran einen Spannungsteiler setzen, füttern in einen ADC Pin rein. Wird einfach bei Bedarf bestromt.
:
Bearbeitet durch User
Bauform B. schrieb: > Nimm einen fertigen 32kHz-Oszillator. Hatte ich so gar nicht auf dem Schirm. Klingt super, werde ich so umsetzen! Auch den 8 MHz quarz werfe ich raus - der interne Oszillator sollte dicke reichen, da ja auch alle Schnittstellen unkritisch sind, was den exakten Takt betrifft. Bauform B. schrieb: > Man > könnte einen LiFePO4-Akku in Erwägung ziehen Gute Idee, schau ich mir genauer an! Keks F. schrieb: > einfache Widerstandsmessung Ist vielleicht etwas unglücklich beschriftet im Schaltplan. Das ist ein Regenmesser mit einer Wippe. Der "Sensor" ist also nur ein Reed Schalter.
Martin K. schrieb: > Das ist ein Regenmesser mit einer Wippe. Der "Sensor" ist also > nur ein Reed Schalter. Sehr gut, dann könnte man den an PA0, PA2 oder PC13 statt an PA12 anschließen. Über diese WKUP-Pins kann der STM32 aus dem Tiefschlaf geweckt werden wenn es regnet.
1 | 9. The I/Os with wakeup from Standby/Shutdown capability are: PA0, PC13, PE6, PA2, PC5. |
Mit einem LiFePO4-Akku ohne Spannungsregler kann der STM32 die Akkuspannung selbst messen, ohne externe Bauteile und ohne unnötigen Stromverbrauch. Vom VBAT-Pin geht ein abschaltbarer Spannungsteiler zum ADC Kanal 18. Martin K. schrieb: > Die 0 Ohm Widerstände sind immer dazu gedacht, dass ich dem > Stromverbrauch einzelner ICs messen kann. Ich würde 1 Ohm oder 10 Ohm und ein besseres Voltmeter nehmen ;)
Keks F. schrieb: wie man ein völlig anderes Gerät baut... > Es braucht auch keinen super tollen STM, es reicht ein einfacher AVR. Und, wo wäre der Vorteil? Vielleicht Schieberegister wegen Pin-Mangel? Ach so, mehr Abenteuer mit dem Compiler. Ja, andere Leute klettern auf Berge, weil die nunmal da sind :(
auch der 32 kHz Quarz ist doch überflüssig. Wenn die Klimadaten zyklisch gefunkt werden, dann gibt es ja noch einen Empfänger. Und der kann den Zeitstempel aufdrücken. Ich habe als Empfänger einen Raspberry Pi, das RFM69 Modul kann da direkt an das SPI angeschlossen werden. Die Daten dann einfach in einen MQTT Broker rein. In CubeMX kann man den Strombedarf und Batterielaufzeit berechnen lassen. Den Aufwand mit Akku, Laderegler und Solar halte ich da auch für übertrieben. Ein kleiner kompakter Sensor mit Batterie kann auch in dunklen Kellerräumen funken. Mein Sensor sollte einfach und günstig sein damit er in vielen Räumen liegen kann. Ich habe auch Steckverbinder drauf und abgewandelte Versionen arbeiten als Klingelmelder oder mit PIR als Bewegungsmelder. Oder als Feuchtesensor durch Kapazitätsmessung. Und kleine Cortex-M brauchen im Deep Sleep auch nur 0,x µA. Das 8 Bitter sparsamer sind ist wohl eine nicht totzukriegende Mär.
:
Bearbeitet durch User
Bauform B. schrieb: > wie man ein völlig anderes Gerät baut... Jo, deutlich günstiger, weniger aufwändig, aber selbe Funktion. Das war die Grundaussage. Bauform B. schrieb: > Und, wo wäre der Vorteil? Vielleicht Schieberegister wegen Pin-Mangel? > Ach so, mehr Abenteuer mit dem Compiler. Ja, andere Leute klettern auf > Berge, weil die nunmal da sind :( Der Vorteil ist ganz einfach. Du kannst meinen Post so nämlich missverstehen, aus dem Kontext herausreißen, und irgendeinen Stuss schreiben. Der AVR ist exemplarisch genommen worden, weil es die Leistung und die Fähigkeiten der verwendeten MCU einfach nicht benötigt für den Anwendungsfall hier. Mein ganzer Post bezieht sich auf das scheinbare Überentwickeln des TEs einer einfachen Wetterstation. Wie du darauf kommst, dass ein 8 Bitter nicht in größeren Packages mit mehr Pins kommen kann, weiß ich nicht. War nicht Teil meines Postings, die paar Pins, die hier benutzt werden, sind übrigens auch sehr wenig. Ich glaube da wolltest du vielleicht einfach mal was geschrieben haben. In dieser Hinsicht, weil du meinen Post ja scheinbar unqualifiziert findest, aber selber nichts auf die Reihe bekommen hast, mach dir doch nicht die Mühe, kopiere einfach meinen so stümperhaften Beitrag und poste ihn unter deinem Namen nochmal. ;) J. S. schrieb: > Das 8 Bitter > sparsamer sind ist wohl eine nicht totzukriegende Mär. Falls du dich auf meinen Beitrag beziehen solltest, wo genau sage ich das? Nirgendwo.
Keks F. schrieb: > Mein ganzer Post bezieht sich auf das scheinbare > Überentwickeln des TEs einer einfachen Wetterstation. Was heißt überentwickeln? Man sollte so ein Projekt eher als Übung sehen, und mit der gewählten MCU sind viele Erweiterungen offen: SD Card für lokale Datenhaltung, TFT mit ordentlichen Fonts und Grafik (lvgl), USB um das Board als Funkempfänger am PC einzusetzen und so weiter. Dazu gut zu debuggen, was wichtig ist wenn die SW doch komplexer wird. Grundvoraussetzung für Batteriebetrieb ist geringe Stromaufnahme, also gibt es hier auch keinen Grund einen alten 8 Bitter zu bevorzugen. Die Software kann man modular aufbauen ohne auf das letzte Bit gucken zu müssen, die Module für die Sensoren und Funk und USB können in anderen Projekten weiterverwendet werden. Dazu kommt das das Design schon nahezu fertig ist, damit ist die Kritik an der gewählten MCU noch überflüssiger. Der Chip kostet vielleicht 2€ mehr bei massig mehr Resourcen. Den Takt kann man komplett zur Laufzeit rauf und runterfahren, im low Power Run braucht der L432 0,31 mA, und dieser Mode reicht für die einfache Funkvariante. Der Stromverbrauch wird da also nur die Sendehäufigkeit bestimmt. 'Überentwickelt' ist da nur die Solargeschichte, aber auch das kann man ja optional bestücken und z.B. bei Bewässerungsteuerung im Garten gebrauchen. Ich finde den Ansatz jedenfalls sehr gut, besser als die 1001ste Version der Funkwetterstation mit ESPxx.
:
Bearbeitet durch User
J. S. schrieb: > Und der kann den > Zeitstempel aufdrücken Das passiert auch tatsächlich schon. Ich möchte aber auch die RTC mit externem Takt ausprobieren und schauen, wie gut das unter Realbedingungen läuft. Wie J. S schrieb: J. S. schrieb: > Man sollte so ein Projekt eher als Übung > sehen Daher auch die Sache mit der PV-Ladeschaltung. Hier gehts ja nicht darum jeden Cent zu sparen, sondern um den Spaß und eine funktionierende Schaltung am Ende, die im Idealfall viele Jahre ohne Eingriff läuft. Da ich auch die Akku-Spannung logge, kann ich in Zukunft dann etwas besser abschätzen wie groß so eine Zelle sein muss, wie groß der Akku sein muss usw... Die Variante mit dem LiFePO4-Akku werde ich mit integrieren auf dem nächsten Board, aber mit der Option die Platine auch so zu bestücken, dass das mit dem LiIon Akku funktioniert. J. S. schrieb: > das führte zu erhöhter Stromaufnahme des RFM Das werde ich mal testen, danke für den Hinweis!
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.