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:
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
Compact-C:
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);
}
Gruß
Frank
Lesezeichen