Entstörung Motoren

Nach langer langer Analyse des Quellcodes hat sich der Fehler, der dazu führte, dass der Roboter chaotisch in alle Richtungen fuhr, weil die IR-Sensoren immer auslösten, als Hardwareproblem herausgestellt!

Die neuen Getriebemotoren verursachten zusammen mit der neuen Ansteuerplatine so starke Störungen, dass alle IR-Sensoren bzw. die Platine wo alles zusammenläuft, "Fehlarlarme" also Hindernisse vor den Sensoren signalisierte. Aber das Roboter-Netz-Wiki schaffte einfache Abhilfe. Auf diesen zwei Fotos gut erkennbar, die 3 Kondensatoren und die Ferritkerne zum Entstören der Motoren:

Perfekt! Alle Störungen verschwunden! Und der Lötkolben gerade mal heiß war kam nuch eine Blinkdiode hinzu, die den Betrieb des Roboters signalisiert (aktiv):

 

Damit die Sensoren-Kabel und die bei der Kamera nicht mehr so sehr im Weg sind, kam noch etwas Spiralschlauch zum Einsatz – sehr praktisch:

 

Zum einfacheren Testen, der Abstandssensoren wurde dann noch das Arbeitszimmer kurzerhand in eine Teststrecke umfunktioniert:

 

Nun kann endlich an der Software wieder "geschraubt" werden!

[430 Aufrufe]

Montage Ultraschallsensor

In den letzten Tag wurde ein weiterer Sensor montiert. Dieses mal, der erste Ultraschallsensor.

 

 

Da der Roboter jetzt mit den neuen Motoren so schnell wurde, ist hier Handlungsbedarf, um Hindernisse früher zu erkennen. Also musste ein Sensor her, der weiter "in die Ferne" schaut. Hier wurde ein Ultraschall-Sensor gewählt (SRF05 von Devantech Ltd.). Für die Ansteuerung muss jetzt "nur noch" ein weiterer Thread programmiert werden, da es hier auf sehr kurze und vor allem exakte Timings ankommt.

[329 Aufrufe]

Neue Kamerahalterung, neue Getriebemotoren und Motoransteuerung

Neun Monate ist es her, dass sich hier was tat. Na ja, schwanger ist der Roboter zwar noch nicht, aber „neu geboren“ doch wohl. Aber der Reihe nach. Da sich die Gelegenheit ergab, wurde heute erst mal das Webdesign etwas aufgefrischt. Eine neue Rubrik ist dabei auch dazu gekommen: Screenshots. Hier ist sehr schön, der Werdegang des Programmes mit all seinen Irrungen und Wirrungen zu erkennen. Die augenfälligste Neuerung ist sicher leicht zu erkennen – die Entwicklung läuft mittlerweile vollständig unter Linux (mit KDevelop (und natürlich weiterhin mit dem Qt-Framework (Open Source Version)).

Für die Interessierten: Einem weiteren Einsatz unter Windows steht aber – dank Qt – weiterhin nichts im Weg. Mein besonderer Dank geht hier an Oliver Bock, ohne den dieser Schritt nicht möglich gewesen wäre. Er hat den Cypress CY7C63-Linux-Treiber vom 2.4er auf den aktuellen 2.6er Linux-Kernel portiert. Ohnehin hat er mich bei diversen Programmier- und Linux-Fragen in diesem Projekt hier großartig unterstützt.

Was geschah mit der Hardware? Nun, die Kamera hat eine etwas stabilere Halterung bekommen

und einen eigenen Anschluss an den Akku:

Auch der Video-Ausgang (s/w) ist schon mal zum Anschluss an das Laptop vorbereitet worden:

Bei einem Vergleich der zwar sehr kräftigen Schrittmotoren mit Getriebenmotoren aus dem Modellbaubereich sollte sich herausstellen, dass letzere bei ausreichend Kraft haben (bei 5000 U/Min bei 12V, 148:1 Untersetzung) und dabei der Roboter nun ungefähr 1,2 km/h schafft!

Siehe dazu auch ein aktuelles Video . Dieses war der erste Versuch mit den schnellen, neuen Motoren, darum kommt die „Kameraführung“ nicht wirklich hinterher. ;-) Und ein paar Sensoren mehr, braucht er wohl auch noch…

