Hallo
Was zählst du denn da?
Viele Funktionsgruppen des probot sind nahezu identisch vom asuro abgekupfert. Einen direkten Vergleich hatte ich hier mal gemacht:Code:Encoleft: 'Interrupt-Rotine die ausgelöst wird wenn links ein Odometrie-Encoder-Impuls kommt If Encoderenable = 1 Then Encleft = Encleft + 1 End If Return Encoright: 'Interrupt-Rotine die ausgelöst wird wenn rechts ein Odometrie-Encoder-Impuls kommt If Encoderenable = 1 Then Encright = Encright + 1 End If Return
https://www.roboternetz.de/phpBB2/ze...ag.php?t=49556
So ist, neben dem Aufbau der Antriebe (beim asuro ist Stellung der Ritzen zueinander besser), auch die Odometry fast völlig identisch. Deshalb gelten alle Odo-Beschreibungen für den asuro auch uneingeschränkt für den Probot!
Wesentlich ist, dass die Odometry keine "Impulse" erkennt, sondern die Helligkeit vor den Odo-Sensoren misst. In Abhängigkeit von der Stellung der Codescheibe, und dem zusätzlichen Fremdlicht, schwanken die gemessenen Werte zwischen einem minimalen und einem maximalen Wert. Der Trick ist nun, aus diesen Werten einen Segmentwechsel der Codescheibe zu erkennen und diese Wechsel in Radumdrehungen umzurechnen.
Um das Umzusetzen gibt es verschiedene Ansätze und viele Beispiele in C. In Bascom könntest du das als Startpunkt für deine probot-Odometry verwenden:
http://med.hro.nl/kemjt/Asuro/Asuro_Bascom.htm
(Link aus http://www.arexx.com/forum/viewtopic.php?f=9&t=468)
Zum Geradeausfahren reicht es allerdings nicht, nur die Raddrehung genau zu erfassen. Aber das wirst du selbst noch bemerken.
Weiterhin viel Spass und Erfolg.
Gruß
mic







Zitieren

Lesezeichen