Forum: Mikrocontroller und Digitale Elektronik DS1820 komplett wegschalten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sven Scholz (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gemeinde,

bisher hatte ich den VCC-Pin des DS1820 immer direkt an 3,3V 
angeschlossen.
Gnd an Gnd und den Data-Pin an den Pin 2.3 meines MSP430.

Das hat immer super funktioniert
Nur im DeepSleep des MSP430 wurden über den Pullup-Widerstand zwischen 
VCC und Data immer ca. 80uA verbraucht, was mir immer zuviel war.

Nun bin ich auf die Idee gekommen, VCC des DS1820 auch über einen Pin zu 
schalten, Pin2.4.

(siehe Anlage)

Sprich ich lege vor der Temp.Messung P2.4 zunächst auf High, mache eine 
Messung, und schalte P2.4 wieder auf low.

Hatte nun erwartet, dass jetzt kein Strom mehr unnötig verbraucht wird.

Klappt allerdings nicht. Ich messe nun sogar 157uA!!!
Also da kann irgendwas nicht stimmen.

Muss ich noch etwas mit den internen Pullups / Pulldown der 
GPIO-Ausgänge machen?
Die Frage ist nämlich echt, wo da der Strom fließt, da ich direkt am 
3,9k Pullup keine Spannung messe.
Logisch da ja P2.3 und P2.4 beide low sind.

Fragen über Fragen...

von hinz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sven Scholz schrieb:
> Muss ich noch etwas mit den internen Pullups / Pulldown der
> GPIO-Ausgänge machen?

Abschalten.

von Sven Scholz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sind denn die Pullups oder Pulldowns standardmäßig aktiv wenn der Chip 
gebootet ist?

von Wolfgang (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Sven Scholz schrieb:
> Nun bin ich auf die Idee gekommen, VCC des DS1820 auch über einen Pin zu
> schalten, Pin2.4.

Warum überhaupt die dritte Leitung. Verbinde beim DS18B20 doch den 
VCC-Pin mit Gnd und versorge den Sensor über die Datenleitung (Fig. 6 im 
Datenblatt)

von Veit D. (devil-elec)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bist du dir wirklich sicher das P2.3 auf Masse liegt? Denn das Data 
Signal hat Idle High Pegel, weil das mit parasitärer Versorgung auch zum 
laden genutzt wird. Messe alle Spannungen gegenüber GND.

von Sven Scholz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Also ich habe P2.3 und P2.4 ja während DeepSleep (LPM3) gemessen gegen 
Ground.
Da liegt jeweils keine Spannung an (0V) und ich messe einen 
Gesamtstromverbrauch von ca 157uA.

Und dies auch, wenn der DS1820 gar nicht angesteckt ist! Verblüffend.

Lasse ich den DS1820 weiterhin ausgesteckt und nehme den Software-Teil 
bzgl. dem Sensor raus

also auskommentieren von
DS1820.init()
DS1820.measure()
DS1820.getTempValue()

Dann messe ich einen Strom in LPM3 von 0,4uA was korrekt ist.

Es muss also mit der GPIO-Pin-Konfiguration zusammenhängen.

Die DS1820 Library schaltet den P2.3 ja immer als Input und Ouput hin 
und her.
Muss ich vielleicht bevor ich in DeepSleep gehe, den Pin wieder als 
Ausgang schalten mit Low-Pegel?
Vielleicht ist der nach der Messung noch als Input-Pin konfiguriert und 
dann fließt intern im MSP430 noch dieser Strom von 157uA?

Danke!

von Veit D. (devil-elec)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat die Lib ein disconnect() oder deinit() o.ä.?
Ansonsten ist das auf jeden Fall einen Versuch wert.
Nach dem wecken dann immer erneut init() ausführen.

von Max G. (l0wside) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Irgendwo im MSP430-Datenblatt steht, dass man für minimale 
Verlustleistung die Ports auf Input schalten und die Pull-ups/Pulldowns 
ausmachen soll. Schaue Dir mal PxDIR und PxREN an, sollten beide auf 0 
stehen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.