Somit sind also nun neue Getriebemotoren montiert,

die natürlich einer komplett neuen und anderen Ansteuerung bedurften. Also wurde die alte Platine demontiert,

und da es sich anbot, die neue Platine an eine sicherere Stelle als bisher zu montieren, wurde gleich alles an Kabeln entfernt und neu gemacht:

Und so sieht das ganze jetzt aus:

Die Platine zur Motoransteuerung ist übrigens ein Fertigmodul von robotikhardware.de , gemäß Roboternetz-Definition . Die USB-Platine ist von ak-modulbus . Hier sind die Sensoren mit den A/D-Wandlern jetzt modular steckbar gemacht worden. Die alte Platine entfiel damit komplett:

Wie an den Screenshots zu sehen ist, funktioniert das Ansteuern und Auslesen der CMUCAM nun auch einwandfrei. Die Auswertung der Bilder/Daten steht allerdings noch auf einem anderen Blatt…

[240 Aufrufe]

Neue Steck-Halterung für CMUCAM2

Lange keine Neuigkeiten mehr… Aber es ist dennoch etwas passiert: Der Logik-Teil wurde erfolgreich programmiert. Der Roboter weicht nun Hindernissen automatisch aus.

Die Überlegungen dazu waren erst gar nicht so leicht, im Ergebnis dann aber absolout logisch:

Wenn der Roboter dann mal endlich eine Zeit lang fährt, kommt der Kühlkörper der Motor-Ansteuerungselektronik schon ganz schön ins Schwitzen:

Und auch die Schrittmotoren arbeiten sich ordentlich warm – 6 kg Laptop sind eben "nicht ohne":

Was gibt es sonst noch so neues? Für die CMUCAM2 wurde eine Steck-Halterung entwickelt und die Kamera ebenfalls montiert.

Vorteil: Zu Transportzwecken kann die Kamera mit Halter so leicht abgenommen werden. In dieser Bildreihe ist die "Montage" der einzelnen Roboter-Bestandteile gut zu erkennen:

 

Zusätzlich wurde die Elektronik um einen NE555 erweitert, der so etwas wie einen Heartbeat abgibt:

Diesen prüft das (überarbeitete) Programm nun beim Start, so dass es nicht nur feststellt, ob die Schaltung überhaupt am USB-Port angeschlossen ist, sondern auch noch, ob der Roboter auch eingeschaltet ist (12 V-Akku Stromversorgung).

Als letztes gab es in der Zwischenzeit testweise einen ersten Wurf einer neuen Programmoberfläche (GUI), die auch aus der Ferne eine verbesserte Lesbarkeit ergeben soll – schließlich geht der Roboter so langsam in seiner Umgebung "auf Tour". Vielleicht wird die neue GUI auch optional einschaltbar sein. Mal sehen…

Es steht ohnehin ein komplettes Programm-Redesign an, da die derzeitige Motoransteuerung per Timer nicht sehr leistungsfähig ist. Soll heißen: Werden die Sensoren oft per Timer abgefragt (alle 20 ms) , kommt der Motor-Timer (jede ms) nicht mehr hinterher. Somit wird es in naher Zukunft wohl auf Multithreading hinauslaufen…

[0 Aufrufe]

Zwei weitere Infrarotsensoren

Der Bau geht weiter: Der Roboter hat zwei weitere IR-Sensoren auf der Rückseite bekommen.

 

Die Abfrage wurde im Programm auch gleich mit umgesetzt. Das Programm reagiert nun auf einstellbare Distanzen:

