PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mal wieder ein Spielzeug autonomisiert



Rabenauge
29.01.2016, 20:01
Hallöle.
Vor hatte ich es schon lange mal, und inzwischen hatte ich alles beisammen, Zeit und Lust:

Das Auto gab es irgendwann im Dezember bei Netto- ich hab mich absichtlich für den Lamborghini entschieden, da ich ihn für am Umbau-tauglichsten hielt (naja- irgend nen Jeep oder so gab es auch, der gefiel mir aber nicht, Platz wäre da mehr gewesen), kam nen Zehner, und war eigentlich funkferngesteuert.

Umbauten: Lenkung auf Modellbauservo (wär evtl. gar nicht nötig gewesen, aber so kann ich eben auch stufenlos lenken);
Akku (statt 3 AA-Batterien) 7.4V LiPo (2s mit 800mAh);

Motortreiber ist ein Fertigmodul aus Ebay (ungefähr nen Fünfer) mit L298N, kann auch zwei Motoren ansteuern. Ich habe den riesigen Kühlkörper abgenommen und den eigentlichen Treiber dann flach montiert, nur so war der Brocken rein zu bekommen, der Baustein (es ist die rote grosse Platine im Heck) stellt ausserdem die 5V fürs Lenkservo zur Verfügung;

die Zusatzscheinwerfer in den Lüfter-Einlässen vorn sind IR-Sensoren, die zur Hinderniserkennung dienen. Das sind diese kleinem Fertigmodule von Ebay, bei denen ich Leuchtdiode und IR-Transistor ausgebaut und dann mit Kabeln wieder angeschlossen hab. Die Sensoreinheiten sitzen vorn unter der Haube (die beiden Streifen, nebeneinander). Funktionieren rein digital, und je nach Hindernis auf 15-20 cm noch ziemlich gut.
Dank Handykamera sieht man sie sogar leuchten- mit blossem Auge natürlich nicht!

Gesteuert wird alles von nem Arduino Pro Mini (5V-Version), der seine Betriebsspannung direkt aus dem Akku bezieht, und zudem die beiden IR-Sensoren mit versorgt.

Ausserdem ist ein Sensor verbaut (simpler Spannungsteiler), mit dem die Akkuspannung ausgelesen wird, um zum einen den LiPo gegen Tiefentladung zu schützen, aber auch, um bei weniger als 7V alles anzuhalten- dann nämlich funktionieren die Spannungsversorgungen nicht mehr richtig (die brauchen halt mindestens 7V um 5e zu machen).

Momentan dient die, auf dem Pro Mini verbaute LED als Display, beim starten blinkt sie entsprechend der Bordspannung 1-4x, wenn weniger als 7V da sind, flackert sie nur noch hektisch, und Servo und Motor werden abgeschalten.
Eventuell montiere ich aber irgendwann noch ein gaaaanz kleines Display, entweder im Heck in der Motorabdeckung oder aber nen noch viel kleineres als "Nummernschild"- wenn ich sowas auftreiben kann (meine E-Zigaretten haben solche, aber die schlacht ich deswegen nicht).

Besonders stolz bin ich, dass man ausser den vier "Augen" in der Front (die ich in die eh vorhandenen Luftgitteratrappen montiert habe), dem Auto _nichts_ ansieht. Selbst der original vorhandene Schalter ist geblieben- und in Funktion.
Gut- das Chassis ist ziemlich massiv umgebaut worden, von Unten merkt man es schon, aber wer guckt bei 5mm Bodenfreiheit schon drunter. ;)

Nen paar der LED's im Auto hab ich mit schwarzem Marker abgedunkelt, und unterm Dach ist schwarzes Papier eingebaut, wahrscheinlich muss ich davon noch mehr einbauen, denn auch die Sensoren haben jeder zwei LED's.

Der Akku ist mit dem normalen BEC-Stecker angeschlossen, und somit ausbaubar. Das Kabel, was man an der Seite sieht, ist das Balancer-Lade-Kabel. Das kann man seitlich unter der Karosserie vor ziehen, und den Akku so laden, ohne das Auto auseinander zu nehmen.

