-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Tamiya Linienfolger entsteht...

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1

    Tamiya Linienfolger entsteht...

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Nachdem ich einiges im Web gesehen hatte, wie man mit Tamiya Baugruppen auch Roberter bauen kann, habe ich mich auch dazu entschlossen.
    Durch die Tatsache nur Online kaufen zu können, weil nächster Händler fast 100km weiter ist, ist es natürlich auch um einiges schwieriger ,gleich das Passende zu finden, bzw. noch Fehlendes nachzukaufen.

    Verwenden tue ich eine Grundplatte, Kettenantrieb und Doppelgetriebebox von Tamiya. Der SteuerComputer ist ein Arduino Pro Mini (5v/16Mhz), die Motoren werden von einem Pololu MiniMotortreiber gesteuert. Ein Selbstbau Liniensensor und 4 Taster an der Roboterfront, sorgen für die Steuerung der Fahrtrichtungs- bzw. Kollosionserkennung.

    Hier einige Fotos von meinem Baugeschehen (wird lfd erneuert)

    Für verbessernde Hinweise bin ich Euch allen dankbar.

    Der Arduino-Code wird demnächst vorgestellt

    Gerhard

    Arduino-Code ( Entwurf, unfertig)
    Code:
    /* ========================================================================== */
    /*                                                                            */
    /*       Linienfolger mit Arduino Pro Mini und Tamiya Chassis & Antrieb       */
    /*                                                                            */
    /* ========================================================================== */
    /*                                                                            */
    /*   tamiya_lf.c                                                              */
    /*   (c) 2013 Gerhard Hinze                                                   */
    /*                                                                            */
    /*   Beschreibung:                                                            */
    /*   Tamiya Chassis und Ketten Antrieb als Lininienfolger                     */
    /*   (auch als Radmodell verwendbar )                                         */  
    /*                                                                            */
    /* ========================================================================== */
    /*   verwendetete Tamiya Baugruppen :                                         */ 
    /* ========================================================================== */ 
    /*                                                                            */
    /*   1x Double Gear-Box             ITEM 70168                                */
    /*   1x Universal-Plate Set         ITEM 70098                                */
    /*   1x Universal-Plate Set         ITEM 70157 *)                             */
    /*   1x TRUCK and Wheel Set         ITEM 70100                                */
    /*   1x Truck Tire Set              ITEM 70101 *)                             */
    /*                                                                            */
    /* ========================================================================== */
    /*                                                                            */
    /*   Pololu Ball Caster 3/8" m. Kunststoffkugel *)                            */
    /*                                                                            */
    /*   *) je nach Bedarf (als Radmodell, andere Erweiterungen usw..)            */
    /* ========================================================================== */
    /*                                                                            */
    /*   Elektrische Komponenten:                                                 */
    /* ========================================================================== */
    /*   Arduino Pro Mini 5V/16-MHz                                               */
    /*   FETB6612 Miniatur - Motortreiber von  robotikhardware.de                 */
    /*   2 x TCRT5000 Optosensor (Linienfolger) Eigenbaumodul                     */
    /*   1 Batteriehalter für 3xAA 1,5V  als Motorspannung                        */
    /*   Batterieblock 9V mit Anschluss Clip, (f.Elektronikspannung)              */
    /*   Baustein mit LS7805, als 5V Regelung U-Betr. für Elektronik, Eigenbau    */ 
    /*                                                                            */
    /* ========================================================================== */
    /*                                                                            */
    /*  Beschreibungen unter http://robot.oderlachs.de                            */
    /*                                                                            */
    /* ========================================================================== */
    /*                                                                            */
    /* #include usw...                                                            */
    /*                                                                            */
    /* ========================================================================== */
    /*                                                                            */
    /* Bezeichnung     Pin Arduino   Erklaerung zur Bezeichnung                   */
    /*                                                                            */
    /* ========================================================================== */
    #define M1_SPEED      5     // Motor left  Speed
    #define M2_SPEED      6     // Motor right Speed
    #define AIN_1         4     // Motordirektion 1_1
    #define AIN_2         7     // Motordirektion 1_2
    #define BIN_1         8     // Motordirektion 2_1
    #define BIN_2         9     // Motordirektion 2_2
    #define STANDBY       10    // Motordriver Standby(ON))  = LOW
    #define IRS_LEFT      14    // IR Linien Sensor left, analog Eingang A0
    #define IRS_RIGHT     15    // IR Linien Sensor right, analog Eingang A1
    #define LED_1         12    // IRS left = LOW 
    #define LED_2         13    // IRS right = LOW
    #define BUMP_L        16    // Frontkollosion left
    #define BUMP_R        17    // Frontkollosion right
    #define INT_0         2     // External Interrupt 0
    #define INT_1         3     // External Interrupt 1
    /* ========================================================================== */
    /*     Änderungen bei Verwendung der L298 Dual Bridge  ( Bodo )               */
    /* ========================================================================== */
    /*  #define STANDBY      10   Motordriver Standby entfällt, also "//" davor   */
    /*                                                                            */
    /*  alle Codezeilen mit STANDBY im Programm-CODE sind zu löschen!             */
    /*                                                                            */
    /* ========================================================================== */
    /*  die 4 oberen #define  ( AIN_1..., AIN_2, BIN_1, BIN_2 )                   */
    /*  sind hiermit zu ersetzen :                                                */
    /*                                                                            */
    /*  #define IN_1         4     // Motordirektion 1_1                          */
    /*  #define IN_2         7     // Motordirektion 1_2                          */
    /*  #define IN_3         8     // Motordirektion 2_1                          */
    /*  #define IN_4         9     // Motordirektion 2_2                          */
    /*                                                                            */
    /*  #define EN_A         5     // vorher M1_SPEED  Motor left  Speed          */
    /*  #define EN_B         6     // vorher M2_SPEED  Motor right Speed          */
    /*                                                                            */
    /*  Die nun anderen #define-Variablennamen sind im Code                       */
    /*  dementsprechend zu aendern, Suchen/Ersetzen funktion verwenden            */
    /*                                                                            */
    /* ========================================================================== */
    /*          Werte der Variablen voreinstellen  im Hex-Format                  */
    /* ========================================================================== */
    #define SPEED_NULL    0x00  // Speed Wert NULL
    #define SPEED_MAX     0xFF  // Speed Wert Maximum
    #define SPEED_HALF    0x80  // Speed Wert halbeKraft
    #define SPEED_KURV    0xC8  // Speed Wert für Kurvenfahrt (opt. Wert ermitteln)
    #define IRS_OFFSET    0x00  // optm. Wert ermitteln, Speed = Speed - IRS_OFFSET
    /* ========================================================================== */
    /* IRS_OFFSETT :                                                              */
    /* Befinden sich beide Sensoren über den schwarzen Streifen, sind             */
    /* beide IRS Ausgänge auf HIGH, schaltet einer der Sensoren auf LOW, d.h. Ab- */
    /* weichung von der Mitte, wird jeweils der Motorspeed der anderen Seite um   */
    /* den IRS_OFFSETT Wert vermindert. Experimentell zu ermitteln 0x00...0x80    */
    /*                                                                            */
    /* ========================================================================== */
    
    void setup()
    //
    {
    pinMode(M1_SPEED,OUTPUT);
    pinMode(M2_SPEED,OUTPUT);
    pinMode(AIN_1,OUTPUT);
    pinMode(AIN_2,OUTPUT);
    pinMode(BIN_1,OUTPUT);
    pinMode(BIN_2,OUTPUT);
    pinMode(LED_1,OUTPUT);
    pinMode(LED_2,OUTPUT);
    pinMode(STANDBY,OUTPUT);
    pinMode(IRS_LEFT,INPUT);
    pinMode(IRS_RIGHT,INPUT);
    pinMode(BUMP_L,INPUT);
    pinMode(BUMP_R,INPUT);
    digitalWrite(STANDBY,HIGH);
    }
    
    void m1_forw()                // Motor 1 (left) forward
    {
    digitalWrite(AIN_1, LOW);
    digitalWrite(AIN_2, HIGH);
    }
    
    void m1_rew()                 // Motor 1 (left) reverse
    {
    digitalWrite(AIN_1, HIGH);
    digitalWrite(AIN_2, LOW);
    digitalWrite(STANDBY, HIGH);
    }
    
    void m2_forw()                // Motor 2 (right) forward
    {
    digitalWrite(BIN_1, LOW);
    digitalWrite(BIN_2, HIGH);
    digitalWrite(STANDBY, HIGH);
    }
    
    void m2_rew()                 // Motor 2 (right) reverse
    {
    digitalWrite(BIN_1, HIGH);
    digitalWrite(BIN_2, LOW);
    digitalWrite(STANDBY, HIGH);
    }
    
    void stopp()                  // Motor 1 + 2  stopp
    {
    digitalWrite(STANDBY, LOW);
    analogWrite(M1_SPEED, 0x00);
    analogWrite(M2_SPEED, 0x00);
    }
    
    void speed(int m1, int m2)    // Speed Motor 1 und 2
    {
    analogWrite(M1_SPEED, m1);
    analogWrite(M2_SPEED, m2);
    }
    
    void coll_l()                 // Collosion left
    {
    stopp();
    delay(500);
    m2_rew();
    speed(0,SPEED_KURV);
    delay(500);
    stopp();
    }
    
    void coll_r()                 // Collosion right
    {
    stopp();
    delay(500);
    m1_rew();
    speed(SPEED_KURV,0);
    delay(500);
    stopp();
    }
    
    void coll_c()                 // Collosion center
    {
    stopp();
    delay(500);
    m1_rew();
    m2_rew();
    speed(SPEED_HALF,SPEED_HALF);
    delay(500);
    stopp();
    }
    void brake_l()                // Bremse left 
    {
      ;
    }
    
    void brake_r()                // Bremse right
    {
      ;
    }
    
    void loop()
    // Ab hier wird "gearbeitet ;)"
    {
      m1_forw();                   // Motor1(links) vorwärtz
      m2_forw();                   // Motor2(rechts) vorwärtz
     digitalWrite(STANDBY, HIGH);  // Motortreiber aus denm Standby aufwecken
      speed(SPEED_MAX,SPEED_MAX);  // Beide Motoren mit 255 ansteuern: 0xFF
    }
    Geändert von oderlachs (31.03.2013 um 11:55 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Hallo
    Sieht ja schon ganz gut aus

    Was sind denn das für Sensoren, die du für das Erkennen der Linie verwendest?

    grüße

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Zitat Zitat von robo_tom_24 Beitrag anzeigen
    Hallo
    Sieht ja schon ganz gut aus

    Was sind denn das für Sensoren, die du für das Erkennen der Linie verwendest?

    grüße
    Danke für die "Blumen"

    Zu den Sensoren, ich habe diese hier verwendet : 2 x TCRT5000 Optosensor
    Beispiel dazu HIER

    Zur allgemeinen Info die Bauteile/Module sind alle im Listing(Code) erwähnt...

    Gerhard
    Geändert von oderlachs (31.03.2013 um 12:24 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Alle Achtung, sieht ja sauber aus. Mein Glückwunsch!

    Gibts zum Fahrgestell Angaben? Lieferant, gibts die Ketten-Antriebsräder separat - ohne Getriebe? Sind die Ketten fixlang oder Meterware . . . Woher beziehst Du den TCRT5000 ? Welche Entfernung schafft der? Damit würde ich ja gern mal spielen - und ich zahle NIE PayPal *ggg*.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Danke Josef, für die Anerkennung .
    Dies ist auch der erste Robot den ich ganz und gar selber zusammenbaue, wenn auch aus viel Handelsüblichem , aber das liegt in meiner Krankheit mit Augen bzw. Gelenke begründet.
    Im Quellcode ist eigendlich alles beschrieben:

    /* Beschreibung: */
    /* Tamiya Chassis und Ketten Antrieb als Lininienfolger */
    /* (auch als Radmodell verwendbar ) */
    /* */
    /* ================================================== ======================== */
    /* verwendetete Tamiya Baugruppen : */
    /* ================================================== ======================== */
    /* */
    /* 1x Double Gear-Box ITEM 70168 */
    /* 1x Universal-Plate Set ITEM 70098 */
    /* 1x Universal-Plate Set ITEM 70157 *) */
    /* 1x TRUCK and Wheel Set ITEM 70100 */
    /* 1x Truck Tire Set ITEM 70101 *) */
    /* */
    /* ================================================== ======================== */
    /* */
    /* Pololu Ball Caster 3/8" m. Kunststoffkugel *) */
    /* */
    /* *) je nach Bedarf (als Radmodell, andere Erweiterungen usw..) */
    /* ================================================== ========================*/
    /*


    Es ist als Ketten- oder Radmodell ausgelegt, darum versch. Teilevarianten oben zu lesen


    Gekauft habe ich bei Watterott, Lipoly und Ebay(TCRT5000). Ich habe den Code eigendlich für einen Freund zum Erlernen geschrieben,
    daher auch die viele Dokumentation da drinnen. Wir bauen dann ähnliche Projekte auf, damit ich beibei Ihm auftretende Fehlern ,
    in Sachen Software/Elektronik helfen kann. Das nächste Projekt ist ein Rover 5(4WD) , danach folgt ein HEXABot,
    wo ich wieder auf seine "CNC-Fräskunst" angewiesen bin. So kann man sich doch gut untereinander helfen.

    So nun gibt es Oster(-Schnee)kaffee...

    Gruss Gerhard

    PS. Gebe Tamiya + obige Item Nr. bei Google ein dann findest Du alles dazu ....
    Geändert von oderlachs (31.03.2013 um 15:26 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    ... Gekauft habe ich bei Watterott ... Tamiya + obige Item Nr. bei Google ein dann findest Du alles dazu ...
    Danke. Watterott und Tamiya - wenn ich das lese, schau ich gleich bei Pololu nach. Da steht fast alles. Nur Abmessungen nicht. Die habe ich aus den Bildern rausgemessen.
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    @JoeamBerg : Sag wenn Du Details benötigst, messen kann ich noch..das sehen meine beiden "Hühneraugen" noch..
    Manchmal ist es "furchtsam" mit den Daten der Abmessungen usw. in den Datenblättern.

    Gerhard

    Zur Beachtung: in der LtrPl.-Zeichnung auf meiner Webseite, ist der 5V Regler falsch eingezeichnet. Er muss mit den Anschlüssen um 180° gedreht werden. Das hatte ich übersehen, nur falls sich da wer dran "stossen" sollte.
    Geändert von oderlachs (31.03.2013 um 18:18 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    39
    Beiträge
    1.356
    Hallo Gerhard,

    das sieht doch klasse aus was Du da gebaut hast.
    Nur weiter so *alle Daumen hoch mach*

    Dir auch noch Frohe Ostern.
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Danke für die Anerkennung HeXPlorer !
    ja ich habe aber bei nochmaliger Betrachtung einen Fehler in der Leiterzeichnung festgestellt, C2 geht mit + an die Dr1, so ist es richtig, er soll nochmals die Spannung vor dem Motortreiber glätten/sieben, kann sein das ich die µF"ahrräder" mit ein paar Picos oder Nanos noch brücke...weil ein wenig viel HF bei mir noch umherschwirren kann, mal sehen was die Praxis zeigt(CB-Funk, PMR-Funk).
    Auch hatte ich heute einen "schlechten Blick", habe alle Kollosionstaster verkehrt eingelötet, nun ja waren auch nicht die die eigendlich da rein sollten, muss ich noch umlöten. Das mache ich morgen in Ruhe, heute war ein wenig Wirbel um uns , alle Ostereier aus dem Schnee graben
    Meine bilderfolge im Web werde ich so gut es geht aktualisieren, wenn was neues kommt, werde auch Kommentare zu den Fotos noch einstellen.

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  10. #10
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Ok danke, ich sollt halt vorher lesen

    grüße

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Eigenschaften des Tamiya 70097 bzw Tamiya 70168
    Von chop.suey94 im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 12.04.2012, 17:10
  2. Tamiya Kettensatz gesucht!
    Von bnitram im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 4
    Letzter Beitrag: 05.01.2011, 15:28
  3. Tamiya TSU-02 Servo hacken
    Von sfreak im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 27.08.2008, 09:42
  4. Tamiya Doppelmotorset Achsendurchmesser
    Von waldwichtel im Forum Motoren
    Antworten: 6
    Letzter Beitrag: 11.09.2006, 21:45
  5. Was ist das und wie entsteht es?
    Von sonic im Forum Kopfnüsse / Wissensquiz
    Antworten: 8
    Letzter Beitrag: 24.10.2004, 20:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •