Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe, ALPS EC11 auswerten?
Ghostrider1911
17.12.2013, 00:00
Hallo,
ich bin gerade bei einem Projekt, und möchte nun den ALPS EC11 Drehimpulsgeber auswerten.
Leider ist dieser nicht mit dem Encoder Befehl in Bascom kompatibel.
Deswegen bräuchte ich eure Hilfe zur Auswertung.
Kennt ihr vielleicht fertige Routinen die auf diesen Encoder zugeschnitten sind?
Im Anhang noch ein Bild um den Signalverlauf zu verfolgen, aus dem Datenblatt.
26942
mfg
Hallo Ghostrider,
du kannst zum Beispiel einen oder beide Ausgänge auf einen INTx Pin legen und dann bei den Flanken einen Interrupt erzeugen, wo du die Pegel überprüfst und daraus die Drehrichtung ableiten kannst.
Oder du fragst in einem Timer die Eingänge in regelmäßigen Abständen ab. Bei Änderung der Eingänge kannst du aus der Folge der Werte wieder die Richtung herleiten.
Wenn du die Richtung hast, entsprechend hoch- oder runterzählen.
Ghostrider1911
17.12.2013, 01:04
Hallo,
Danke für die schnelle Antwort!
Ich werde mal etwas rumspielen ;-)
Aber heute ist es schon zu spät..
mfg
Ich habe viele Encoder-Programme ausprobiert, bei mir läuft dieses zuverlässig:
$regfile = "m8adef.dat"
$crystal = 2000000
$hwstack = 40
$swstack = 16
$framesize = 32
Portc = &B11 ' PIN 0,1 Pullup
Enc_a Alias Pinc.1
Enc_b Alias Pinc.0
Dim Wert As Byte , Tick As Byte
Wert = 30 'Vorgabewert
Config Portd = Output
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
Config Timer0 = Timer , Prescale = 1024 '= ~10MHz= ~0,1µs * 1024= 0,1ms
On Timer0 Enc_int 'Interrupt
Timer0 = 246 'Timerstartwert:10; ~0,1ms * 10= 1ms
Enable Timer0
Enable Interrupts
Do
Locate 1 , 1 : Lcd "Drehencoder EC11"
Locate 2 , 1 : Lcd "Wert : " ; Wert ; " "
Waitms 1
Loop
Enc_int:
Timer0 = 246 'Timerstartwert
Tick.0 = Enc_a 'Zustandswechsel
Tick.1 = Enc_b
Select Case Tick
Case &H0_2 : Incr Wert
Case &H0_1 : Decr Wert
End Select
Tick.4 = Tick.0
Tick.5 = Tick.1
Return
End
Das LCD ist nur zur Demo. Der Ausgang "Wert" kann für beliebige Zwecke angepaßt werden.
Joachim
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.