Hallochen.
Bis neulich habe ich ja mit nem Arduinifizierten Spielzeugauto so bisschen rumgemacht.
Der wurde nun ausgemustert, da er den Anforderungen nicht genügte (zu klein, Antrieb schlecht steuerbar, da recht schwach, Lenkung närrisch gelöst usw.).
Da stand noch ein RC-Monstertruck rum, in 1:10, von Tamiya, so einer: http://www.tamiyausa.com/items/radio-control-kits-30/trucks-36500/rc-wild-dagger-58231
Deutlich grösser, wesentlich outdorfähiger, viel stärker&schneller, und eben: deutlich mehr Platz unter der Haube.
Natürlich ist sowas nicht mit nem Arduino Motorshield zu steuern, das macht nix, es ist ein richtiger RC-Car-Regler (Carson Truck irgendas) verbaut.
Und: ein anständiges Lenkservo.
Hauptvorteil: das Ungetüm kann auch recht langsam fahren (der Kleine brauchte mindestens Halbgas um sich gescheit zu bewegen, war somit für meine Bude schon kaum noch brauchbar), somit kann ich auch drinnen testen.
Kanten bis Bordsteinhöhe kann der Dagger überwinden, also für draussen dann auch zu gebrauchen.
Was solls werden: ein mehr oder weniger autonomes Roboterauto, was allerdings immer noch vernünftig aussieht, und nich nur wie ein fahrendes Experiment des verrückten Professors.
Auch das war ein Punkt, an dem der kleine Buggy nicht mehr meinen Ansprüchen genügte- hätte nicht mehr gut ausgesehn.
Weiter steht im Lastenheft, dass ich das Monster nicht verbasteln möchte- alles soll wieder zurückbaubar (spurlos, möglichst) sein, da ich das Ding zum einen auch so ganz gerne fahre, und zum anderen ist er eh nur eine weitere Vorstufe für nen richtigen Outdoorbot.
Ich will einfach so viel wie möglich testen damit:
-zuverlässige Hinderniserkennung auch draussen
- autonome Fahr-und Rangiermanöver (kann ja auch mal eng werden in der Wirklichkeit)
später dann auch selbständiges Navigieren, wahrscheinlich per GPS
Zudem möcht ich ihn auch nutzen, um später (da sitzen wir grad im Roboternetz so bissel dran) ein Bakensystem zu erproben, was sowol in-also auch outdoor fixe Punkte bietet, und sowohl als virtuelle Hundeleine als auch als "Zaun" zu gebrauchen ist.
Bisher verbaut sind:
-zwei HC-SR04 in der Front, leicht schräg angeordnet, die Erfassungsbereiche überlappen sich teilweise
-Arduino Uno (wird, aufgrund der doch etlichen nötigen Pins wahrscheinlich gegen nen Mega getauscht später)
-RC-Empfänger (somit kann ich das Ding ggf. auch aus der Ferne stoppen, vorerst will ich ihn damit fahren, aber er soll selbständig Hindernissen ausweichen)
-Fahrtregler (siehe oben)
-Lenkservo (Standardservo)
-ein I2C-LCD, das billige 16x2, weils sowieso rumliegt
-ein Minijoystick (nur für Tests drinnen, später kann der evtl benutzt werden, um verschiedene Modi auszuwählen oder weiss der Geier)
-ein StepDown-Wandler, der mir fein 5V aus den 7.2V des Akkus macht, zusätzlich mit nem Spannungsteiler um die Akkuspannung überwachen zu können. Der UNO jedoch wird direkt über den Akku versorgt, der Stepdown ist mehr oder weniger das "BEC"-und versorgt auch Stick, Display usw.
Wahrscheinlich werde ich noch weitere HC-SR04 hinzufügen, zweie an den Seiten (nur so sind beispielsweise Türen oder ähnliches gut zu erkennen, wenn man an ner Wand lang fährt) und einen hinten, um auch da eine Möglichkeit der Hinderniserkennung zu haben.
Vielleicht aber kommt hinten auch ein Sharp-IR-Sensor, schwenkbar mit nem Miniservo, dran->weiss ich noch nicht.
Verbaut ist bis auf die Sensoren alles auf ner Sperholzplatte, die im Ganzen abnehmbar ist. Die Sensorplatte ist einfach an der Stossdämpferplatte verschraubt-somit ist alles spurlos rückbaubar-ausser zwei zusätzlichen Kabeln (vom Akku zum StepdownModul) ist am Auo selber nichts verändert worden. Die Platte soll die Technik zumindest etwas gegen Dreck von unten schützen. Später gibts vielleicht noch ne bessere Lösung.
Was bisher läuft:
-Joystick wird ordentlich eingelesen (beide Achsen, analog, auf 20 Werte gemappt), auch der Button (digital)
-Lenkservo
-Fahrtregler vorwärts (dazu später noch was)
-die beiden Frontsensoren- mehr oder weniger gut
-Display (gibt momentan nur die Akkuspannung aus)
-RC-Empfang so bisschen (ich vermute, der ollige empfänger hat nen Treffer, den tusch ich demnächst mal)
Probleme momentan:
-der Fahrtregler. Er ist eine Zicke.
Normalerweise arbeitet er so: beim Einschalten wartet er, bis der Sender auf Neutral steht. Das simuliere ich, indem ich ihm vom Ardunio einfach den passenden Wert über die Servo-Lib schicke.
Klappt.
Vorwärts arbeitet er wie ein normales Servo, auch das funktioniert.
Rückwärts ist tückisch, da er zudem ne Bremsfunktion (sogar proportional) hat:
Zieht man den Stick über den Neutralpunkt auf rückwärts, bremst das Ding ungefähr zwei Sekunden lang, und schaltet danach, proportional zur aktuellen Knüppelstellung, auf rückwärts um.
Idiotisch...
Das muss ich irgendwie per Software simulieren, mal gucken, wie.
-die HC-SR04: sie funktionieren (ich benutze derzeit die NewPing-Bibliothek), aber nicht so gut, wie sie es sollten.
Die Werte müssen noch ordentlich gefiltert werden. Problem dabei: es muss schnell gehen, ich hab zwar nie gemessen, wie schnell die Kiste ist, aber irgendwas zwischen 15 und 20 km/h werdens wohl sein.