Wie es fährt?
Weiss ich noch nicht genau- recht schnell aber denn, normal fuhr es schon ca. 0.5m/s, und da wurd es mit maximal 4.5V betrieben. Jetzt bekommt der Motor 7.4V, also wird das schon recht flott werden.
Was solls-ist immerhin nen Sportwagen. :)

Nen kleines bissel Platz ist noch unter der Karosserie- ich möchte noch versuchen, ne Lichtschranke ins Getriebe zu bauen, um wenigstens bissel odometrieren zu können, und ggf. gibt es im Heck später auch noch nen IR-Sensor.
Und vielleicht bau ich noch nen Linienfolge-Sensor ein, ich denke, auch das geht noch.
Wollt ich eigentlich eine Maus-Kamera benutzen, aber das krieg ich nicht hin (zuviel Bodenabstand, und weiter runter bauen will ich die nicht, das Ding schafft so schon Teppichkanten gradeso).
Tja- und nen Display möchte ich gerne rein haben, das würde grad noch gehen, die kleinen OLED's sind ja sehr schön flach.
Vielleicht auch noch Beleuchtung-der Show wegen. Schicke Lampen wären ja da...

Und bessere Reifen (mal gucken, was die Slotcar-Leute so haben), die Dinger haben nen jämmerlichen Grip...

Aber erstmal will ich jetzt nen Fahrprogramm schreiben, bei dem Hindernissen ausgewichen wird.
Dabei kann ich auch testen, ob ich mit diesen Sensoren überhaupt Vollgas fahren kann, zwar hab ich auch den Lenkeinschlag deutlich vergrössert, aber mit dem elenden Grip und starrer Hinterachse erhoffe icvh mir soo viel nicht von.

Kostenpunkt der ganzen Geschichte: etwa 35€ bisher- nen guter Preis, wie ich finde.

oberallgeier
29.01.2016, 23:24
.. Das Auto .. war eigentlich funkferngesteuert .. Lenkung auf Modellbauservo .. Motortreiber .. IR-Sensoren, die zur Hinderniserkennung ..
.. recht schnell .. normal .. ca. 0.5m/s .. bessere Reifen .., die Dinger haben nen jämmerlichen Grip ..Klasse! Das Projekt freut mich, gut ausgewählt! Es freut noch mal/mehr, weil ich mit meinem WALL R ein ähnliches Projekt hinter mir habe - Z4, Chinading vom Kaufhof, eigene Platine mit nem m328/L293D mit beiden Kanälen für einen Antriebsmotor, Starrachse, Modellbauservolenkung, vier nicht-elastisch aufgehängten Räder, Hinderniserkennung Projekt wurde ab etwa 1,5 m/s nicht mehr weiter verfolgt.
Anm.: Durch abruptes Ableben meines Bildservers sind die Bilder erstmal futsch, nur noch auf meinem Rechner, aber ich versuche das wieder hochzuziehen.
Den jämmerlichen Grip hatte ich auch gehabt, noch dazu eine schwabbelige Lenkung insbes. weil die vier Räder nicht fluchteten - und natürlich die Starrachse, unkontrolliertes Driften war schon bei kleinen Geschwindigkeiten da. Meine Abhilfe waren Auflagen auf den Originalrädern (die einfachste Umbauvariante) aus Abschnitten von einem Fahrradschlauch und ein genaues Ausrichten der vier nicht-elastisch aufgehängten Räder. Die Reifenbeläge wurden aufgeweicht mit mikroskopischen Mengen von Feuerzeugbenzin (der verflüchtigt sich wieder nach Stunden/Tagen, dann verliert der Schlauch seine s..gute Bodenhaftung).

Mal der fahrbereite Aufbau mit Sensorik, Lenkservo (rechts), ohne Antriebsakkupack (ist im Dach eingebaut):

......https://www.roboternetz.de/community/attachment.php?attachmentid=31242&d=1454105649

Detail eines überarbeiteten Reifens mit neuem Fahrradgummi-Belag und anhaftenden Kellerboden-Partikeln *ggg*. Mit Karosserie, fahrbereit. Die IR-Sendedioden sind in kleinen Löchern oberhalb der IR-Receiver (viereckige Anhängsel unter der Karosse).

......https://www.roboternetz.de/community/attachment.php?attachmentid=31241&d=1454105622

