mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stromverbrauch senken


Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich will einen Mega8L zum Stromsparen bewegen (weil er sich von Batterie 
ernähren soll).
Aufwecken soll ihn ein Timer und ein externer INT.

Für den Timer verwende ich den Timer2 mit externem 32khz Quarz mit den 
internen, eingeschalteten Cs.

1) Der externe INT muss zwingen gegen Masse ziehen, um den Mega 
aufwecken zu können, oder?
2) Der LowLevel muss auch mehr als 1 µs anliegen (so lese ich jedenfalls 
das Datenblatt). Ich habe aber keine Ahnung, wie lange der Puls ist 
(wird generiert von einem Reed Relais).
3) Das ReedRelais wird prellen. Das kann ich im normalen Betrieb 
entprellen.
Wenn der Atmega aber durch das ReedRelais geweckt wird, braucht er ja 
etliche ms, bis er wieder normal läuft. Das heißt doch, dass mir der 
Impuls, der ihn geweckt hat, verloren geht...?

4) Was passiert mit den IO Pins? Die werden gegen Masse geclampt, oder?
Wenn ein externes IC (konkret der RFM12-Funkchip) Signale an den Mega8 
schickt, dann clampt dieser sie gegen GND?

4a) Was mache ich denn mit dem RFM12? Kann ich den auch in einen Standby 
schicken und wieder wecken, wenn ich was senden will?

5) Ich will auch noch die Batteriespannung überwachen. Am billigsten 
erscheint mit der Comparator: Ich teile VCC herunter, sodass ich sie 
gegen die interne VRef vergleichen kann. Oder frisst mir das zuviel 
Strom? Der Eingangspin vom AD Comparator sollte einen Eingangswiderstand 
in der Größenordnung vom ADC-Widerstand (50 Meg glaub ich) haben, oder? 
Damit wäre der Stromverbrauch durch den SpgTeiler ja zu vernachlässigen. 
Wenn im Standby die Pins aber gegen Masse gezogen werden, dann frisst 
mein Spgteiler ja dauernd kostbaren Strom...

Gruß
Christian

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit PCINT kann auch flankenempfindlich aufgeweckt werden. Ein Reedrelais 
liefert Impulse >1ms. Externe Spannungen mißt man am besten mit dem ADC.

Was "geclampt" ist, weiß ich nicht.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit geclampt meinte ich "mittels Clamp-Diode gegen Masse gezogen" :)

Im Datenblatt steht aber, dass ich in den Schlafmodi nur den 
Pegelsensitiven INT nutzen kann, weil die Flanken durch die I/O Clock 
einsynchronisiert und dann erkannt werden würden.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Im Datenblatt steht aber...

Stimmt. PCINT gibt es erst seit Mega48/88/168. Dennoch reicht ein 
Relaisschaltimpuls an INT0/1 zum Aufwecken.

Autor: Aber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Ein Komparator ist am Guenstigsten, auch in Sachen Stomverbrauch. Es 
gibt da nicht ganz schnelle Komparatoren : zB TexasInstruments TLV3701,
nano power 0.56uA/channel, offset 250uV, drift 3uV/K, single comparator, 
Supply 2.5 to 16V, input bias current 80pA, pushpull output, common mode 
Vss-0.1 to Vcc+5, reverse battery protection up to 18V, large signal 
response 40us, case SO8, 1.30$ @10.

Ein spannungsteiler muss matuerlich genuegend hochohmig sein. Bedenke, 
dass 1MOhm schon 3uA verbraucht. Du hast uebrigens vergesen zu 
erwaehnen, dass es sich lohnt die Spannung abzusenken. auf 2.7V, oder 
1.8V, falls die Peripherie das hergibt. Ich hab da Switcher .. den 
TPS62202 (1.8V), den  TPS62056 (3.3V), den TPS62102 (var)

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um die Spannung zu messen brauchst Du keine extra Beschaltung am Mega8 
(Ausser C an Aref usw). Einfach die Referenz auf Avcc stellen (an dem 
hängt ja deine Batterie) und dann misst Du die interne Bandgap-Referenz. 
Daraus kannst Du dir dann die Versorgung ausrechnen ganz ohne 
Spannungsteiler.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Philipp:
Wie mache ich denn das? Ich kann doch nur eine Referenzquelle zur Zeit 
auswählen, also entweder intern oder AVCC, oder?

Autor: Aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Idee war entweder die Speisung hinunterzuteilen, an AD0 oder so 
anzuhaengen und mit der Bandgap als Referenz zu messen. Anders rum geht 
es auch, da der Mega8 die Bandgap als Input waehlen kann. Mux=1110 misst 
die Bandgap. Wenn man dann die Speisung als Referenz hat passt es dann 
auch.

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, das hat den Vorteil, dass man keinen Pin verliert und auch keinen 
Spannungsteiler benötigt.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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