Autor |
|
|
|
BID = 1019379
k0riz0n Stammposter
Beiträge: 266
|
|
Hallo ihr,
ich möchte über einen Spannungsteiler die Versorgungsspannung des µC erfassen.
Da es um einen batteriebetriebenen Sensor geht möchte ich den "Verbrauch" so gering wie möglich halten.
VCC ---- R1 --------- R2 ------ GND
I
A0
Wäre es eine Lösung den GND des Spannungsteilers auf einen weiteren Pin des µC zu legen und so die Messtrecke zu aktivieren/deaktivieren?
Messung -> D0 auf Input
keine Messung -> D0 auf Output und High
VCC ---- R1 --------- R2 ------
I I
A0 D0
Kann das funktionieren oder habe ich einen Denkfehler drin?
Gruß
_________________
Infoportal Regensburg | http://www.korizon.de | Meine Projekte auf bastelimperium.de |
|
BID = 1019382
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
|
Messen heisst vergleichen!
Du brauchst also irgend eine von der Versorgung unabhängige Referenzspannung.
Oft ist ein 2,5V Quelle im µC eingebaut, muss aber aktiviert werden. Das Datenblatt gibt Auskunft. |
|
BID = 1019387
k0riz0n Stammposter
Beiträge: 266
|
Das Messen funktioniert ja bereits mit dem Aufbau oben einwandfrei (ist ein NodeMCU, Referenzspannung ist vorhanden)
Nun möchte ich die Messtrecke nur deaktivieren wenn ich sie nicht brauche.
Ein Pin definiert als Input geht doch auch auf GND oder?
_________________
Infoportal Regensburg | http://www.korizon.de | Meine Projekte auf bastelimperium.de
[ Diese Nachricht wurde geändert von: k0riz0n am 8 Mai 2017 21:41 ]
|
BID = 1019419
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Ein Pin definiert als Input geht doch auch auf GND oder? |
Nein, ein Input stellt eine hohe Impedanz dar, d.h. er kann durch Ströme im nA-Bereich eine undefinierte Spannung zwischen GND und Vcc annehmen.
Du hast etwa vier Möglichkeiten den Stromdurch den Spannungsteiler abzuschalten:
A) So, wie du es gezeichnet hast, indem du eine 0 in D0 schreibst und zum Abschalten den Pin als Input definierst.
Im abgeschalteten Zustand wird dann A0 auf Vcc gezogen, aber vermutlich ergeben sich aus dieser Bereichsüberschreitung des ADC keine Probleme.
B) Schaltung wie oben, aber zum Deaktivieren schreibst du einfach eine 1 in D0.
Rest wie oben.
C) Du legst das untere Ende des Spannungsteilers wirklich an GND, und legst mittels D0 das obere Ende des Spannungsteilers an Vcc indem du eine 1 in D0 schreibst. Zum Abschalten eine 0 schreiben, der ADC sieht dann auch 0V.
D) Schaltung wie C) aber Abschalten, indem du wie bei a) D0 als Input definierst.
Die Folgen sind wie bei C) , aber aufpassen: Manche µC aktivieren einen hochohmigen internen Pull-up-Widerstand, wenn der Pin als Input definiert ist und im Output-Register eine 1 steht. Dann fliesst ein geringer Strom aus dem Input heraus.
Welcher der Möglichkeiten man den Vorzug gibt, hängt u.a. vom Typ des µC ab. Durch den Innenwiderstand der Ausgangstransistoren handelt man sich einen systematischen Fehler ein. Bei den ersten beiden Verfahren gibt es einen Nullpunktsfehler und einen Verstärkungsfehler.
Der Messwert wird dann besonders bei kleinen Spannungen etwas höher ausfallen, als es dem Spannungsteiler entspricht.
Bei den beiden letzten Verfahren gibt es nur einen Verstärkungsfehler, weil die am Spannungsteiler anliegende Spannung nicht ganz Vcc erreicht.
Oft sind die N-Kanal-FETs, die den Ausgang nach 0 ziehen, niederohmiger als die P-Fets, die nach Vcc ziehen. Ob und in welchem Umfang das zutrifft, verrät das Ausgangskennlinienfeld im Datenblatt.
|
BID = 1019468
k0riz0n Stammposter
Beiträge: 266
|
-mit D0 meinte ich den DigitalPin 0 am Arduino
-Vcc ist die Versorgungsspannung vom Arduino und soll bei 6 oder 7 Volt liegen
Zitat :
|
A) So, wie du es gezeichnet hast, indem du eine 0 in D0 schreibst und zum Abschalten den Pin als Input definierst.
Im abgeschalteten Zustand wird dann A0 auf Vcc gezogen, aber vermutlich ergeben sich aus dieser Bereichsüberschreitung des ADC keine Probleme.
|
Mal sehen ob ich das verstanden habe:
DigitalPin 0 auf Low, zum Abschalten der Messtrecke den Pin auf Input und zum aktiveren auf Output?
Zitat :
|
B) Schaltung wie oben, aber zum Deaktivieren schreibst du einfach eine 1 in D0.
Rest wie oben.
|
Dann hab ich von der einen Seite Vcc anliegen und von rechts die 5V vom High an Pin 0, stimmt?
Zitat :
|
C) Du legst das untere Ende des Spannungsteilers wirklich an GND, und legst mittels D0 das obere Ende des Spannungsteilers an Vcc indem du eine 1 in D0 schreibst. Zum Abschalten eine 0 schreiben, der ADC sieht dann auch 0V.
|
Aber dann mess ich doch nicht Vcc sondern die 5 Volt vom Arduino Pin (weil High)?
Zitat :
|
D) Schaltung wie C) aber Abschalten, indem du wie bei a) D0 als Input definierst.
Die Folgen sind wie bei C) , aber aufpassen: Manche µC aktivieren einen hochohmigen internen Pull-up-Widerstand, wenn der Pin als Input definiert ist und im Output-Register eine 1 steht. Dann fliesst ein geringer Strom aus dem Input heraus.
|
Ist das dann nicht das aus meinem ersten Post?
Zitat :
| Wäre es eine Lösung den GND des Spannungsteilers auf einen weiteren Pin des µC zu legen und so die Messtrecke zu aktivieren/deaktivieren?
Messung -> D0 auf Input
keine Messung -> D0 auf Output und High |
Danke für deine Geduld
_________________
Infoportal Regensburg | http://www.korizon.de | Meine Projekte auf bastelimperium.de
|
BID = 1019485
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| mit D0 meinte ich den DigitalPin 0 |
Schon klar.
Zitat :
| Vcc ist die Versorgungsspannung vom Arduino und soll bei 6 oder 7 Volt liegen |
So hoch?
Mir ist kein aktueller µC bekannt, der mit einer so hohen Spannung betrieben wird.
Hat der Arduino einen Spannungsregler auf der Platine?
Zitat :
| DigitalPin 0 auf Low, zum Abschalten der Messtrecke den Pin auf Input und zum aktiveren auf Output? |
Ja, allerdings bin ich stets davon ausgegangen, dass Vcc die Betriebsspannung (+5V) des µC-Chips ist.
P.S.:
Wenn Vcc höher als die Betriebsspannung des Chips ist, wird der A0 Eingang beim Abschalten des D0 von dem oberen Spannungsteiletrwiderstand auf eine höhere Spannung als die Betriebsspannung des Chips gezogen.
Dann fliesst Strom über die Schutzdioden des Chips, und es kann zu einer Rückspeisung der gesamten Schaltung kommen. Dadurch kann evtl ein ordnungsgemäßer Power-On-Reset verhindert werden.
[ Diese Nachricht wurde geändert von: perl am 10 Mai 2017 0:31 ]
|
BID = 1021879
k0riz0n Stammposter
Beiträge: 266
|
So, zu besseren Übersicht habe ich die Schaltung mal in Fritzing abgebildet.
-die Akkus sind zwei 18650er aus einem Akkuschrauberakku, geladen haben sie zusammen über 8 Volt, bei irgendwas um die 6 Volt möchte ich die Akkuwarnung ausgeben
-oben ist der (leider) doppelte Spannungsteiler. Damit bekomme ich ca. 1/10 der Akkuspannung auf den ADC des ESP-12f
-die Widerstände werden noch gegen hochohmige getauscht
Zum Stromsparen:
Habe mir überlegt die Akkuspannung am Spannungsteiler mit einem PNP Transistor vor dem Messvorgang einzuschalten. Zum Schutz des µC brauche ich vermutlich noch eine Zenerdiode zwischen µC Pin (3.3V) und Basis oder?
Den DS18B20 hänge ich noch an einen Pin des µC und versorge ihn dadurch , dann ist der Standbyverbauch auch noch weg. Da muss ich nur ausprobieren ob nach dem Einschalten sofort die Temperatur stimmt.
_________________
Infoportal Regensburg | http://www.korizon.de | Meine Projekte auf bastelimperium.de
|
BID = 1021881
Kleinspannung Urgestein
Beiträge: 13359 Wohnort: Tal der Ahnungslosen
|
Zitat :
k0riz0n hat am 16 Jun 2017 23:03 geschrieben :
|
ob nach dem Einschalten sofort die Temperatur stimmt.
|
So lange du ihm die paar Millisekunden Zeit läßt,die er zum messen und wandeln braucht,ist die Methode sogar genauer.
Ist der immer am "Strom",bekommst du durch Eigenerwärmung irgendwann eine kleine,aber messbare Differenz rein.
Zumindest bei den DS18S20 die ich immer nehme ist das so.
Deshalb schalte ich die Dinger im Programm nur ein,wenn sie wirklich gebraucht werden.
_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)
|
BID = 1021922
k0riz0n Stammposter
Beiträge: 266
|
Zitat :
|
Deshalb schalte ich die Dinger im Programm nur ein,wenn sie wirklich gebraucht werden.
|
Ja dann mach ich das auch so.
Hat noch jemand eine Meinung zum Transistor vorm Spannungsteiler?
_________________
Infoportal Regensburg | http://www.korizon.de | Meine Projekte auf bastelimperium.de
|
BID = 1022213
unlock Schriftsteller
Beiträge: 901 Wohnort: Mosbach
|
Zitat :
|
Hat noch jemand eine Meinung zum Transistor vorm Spannungsteiler?
|
Nim ein Relais!
_________________
One Flash and you're Ash !
|
BID = 1022220
der mit den kurzen Armen Urgestein
Beiträge: 17434
|
Warum nimmst du keinen LL-Mosfet?
_________________
Tippfehler sind vom Umtausch ausgeschlossen.
Arbeiten an Verteilern gehören in fachkundige Hände!
Sei Dir immer bewusst, dass von Deiner Arbeit das Leben und die Gesundheit anderer abhängen!
|
BID = 1022223
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Was soll das denn?
Dein Spannungsregler schluckt schon 0,5mA, und selbst wenn er abgeschaltet ist, sind es noch 50µA.
Glaubst du wirklich, dass der Akku länger hält, wenn du vielleicht 1µA bei der Spannungsmessung einsparst?
|