was genau willst du auswerten ? gibt mehre sachen:
für einen bot meist alles aber wer weis
position /winkel
drehzahl
drehrichtung
Hi!
Ich bin dabei den GP1A71R zur Positionsbestimmung auszuwerten.
Irgendwie verstehe ich aber den Aufbau des TTL Pegels nicht.
Kann ich, wenn ich den Radencoder mit dem AVR auswerte auch noch einen Servo ansteuern, oder ist das Interrupt-technisch nicht möglich?
Für Codeschnipsel in QBASIC für den AVR wäre ich sehr dankbar!
MfG
Rasmus
was genau willst du auswerten ? gibt mehre sachen:
für einen bot meist alles aber wer weis
position /winkel
drehzahl
drehrichtung
wenn deine interruptroutinen kurz genug sind ist die gleichzeitige ansteuerung von ein paar sevos kein problem...
die GP... haben tll-pegle, das heißt man kann sie direkt an die iengänge des AVR anklemmen. eines der signale an nen externen interruptkanal, den anderen an eine normalen pin. wenn der interrupt ausgelöst wird schaun ob der andere pin gerade high ist, wenn ja hochzählen, sonst runter.
Also wenn Signal 1 auf High geschaltet wird und der andere auch auf High ist, dann hat sich das Rad um eine Einheit nach vorne Gedreht, wenn das Signal 2 aber dann auf Low ist dann hat sich das Rad um eine Einheit nach hinten gedreht. Ist das Richtig?
MfG
Rasmus
stimmt denn die beiden signal sind gegeneinader verschoben... (siehe grafik im datenblatt)
Hi!
Ich verwende den Mega32 aber irgendwie bekomme ich bei folgendem Code eine Fehlermeldung:"INT0-INT3 are always low triggered in the Mega".
Oder muss ich das mit den Interrupts anders lösen?
MfGCode:$crystal = 16000000 Config Int0 = Rising On Int0 Test Enable Interrupts Enable Int0 Do Waitms 1 Loop Test: Return End
Rasmus
bei mir kompiliert Bascom das ganze anstandslos...
ansonsen probier mal
config int0 = falling
Ich glaube das liegt an meinem Controller, da er ja meint da sich der Fehler auf den Mega bezieht. Hast du Bascom auf den M32 umgestellt?
Ist das denn überhaupt der richtige Lösungsansatz? Achja "falling" geht auch nicht.
MfG
Rasmus
ich hab das regfile eingebunden und jetzt auch noch mal in den optionen mgeschaltet... er nimmts immer noch an...Hast du Bascom auf den M32 umgestellt?
welche verion hast du? ich hab die 1.11.7.3 demo...
Hi!
Ich habe jetzt nochmal ein Programm geschrieben das die GPYA71R auswerten sollte, doch irgendwie funzt das nicht.
Mache ich irgendetwas falsch?
MfG
Rasmus
Code:$crystal = 16000000 $baud = 9600 Config Pind.4 = Input Config Pind.5 = Input Dim Rechts As Long , Links As Long Config Int0 = Falling Config Int1 = Falling On Int0 Enc1 On Int1 Enc2 Enable Interrupts Enable Int0 Enable Int1 Do Waitms 1000 Print Rechts Print Links Loop Enc1: If Pind.4 = 1 Then Links = Links + 1 Else Links = Links - 1 End If Return Enc2: If Pind.5 = 1 Then Rechts = Rechts + 1 Else Rechts = Rechts - 1 End If Return End
Lesezeichen