Forum: Mikrocontroller und Digitale Elektronik AtMega16 Hoher Strom bei Timer-Pins


von Mario Beck (Gast)


Lesenswert?

Hallo,

Timer2 Überlauf erzeugt ein Toggle des OC2 Pins.
Diesen habe ich als Input für Timer0 geschaltet.
Ziel ist ein Langzeit-Timer. Klappt auch gut.

Zwischen dem OC2 und dem T0-Eingang fließt nun ein Wahnsinnsstrom von
70mA!!!

1. Toll, das der Chip das aushält und nicht verbrennt ;-)
2. Warum? Wie kann ich das abstellen?
   Ein Strombegrenzungswiderstand senkt den Strom auf z.B. 1,5mA, aber
dann ist der Pegel immer low. Das hilft mir auch nicht.

Das ganze läuft auf einem STK500. Ist da noch Beschaltung drumherum
oder sind die Portpins wirklich die nackten AVR-Pins?

Danke und ciao,

Mario

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

warum so kompliziert? Sowas macht man per Software.

Matthias

von Mario Beck (Gast)


Lesenswert?

Weil die Timer auch im Sleep-Modus laufen.
Ich will alle 15 Minuten einen Meßwert nehmen und dazwischen wenig
Strom verbrauchen.
Den Sleep-Modus verlasse ich nur alle 15 Minuten.

Ciao,

Mario

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

wenn du den Prozessor alle paar ms aus dem sleep holst wird das auch
nicht viel mehr Strom kosten. Wenns wirklich auf jedes µA ankommt bist
du bei den MSP430ern oder den 1,8V AVRs eh besser aufgehoben.

Matthias

von der mechatroniker (Gast)


Lesenswert?

Spontane Idee: nimm doch den Timer-Overflow-Interrupt für den
"schnellen" Timer. Die langen Intervalle realisierst du, indem du bei
jedem Interrupt einen Software-Zähler hochzählst und dich gleich wieder
schlafen legst.

Würde mich wundern, wenn dies wesentlich mehr Strom ziehen würde als
deine Lösung. Hab allerdings wenig Erfahrung mit den ATmegas, könnte
natürlich sein, daß ich damit völlig falsch liege ;-)

von Ludwig W. (lordludwig)


Lesenswert?

bleiben wir beim thema die frage war warum 70ma fließen und das ist ja
wohl ned normal oder???

von A.K. (Gast)


Lesenswert?

Ist nicht normal. Aber ohne jede Information deinerseits wird bloss
Kaffeesatzlesen draus.

von Mario Beck (Gast)


Lesenswert?

Problem gelöst:

Ich hatte den T0-Pin (ist gleichzeitig PortB0) in meinem Programm
versehentlich als Ausgang geschaltet.
Damit funktioniert der Timer zwar, man muss aber gegen den Ausgang
"low" ankämpfen, um noch einen High-Pegel in den Timer
"reinzudrücken". Das kostet 70mA.

Schön, das unsere Lieblingsbabys solche Programmierer wie mich
aushalten ;-)

Ciao und danke,

Mario

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
Noch kein Account? Hier anmelden.