Hallo Leute, ich bin gerade dabei eine kleine Schaltung zu bauen, bei der mit einem Wemos D1 mini lite jede Stunde ein Eingang abgefragt werden soll, und täglich eine Statusnachricht per SMS gesendet werden soll. Die restliche Zeit befindet sich der Wemos in DeepSleep. Betrieben wird das ganze über 4 x 1,5V AA Batterien in Reihe. Da das Ziel dieser Schaltung ist, so Batterie schonend wie möglich und somit so lange wie möglich zu laufen, würde mich interessieren, ob jemand von euch noch einen Fehler in der Schaltung findet, oder vielleicht einen Verbesserungsvorschlag hat, um wirklich die maximale Laufzeit herauszubekommen. Laut meinen Tests und Messungen würden die Batterien nach ca. 15 - 20 Tagen aufgebraucht (noch ca. 1,1V pro Batterie) sein. Kann mir jemand helfen, um noch mehr Laufzeit heraus zu bekommen? Danke für eure Hilfe
Noch kurze Infos zur Schaltung: A0: Hier wird die aktuelle Batteriespannung gemessen, welche über einen FDS4465 Mosfet und BC547C Transistor geschaltet wird, um möglichst wenig Energie während dem DeepSleep zu verbrauchen. D5: Ausgang, um alle angeschlossenen Bauteile zu aktivieren D6: Eingang, der abgefragt wird Ein Magnetschalter ist an die Schraubklemme 2Pol gehängt. (Durch D5 aktiviert) D7: Eingang, der Durch Taster auf GND geschaltet wird für Debug Funktionen. D8: Ausgang zu Einschalten des GSM Moduls (SIM800L) über den LT1529 Spannungsregler, der die Spannung auf 4V regelt. TX/RX: Kommunikation zum GSM-Modul. D1/D2: Kommunikation zum RTC-Modul DS3231
Daniel schrieb: > ich bin gerade dabei eine kleine Schaltung zu bauen, bei der mit einem > Wemos D1 mini lite jede Stunde ein Eingang abgefragt werden soll, und > täglich eine Statusnachricht per SMS gesendet werden soll. Warum nimmst du ein Modul mit WLAN, wenn du SMS verschicken willst?
Hier wird unnötig Energie verbraucht. Die Widerstände rund um den BC547 könnten um den Faktor 10 oder mehr vergrößert werden. Ein kleinerer MOSFET würde dann immer noch schnell genug schalten.
my2ct schrieb: > Warum nimmst du ein Modul mit WLAN, wenn du SMS verschicken willst? Hat sich mehr oder weniger angeboten. Muss ich das WLan irgendwie extra ausschalten, wenn ich es nicht benötige oder ist es von Anfang an aus? der schreckliche Sven schrieb: > Hier wird unnötig Energie verbraucht. > Die Widerstände rund um den BC547 könnten um den Faktor 10 oder mehr > vergrößert werden. > Ein kleinerer MOSFET würde dann immer noch schnell genug schalten Danke, das werde ich sofort versuchen. Habe leider als ich den Betrag geschrieben habe vergessen mich anzumelden. Also nicht wundern, ich bin auch Daniel(Gast).
:
Bearbeitet durch User
der schreckliche Sven schrieb: > Hier wird unnötig Energie verbraucht. > Die Widerstände rund um den BC547 könnten um den Faktor 10 oder mehr > vergrößert werden. > Ein kleinerer MOSFET würde dann immer noch schnell genug schalten. Meinst du damit nur R5 und R6, oder auch R7? Welchen MOSFET würdest du dann empfehlen?
:
Bearbeitet durch User
Du könntest MOSFET und BC547 ganz weglassen und hinter dem LT1529 messen, der wird ja sowieso abgeschaltet. Damit misst du die wirklich wichtige Spannung und weißt, warum die Message nicht gesendet wurde. Das GSM-Modul zieht ja 2A und schaltet sich bei 3V aus. Liefert eine normale Batterie überhaupt soviel Strom? Kurzzeitig muss sie übrigens 5 bis 7A liefern, wenn der LT1529 einschaltet und die Elkos auflädt. 1.5V Lithium-Primärzellen sind keine Lösung, auch wenn sie mehr Strom liefern. Die haben 1.9V Leerlaufspannung, der WEMOS D1 MINI verträgt aber nur max. 6.5V. Das ist ja auch mit Alkali-Mangan etwas knapp. R3 und R4 könnten auch hochohmiger sein. D8 / R3 bleibt ja schon mal minutenlang eingeschaltet, bis sich das GSM-Modul eingebucht hat und die SM losgeworden ist. Gute Batteriehalter haben einen mechanischen Verpolungsschutz.
Bauform B. schrieb: > Du könntest MOSFET und BC547 ganz weglassen und hinter dem LT1529 > messen, der wird ja sowieso abgeschaltet. Damit misst du die wirklich > wichtige Spannung und weißt, warum die Message nicht gesendet wurde. Das > GSM-Modul zieht ja 2A und schaltet sich bei 3V aus. Ich möchte den Batteriestatus in Prozent ausgeben, das funktioniert dann nicht. Wenn ich messe, wenn das Gsm eingeschaltet ist, dann wird wegen dem hohen Stromverbrauch das Messergebnis verfälscht (Spannungsrinbruch) Gibt es vielleicht noch eine andere Möglichkeit? Bauform B. schrieb: > Liefert eine normale Batterie überhaupt soviel Strom? Ja habe ich bereits getestet...funktioniert Bauform B. schrieb: > R3 und R4 könnten auch hochohmiger sein. D8 / R3 bleibt ja schon mal > minutenlang eingeschaltet, bis sich das GSM-Modul eingebucht hat und die > SM losgeworden ist. Wie viel Ohm stellst du dir dabei vor?
Bauform B. schrieb: > Gute Batteriehalter haben einen mechanischen Verpolungsschutz. Ich habe bis jetzt noch keinen gefunden. Kannst du mir einen empfehlen?
Daniel schrieb: > Kann mir jemand helfen, um noch mehr Laufzeit heraus zu bekommen? Schmeiss den üblen Stromfresser WEMOS ESP8266 raus und nimm was ordentliches. Also kein Arduino, sondern einen nackten AVR oder PIC. Da deine Zeitabstände vermutlich uhrzeitgenau sein sollen, lasse den an 32kHz Quartz laufen. Viel Rechenleistung hat er nicht mehr, brauchst du aber auch nicht, wenn du kein Arduino-API verwendest.
Hallo, Daniel E. schrieb: > Wenn ich messe, wenn das Gsm eingeschaltet ist, dann wird wegen dem > hohen Stromverbrauch das Messergebnis verfälscht (Spannungsrinbruch) und was nutzt Dir ein Meßergebnis ohne die Last? Wenn der Kram sich dann beim Versuch einzubuchen komplett wegen Spannungseinbruch der Batterien abstürzt? Daniel E. schrieb: > Muss ich das WLan irgendwie extra ausschalten, wenn ich es nicht > benötige oder ist es von Anfang an aus? Das WLAN ist default an. Ausschalten geht mit einem Trick: ESP.deepSleep(WAIT, RF_DISABLED); delay(100); Stromverbauch in Betrieb ist dann ca. 15mA. Wenn man es mal wieder braucht: ESP.deepSleep(WAIT, RF_CAL); delay(100); Gruß aus Berlin Michael
Daniel E. schrieb: > Kannst du mir einen empfehlen? Verpolungsschutz leider nein. Gute Batteriehalter ja, ich habe nachbestellt: https://www.aliexpress.com/item/5Pcs-lot-2-AA-Battery-Holder-SMD-SMT-High-Quality-Battery-Box-With-Bronze-Pins-TBH/32822499807.html Scheinen gleich denen zu sein, die Reichelt unter dem Namen "Keystone" anbietet. Zur Befestigung habe ich Löcher abgebohrt, die Wandstärke reicht für M2,5-Senkkopf. Die roten Markierungen habe ich eingeklebt, weil man die Polung schlecht sieht.
Michael B. schrieb: > was ordentliches. Also kein Arduino, sondern einen nackten AVR oder PIC. Na ja ... ich werfe von einem China-A*-ProMini die LED und den Spannungsregler runter und komme bei 5V / 16MHz im sleep auf 5..7µA. Ich weiß, dass weniger geht, aber mit 60mAh pro Jahr komme ich gut zurecht. Da fehlt dann aber WLAN, weshalb Daniel wohl den Wemos nehmen will und ich brauche externe Hardware für die Programmierung.
Manfred schrieb: > Na ja ... ich werfe von einem China-A*-ProMini die LED und den > Spannungsregler runter und komme bei 5V / 16MHz im sleep auf 5..7µA. Ich > weiß, dass weniger geht, aber mit 60mAh pro Jahr komme ich gut zurecht. > > Da fehlt dann aber WLAN, weshalb Daniel wohl den Wemos nehmen will und > ich brauche externe Hardware für die Programmierung. Nein wlan benötige ich nicht. Kannst du mir das näher erklärren, wie du auf den geringen Stromverbrauch gekommen bist?
Manfred schrieb: > Na ja ... ich werfe von einem China-A*-ProMini die LED und den > Spannungsregler runter und komme bei 5V / 16MHz im sleep auf 5..7µA. Ich > weiß, dass weniger geht, aber mit 60mAh pro Jahr komme ich gut zurecht. > > Da fehlt dann aber WLAN, weshalb Daniel wohl den Wemos nehmen will und > ich brauche externe Hardware für die Programmierung. Mit welcher Spannung kann man den dann betreiben?
Daniel E. schrieb: > Kannst du mir das näher erklärren, wie du auf den geringen > Stromverbrauch gekommen bist? Wenn Du, wie von Michael B. (laberkopp) erwähnt, einen nackten AVR einsetzt, bekommst' den im Tiefschlaf auf unter 1µA. Ich habe für mich entschieden, dass mir das zu mühsam ist. Auf allen Arduinos sind Spannungsregler drauf, z.B. der AZ1117-3.3 darf 5..10 mA Eigenverbrauch haben (Datenblatt: Quiescent current). Die roten LEDs auf den Dingern mit 1k Vorwiderstand wollen auch Strom, der niemandem hilft. Hast Du noch einen USB-Anschluss drauf, nimmt auch dieser Stein einge mA, die man nicht los wird. Ich habe da abgemalt: http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/ und ProMinis aus China verwendet, unter 2 Euro. Natürlich nicht mit Messer und Gewalt, man kann die Teile auch ordentlich ablöten. Die auf der Seite genannten Ströme kann ich bestätigen - wenn alle Aus- und Eingänge definiert sind. Ich versorge meine Anwendung aus einem 12V-BleiGel mit einem 5V-Regler MCP1703, der natürlich auch Strom braucht, real gemessen 5µA. Kommt drauf an, was Du machst und wie Dein µC geweckt wird. Meiner (AT328 5V 16MHz) wacht alle 8s auf, länger schlafen geht nicht. Er addiert einen Zähler, prüft dessen Stand und legt sich wieder hin. Etwa alle 15 Minuten werde ich dann für einige Millsekunden wach, messe eine Spannung und gehe wieder schlafen - oder auch nicht. Im Falle von "wach bleiben" wird ein Relais geschaltet und mein Kram wird aus dem Netz versorgt ... im zeitlichen Durchschnitt bewegt sich die Gesamtschaltung bei 20µA.
Ein Bild sagt alles über meine MOSFETs, Batteriehalter und Spannungsregler...
Danke für eure Hilfe Ich habe mir jetzt einen Arduiono Pro mini bestellt und werde es mit diesem versuchen. Werde aber auch alle anderen Infos versuchen umzusetzen. Ich hoffe ich darf mich bei weiteren Fragen noch einmal melden.
Daniel E. schrieb: > Ich habe mir jetzt einen Arduiono Pro mini bestellt Mit welcher Hardware wirst Du den programmieren?
Manfred schrieb: > Mit welcher Hardware wirst Du den programmieren? Habe mir diesen bestellt: https://www.amazon.de/dp/B01N9RZK6I/ref=cm_sw_r_cp_apa_i_PdB3BbSWK1PKG Heute bekommen und funktioniert soweit alles.
Daniel E. schrieb: >> Mit welcher Hardware wirst Du den programmieren? > Habe mir diesen bestellt: > .. amazon.de ... > Heute bekommen und funktioniert soweit alles. Alles gut! Ich wollte nur vorbeugen, dass Du evtl. übersehen hast, dass der ProMini kein USB an Bord hat. Hoffentlich hast Du die Version mit 8 MHz gekauft, der kann vom Spannungsbereich her direkt mit drei NiMh oder Alkalibatterien laufen, ohne Regler(verluste). Er käme auch mit einer LiIon gut zurecht.
Man kann auch die 16MHz Version mit 3,3V betreiben, indem man die CLKDIV8 Fuse setzt und danach im Programm den Clock Prescaler wie gewünscht ändert (zum Beispiel auf 2). Bei meinen Experimenten liefen sie sogar alle mit 3,0V und 16MHz noch stabil, aber ich würde mich doch lieber nach dem Datenblatt richten.
Stefanus F. schrieb: > Man kann auch die 16MHz Version mit 3,3V betreiben, indem man die > CLKDIV8 Fuse setzt und danach im Programm den Clock Prescaler wie > gewünscht ändert (zum Beispiel auf 2). So, wie ich es einschätze, wird hier mit Arduino gearbeitet und der µC über USB programmiert. Wie kann man da die Fuses anfassen / setzen - ich denke, garnicht?
Manfred schrieb: > Wie kann man da die Fuses anfassen / setzen - ich denke, garnicht? Ja gar nicht, das geht nur mit einem ISP Programmer. Aber wie gesagt kann man mit etwas Mut zur Lücke die Fuse einfach so lassen, wie sie ist und darauf hoffen, dass der µC die ersten paar Takte trotz Unterspannung ausführt. In denen kann man dann wie gesagt den Prescaler sinnvoll einstellen.
Manfred schrieb: > Hoffentlich hast Du die Version mit 8 MHz gekauft, Habe ich ;) Manfred schrieb: > Ich habe da abgemalt: > http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/ > und ProMinis aus China verwendet, unter 2 Euro. > > Natürlich nicht mit Messer und Gewalt, man kann die Teile auch > ordentlich ablöten. Die auf der Seite genannten Ströme kann ich > bestätigen - wenn alle Aus- und Eingänge definiert sind Was meinst du genau mit alle Aus- und Eingänge definiert? Also alle Pins, die ich nicht brauche auch einfach als INPUT oder OUTPUT definieren?
Daniel E. schrieb: >> ordentlich ablöten. Die auf der Seite genannten Ströme kann ich >> bestätigen - wenn alle Aus- und Eingänge definiert sind > Was meinst du genau mit alle Aus- und Eingänge definiert? > > Also alle Pins, die ich nicht brauche auch einfach als INPUT oder OUTPUT definieren? Output. Wenn als Input, muß der Pullup aktiviert werden oder der Eingang extern beschaltet werden, um undefinierte Effekte zu vermeiden.
Manfred schrieb: > Output. > > Wenn als Input, muß der Pullup aktiviert werden oder der Eingang extern > beschaltet werden, um undefinierte Effekte zu vermeiden. Danke werde ich machen. die Analogen wahrscheinlich auch oder?
Manfred schrieb: > Wenn als Input, muß der Pullup aktiviert werden oder der Eingang extern > beschaltet werden, um undefinierte Effekte zu vermeiden. Das habe ich mal ausprobiert. Im Deep-Sleep Modus spielt es keine Rolle, ob die unbenutzten Eingänge des ESP8266 offen sind, oder mit Widerständen beschaltet werden. Bei allen anderen ICs würde ich allerdings für definierte Pegel sorgen, es sei denn du weißt ganz sicher dass es dort auch keine Rolle spiel.
Stefanus F. schrieb: > Manfred schrieb: >> Wenn als Input, muß der Pullup aktiviert werden oder der Eingang extern >> beschaltet werden, um undefinierte Effekte zu vermeiden. > Das habe ich mal ausprobiert. Im Deep-Sleep Modus spielt es keine Rolle, > ob die unbenutzten Eingänge des ESP8266 offen sind, oder mit > Widerständen beschaltet werden. Wir sind inzwischen beim ProMini. Aber irgendwie klingt es logisch, dass im DeepSleep nichts passieren sollte. Aber irgendwie ist mir so, dass da irgendwas rumwackelte - vielleicht die Analogeingänge? Der Wandler ist ja aus, aber die hochohmigen Eingänge des Multiplexers? > Bei allen anderen ICs würde ich > allerdings für definierte Pegel sorgen, es sei denn du weißt ganz sicher > dass es dort auch keine Rolle spiel. Ich habe mir eine Meinung gebildet: Es kostet wenige Minuten Tipperei, alle Anschlüsse zu definieren, bis auf zwei (A6 A7) kann man auch die analogen per Software definieren. Also Risiko spielen oder machen? Daniel E. schrieb: > die Analogen wahrscheinlich auch oder? Auf jeden Fall. Ich habe mir mal aus dem Forum kopiert: "Wenn ein analoger Eingang mit pinMode als digitaler Ein/Ausgang definiert wurde, werden aus A0 bis A5 die Pins 14 bis 19. A6 und A7 kann man nicht digital nutzen." A6 und A7 würde ich fest nach Gnd oder Vcc verdrahten oder benutzen.
Daniel schrieb: > bei der mit einem > Wemos D1 mini lite jede Stunde ein Eingang abgefragt werden soll Dann nimm doch einfach den Alarmausgang der RTC, um die Schaltung jede Stunde einzuschalten. Den Rest der Stunde zieht die RTC ~1µA.
Manfred schrieb: > Ich habe mir eine Meinung gebildet: Es kostet wenige Minuten Tipperei, > alle Anschlüsse zu definieren, bis auf zwei (A6 A7) kann man auch die > analogen per Software definieren. Also Risiko spielen oder machen? Ok das werde ich auf jeden Fall machen. Ich hätte noch eine Frage zum Stromsparen: An meinem µC ist unter anderem auch ein Button angeschlossen. Um diesen nicht dauerhaft zu bestromen wird er über einen digitalen Ausgang nur eingeschaltet, wenn er auch betätigt werden darf. Am INPUT hängt ein 1k Pulldown Widerstand. Bringt es etwas den OUTPUT, welcher direkt zum Button verbunden ist, auch über einen Widerstand auf GND zu schließen oder ändert das am Stromverbrauch nichts?
Der Stromverbrauch wird höher. Sobald der Ausgang eingeschaltet (= 1, high) wird, fließt Strom durch diesen Widerstand. Solange der Ausgang ausgeschaltet (= 0, low) ist, ändert sich nichts. Wenn der Pin nicht als Ausgang sondern als Eingang (Analog oder Digital) programmiert würde, wäre der Widerstand nützlich. Aber das macht man ja freiwillig nicht. Unfreiwillig ist der Zustand unvermeidlich, solange der uC im Reset ist oder gerade programmiert wird. In der fertigen Anwendung passiert das nur ganz kurz nach dem Einschalten. Man muss für jeden einzelnen Pin untersuchen, was die Schaltung kurz nach dem Reset oder beim Programmieren macht, solange der Pin kein Ausgang ist. In der Regel muss man einen Widerstand spendieren. Hier haben wir den seltenen Fall, dass es ohne günstiger ist.
Bauform B. schrieb: > Wenn der Pin nicht als Ausgang sondern als Eingang (Analog oder Digital) > programmiert würde, wäre der Widerstand nützlich. Aber das macht man ja > freiwillig nicht. Unfreiwillig ist der Zustand unvermeidlich, solange > der uC im Reset ist oder gerade programmiert wird. In der fertigen > Anwendung passiert das nur ganz kurz nach dem Einschalten. Danke für die Hilfe. Bedeutet das dann auch, wenn ich über SoftwareSerial mit meinem GSM Modul kommuniziere, es besser ist an meinen digitalen Rx-Pin einen Pulldown-Widerstand zu schalten oder würde das die Kommunikation stören?
Bauform B. schrieb: > R3 und R4 könnten auch hochohmiger sein. D8 / R3 bleibt ja schon mal > minutenlang eingeschaltet, bis sich das GSM-Modul eingebucht hat und die > SM losgeworden ist. Wäre das dann nicht bei R3 das selbe?
Ich habe gerade bei einer Messung festgestellt, dass mein DS3231 während dem LowPower Mode 0,16mA zieht. Vcc ist dabei nicht aktiviert. Weiß jemand an was das liegen könnte?
Daniel E. schrieb: > Ich habe gerade bei einer Messung festgestellt, dass mein DS3231 während > dem LowPower Mode 0,16mA zieht. > Vcc ist dabei nicht aktiviert. > > Weiß jemand an was das liegen könnte? Vielleicht, weil SCL und SDA eine höhere Spannung haben, als die Batterie. Guck mal in die Electrical Characteristcs Tabelle, was da als Rahmen-Bedingung für die niedrige Stromaufnahme angegeben ist.
Stefanus F. schrieb: > Vielleicht, weil SCL und SDA eine höhere Spannung haben, als die > Batterie. Guck mal in die Electrical Characteristcs Tabelle, was da als > Rahmen-Bedingung für die niedrige Stromaufnahme angegeben ist. Logic 1 Input SDA, SCL VIH 0.7 x VCC min VCC +0.3 V max Logic 0 Input SDA, SCL VIL -0.3 min 0.3 x VCC max Das würde meiner Meinung nach genau passen oder verstehe ich etwas falsch. Habe eine Varta Cr2032 mit 3V im DS3231 und der Arduino läuft mit 3,3V
Stefanus F. schrieb: > Guck mal was ich im Bild markiert habe Das bedeutet also, wenn SCL=SDA=0V zutrifft, dann fließt Strom vom Arduino durch diese 2 Pins zum DS3231 oder?
Ich verstehe das so, dass der Chip nur dann wenig Strom verbraucht, wenn SDA und SCL beide entweder auf 0V oder auf Vbat liegen.
Wie soll man das hinbekommen? Die Pins sind ja direkt am µC angeschlossen. Ich habe probiert die Pins per PullDown an GND zu schließen --> dann funktioniert aber die Kommunikation mit dem Modul nicht mehr
Daniel E. schrieb: > An meinem µC ist unter anderem auch ein Button angeschlossen. > Um diesen nicht dauerhaft zu bestromen wird er über einen digitalen > Ausgang nur eingeschaltet, wenn er auch betätigt werden darf. > Am INPUT hängt ein 1k Pulldown Widerstand. Falsche Welt, Problem hausgemacht :-) Allgemein üblich ist andersherum: Der Controller hat intern Pullup-Widerstände, also gegen Plus. Wenn man den einschaltet, ist der Eingang auf High und es fließt kein relevanter Strom, Nanoampere. Der Taster schaltet gegen GND, es fließt also nur Strom, wenn er betätigt wird. Im Programm frage ich dann anstatt "if [Eingang x] high mache irgendwas" eben "if [Eingang x] low mache irgendwas" und fertig. Auch andersherum sehe ich das Problem aber nicht: Am Eingang einen externen Widerstand nach GND und den internen Pullup aus , ist der Eingang sicher auf low und es fließt kein Strom. Kommt Plus vom Taster, geht er auf High und Abfahrt :-)
Daniel E. schrieb: > Wie soll man das hinbekommen? Die Pull-Up Widerstände von I²C Bus nicht an VCC anschließen, sondern an einen I/O Pin. Dann kann der I/O Pin sie im Betrieb hoch ziehen und im Standby herunter ziehen. Habe das Problem mit den Tastern gestern Abend auch nicht nachvollziehen können. Ich stimme Manfred zu.
Manfred schrieb: > Falsche Welt, Problem hausgemacht Hatte eindeutig einen gewaltigen Denkfehler, Danke. Stefanus F. schrieb: > Die Pull-Up Widerstände von I²C Bus nicht an VCC anschließen, sondern an > einen I/O Pin. Dann kann der I/O Pin sie im Betrieb hoch ziehen und im > Standby herunter ziehen. > > Habe das Problem mit den Tastern gestern Abend auch nicht nachvollziehen > können. Ich stimme Manfred zu. Werde ich versuchen, Danke
Stefanus F. schrieb: > Die Pull-Up Widerstände von I²C Bus nicht an VCC anschließen, sondern an > einen I/O Pin. Dann kann der I/O Pin sie im Betrieb hoch ziehen und im > Standby herunter ziehen. Auf meinem DS3231 Modul sind SDA und SCL ja über die PullUps auf Vcc geschaltet. Ich schalte den Vcc bereits über einen digitalen Pin ein und aus. Müsste das nicht das selbe ergeben, wie wenn ich SDA und SCL nochmal auf einen extra Pin lege?
Daniel E. schrieb: > Müsste das nicht das selbe ergeben, wie wenn ich SDA und SCL > nochmal auf einen extra Pin lege? Ich denke ja. Du kannst ja mal nachmessen welche Spannung SDA und SCL in diesem Zustand haben. Das sollte ca. 0 Volt sein.
Stefanus F. schrieb: > Ich denke ja. Du kannst ja mal nachmessen welche Spannung SDA und SCL in > diesem Zustand haben. Das sollte ca. 0 Volt sein. Es sind bei beiden Pins 0,38V, obwohl Vcc auf GND ziemlich genau 0V hat.
Daniel E. schrieb: > Stefanus F. schrieb: >> Ich denke ja. Du kannst ja mal nachmessen welche Spannung SDA und SCL in >> diesem Zustand haben. Das sollte ca. 0 Volt sein. > > Es sind bei beiden Pins 0,38V, obwohl Vcc auf GND ziemlich genau 0V hat. Irgendwer zieht die Pins also deutlich hoch. Kann es sein, dass auf deinem AVR die internen Pull-Up Widerstände aktiviert sind?
Stefanus F. schrieb: > Irgendwer zieht die Pins also deutlich hoch. Kann es sein, dass auf > deinem AVR die internen Pull-Up Widerstände aktiviert sind? Habe bei meinem Arduino Pro mini einfach den Pin als Output definiert. Da sind die Pullups normal nicht aktiv oder? Zwischen dem Pin und Gnd liegen 0V, nur zwischen SDA,SL und Gnd liegt diese plötzlich an. Weiß nicht ob diese trotzdem vom uC kommen kann. Die analogen Pins(A4,A5), an die das RTC Modul angschlossen ist, kann man nicht noch extra als Ausgang auf Low schreiben oder?
Daniel E. schrieb: > Habe bei meinem Arduino Pro mini einfach den Pin als Output definiert. > Da sind die Pullups normal nicht aktiv oder? Richtig. > Zwischen dem Pin und Gnd liegen 0V, nur zwischen SDA,SCL und Gnd liegt > diese plötzlich an. Reden wir aneinander vorbei? Ich hatte das so gemeint:
1 | AVR RTC |
2 | |
3 | I/O o-----+----+-----o VCC |
4 | | | |
5 | | | |
6 | |~| |~| |
7 | |_| |_| 2x 4,7k |
8 | | | |
9 | | | |
10 | SDA o-----+----)-----o SDA |
11 | | |
12 | SCL o----------+-----o SCL |
Für den Standby-Betrieb setzt du den I/O Pin auf Low. Bei SDA und SCL müssen die internen Pull-Up Widerstände im AVR deaktiviert sein. Um die Uhr abzufragen, schaltest zu den I/O Pin auf High, danach kannst du über I²C kommunizieren. Hast du deinen RTC Chip als Modul mit Platine gekauft und das ist eventuell noch irgendwas mit drauf, was nicht sein soll?
Ja genau diese Schaltung ist auf dem Modul fix fertig oben, nur mit 10k Widerständen. (siehe Anhang) Ob sonst noch ein Stromfresser oben ist weiß ich nicht. Das Modul hat allerdings auch noch einen EEPROM. Die LED am Schaltplan habe ich bereits entfernt.
Ich habe jetzt die Widerstände vom Modul entfernt und die Schaltung mit 4k7 Widerständen nachgebaut --> leider selbes Ergebnis Weißt du wie gut man ein DCF77 Empfänger für so etwas einsetzen könnte? Habe bereits herausgefunden, dass es im Betrieb ca. 90µA verbraucht. Leider habe ich aber nicht herausgefunden wie lange es laufen muss, um die richtige Zeit zu empfangen und ich weiß nicht wie gut die Signalqualität damit ist oder ob das Signal sehr störanfällig ist.
> Weißt du wie gut man ein DCF77 Empfänger für so etwas einsetzen könnte?
Ich weiß nicht was du damit vor hast. Auf jeden Fall ist der Empfang
dieser Dinger problematisch. Wenn der Empfang mal gut klappt brauchst du
mindestens 1,5 Minuten, um die Uhrzeit zu erhalten.
Stefanus F. schrieb: > Ich weiß nicht was du damit vor hast. Auf jeden Fall ist der Empfang > dieser Dinger problematisch. Wenn der Empfang mal gut klappt brauchst du > mindestens 1,5 Minuten, um die Uhrzeit zu erhalten. Hätte damit statt dem RTC einmal in der Woche die Uhrzeit aktualisiert aber wenn der Empfang problematisch ist, dann kann ich das vergessen
Jetzt ist G. schrieb: > Eine kleine Zusammenfassung : > https://www.ibrtses.com/embedded/avrpowersave.html Wirklich hilfreich finde ich die Site nicht, aber sehe gleich mal eine Spitzfindigkeit als Überschrift: The powerdown dream Und weiter unten: "Creating a low power project involves considerations on many parts, the controller just being one of them." Google kann das sogar vernünftig übersetzen: "Um ein Projekt mit geringem Stromverbrauch zu erstellen, müssen viele Aspekte berücksichtigt werden. Der Controller ist nur einer von ihnen."
Stefanus F. schrieb: > Irgendwer zieht die Pins also deutlich hoch. Kann es sein, dass auf > deinem AVR die internen Pull-Up Widerstände aktiviert sind? Der Arduino nutzt A4 und A5 für I2C, da sind keine Widerstände dran. Daniel E. schrieb: > Die analogen Pins(A4,A5), an die das RTC Modul angschlossen ist, kann > man nicht noch extra als Ausgang auf Low schreiben oder? Weiter vorne 05.11.2018 20:33 hatte ich benannt, dass man die Analogpins auch als Ausgang steuern kann, das I2C-include tut das ja auch. Die A4 - A5 kann man als digital 18 - 19 auch manuell auf low setzen, soweit keine andere Aktion dazwischen funkt. pinMode (18, OUTPUT); digitalWrite (18, LOW); Daniel E. schrieb: > Das Modul hat allerdings auch noch einen EEPROM. Wenn Du die Versorgung des Uhrenmodules abschaltest und A4 / A5 auf low bringst, darf da kein Strom fließen. Daniel E. schrieb: > Weißt du wie gut man ein DCF77 Empfänger für so etwas einsetzen könnte? Unbrauchbar: Im theoretisch günstigsten Fall muß man eine Minute lang aktiv empfangen und auswerten, um die Uhrzeit zu bekommen. Im realen Leben braucht es eher drei Minuten aktiver µC-Rechnerei, die DCF-Zeit zu holen.
Manfred schrieb: > Wenn Du die Versorgung des Uhrenmodules abschaltest und A4 / A5 auf low > bringst, darf da kein Strom fließen Wenn ich diese Pins als Output 18 und 19 definiere und auf Low setze vor dem Sleep, kann dann die Verbindung zum RTC trotzdem noch stattfinden nach dem Wakeup? Ich brauche diese ja dann zum einen für SDA und SCL als Analogpins und zum andern als digitale Pins.
Offensichtlich sind die internen Pull-Up Widerstände des Mikrocontrollers an SCL und SDA eingeschaltet. Diese haben ca 50k Ohm. Sie ziehen die Pins im Standby Modus ein bisschen hoch und das stört jetzt. Das kannst du ganz leicht nachprüfen: Stecke das RTC Modul ab. Wenn dein Multimeter dann an diesen Pins eine Spannung misst, dann sind die Pull-Up Widerstände aktiviert. > Wenn ich diese Pins als Output 18 und 19 definiere und auf Low setze vor > dem Sleep, kann dann die Verbindung zum RTC trotzdem noch stattfinden > nach dem Wakeup? Jein. Manfreds Vorschlag ist sicher richtig. Im Standby Modus dürfen da keine Pull-Ups aktiviert sein. Nach dem Aufwachen musst du die I²C Schnittstelle neu initialisieren. Dadurch werden die Pins dann wieder so konfiguriert, wie benötigt. Vergiss mal den Begriff "Analogpins". Da ist gar nichts analog. I²C ist digital.
Habe ein wenig nachgelesen. Ich benutze die Wire.h Library und werde heute Abend das versuchen: pinMode(18,INPUT); pinMode(19,INPUT); Wire.Begin(); //RTC Kommunikation Wire.End(); pinMode(18,OUTPUT); digitalWrite(18,LOW); pinMode(19,OUTPUT); digitalWrite(19,LOW); //Sleep Stefanus F. schrieb: > Das kannst du ganz leicht nachprüfen: Stecke das RTC Modul ab. Wenn dein > Multimeter dann an diesen Pins eine Spannung misst, dann sind die > Pull-Up Widerstände aktiviert. Werde ich nachmessen
Vergess nicht, die Stromversorgung des Moduls auch aus zu schalten.
Stefanus F. schrieb: > Vergess nicht, die Stromversorgung des Moduls auch aus zu schalten. Ja werde ich machen
Danke Danke Danke Es hat funktioniert...0,16mA weniger Stromverbrauch im LowPower
Stefanus F. schrieb: > Vergiss mal den Begriff "Analogpins". Da ist gar nichts analog. I²C ist digital. Vollkommen richtig, I²C ist digital. Ändert nur nichts daran, dass diese Ports in der Arduino-Welt als Analog-Anschluß bezeichnet werden und man schon etwas suchen muss, wie diese digital zu nutzen sind. Daniel E. schrieb: > Es hat funktioniert...0,16mA weniger Stromverbrauch im LowPower Passt rechnerisch: 47k an 3,3V ergibt nach Herrn Ohm rund 0,07mA, mal zwei wären 0,14mA. Wo bist Du jetzt angekommen, ich hoffe, Gesamtstrom im Sleep deutlich unter 0,1mA?
Manfred schrieb: > Wo bist Du jetzt angekommen, ich hoffe, Gesamtstrom im Sleep deutlich > unter 0,1mA? Zur Zeit noch bei 0,15mA. Betreibe den Arduino noch über den RAW Pin mit dem originalen Spannungsregler. Werde allerdings auf den MCP1703t-3302E umsteigen und hoffe, dass ich damit noch einmal einen Sprung nach unten mache. Zur Zeit braucht der Arduino alleine ca.0,1mA im Sleep ohne Power LED.
Muss ich für den MCP1703 einen Keramik Kondensator verwenden oder würde ein Elko auch reichen?
:
Bearbeitet durch User
Ich würde erwägen, den AVR direkt an die Batterie zu hängen (notfalls durch eine Diode, um von den 6V etwas runter zu kommen) und für den Rest einen abschaltbaren Spannungsregler zu verwenden. Dann musst Du Dir natürlich zusätzlich über Pegelwandler Gedanken machen. Eventuell lohnt sich der Aufwand - je nach Batterie-Kosten und Platzbedarf.
Stefanus F. schrieb: > Ich würde erwägen, den AVR direkt an die Batterie zu hängen (notfalls > durch eine Diode, um von den 6V etwas runter zu kommen) und für den Rest > einen abschaltbaren Spannungsregler zu verwenden. > > Dann musst Du Dir natürlich zusätzlich über Pegelwandler Gedanken > machen. Eventuell lohnt sich der Aufwand - je nach Batterie-Kosten und > Platzbedarf. Ich glaube ich werde es jetzt einmal bei diesem Stand belassen und nur noch schauen, was der MCP1703 bringt. Habe schon fast zu viel Zeit in dieses Projekt gesteckt. 2 mal im Jahr Batterien wechseln ist kein Problem
Daniel E. schrieb: > Betreibe den Arduino noch über den RAW Pin mit dem originalen Spannungsregler. KB33 = MIC52205? Bei <100µA Last hat der laut Datenblatt um 100µA Querstrom, passt auch zu Deinen Werten. > Werde allerdings auf den MCP1703t-3302E umsteigen und > hoffe, dass ich damit noch einmal einen Sprung nach unten mache. Jou, den MCP hatte ich vorgeschlagen, habe einige verbaut. Falls Du Beschaffungsprobleme hast, geht auch MCP1702, bei dem ist nur die maximal zulässige Eingangsspannung geringer. > Zur Zeit braucht der Arduino alleine ca.0,1mA im Sleep ohne Power LED. Die LEDs auf dem ganzen Arduino-Zeugs sind eine wahre Pest, da wird mit den 1k-Vorwiderständen unnötig Strom verblasen. Daniel E. schrieb: > Muss ich für den MCP1703 einen Keramik Kondensator verwenden oder würde ein Elko auch reichen? Die Dingelchen sind hier als sehr schwingfreudig aufgefallen, nur Elko würde ich nicht machen. Ich betreibe die mit guten Folienkondensatoren WIMA MKS oder vergleichbar. Erstmal aufbauen, Kondensatoren dicht dran platzieren. Wenn die Ausgangsspannung nicht stimmt und sich ändert, wenn man mit dem Finger auf die Anschlüsse patscht, schwingt er. Stefanus F. schrieb: > Ich würde erwägen, den AVR direkt an die Batterie zu hängen (notfalls > durch eine Diode, um von den 6V etwas runter zu kommen) Sehe ich auch so. Mit drei Primär-Batterien kommt man auf etwa 4,8V (neu) bis knapp 3 Volt leer. Mit drei NiMH eneloop frisch geladen um 4 Volt und auch bis etwas unter 3 Volt. Daniel E. schrieb: > Habe schon fast zu viel Zeit in dieses Projekt gesteckt. Vielleicht, oder auch nicht: Du hast mit wenig geeigneter Hardware begonnen und dann hier gefragt. Du hast aufmerksam gelesen, was man Dir geschrieben hat und einiges davon umgesetzt - sieht man an Deinen weiteren Fragen. Das kommt positiv rüber und Du hast sinnvolle Fortschritte. Du bist jetzt auf dem Wege, zu verstehen, wo es lang geht und wirst beim nächsten Projekt davon profitieren. Harte Realität: Elektronik ist ein Geschäft mit viel Fachwissen, wer das nicht akzeptiert, bekommt von mir immer "baue Holzroller" empfohlen. Das trifft auf Dich nicht zu, Du willst, also bitte weiter so, das wird!
Manfred schrieb: > Die LEDs auf dem ganzen Arduino-Zeugs sind eine wahre Pest Für Anfänger sind sie hilfreich. Niemand hindert dich daran, die LEDs zu entfernen. Einmal kurz mit dem heißen Lötkolben antippen, und weg sind sie. Oder notfalls einfach mit Gewalt abreißen - geht auch. > Du hast aufmerksam gelesen, was man Dir geschrieben hat und einiges > davon umgesetzt - sieht man an Deinen weiteren Fragen. > Das kommt positiv rüber und Du hast sinnvolle Fortschritte. Ja auf jeden Fall. Sehe ich auch so. > Elektronik ist ein Geschäft mit viel Fachwissen, wer das > nicht akzeptiert, bekommt von mir immer "baue Holzroller" empfohlen. Habe ich mal versucht - und bin wieder bei der Elektronik gelandet. Ich mag Holz, aber mehr als ein simples Regal oder eine Kiste zu konstruieren fällt mir definitiv schwerer, als die Elektronik.
Stefanus F. schrieb: > Manfred schrieb: >> Die LEDs auf dem ganzen Arduino-Zeugs sind eine wahre Pest > > Für Anfänger sind sie hilfreich. Niemand hindert dich daran, die LEDs zu entfernen. Hast Du meinen Text nicht verstanden oder mit Absicht unvollständig zitiert: Manfred schrieb: > da wird mit den 1k-Vorwiderständen unnötig Strom verblasen. Die LEDs können hilfreich sein, aber täten es auch mit deutlich weniger Strom! >> Elektronik ist ein Geschäft mit viel Fachwissen, wer das >> nicht akzeptiert, bekommt von mir immer "baue Holzroller" empfohlen. > Habe ich mal versucht - und bin wieder bei der Elektronik gelandet. Ich > mag Holz, aber mehr als ein simples Regal oder eine Kiste zu > konstruieren fällt mir definitiv schwerer, als die Elektronik. Ich hoffe doch, dass es richtig verstanden wurde - im positiven Sinne! Geht mir nicht anders, ich komme mit Stahlbau (Hobbyschlosser) besser klar als mit Holz. Mit Elektronik sowieso, das ist mein Berufsfeld.
Danke, werde eure letzten Antworten sicherlich in zukünftigen Projekten einplanen, aber werde jetzt mal alles so auf eine Platine packen und genau testen. Da auch Freunde bereits gemeint hätten, dass sie auch gerne so etwas möchten könnte es auch sein, dass ich noch daran weiterentwickle. Wenn ich darf werde ich mich bei offenen Fragen sicherlich wieder im Forum melden.
Daniel E. schrieb: > Auf meinem DS3231 Modul ist das wirklich ein Bild von DEINEM Modul? Die Diode und der R 201 sind zum LADEN eines LiR 2032 Akkus, CR 2032 kann soll man nicht laden und wenn man LiR laden will wird 5V benötigt, bei 3.3V Versorgung kann die Diode weder vernünftig leiten zum Laden noch ist es sinnvoll überhaupt die "Ladeschaltung" auf dem Modul zu lassen! Also R201 oder Diode runter.
:
Bearbeitet durch User
Joachim B. schrieb: > Die Diode und der R 201 sind zum LADEN eines LiR 2032 Akkus, CR 2032 > kann soll man nicht laden https://arduino-hannover.de/tag/cr2032/
Joachim B. schrieb: > ist das wirklich ein Bild von DEINEM Modul? > > Die Diode und der R 201 sind zum LADEN eines LiR 2032 Akkus, CR 2032 > kann soll man nicht laden und wenn man LiR laden will wird 5V benötigt, > bei 3.3V Versorgung kann die Diode weder vernünftig leiten zum Laden > noch ist es sinnvoll überhaupt die "Ladeschaltung" auf dem Modul zu > lassen! > Also R201 oder Diode runter. Nein, ist kein Bild von mir. R201 ist bereits entfernt.
Bauform B. schrieb: > Ein Bild sagt alles über meine MOSFETs, Batteriehalter und > Spannungsregler... Ich hätte schon wieder eine Frage ;) Da ich gerne die noch verbleibende Batteriespannung messen möchte, um zu wissen wie weit die Batterien schon entladen sind, möchte ich diese über einen Spannungsteiler auf z.B. A0 messen. Leider verstehe ich die Schaltung von Bauform B. nicht wirklich. Kann mir jemand einen Transistor empfehlen oder die Schaltung von Bauform B. erklären? Ich möchte, wie beim gesamten Projekt, die zu messende Spannung über einen digitalen Output so stromsparend wie nur möglich schalten können. Und das mit so wenigen Bauteilen wie möglich, um Platz zu sparen. Danke
Das wäre meine aktuelle Schaltung, wie schon beim ersten Thread
Daniel E. schrieb: > Das wäre meine aktuelle Schaltung Die Schaltung legt den Spannungsteiler nur dann auf die Batterie, wenn gemessen werden soll - richtiger Ansatz, um den Ruhestrom zu sparen. Insgesamt würde ich die Widerstände höher wählen, da fließt unnötig Strom: R3-R8 auf 10k. R7=100k, R6 entfällt, R5=100k oder mehr. Bitte nicht nach der Berechnung fragen, ist über den Daumen geguckt. Falls es zu Fehlmessungen kommen sollte, parallel zu R8 einen 100nF-Kondensator setzen, dann aber nach dem Einschalten geschätzt 5ms delay bevor gemessen wird - habe ich in einer meiner Anwendungen so gemacht. Wenn ich einen kritischen Wert messe, mache ich eine erneute Messung, in der ich aus zehn Werten über 20ms einen Mittelwert bilde. Ich reagiere erst dann, wenn auch dieser kritisch ist, um Störeffekte los zu werden. Das ganze Gebilde wird bei Dir etwas kritisch, weil ich nicht sehe, wie stabil die Referenzspannung des ADC vom Tiny sein wird. Ich fürchte, dass Du am Ende der Batterien Dummfug misst, weil Deine 3,3V nicht mehr zuverlässig sind, der µC aber noch immer läuft. Vielleicht kann Stefanus dazu mehr sagen, hat der Tiny eine interne Referenz?
Manfred schrieb: > Vielleicht kann Stefanus dazu mehr sagen R8=10k scheint mir sinnvoll. Ich glaube, dass dann wahrscheinlich kein Kondensator nötig ist, da die Ausgangsimpedanz des Spannungsteiler so knapp unter 10k ist, was gemäß Datenblatt ausreicht. Du hast richtig vermutet, dass die interne Referenzspannung bei zu wenig VCC nicht mehr funktioniert. Sie sinkt dann etwas ab. Irgendwo im Datenblatt steht, wie viel VCC nötig ist, damit der ADC und seine Referenz vollständig funktioniert. Ich meine mich zu erinnern, dass es war etwa 3V waren.
Manfred schrieb: > Die Schaltung legt den Spannungsteiler nur dann auf die Batterie, wenn > gemessen werden soll - richtiger Ansatz, um den Ruhestrom zu sparen. > > Insgesamt würde ich die Widerstände höher wählen, da fließt unnötig > Strom: R3-R8 auf 10k. R7=100k, R6 entfällt, R5=100k oder mehr. Bitte > nicht nach der Berechnung fragen, ist über den Daumen geguckt. > > Falls es zu Fehlmessungen kommen sollte, parallel zu R8 einen > 100nF-Kondensator setzen, dann aber nach dem Einschalten geschätzt 5ms > delay bevor gemessen wird - habe ich in einer meiner Anwendungen so > gemacht. Danke werde ich so umbauen. Habe auch schon überlegt die Messung öfter zu machen, um ein genaueres Ergebnis zu erhalten. Ich glaube, bevor ich in den kritischen Bereich komme funktioniert das GSM-Modul auch schon nicht mehr... ich werde es einfach versuchen. Den MOSFET habe ich genommen, da ich ihn bereits zu Hause hatte, gibt es eine andere Möglichkeit mit 1 oder 2 bipolaren Transistoren?
Stefanus F. schrieb: > Du hast richtig vermutet, dass die interne Referenzspannung bei zu wenig > VCC nicht mehr funktioniert. Sie sinkt dann etwas ab. Irgendwo im > Datenblatt steht, wie viel VCC nötig ist, damit der ADC und seine > Referenz vollständig funktioniert. Ich meine mich zu erinnern, dass es > war etwa 3V waren. Wenn ich den ProMini über den MCP betreibe vermute ich, dass ich gar nicht in diesen Bereich komme, da das GSM Modul eine höhere Spannung benötigt als der Arduino und deswegen meine Batterie schon bei einer höheren Spannung "leer" sein wird. Oder liege ich da falsch?
Daniel E. schrieb: > Den MOSFET habe ich genommen, da ich ihn bereits zu Hause hatte, gibt es > eine andere Möglichkeit mit 1 oder 2 bipolaren Transistoren? Sicher, es gibt immer andere Möglichkeiten mit anderen Bauteilen. Aber das hilft keinem weiter.
Daniel E. schrieb: > Was würde sich ändern, wenn ich den Mosfet weglasse und nur mit dem > BC547C schalte? Ja, es würde so nicht mehr funktionieren. Bei einem bipolaren Transistor mit Emitter als Ausgang gilt immer: Die Ausgangsspannung ist ca. 0,7V a) bei NPN: geringer b) bei PNP: höher als die Spannung an der Basis. Der Strom durch die Basis ergibt sich aus dem Last-Strom geteilt durch den Verstärkungsfaktor des Transistors. Das ist nicht der von Dir gewünschte Effekt. Du musst einen PNP Transistor verwenden und von diesem den Kollektor als Ausgang. Dann gilt die Regel: Der Transistor schaltet durch, wenn die Spannung an der Basis um 0,7V a) bei NPN: höher b) bei PNP: geringer ist, als am Emitter. Der Strom durch die Basis-Emitter Diode muss z.B. durch einen Widerstand begrenzt werden. Er muss höher sein, als der Last-Strom geteilt durch den (min.) Verstärkungsfaktor des Transistors. Egal of PNP Transistor oder P-Kanal MOSFET, du solltest bei der Auslegung der Schaltung bedenken, dass die Ausgangsspannung des I/O Pins bei High geringer ist, als VIN. Falls Dir nicht klar ist, welche Konsequenzen sich daraus ergeben, dann frage nach. Ich würde es allerdings begrüßen, wenn du zuerst mal selbst drüber nachdenkst, wegen dem Lern-Effekt.
Stefanus F. schrieb: > Der Transistor schaltet durch, wenn die Spannung an der Basis um 0,7V > a) bei NPN: höher > b) bei PNP: geringer > ist, als am Emitter. Der Strom durch die Basis-Emitter Diode muss z.B. > durch einen Widerstand begrenzt werden. Er muss höher sein, als der > Last-Strom geteilt durch den (min.) Verstärkungsfaktor des Transistors. > > Egal of PNP Transistor oder P-Kanal MOSFET, du solltest bei der > Auslegung der Schaltung bedenken, dass die Ausgangsspannung des I/O Pins > bei High geringer ist, als VIN. Falls Dir nicht klar ist, welche > Konsequenzen sich daraus ergeben, dann frage nach. Ich würde es > allerdings begrüßen, wenn du zuerst mal selbst drüber nachdenkst, wegen > dem Lern-Effekt. Ok ich glaube ich verstehe es: Ich nehme einen PNP Transistor, um meine Spannungsversorgung unverfälscht messen zu können. Da die Spannung meines digitalen Output des Arduinos aber geringer als die Versorgungsspannung ist würde der Transistor dauerhaft durchschalten. Deswegen verwende ich am besten einen NPN Transistor über den ich den PNP auf GND schalten kann, wenn ich messen will. Somit ist mein OUTPUT nur auf HIGH, wenn ich ihn wirklich brauche und ich schalte meine Messung stromsparend ein und aus. Ist das richtig?
Daniel E. schrieb: > Ich nehme einen PNP Transistor, um meine Spannungsversorgung > unverfälscht messen zu können. Da die Spannung meines digitalen Output > des Arduinos aber geringer als die Versorgungsspannung ist würde der > Transistor dauerhaft durchschalten. Genau, das wollte ich hören. > Deswegen verwende ich am besten > einen NPN Transistor über den ich den PNP auf GND schalten kann, wenn > ich messen will. Somit ist mein OUTPUT nur auf HIGH, wenn ich ihn > wirklich brauche und ich schalte meine Messung stromsparend ein und aus. > Ist das richtig? Sehr gut. Jetzt ist es nur leider so, dass an der Kollektor-Emitter Strecke immer ein bisschen Spannung abfällt (ich schätze in diesem Fall ca 100mV), was deine Messung verfälscht. Kann man in der Software berücksichtigen. Mit einem MOSFET wäre der Spannungsabfall annähernd Null.
Stefanus F. schrieb: > Jetzt ist es nur leider so, dass an der Kollektor-Emitter Strecke immer > ein bisschen Spannung abfällt (ich schätze in diesem Fall ca 100mV), was > deine Messung verfälscht. Kann man in der Software berücksichtigen. Mit > einem MOSFET wäre der Spannungsabfall annähernd Null. Ok, also ist meine oben gepostete Schaltung mit dem Mosfest genau das richtige für diese Anwendung? Oder soll ich statt dem BC547 auch einen Mosfet verwenden?
Stefanus F. schrieb: > Du hast richtig vermutet, dass die interne Referenzspannung bei zu wenig VCC nicht mehr funktioniert. Entschuldigt, ich war Gedanklich etwas daneben, da kommt ja ein AT328 zum Einsatz, kein Tiny, den ich nicht kenne :-( Beim 328 würde ich die Batteriespannung auf max. 1 Volt herunter teilen und die interne Referenz nutzen, auf die kann man sich länger verlassen als auf die Versorgungsspanung. Daniel E. schrieb: > Habe auch schon überlegt die Messung öfter zu machen, um ein genaueres Ergebnis zu erhalten. Im 328 ist genug Speicher, zwei Meßroutinen zu programmieren: Ich messe als 15 Minuten ein mal, möglichst kurz und fix wieder schlafen gehen. Wenn, und nur wenn, bei dieser ein-mal-Messung der Grenzwert erreicht wurde, mache ich eine Mehrfachmessung. Daniel E. schrieb: > Oder soll ich statt dem BC547 auch einen Mosfet verwenden? Wenn Du genug Bauteile herumliegen hast, kann anstatt des BC547 auch ein N-FET eingesetzt werden. Würde ich nicht tun, der BC ist billiger und erfüllt zweifelsfrei die Funktion. Oben unbedingt den LowLevel-Logic-FET belassen, hat Stefan erklärt. Stefanus F. schrieb: > Ich finde die Schaltung mit dem MOSFET gut. Zustimmung.
Daniel E. schrieb: > Ich möchte, wie beim gesamten Projekt, die zu messende Spannung über > einen digitalen Output so stromsparend wie nur möglich schalten können. > Und das mit so wenigen Bauteilen wie möglich, um Platz zu sparen. Hallo, es reicht ein einziger logic level FET im Spannungsteiler wenn du mit ca 1.5 - 2V weniger Meßbereich als Versorgungsspannung leben kannst. Siehe Batteriewächter hier T2 = BSS138 https://www.mikrocontroller.net/articles/Batteriew%C3%A4chter#Prozessorteil https://www.mikrocontroller.net/articles/Datei:BMON_1048_PIC.PNG Gruß Anja
Manfred schrieb: > Beim 328 würde ich die Batteriespannung auf max. 1 Volt herunter teilen > und die interne Referenz nutzen, auf die kann man sich länger verlassen > als auf die Versorgungsspanung. > > Daniel E. schrieb: >> Habe auch schon überlegt die Messung öfter zu machen, um ein genaueres Ergebnis > zu erhalten. > > Im 328 ist genug Speicher, zwei Meßroutinen zu programmieren: Ich messe > als 15 Minuten ein mal, möglichst kurz und fix wieder schlafen gehen. > Wenn, und nur wenn, bei dieser ein-mal-Messung der Grenzwert erreicht > wurde, mache ich eine Mehrfachmessung. So genau muss meine Messung nicht sein. Ich möchte nur per SMS mitsenden welche Spannung die Batterien noch haben, um grob einschätzen zu können wie lange sie noch halten. Soll nur ein paar mal messen, um keine groben Ausreißer in der Messung zu haben
:
Bearbeitet durch User
Ich habe leider schon wieder eine Frage. Ich habe die Schaltung komplett auf einer Lochrasterplatine aufgebaut und getestet. (Nur ohne dem MCP1703, da ich ihn noch nicht hatte, sondern noch über den RAW Pin mit dem Spannungsregler vom Pro Mini) Dabei hat alles super funktioniert. Nun habe ich mir eine Platine geätzt und alles verlötet. In der Zwischenzeit ist der MCP1703 gekommen, deswegen habe ich den Regler vom Pro Mini entfernt und den MCP mit 1µF Keramikkondensator auf Input und 1µF Keramikkondensator auf Output verwendet. Leider bricht mir beim Einschalten des GSM Moduls die Spannung so weit zusammen, dass der Arduino einen Reset macht. Zum Testen habe ich an den Input des MCP noch einen 470µF Elko gelötet. Damit funktioniert die Schaltung wieder. Das ist allerdings sehr unschön, da der Elko sehr lange zum Entladen braucht, wenn man das Gerät aus- und wieder einschalten möchte. Manfred schrieb: > Die Dingelchen sind hier als sehr schwingfreudig aufgefallen, nur Elko > würde ich nicht machen. Ich betreibe die mit guten Folienkondensatoren > WIMA MKS oder vergleichbar. Erstmal aufbauen, Kondensatoren dicht dran > platzieren. Wenn die Ausgangsspannung nicht stimmt und sich ändert, wenn > man mit dem Finger auf die Anschlüsse patscht, schwingt er. Würden die Folienkondensatoren statt den Keramik besser funktionieren? Verstehe nicht, was zwischen Lochrasterplatine und geätzter Platine noch für ein Unterschied sein könnte (außer dem MCP). Könnten die Leiterbahnen zu schmal sein? Verwende für fast alles 0,4mm Breite, außer bei der Versorgung des GSM-Moduls, da haben die Bahnen 1mm auf einer 35µm Platine.
Daniel E. schrieb: > Leider bricht mir beim Einschalten des GSM Moduls die Spannung so weit > zusammen, dass der Arduino einen Reset macht. Wir gehen davon aus, dass der MCP1703 nur den Controller versorgt, für das GSM-Modul kann er den Strom (<250mA) nicht. > Zum Testen habe ich an den Input des MCP noch einen 470µF Elko gelötet. Damit funktioniert die Schaltung wieder. Das deutet darauf hin, dass Deine Batteriespannung bei dem hohen Stromimpuls des GSM-Moduls so weit einbricht, dass der MCP die 3,3V nicht mehr halten kann. Das kann am Verhalten der Batterieen liegen, aber auch durch eine ungeschickte Leitungsführung verursacht werden. Dicke Leitung von der Batterie zum GSM, und ebenfalls direkt von der Batterie zum MCP, kein gemeinsamer Weg. > Das ist allerdings sehr unschön, da der Elko sehr lange zum Entladen > braucht, wenn man das Gerät aus- und wieder einschalten möchte. Damit wirst Du Dich abfinden müssen. > Würden die Folienkondensatoren statt den Keramik besser funktionieren? Nein.
Manfred schrieb: > Wir gehen davon aus, dass der MCP1703 nur den Controller versorgt, für > das GSM-Modul kann er den Strom (<250mA) nicht. Das GSM wird über den LT1529 versorgt Manfred schrieb: >> Das ist allerdings sehr unschön, da der Elko sehr lange zum Entladen >> braucht, wenn man das Gerät aus- und wieder einschalten möchte. > > Damit wirst Du Dich abfinden müssen. Kann ich den Kondensator beim Ausschalten irgendwie schneller entladen?
Daniel E. schrieb: > Leider bricht mir beim Einschalten des GSM Moduls die Spannung so weit > zusammen, dass der Arduino einen Reset macht. Also bricht die Versorgungsspannung der Arduino ein. Der I/O Pin des AVR Mikrocontrollers liefert allerhöchstens 50mA, das würde deinen Spannungsregler noch lange nicht überfordern - selbst wenn die Transistorschaltung dahinter fehlerhaft wäre. > Das GSM wird über den LT1529 versorgt Hängen denn beide Spannungsregler an einem gemeinsamen Netzteil? Dann könnte es am Netzteil liegen, oder an den kabeln. Insbesondere Steckbretter und Dupont Kabel haben oft überraschen hohe Innenwiderstände. Mit einem Oszilloskop kannst du das schnell herausfinden, indem du auf eine fallende Flanke bei ca 2 Volt triggerst. > Kann ich den Kondensator beim Ausschalten irgendwie schneller entladen? Dazu hätte ich gerne mal den aktuellen Schaltplan deines Aufbaus. Und dann gibst du dort bitte genau an, welchen Kondensator du meinst.
Stefanus F. schrieb: > Hängen denn beide Spannungsregler an einem gemeinsamen Netzteil? Dann > könnte es am Netzteil liegen, oder an den kabeln. Insbesondere > Steckbretter und Dupont Kabel haben oft überraschen hohe > Innenwiderstände. Laufen beide über 4xAA Batterien in Reihe Stefanus F. schrieb: > Dazu hätte ich gerne mal den aktuellen Schaltplan deines Aufbaus. Und > dann gibst du dort bitte genau an, welchen Kondensator du meinst. Bekommst du sofort
Das ist die aktuelle Schaltung. Ist leider etwas unaufgeräumt, da ich schon sehr oft die verschiedenen Pins getauscht habe, um auf der Platine den Platz richtig auszunutzen. Es handelt sich um den rot markierten C5. Stefanus F. schrieb: > Hängen denn beide Spannungsregler an einem gemeinsamen Netzteil? Dann > könnte es am Netzteil liegen, oder an den kabeln. Insbesondere > Steckbretter und Dupont Kabel haben oft überraschen hohe > Innenwiderstände. Werde heute versuchen die Stromversorgung des GSM noch zusätzlich mit Drähten zu verbinden und dann zu testen. Habe nämlich auch die Befürchtung, dass meine Leiterbahnen zu schmal sind und einfach der Innenwiderstand viel zu hoch ist. Bei der Testplatine ging es nämlich mit Dupont Kabel auch nicht aber mit 0.3mm^2 Drähten funktionierte dann alles ohne Probleme. Wenn es mit dickeren Leitern funktioniert kann ich hoffentlich C5 wierder komplett weglassen
Stefanus F. schrieb: >> Kann ich den Kondensator beim Ausschalten irgendwie schneller entladen? > > Dazu hätte ich gerne mal den aktuellen Schaltplan deines Aufbaus. Und > dann gibst du dort bitte genau an, welchen Kondensator du meinst. Sieht du dafür irgendeine Möglichkeit, falls ich ihn nicht komplett weg bekomme?
Daniel E. schrieb: > Stefanus F. schrieb: >>> Kann ich den Kondensator beim Ausschalten irgendwie schneller entladen? >> >> Dazu hätte ich gerne mal den aktuellen Schaltplan deines Aufbaus. Und >> dann gibst du dort bitte genau an, welchen Kondensator du meinst. > > Sieht du dafür irgendeine Möglichkeit, falls ich ihn nicht komplett weg > bekomme? Argh, ich hatte schon das Gefühl irgend etwas vergessen zu haben. Du willst den Kondensator vermutlich nur beim Ausschaltern entladen, weil sonst der Entladewiderstand die Stromaufnahme in die Höhe treiben würde. Dazu würde den SW2 umdrehen:
1 | SW2 |
2 | |
3 | 22 Ohm "aus" |
4 | |
5 | GND |---[===]---o |
6 | |
7 | o------- Kondensatoren und Spannungsregler |
8 | / |
9 | Vin 6V o------o |
10 | Batterie |
11 | "an" |
Stefanus F. schrieb: > Argh, ich hatte schon das Gefühl irgend etwas vergessen zu haben. > > Du willst den Kondensator vermutlich nur beim Ausschaltern entladen, > weil sonst der Entladewiderstand die Stromaufnahme in die Höhe treiben > würde. Dazu würde den SW2 umdrehen: Ok danke werde ich versuchen
Daniel E. schrieb: > Bei der Testplatine ging es nämlich mit Dupont Kabel auch nicht aber mit > 0.3mm^2 Drähten funktionierte dann alles ohne Probleme. Die typischen "China-DuPont-Kabel" sind scheiße: Beitrag "Re: China SUPER Bauteile-Schnäppchen Thread [V3]" > Wenn es mit dickeren Leitern funktioniert kann ich hoffentlich C5 > wierder komplett weglassen Ich erinnere nochmal an den udn hebe zwei Dinge hervor: Manfred schrieb: > Dicke Leitung von der Batterie zum GSM, und > ebenfalls direkt von der Batterie zum MCP, > kein gemeinsamer Weg.
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.