Forum: Mikrocontroller und Digitale Elektronik I/O Port- Pin


von Oliver (Gast)


Lesenswert?

Hallo zusammen,
Ich bin Anfänger und möchte und möchte an einem Batteriebetriebenen
ATMega 16 vier Taster anschließen. Einer dieser Taster soll mittels
ext. Interrupt0 den Controller aus dem Sleep Mode (Power Save) holen.
Jetzt weiß ich jedoch nicht, wie ich das mit den Widerständen machen
soll. Wenn ich den internen Pullup aktiviere, heißt das doch,dass
permanent ein Strom fließt, oder nicht? Wenn das so ist, muss ich dann
einen Power-Down Widerstand für einen definierten Low-Zustand einbauen
und Vcc auf den Eingang schalten?
Vielen Dank im Voraus.

von MathiasM (Gast)


Lesenswert?

Wenn Du interne Pullup's aktivierst dann schließt Du Deine Taster
einfach gegen GND an, Widerstände brauchst Du dann keine.

In Deinem Programm musst Du dann nur beachten das wenn der Taster nicht
gedrückt ist logisch 1 vorliegt und im gedrückten Zustand logisch 0.

Gruß
Matze

von andi (Gast)


Lesenswert?

und denk dran die Taster zu entprellen sonst wird das nichts.

von Oliver (Gast)


Lesenswert?

Das ist schon richtig. Ich lasse einen Interrupt auslösen, sobald ich
eine negative Flanke am entsprechenden Pin erzeuge. Die Logik ist auch
nicht mein Problem.
Meine eigentliche Frage ist, ob ich dabei nicht zuviel Strom
verbrauche. Im Sleep Mode möchte ich nicht mehr als einige µA
verbrauchen. Laut Datenblatt hat so ein interner Pullup minimal
20KOhm,d.h. es fließen bei 3,3 Vcc schon 165µA in die Schaltung, wenn
sie denn fließen. Aber ich gehe mal davon aus, dass in die Schaltung
maximal 1µA fließt, egal ob mit oder ohne Pullup Widerstand. Bin mir
halt nur nicht ganz sicher.

von ...HanneS... (Gast)


Lesenswert?

Der Strom fließt doch erst bei betätigtem Taster.

Du nutzt sicherlich als Sleep-Mode den Power-down-Mode (hätte ja sonst
keinen Sinn bei Batteriebetrieb). Kann man da mit der "Flanke" den
AVR wecken? Ich denke, das geht nur mit dem Low-Pegel-Int (oder wie das
Ding heißt). Man muss (denke ich) den Int auf Low-Pegel einstellen,
nicht auf negative Flanke.

von Oliver (Gast)


Lesenswert?

Ist klar!Manchmal hat man eben ein Brett vorm Kopf.
Danke für die schnellen Antworten.
Ich denke,ich muß den Power Save Mode nutzen, da ich eine RTC im
Hintergrund laufen lasse. Diese arbeitet mit extra Quarz im
Asynchron-Mode. Zum Thema "Flanke" denke ich schon das es geht. Es
ist ja schließlich egal, wie der Interrupt entstanden ist. Wichtig ist
nur das er kommt.

von Lutz (Gast)


Lesenswert?

Hallo,
wenn es wie beim 2313 ist, ist es nicht egal welchen Int
mann nimmt. siehe:
http://www.mikrocontroller.net/forum/read-1-93069.html
Grüße
Quark

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.