Die Programmlogik (Ausweichen bei Hindernissen ist in Arbeit und stellt nun die eigentliche Herausforderung dar…

[262 Aufrufe]

Neue Räder (Setup-Wheels)

Endlich: Der Umstieg zu Qt 4 ist zu 99% vollzogen. Bei der Gelegenheit wurden einige interne Funktionen des Programmes ebenfalls verbessert.

Hier ein  aktueller Screenshot:

Die gemessenen Werte der IR-Sensoren werden jetzt in echten cm angezeigt.

Hierzu wurden Referenzmessungen vorgenommen – die angezeigten Ergebnisse im Programm sind auf den cm genau.

Die Abfrage der Sensoren ist vollständig in das Programm integriert, die Anzeige der Geschwindigkeit der Motoren, der Abfrage der Sensoren, sowie der Reaktionswert, ab wann ein Hindernis gemeldet werden soll, wurden ebenfalls erfolgreich implementiert. Im nächsten Schritt gilt es, eine Aktion wie ein Wendemanöver bei Hindernissen zu entwickeln.

Leider erwies sich die bisherige Reifenkonstruktion bei längeren Fahrten des Roboters teilweise als zu instabil und löste sich geringfügig bzw. wackelte dann,

so dass der Roboter nicht mehr korrekt geradeaus fuhr. Darum wurden neue Räder montiert. Es handelt sich hier um sogenannte "Setup-Wheels", die mithilfe von Propellernaben (beides von Conrad) befestigt wurde.

        

Dieser hervorragende Tipp kam, wie so oft, aus dem Forum RoboterNetz.

Im nächsten Schritt werden zwei weitere IR-Sensoren auf der Rückseite montiert. Die Elektronik ist bereits dafür ausgelegt…

[347 Aufrufe]

Wechsel auf USB-Technologie

Es geht voran:

Nach wochenlangen Problemen, die Abfrage der IR-Sensoren oder genauer, des AD-Wandlers (TLC 549 CP), hinzubekommen, wurde jetzt erfolgreich auf den USB-Port umgestiegen. War auch nicht gerade einfach: Bei einem ersten Versuch mit dem IO-Warrior, kam heraus, dass dieser sich offensichtlich nicht wie gewünscht verhält und seltsame Signale statt einem korrekten HIGH produzierte.

Der zweite Versuch mit dem Chip CY7C63001A von AKModulbus™, sah das ganze dann schon besser aus. Die Abfrage funktioniert, der zweite IR-Sensor wurde montiert, 2 weitere Sensoren sind bestellt.

Parallel wird der Umstieg von der Entwicklungsumgebung Borland C++-Builder 6™ nach Qt erfolgen… Bei der Gelegenheit wurde die Software vom Namen des Roboters mrs (Mobile Robot 1) nach MRS (Mobile Robot Software) umbenannt und bei Sourceforge als Projekt registriert. Aber dazu später mehr…

[328 Aufrufe]

Erster Abstandssensor, Montage Webcam

Heute wieder sieben neue Fotos:

– Das MRS hat seinen ersten Abstandssensor bekommen (auf diesem Bild gut im Detail zu sehen).
– Für spätere Anwendungen ist eine Webcam installiert worden.
– Und ab hier sieht man das ganze noch einmal komplett bestückt in Serie.

Ein Ein-Aus-Schalter wurde übrigens ebenfalls vorne links eingebaut und die Verkabelung wurde mit Kabelbindern befestigt, anstatt der vorigen roten Klettbänder.

[241 Aufrufe]

Neue Modellbauräder, Änderung Fahrtrichtung

Die ersten beiden Videos (DivX) wurden hinzugefügt:

Das erste zeigt den alten Antrieb mit Zahnrädern und Inliner-Rädern – sehr ungenau, mit durchdrehenden Rädern
Das zweite die aktuelle Version, mit Rädern aus dem Modellbau, direkt auf die Motorwelle geschraubt. Die Fahrtrichtung wurde geändert: Der Akku ist wegen des hohen Gewichts auf der Seite der Motoren, so dass die Reifen einen guten Grip haben. Das Laptop zeigt demnach auch in die entgegengesetzte Richtung. Siehe dazu auch die Fotos von heute im Foto-Bereich!

[243 Aufrufe]

Los geht’s!

Auf dieser Seite möchte ich den jeweils aktuellen Stand meines Roboterbaus darstellen und dokumentieren.

Im Menü links können jeweils aktuelle Fotos abgerufen werden. Videos folgen noch… Es ist wohl selbsterklärend… ;-)

Ansonsten:
Viel Spaß beim Stöbern und ich freue mich über jede Anregung, Kritik, oder Kommentare per Mail.

[206 Aufrufe]