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
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