PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : At mega 32: Interrupt bei steigender UND fallender Flanke



electrofux
04.10.2006, 14:07
Hallo,

wir bauen mit Hilfe des mega 32 und Bascom eine Motorsteuerung. Und zwar haben wir einen Inkrementalgeber der über zwei Leitungen pro Umdrehung insgesamt 500 Inkremente ausgibt. Die zwei Signale sind praktisch zwei um 90 Grad verschobene Pulswellen.
Dieser Inkrementalgeber wird dann von einem externen Motor angetrieben und wir möchten die im Mega32 ankommenden Inkremente benutzen, um einen anderen Schrittmotor, um genau die eingehende Anzahl an Inkrementen anzutreiben.
Dazu müssen wir als erstes die zwei Pulswellen in eine umwandeln (s.u.), die wir dann am Ausgang ausgeben können.

__--__--__-- Signal 1
-__--__--__- Signal 2

_-_-_-_-_-_- kombiniertes Signal am Ausgang


Und da beginnen die Fragen...

Ich dachte mir das ganze so, daß bei beiden Signale jeweils bei steigender und fallender Flanke ein Interrupt ausgelöst wird und in der Interruptroutine dann der Ausgang getoggelt wird.

Allerdings weiss ich nicht wie und ob ich einen Interrupt so konfigurieren kann, daß er beide Flankenänderungen auslöst.
Oder muss ich praktisch vier Interrupts programmieren und geht das mit dem Mega32 überhaupt

Grüße
Markus Fuchs

Lord Crumb
04.10.2006, 18:16
Hallo

Signal1 oder 2 hängt am Int1
So konfigurierst du den Int auf eine Flankenänderung
Config Int1 = Change
On Int1 Drehimpulsgeber

Interrupt Routine
Drehimpulsgeber:

If Signal 1 = Signal 2 then
Ist zur Auswertung der Drehrichtung z.B Rechts

else
Ist zur Auswertung der Drehrichtung muss ja dann links sein
end if

Falls dich die Drehrichtung nicht Interessiert reicht der Befehl aus
Toggle kombiniertes_Signal_am_Ausgang
Return

ThSteier
04.10.2006, 22:01
Schau mal, ob hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=10919) etwas brauchbares dabei ist. BTW - im Simulator funktioniert das bis heute nicht, mit der RN-Control klappte es trotzdem...

Viele Grüße,
Thomas

electrofux
05.10.2006, 11:52
Besten dank,

@Lord Crumb
hört sich gut an =D>. Ich werde das gleich mal probieren.

@ThSteier
aha, da haben sich schon viele andere den Kopf drüber zerbrochen ](*,)
Danke für den Link.


Grüße
Markus Fuchs