Hi Sebi,
also in die falsche Richtung können sie aufgrund der Linsen tatsächlich nicht zeigen. Was allerdings passieren kann ist, dass IR-LED und Fototransistor vertauscht werden.
Auch die Idee von bnitram is nicht schlecht, denn bei starkem Umgebungslicht versagt schonmal der Fototransistor beim Erkennen.
Man könnte zum Testen ob's daran hängt mal den Raum abdunkeln.
Bei meinem Pro-Bot musste ich die IR-LED zum Fototransistor mehrmals ausrichten, bis korrekte Messwerte erzeugt wurden.
Hier mal ein kurzes Testprogramm, welches den gemessenen Encoderwert im Ausgabefenster der C-Control Pro IDE anzeigt.
(Die Pro-Bot Library [PRO-BOT128_Lib.cbas(Basic)/PRO-BOT128C_Lib.cc(C-Compact)] muss dem Projekt hinzugefügt werden.)
Basic:
Compact-C:Code:Sub main() PRO_BOT128_INIT() AbsDelay(1000) ENC_LED_ON() DRIVE_INIT() DRIVE(80,80) Do While True Msg_WriteInt(ENCODER_LEFT_CNT) Msg_WriteInt(ENCODER_RIGHT_CNT) End While End Sub
GrußCode:void main(void) { PRO_BOT128_INIT(); AbsDelay(1000); ENC_LED_ON(); DRIVE_INIT(); DRIVE(80,80); do { Msg_WriteInt(ENCODER_LEFT_CNT); Msg_WriteInt(ENCODER_RIGHT_CNT); } while (1); }
Frank







Zitieren

Lesezeichen