Forum: Mikrocontroller und Digitale Elektronik Drehgeber per Interrupt auslesen, wieviele Interrupteingänge muss ich belegen bei Atmega64


von Daniel C. (cagara)


Lesenswert?

Hey,

Bin gerade dabei meine Schaltung zu optimieren,
im moment habe ich einen Drehgeber wie im Bild zu sehen an 3 Ports 
meines Atmega64 angeschlossen, doch ist es zu "suboptimal" die Zustände 
in der Hauptschleife stets auszulesen.

Meine idee wäre jetzt einen Teil der eingänge auf die INT Ports zu legen 
und das ganze per Interrupt lösen,
reicht wenn ich 2 Eingänge auf PC0/1 lasse und nur einen (den Port A) 
auf z.B. INT0 der dann den Interrupt triggert um dann auszuwerten?

Ich denke schon, doch habe ich gerade nicht die möglichkeit es zu testen 
bevor das Board in produktion geht.

PS: PC ist ja ein analoger port, kann ich das ding trotzdem daran 
betreiben?

von Daniel C. (cagara)


Angehängte Dateien:

Lesenswert?

Rotary encoder in meiner schaltung

von Peter D. (peda)


Lesenswert?


von Björn R. (sushi)


Lesenswert?

Schau mal hier: http://www.mikrocontroller.net/articles/Drehgeber
Den Code habe ich erfolgreich bei mir zum Laufen gebracht. Funktioniert 
wunderbar...

von Falk B. (falk)


Lesenswert?

Und noch ein Tip: Bildformate

von Sven P. (Gast)


Lesenswert?

Hm, das ist Target? Die Schriftarten gewürfelt, der Bus grauenhaft und 
die Pins am AVR nicht getroffen? SCNR :-)

Ne, Drehgeber --> Pollen.

von Daniel C. (cagara)


Lesenswert?

Sven Pauli wrote:
> Hm, das ist Target? Die Schriftarten gewürfelt, der Bus grauenhaft und
> die Pins am AVR nicht getroffen? SCNR :-)
>
> Ne, Drehgeber --> Pollen.

Was meinst du mit "Pollen" :)

Und ja, das ist die Target 3001 v13 version, die kostet zwar in der 
Professional Version über 1000 Euro aber wenn man die PCB Pool version 
nimmt (also die Leiterplatten nur bei PCB Pool entwickeln lässt) bekommt 
man die version kostenlos.

von Sinusgeek (Gast)


Lesenswert?

> Was meinst du mit "Pollen" :)

Er meint zyklisches Einlesen des Ports in regelmäßigen Zeitabständen 
(z.B. durch Timer-Interrupt synchronisiert).

Verfolge einfach die Links von Peter, etwas Besseres wirst Du nicht 
finden. Die Routinen sind sooo gut, dass Du sogar auf Deine 
Hardware-Entprellung (RC-Glieder) verzichten kannst.

Mit externen Interrupts wirst Du Schiffbruch erleiden wenn Du laberige 
Drehgeber einsetzt.

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.