Hi leute! Ich habe einen pro bot 128 mit ein mega128 µc und befinde mich noch ganz am anfang in sachen robotik und überhaupt mit µc-s. ich habe viel gelesen und gegooglet aber das meiste setzt einen gewissen standardwissen vorraus. ich habe mein pro bot 128 umgebaut auf ein zumo chassis und da bot sich an einen pololu encoder zu verwenden. hier ein kleines video was ich auf die schnelle gemacht habe http://www.youtube.com/watch?v=_jc-rOv6UEo und ein link zum sensor was ich verbaut habe: http://www.pololu.com/catalog/product/1217 alles schön und gut, ich habe die standard sensoren T3 und T4 entfernt sowie die vorwiderstände R6 und r7. danach habe ich auf die pins x_9 und x_10 den rechten und linken sensor angelötet in der hoffnung ich würde die libary nicht verändern müssen. jetzt bin ich seid taagen auf der suche nach eine lösung nur ich weiss nicht wo ich ansetzen soll da ich mir nicht sicher bin ob ich alles richtig angeschlossen habe oder das problem die sofwareseitige programmierung ist. hier ein link über dem sensor, leider war nichts dabei in richtung datenblatt oder libary. PS: der pro bot 128 hat eine abgewandelte Basic womit ichs versucht habe etwas zu erreichen,ich poste mal das testprogramm was bei den original sensoren funktioniert. danke schon mal für die hilfe. #define Encoder_IR 8 Dim Text(40) As Char Dim Encoder_left As Integer Dim Encoder_right As Integer 'Mainprogramm Sub main() SPI_Disable() 'SPI "OFF" Port_DataDirBit(Encoder_IR,1) 'Port For IR LED = Output Port_WriteBit(Encoder_IR,PORT_OFF) 'IR Diode PORT_OFF = IR "Ein" 'Radencoder Interrupts Irq_SetVect(INT_6,Ext_ISR_R) 'Interrupt Service Routine right encoder Irq_SetVect(INT_7,Ext_ISR_L) 'Interrupt Service Routine left encoder Ext_IntEnable(6,2) 'Interrupt right falling edge Ext_IntEnable(7,2) 'Interrupt left falling edge Do While True Msg_WriteInt(Encoder_left) Text = " left" Msg_WriteText(Text) Msg_WriteChar(13) Msg_WriteInt(Encoder_right) Text = " right" Msg_WriteText(Text) Msg_WriteChar(10) Msg_WriteChar(13) AbsDelay(100) End While End Sub 'Interrupt Service Routine "Encoder right" Sub Ext_ISR_R() Dim irqreq As Integer irqreq = Irq_GetCount(INT_6) 'Interrupt Request Counter = 0 Encoder_right = Encoder_right + 1 End Sub 'Interrupt Service Routine "Encoder left" Sub Ext_ISR_L() Dim irqreq As Integer irqreq = Irq_GetCount(INT_7) 'Interrupt Request Counter = 0 Encoder_left = Encoder_left + 1 End Sub
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.