Natürlich gibts ein Video dazu, siehe am Beginn des zugehörigen Threads (https://www.roboternetz.de/community/threads/40453-WALL-R-l%C3%A4uft-%28autonomes-Fahrzeug%29).

Rabenauge
30.01.2016, 00:33
Hehe- deiner hatte mich auch mit inspiriert...

Platzprobleme- ja, kenn ich. Ich hab zwei Wochen erstmal geschaut, überlegt, wie man könnte- und nun hab ich los gelegt, Vor zwei Tagen kam als erstes die Motorplatine (das grösste Teil) rein, dann der Akku drunter, und dann ergab sich alles irgendwie.
Den Motortreiber wollte ich erst auch selber bauen- bestimmt wärs kleiner gegangen, aber ich bin nicht sicher, ob ich es hin bekäme-und nun ist das Ding drin.
Und der Pro Mini-kleiner und billiger gehts wohl kaum. Kosten so um 1.80 in Chinesien....dafür bau ich nix selber. Von denen würd ich noch einen unter bekommen, wenn nötig. Wirds aber nicht sein, denn der ist längst noch nicht ausgelastet.

Ich will auf jeden Fall versuchen, noch ne Lichtschranke ins Getriebe zu bekommen, wie es beim NiboBee gemacht ist: ein oder zwei Löcher in eins der Zahnräder und gut. Drehrichtung muss ich nicht damit ermitteln, man weiss ja, wie rum man fährt- und so supergenau braucht das auch nicht werden. Hab noch paar alte Mäuse da- ich würde die Geschichte nämlich gerne mal selber bauen. Kann so schwer auch nicht sein.

Was die Reifen angeht: die Slotcars gibts auch in 1:24, und die dürften einigen Grip nötig haben. Die Kisten wiegen ja mal gar nix, und rennen wie die Teufel. An den jetztigen bastel ich nicht rum- das ist ne Gummi-Plastik-Mischung, wird wohl vergebliche Mühe sein. Im Notfall kann man noch Moosgummi-Reifen schnitzen, da das Ding für draussen eh nicht taugt, geht das auch.

Wie hattest du eigentlich deine Sensoren angeordnet?
Momentan hab ich nur die beiden in der Front- die schauen leicht schräg nach aussen. Damit werden Wände noch in ziemlich spitzem Winkel erkannt, ich hoffe, das reicht aus.

oberallgeier
30.01.2016, 00:56
.. Wie hattest du eigentlich deine Sensoren angeordnet? ..Zwei schräg nach vorne, wie Du das auch hast, sieht man am unteren Bild. Dazu einen nach quer-rechts - oben das lichtdichte Schutzrohr um die LED, unten der IR-Empfänger, beide sieht man in dem Fahrgestellbild. Der Quer-Sensor war da um den Abstand zur Wand zu messen. Je nach Geschwindigkeit wurde eine mehr oder weniger großer Abstand zur Wand eingehalten. Und wenn der Wandabstand - sowohl nach vorn als auch zur Seite - zu groß wurde, dann halt runter von "gib-Gummi" bis zu sehr geringer Geschwindigkeit und dazu von der Wand weglenken. Je näher desto lenk.

Viel ERfolg bei Deiner Realisierung ! ! und viel Spass beim Programmieren bzw. Auswerten der Sensoren.

Rabenauge
30.01.2016, 17:56
Die Sensoren werte ich enorm einfach aus: die liefern LOW bei freier Bahn und HIGH wenn sie nen Hindernis entdecken.
Einfacher gehts nich...
Natürlich: man kann damit unmöglich feststellen, wie weit entfernt ein Hindernis ist-wozu aber auch: isses da, muss sowieso gelenkt werden.
Das funktioniert seeeehr einfach (und beeindruckend gut): die Sensoren werden zyklisch (da derzeit nich viel zu tun ist, vermutlich im Millisekunden-Takt) abgefragt. Und jedes Mal, wenn einer der Sensoen ein Problem meldet, bekommt das Lenkservo das Kommando, voll gegen zu lenken.
So ist die Lenkung, bedingt durch die Trägheit des Servos, geradezu reflexartig: je länger sich das Hindernis vor dem Sensor befindet, umso stärker wird wirklich eingelenkt.
Melden beide Sensoren "freie Bahn", so wird die Lenkung wieder geradeaus gestellt.

Soweit funktioniert dfas auch- hab den Lamborghini nen paar Runden drehen lassen. Allerdings: die Reichweite der Sensoren ist entschieden zu niedrig, bzw. das Servo zu langsam (kann man jetzt nehmen wie man will), um auch nur annähernd Vollgas fahren zu können.
Nicht mal bei halber Geschwindigkeit (PWM-Wert 120 von 255) kann Hindernissen, die frontal kommen, ausgewichen werden, dazu ist das Auto viel zu schnell.
Ich hab zwar noch einige Servos hier, und könnte jetzt probieren, ob irgendeines davon schneller ist, aber ich glaub, ich versuche eher, die Reichweite der Sensoren mal etwas zu erhöhen.
Zwar verfüge ich nur über sehr rudimentäre Kenntnisse von Elektronik, aber ich gehe von aus, dass die Sensoren kurze Blitze senden, und zugleich schauen, ob was zurück kommt-gegenseitig stören sich die Dinger nämlich nicht!
Würde ich also zusätzliche IR-LED's anschliessen, sollte das mehr Reichweite bringen.

Das teste ich als nächstes- mit nem weiteren dieser Sensoren, an den ich ne zusätzliche IR-LED anschliesse (wär ja toll, wenn es soo einfach wäre).

oberallgeier
30.01.2016, 18:14
Die Sensoren werte ich enorm einfach aus: die liefern LOW bei freier Bahn und HIGH wenn sie nen Hindernis entdecken ..Ja, das ist wirklich einfach. Ich hatte eine gewisse Abstufung in meiner Entfernungs"schätzung" - zwischen wenigen cm und etwa 1m20. Das aber natürlich nur wenn die Umgebungsfarbe ausreichend IR reflektierte. Ich hatte auch schon weiße Wandfarbe (im Wohnzimmer - keine Ahnung was das für eine Marke war), die ist infrarotmässig schwarz; das ist sinnvolles Messen nicht wirklich möglich. Und bei mehr als 1-20 galt eben "gib Gummi", sobald die Entfernung geringer war, wurde das Tempo gedrosselt - und gleichzeitig gelenkt.

Mit den unterschiedlichen Entfernungen der Frontsensoren konnte ich natürlich das Tempo nicht nur runterbremsen wenns kritisch wurde, ist im Video gut zu sehen. Der Vorwärtssensor der die größere Entfernung meldete lenkte den Servo entsprechend zu seiner Seite. Und wenn der seitliche Abstand zu groß war, dann wurde eben nach rechts gelenkt . . .

Bin gespannt, wie Du das mit den IR-Blitzen hinbekommst. Viel Erfolg weiterhin.

Rabenauge
30.01.2016, 19:02
Hehe- weiss ist schwarz und umgedreht: ich hatte zum testen gestern nen Stück der normalen, braunen Wellpappe mit nem Edding geschwärzt- das schwarze reflektierte deutlich besser als das braun.

Das Experiment mit dem Sensor ist leider nicht geglückt- ich hab einfach ne zweite Diode parallel geschalten, und hatte nur noch etwa 2/3 der Reichweite. :(
Vermutlich reicht der Strom da einfach nicht aus. Aus dem Datenblatt des LM393 werd ich -mal wieder- nich so richtig schlau, ich weiss nicht, ob das Ding mehr Strom noch aushält.
Nun überlege ich, ob ich die zweite IR-Led mittels nem Treiber-Transistor ansteuern sollte, dessen Signal kann ich ja von der verbauten mit abzweigen. Müsste doch gehn, oder?

oberallgeier
30.01.2016, 19:30
.. zweite Diode parallel .. nur noch etwa 2/3 der Reichweite. .. die zweite IR-Led mittels nem Treiber-Transistor ansteuern ..Das mache ich immer so. Als Transistor nehme ich den BC337. Vom Controllerpin weg einen 1k Widerstand zur Transistorbasis, zwischen diesem und der Basis 10k nach GND. Emitter nach GND - parallel zum Widerstand 10k. An den Collektor habe ich z.B. zweimal zwei IR-LEDs parallel dran, jeder Zweig besteht aus Vorschaltwiderstand 22R und zwei in Reihe geschalteten IR-LEDs. Am WALL-R sind am Collektor drei LEDs parallel, jeweils mit einem 1k als Vorschaltwiderstand. Die LEDs dann an Vcc-5V. Ist sicher nicht optimal, aber es läuft (und man erkennt den Elektronik-Noob).

Rabenauge
30.01.2016, 20:33
Da muss ich noch mal ran- meine Bastelei eben hatte nix gebracht.

Aber ich hab noch bissel an der Software gefeilt, jetzt wird die Geschwindigkeit immer weiter runter gesetzt, je länger ein Hindernis detektiert wird. Natürlich nur bis zum Mindestwert, bei dem das Auto fast stehn bleiben würde.
Wenn beide Sensoren ein Hindernis melden, sogar ziemlich flott- verhindert zwar die Crashes (noch) nicht, aber immerhin fährt er nur noch _gegen_ die Wand- statt gleich durch.
Und bei seitlichen Hindernissen bleibt einfach mehr Zeit.
Immerhin was- wenn Wände in sehr spitzem Winkel kommen, klappt es schon ziemlich sicher- bei einem PWM-Wert von 120, also knapp der Hälfte dessen, was eigentlich geht.

Rabenauge
06.02.2016, 12:50
Hm, ich kriegs so nicht hin.
Die Reichweite der Sensoren bleibt mickerig, auch, wenn ich sie analog auslese-mehr als 20cm werden es nicht (vermutlich bin ich einfach zu doof).
Daher werd ich mir wohl mal ein paar _richtige_ IR-Empfänger (die von den Platinchen sind ja nur simple IR-Transistoren ohne irgendwas) besorgen.
Irgend wo hab ich auch so nen Ding- finds aber nicht.

In der Zwischenzeit experimentier ich mit Teilen ner alten Kugelmaus herum, ich will ja versuchen, die Lichtschranke davon ins Getriebe zu verpflanzen, als Tacho.

Rabenauge
26.03.2016, 16:03
Sodele.
Der Osterhase war schon da- und hat mir endlich ne Tüte voll TSOP 4838 gebracht.
Zwischen den Dingern und meinen vorherigen Versuchen liegen ja kleine Welten- ich hab eben mal eine IR-Diode mit nem 100er Widerstand, nen paar Strippen und einem der TSOP zusammen aufs Steckbrettel dekoriert, na Arduino daneben gelegt und ohne weitere Verrenkungen schon mal über 30cm Reichweite!
Da geht aber definitiv noch mehr- die IR-Diode ist die, die mir als erstes in die Finger kan (hab noch stärkere, glaub ich), und das Ganze ist sehr provisorisch aufgebaut. Ausserdem schaut sie momentan aus nem Röhrchen von nem cm Durchmesser, auch da kann man noch experimentieren.
Auch toll: das Ganze ist nicht ernsthaft grösser als vorher (der Sensor minimal), und ich brauch keinerlei Ansteuer-Platinchen, spare somit noch ordentlich Platz in der kleinen Karrete.
Hier ist klar: das Hauptproblem wird es sein, die Sensoren so zu justieren, dass sie einerseits nicht auf jeden Mist reagieren, andererseits aber auch alles Wichtige sicher erfassen.

Rabenauge
27.03.2016, 14:35
So- und es geht weiter:

Da man einige Einstellschrauben hat, kann man den Sensor ziemlich gut justieren. Da ist zum einen die Helligkeit der IR-Led, aber ganz tolle Ergebnisse erzielt man auch, indem man die Länge der Pulse verändert.
Laut Datenblatt sollen es mindestens 600µs sein, ich hab jetzt allerdings ungefähr das Doppelte eingestellt.
Bei 600µs gibts pausenlos Fehlmessungen.
Zusammen mit nem kleinen Filterchen (viermal nachgucken, und wenn zweimal "ja" glauben wirs auch) komme ich so auf ne Reichweite von nem halben Meter, ohne allzu viele Störungen zu haben.
Ich denke, damit kann man schon was anfangen, ganz so gross ist derr Wenderadius des kleinen Lamborghini auch wieder nicht.
Blöd nur: die LED darf sich nicht allzu nahe am Sensor befinden, dann müsste man die wahrscheinlich wirklich in nen Metallrohr stopfen.
Wie ich das verbauen soll weiss ich noch nicht, soll ja leidlich unauffällig bleiben.
Es bleibt spannend....