32 Bit Einplatinencomputer steuert Modellfahrzeuge
Messungen zur Interfahrzeugkommunikation
Einleitung
Nach meiner Studienarbeit mit dem Thema Bootloader und embedded Linux Anpassungen für ein ARM9 basierendes Mikrocontrollerboard baue ich nun auf die in der Abteilung durchgeführten Arbeiten auf.
Das Ziel meiner Diplomarbeit ist es Messungen zur Interfahrzeugkommunikation durchzuführen. In der Abteilung OMI der Fakultät für Elektrotechnik an der Universität Ulm wurden schon Simulationen und auch Messungen mit realen Fahrzeugen durchgeführt. Mit Fahrzeugmodellen sollen reproduzierbare Messungen in realen Umgebungen durchgeführt werden die dann mit den Simulationen verglichen werden. Ziel ist es auf Messungen im Straßenverkehr weitgehend zu verzichten da diese nur schwer reproduzierbar sind und viel Zeitaufwand erfordern.
Modell
In der folgenden Abbildung kann man sehen wie die Mikrocontrollerplatine der Studienarbeit von mir auf dem Modellfahrzeug montiert wurde:
![[Bild des Modellautos]](pictures/2006/07/Modellauto-small.jpg)
Es handelt es sich hier schon um eine Version der Mikrocontrollerplatine die nun auch einen SD Kartenleser und einige Korrekturen enthält. Insbesondere verfügt diese Platine über 8 MiByte Flash-Speicher. Dadurch kann nun der Linuxkernel und das Rootfilesystem direkt im großen, umfangreichen Flash-Speicher untergebracht werden. Zusätzlich verbleiben ca. 3 MiByte freier Platz für Applikationen.
Um das Modell umherfahren zu lassen werden die beiden Modellservos (Lenkung und Fahrsteuerung) mit PWM-fähigen Ausgängen des Mikrocontrollers verbunden. Für AT91RM9200 Insider: Die Leitungen PA17 und PA19 werden in der Funktion als Peripherie B verwendet. PA17 steuert dann den Lenkservo, PA19 den Fahrservo.
Damit die Fahrwege reproduzierbar werden muß ein Sensor den zurückgelegten Weg erfassen. Da die Messungen im Gebäude durchgeführt werden sollen kann man hierzu kein GPS verwenden. Meine Idee ist es hierzu einen Sensor einer optischen Maus so umzubauen daß dieser zur Erfassung des zurückgelegten Weges und zur "Spurführung" geeignet ist. Dieser Sensor ist nun an der SPI Schnittstelle angeschlossen und wird dort direkt angesteuert.
Vorteil: Die Sensorik und Steuerung des Fahrzeuges ist so einfach, daß die Steuerung bequem von einem kleinen Programm "nebenbei" erledigt werden kann. Aufwendige Sensordatenverarbeitung ist nicht notwendig.
Im CF Steckplatz wird dann eine WLAN Karte eingesteckt mit der dann die Kommunikation mit anderen Fahrzeugen durchgeführt werden kann.
Durchgeführte Arbeiten
Im Rahmen der Diplomarbeit schon durchgeführte Arbeiten.
- Schreiben eines Gerätetreibers um Servoimpulse durch den AT91RM9200 Controller erzeugen zu lassen.
- Schreiben entsprechender Testprogramme um Lenkung und Fahrmotor des Modells zu steuern.
- Schreiben eines Programms um die Mausdaten von der Gerätedatei zu lesen und auszuwerten.
- Vermessung der originalen Mausoptik
- Löten eines Kabels um die Mikrocontrollerplatine und das Automodell mit dem Fahrakku zu verbinden.
- Verbindung der Modellbauservos mit dem Mikrocontrollerboard.
- Messungen an der Maus um die Schärfe einer veränderten Mausoptik zu bestimmen. Ich habe die Software von http://sprite.student.utwente.nl/~jeroen/projects/mouseeye/ mittlerweile sehr stark verändert um die Daten direkt auf dem ARM9 Board auslesen zu können.
- Schreiben einer Software die die X-/Y- Bewegungsdaten des ADNS-2610 auf dem ARM9 Board ausliest.
- Integration des Lesens der Sensordaten im Fahrzeugsteuerprogramm.
- Durchführung von Messungen während der Fahrt.
- Fertigstellen der schriftlichen Arbeit.
Die nächsten Bilder zeigen die Sensorplatine mit Optik und die Anordnung am Fahrzeugmodell. Die Sensorplatine wird einfach vorne, unterhalb des Schaumstoffes (sieht man oben in der Gesamtansicht) montiert.
![[Die Sensorplatine]](pictures/2006/08/sensor.jpg)
![[Die Linse]](pictures/2006/08/linse.jpg)
So sieht der Sensor den "Boden" wenn man über ein USAF Testchart fährt und ein Bild macht.
![[Bild wie es der ADNS 2610 Sensor sieht]](pictures/2006/08/sensor-image.png)