Vielen Dank für eure Hilfe.
Ich habe von der Firma www.elgo.de das Magnetische Längenmesssystem EMIX2 an die RNControl angeschlossen und eben mit dem Quatratur Encoder ausgewertet.
Ziel ist es ein elektronisches Längenmesssystem zu entwickeln, das bei Bewegung nach rechts eins nach Oben zeigt
Leider habe ich momentan noch ein paar Probleme, vielleicht kann mir aber jemand von euch einen Tipp geben.
Die Rechtsrichtung funktioniert ziemlich gut, wenn ich aber nach "links" fahre, dann zeigt er auch eine rechtsbewegung an
Die Geschwindigkeit ist miserabel. Es funktioniert nur wenn ich ganz ganz langsam über das Magnetband fahre. Bei einer schnelleren Bewegung verschluckt sich mein Programm.
Der Emix liefert 100 Pulse pro mm zurückgelegtem Weg.
Ist die RNControl dafür zu langsam oder mien Code falsch ?
Wäre super wenn ihr mal einen Blick drauf werfen könntet
Nachfolgend noch mein Code
Code:
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
Dim Result As Long
Dim X As Integer
X = 0
Result = 0
'Config Pine.5 = Input
'Usb Alias Pine.5 'Ist 1 wenn USB angeschlossen
'Usb Schnittstelle UART initialisierung
'Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Open "com4:" For Binary As #4 'USB Buchse
'Initialisierung LCD
Config Pinf.6 = Output
Lcd_rw Alias Portf.6
Lcd_rw = 0
Config Lcd = 20 * 4a , Chipset = Ks077
Config Lcdpin = Pin , Db4 = Portf.3 , Db5 = Portf.2 , Db6 = Portf.1 , Db7 = Portf.0 , E = Portf.5 , Rs = Portf.7
Config Lcdbus = 4
Initlcd
Cursor Off Noblink 'Curser ausschalten
'Ansteuerung LCD
Cls
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Radlabor Test"
'Print #4 , ""
Locate 2 , 1
Lcd "Result:"
Locate 3 , 1
Lcd "X:"
'Print #4 , "X"
Locate 4 , 1
Lcd "Richtung:"
Config Pina.1 = Input
Config Pina.2 = Input
'Alle internen Pullup Widerstände ein
Pina.0 = 0
Pina.1 = 0
Config Pina.2 = Input
Tasterx Alias Pina.2
'Porta.2 = 1 'Interner Pullup Widerstand ein
'Schleife mit Quadratur Encoder
Do
Result = Encoder(pina.0 , Pina.1 , Links , Rechts , 0)
If Tasterx = 1 Then
X = 0
Locate 3 , 4
Lcd X ; " "
End If
Loop
Links: 'Linksdrehen
Decr X
Locate 2 , 9
Lcd Result
Locate 3 , 4
Lcd X ; " "
Locate 4 , 12
Lcd "Links "
Return
Rechts: 'Rechtsdrehen
Incr X
Locate 2 , 9
Lcd Result
Locate 3 , 4
Lcd X ; " "
Locate 4 , 12
Lcd "Rechts "
Return
End
Lesezeichen