-
-
Neuer Benutzer
Öfters hier
At mega 32: Interrupt bei steigender UND fallender Flanke
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
-
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
-
Erfahrener Benutzer
Fleißiges Mitglied
Schau mal, ob hier etwas brauchbares dabei ist. BTW - im Simulator funktioniert das bis heute nicht, mit der RN-Control klappte es trotzdem...
Viele Grüße,
Thomas
-
Neuer Benutzer
Öfters hier
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
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen