-         
RSS-Feed anzeigen

witkatz

witkatz' erster: WR1

Bewerten
Das Chassis meines ersten autonomen Fahrzeugs nimmt laangsam Gestalt an. Es ist etwas Traktorähnlich geworden, oder? Vielleicht bringe ich ihm am ende Traktorgeräusche bei
http://www.roboternetz.de/community/album.php?albumid=102

Ich fange klein an, wie alles lenkbare begann: ein Fahrzeug mit einer Deichsel. Mein erster Roboter soll einfach sein, aber eben komplett Eigenbau:
  • Dreirad-Aufbau, ein angetriebenes Rad als Stützrad
  • Drehachse der frei drehbaren Deichsel ist seitlich, dadurch klappt die Deichsel mechanisch auf bei Fahrtrichtungsumkehr. Das Fahrzeug kann nur vorwärts/gerade aus und rückwärts/links fahren, dadurch ist keine aktive Lenkung notwendig.
  • zunächst mal soll nur ein Sensor vorne eine Kollision erkennen, dann fährt WR1 Stückchen rückwärts links und dann wieder vorwärts geradeaus
  • Der Motorstrom soll gemessen werden, vlt. kann damit ein Festfahren detektiert werden
  • Der WR1 soll sich akustisch melden, wenn er alleine nicht mehr weiter kommt (oder wenn's ihm langweilig wird

Die Steuerung soll ein kleines PIC übernehmen, vlt. PIC12F675, programmiert in Assembler. Die Planung des Roboters läuft immer nur ein Stückchen vor der Realisierung, also weiß ich nicht was daraus entsteht. Als nächstes kommt der Motor und Getriebe dran, aber dabei muss ich meine Präzision beim Bohren in Alu Blech noch gewaltig steigern. Ich hätte nicht gedacht, dass es so schwierig ist ein Loch im Blech auf <0.1mm genau zu plazieren.

"witkatz' erster: WR1" bei Twitter speichern "witkatz' erster: WR1" bei Facebook speichern "witkatz' erster: WR1" bei Mister Wong speichern "witkatz' erster: WR1" bei YiGG.de speichern "witkatz' erster: WR1" bei Google speichern "witkatz' erster: WR1" bei del.icio.us speichern "witkatz' erster: WR1" bei Webnews speichern "witkatz' erster: WR1" bei My Yahoo speichern

Aktualisiert: 24.07.2014 um 15:52 von witkatz

Stichworte: erster roboter, pic Stichworte bearbeiten
Kategorien
Fertige Projekte

Kommentare

  1. Avatar von RoboHolIC
    Hi, witzkatz.

    Ich habe hier ja schon einige Minimalismen gesehen, aber deine Idee, das Ausweich-Lenken im Rückwärtsgang automatisch machen zu lassen ist ja cool!

    Beim Genauigkeitsproblem stehst du sicher nicht alleine. Ich schlage vor, z.B. jedes zweite Zahnrad eines Getriebes auf einem beweglichen Blech mit Langlöchern oder Löchern mit reichlich Übermaß zu befestigen; dann kann zu beiden Nachbarn der Abstand angepasst werden. Keine schöne Lösung, ich weiß ...
  2. Avatar von witkatz
    Vielen Dank RoboHolIC für den Rat, du hast mich in die richtige Richtung geschubst, denke ich. Ich habe mir vorgenommen, ein Zahnradgetriebe selbst zu basteln und da komme ich wohl um Justierbarkeit nicht herum. Es gibt zum Getriebebau mit "hausmitteln" zum Glück sehr viele Tipps und super unterhaltsame Threads im Forum. Vor lauter Lesestoff komm ich kaum noch zum Basteln...
  3. Avatar von witkatz
    So! weiter gehts an dem Projekt. Mein erstes dreistufiges Selbstbaugetriebe ist quasi fertig. Jetzt muss ich noch den Motor dranflanschen und schon bewegt sich die Kiste, hoffentlich. Als nächstes ist dann die Elektronik dran.
  4. Avatar von witkatz
    So, Motor ist angeflanscht und der WR1 fährt gemütlich vor (gerade aus) und zurück (um die Kurve),
    allerdings noch im absoluten "Manuell-Service-Modus", also Kabel händisch kurzgeschlossen.
    WR1 wartet jetzt auf die Elektronik Die leere Platine ist schon drauf, vorne auf Gelenkbolzen montiert zum Ankippen für Batteriewechsel und Löterei

  5. Avatar von witkatz
    Der Motor wird mit zwei monostabilen Relais angesteuert.



    Hier der erste Fahrtest mit manueller Ansteuerung der Schalttransistoren. Der WR1 erreichte 11cm/s.
    [video gelöscht]
    Aktualisiert: 23.08.2016 um 14:24 von witkatz
  6. Avatar von witkatz
    Nun ist die Steuerung auch lauffähig. Der WR1 fährt selbstständig, erkennt Hindernisse, wendet und hupt. Was will man mehr vom ersten Roboter? Als Kollisionssensor dient eine Prallplatte auf aufgebogenen Büroklammern federnd montiert und mit Magnetband + Reed-Kontakt. Die Steuerung übernimmt ein PIC16F688, programmiert in Assembler.



    Hier ist das Schaltbild der Steuerung.

    Was noch fehlt, ist die Überwachung des Motorstroms, um Festfahren zu erkennen.
    Als nächstes habe ich vor mit IR Optoelektronik zu experimentieren und eine IR Reflexionslichtschranke zu bauen. Die kann ich am WR1 testen damit er die Hindernisse sieht, bevor er drauf fährt
    Aktualisiert: 22.08.2015 um 18:43 von witkatz
  7. Avatar von witkatz
    Ich habe dem WR1 eine Motor-Stromüberwachung verpasst. Damit wird jetzt zuverlässig Überlast und Blockade erkannt und der Motor abgeschaltet, bevor die Batterie leergelutscht ist. Über ein RC-Filter wird der Strom am Shunt über AN0 gemessen und überwacht.
    Code:
    ;=== Stromüberwachung ==========================================================
    IsenseMonitor
        btfsc ADCON0,GO             ; if (ADC ready)
        goto IsenseMonitor_e        ; {
        movlw 0x47                  ;   if (ADRESH < 0x46)  // I_Motor < 700mA
        subwf ADRESH, w             ;       // w=ADRESH-0x47
        skpnc                       ;       // C=ADRESH>=47
        goto IsenseMonitor_1        ;   {
        M_MOVLF I_Wacthdg, d'125'   ;       I_Wacthdg=125; // Reset Überstrom 0.5s Überwachungszeit
    IsenseMonitor_1                 ;   }
        bsf ADCON0,GO
    IsenseMonitor_e                 ; }
    Übersteigt der Strom 500ms lang den Grenzwert und die Software-Timer Variable zu Null dekrementiert, schaltet der PIC den Motor aus und der WR1 hupt 4-mal. Die Anzahl der Huptöne dient als Status bzw. Fehlermeldung und macht den Roboter lebendiger.
  8. Avatar von Searcher
    Hallo witkatz,,
    Klasse! Hab Deinen "Traktor" gerade erst entdeckt und mußte beim Anschauen der Videos einfach nur schmunzeln. So ausgefallene Konzepte gefallen mir einfach nur zu gut!

    Gruß
    Searcher
  9. Avatar von witkatz
    Danke Searcher, der Lob tut gut.
    Gut zu wissen, dass hier im Blog überhaupt mal jemand vorbei schaut

    Ich bin jetzt dabei, für den WR1 einen LowCost IR Distanzsensor für kollisionsfreie Hinderniserkennung zu entfrickeln. Die Schaltung habe ich auf dem Steckbrett bereits getestet, sie erkennt zuverlässig meine Hand als Hindernis.
    • Die Versorgungsspannung (2 Alkaline Zellen) schwankt zw. 3,3V und 2,5V bei Belastung.
    • Sendefrequenz (40kHz) und Abtastrate (50%) lassen sich einstellen und bleiben im Spannungsbereich der schwankenden Versorgung stabil. Für die Justierung ist ein DSO mit Frequenz und DutyCycle Anzeige nützlich.
    • Das Senden kann von der MCU freigegeben/gesperrt werden. Für meinen langsamen "Traktor" würden 1ms kurze Pulse mit 5-10Hz für die Hinderniserkennung langen


    21.05.
    Ein einfacherer IR-Distanzsensor mit dem Dual-Komparator-IC MCP6542 auf Steckbrett getestet:
    http://www.roboternetz.de/community/...5&d=1400662478
    Der einfache Komparator-Kippschwinger lässt die IR Sendedioden mit 7kHz pulsen. Die Photodioden werden von der zweiten hälfte des Dual-Komparators ausgewertet. Mit dem Trimmer lässt sich der Arbeitspunkt und die Empfindlichkeit einstellen.
    Aktualisiert: 21.05.2014 um 11:14 von witkatz
  10. Avatar von witkatz
    Die auf Dual-Komparator aufgebaute IR Reflexlichtschranke (Schaltbild) funktioniert ganz gut. Hier ein Action-Video mit Kollisionserkennung. Die niedrigen Hindernisse werden von der Prallplatte mit Reed-Kontakt erkannt. Die höheren Hindernisse erfasst die IR Lichtschranke. Die Lichtschranke ist verdrahtet auf PortC.RC5 und mit ein paar ms in der Software entprellt.


    Damit ist für mich mein erstes Roboter-Projektchen und damit auch dieser projektbegleitende Blog abgeschlossen.
  11. Avatar von Searcher
    Zitat Zitat von witkatz
    Damit ist für mich mein erstes Roboter-Projektchen und damit auch dieser projektbegleitende Blog abgeschlossen.
    War und ist interessant und ich bin auf den nächsten gespannt.
    Gruß
    Searcher