Worum es hier geht

Dieses Blog dokumentiert Fortschritte und Rückschläge der Entwicklung meines ersten Roboterprojektes. Ich habe dem Projekt den Namen vehikel[eins] gegeben - mit mehr oder weniger Hintersinn. Das Vehikel ist als fahrender Roboter konzipiert, der sich mittels einer Kamera visuell orientieren können soll. Die eigentliche Bildverarbeitung findet auf einem PC statt, der Roboter wird deshalb per Funk mit einem Computer in Verbindung stehen. Ich verkneife mir, allzu übermütige Pläne darüber zu schmieden, was im Detail mein Vehikel später visuell leisten können soll. Ich bin in erster Linie von der Idee eines Systems fasziniert, das mit Hilfe selbst gewonnener visueller Informationen in der realen Welt halbwegs sinnvoll agiert - mit der Welt interagiert. Alles noch etwas undurchsichtig? Ja... :)

Der aktuelle Stand

Ich habe das Projekt in drei Etappen aufgeteilt. Die erste Etappe bestand in der mechanischen Realisierung einer motorisierten Plattform für alle späteren Aufbauten. Diese Etappe wurde erfolgreich abgeschlossen. Daraus hervorgegangen ist ein dreirädriges Vehikel, dessen zwei Vorderräder unabhängig über ein Getriebe von jeweils einem Schrittmotor angetrieben werden. Das Hinterrad stellt sich passiv auf die aktuelle Bewegungsrichtung ein. In der zweiten Etappe des Projektes ging es darum, die Elektronik des Vehikels und der Basisstation zu entwickeln. Auch wenn ich noch an Details arbeite, ist diese Etappe in dem Sinne abgeschlossen, dass die gesteckten Ziele erreicht wurden. Der zentrale Mikrocontroller des Vehikels ist ein ATMEL AVR Mega32, die Firmware dafür entwickle ich mit der BASCOM IDE von MCS. Die Schrittmotoren werden durch eine Treiberelektronik auf Basis der Bausteine L297 und L298 angesteuert. Eine Funkverbindung zwischen Vehikel und PC wird mittels eines dazu entwickelten Interfaces hergestellt, das bidirektional mit dem PC über RS-232, mit dem Vehikel per Funk im 433 MHz Band kommuniziert. Die Funkstrecke wurde auf Grundlage der RFM12 Module von HopeRF realisiert. Vorne auf dem Vehikel ist eine mittels Servo bewegliche Funkkamera installiert. Die Kamera unterhält eine eigene Funkstrecke mit ihrem Empfängermodul, das mit PC-Interface und Netzteil die Basisstation bildet. Die am Vehikel befindliche Sensorik kann je nach konkretem Versuch variieren, zur Zeit ist vorne ein SRF05 Ultraschallmodul als Echolot installiert, an den Seiten vorne und hinten befinden sich Infrarot-Abstandssensoren. Die dritte Etappe ist diejenige, die für mich die unberechenbarste ist (aber deshalb auch besonders spannend), denn dabei steht die Implementierung eins visuellen Verhaltens im Mittelpunkt. Mittlerweile habe ich die ersten kleinen "Erfolge" in diesem Bereich zu verzeichnen.

Zum Aufbau dieser Seite


Unterhalb dieses Abschnittes sind die Tagebucheinträge chronologisch angeordnet, der aktuellste steht oben. Es werden nur die jeweils jüngsten acht Einträge auf dieser Seite angezeigt, ältere kann man an ihrem unteren Ende aufrufen. Man kann einen Eintrag kommentieren, in dem man auf "comments" unter dem entsprechenden Posting klickt.

Donnerstag, 7. Juni 2007

Schrittmotorsteuerung

Es ging nicht sonderlich gut voran, aber immerhin ist heute die Platine zur Ansteuerung der Schrittmotoren fertig geworden. Technisch gesehen ist die Schaltung "klassisch": ich verwende für die Motoren jeweils einen L297 und L298, die Beschaltung enspricht dabei im wesentlichen dem Vorschlag aus dem Datenblatt. Man hätte die Ansteuerung natürlich auch einfacher (und platzsparender) aufbauen können, diese Variante hat aber doch einge Vorteile. Die Motoren werden stromgesteuert betrieben, was sich positiv auf das Drehmoment auswirkt. Außerdem kann ich durch setzen von einzelnen Pins einfach die Richtung und Halb-/ Vollschrittbetrieb ändern. Auch das Auslösen eines Schrittes ist softwareseitig so über einen einzelnen Pin möglich. Das alles wird den Programmieraufwand für die Ansteuerung erheblich mindern.
Auf dieser Platine befindet neben den Motortreibern ein Spannungsregler, der den 5 V-Kreis für die Digitaltechnik speist. Da mein Akku nur 7,2 V liefert, habe ich einen L4940V5 verwendet, der hat eine Dropout-Spannung von max. 500 mV. Er liefert bis 1,5 A - was für die Elektronik (hoffentlich) genügen wird. Die Schrittmotoren hängen ohnehin direkt im 7,2 V-Kreis.
Wie man wohl nicht zuletzt an der etwas abenteuerlichen Anordnung der Stromsensor-Widerstände sieht, ging es mir darum, die Schaltung möglichst kompakt aufzubauen. Das machte das Verdrahten teilweise etwas anspruchsvoller, aber im Endeffekt ist es halbwegs gelungen.
Der Grund dafür, diese Platine von der (noch nicht vorhandenen) Hauptplatine zu trennen, ist, dass ich diese Baugruppe unter allen Umständen für dieses Chassis benötige, während ich den Rest variabel gestalten kann - evnt. werde ich die Hauptplatine auswechselbar machen, dann könnte ich unterschiedliche Projekte mit dem Chassis aufbauen.
Die Schnittstelle zur Hauptplatine fehlt im Moment noch. Ich weiss noch nicht genau, ob ich da ein Flachbandkabel verwende oder ein Stecksystem - mal sehen...

Keine Kommentare:

Malte Ahlers 2007-2008