• HOME
  • SHOP
    • Bausätze:
    • Flatboy 3D-Drucker
    • V-Slot Profile:
    • V-Slot Profile
      Platten, Rollen

    • Schrauben:
    • Schrauben
      Muttern

    • CNC Zubehör:
    • Pulleys, Riemen
      Umlenkrollen, Spindel

    • Elektronik:
    • RAMPS & CNC
    • TMC2130 & DRV8825
    • Nema 17
    • LCD Display
  • PROJEKTE
    • DIY 3D-DRUCKER
    • DIY VSLOT CNC
    • DIY LASERCUTTER
    • CORE XY FLATBOY
    • CUTTER ENGRAVER
    • DIY CICLOP
    • DER PONG TISCH
    • DER MAL-BOT, PLOTTER
    • XXL WANDKALENDER
    • REFLOW-OFEN
    • BINÄR UHR
    • POLARGRAPH PLOTTER
    • BT2CNC
    • DUAL PARK EXTRUDER

    • IOT: PET-MONITORING
  • DIY 3D DRUCKER
    • CORE XY 3D-DRUCKER
    • CREALITY ENDER-3
    • CORE XY FLATBOY
    • HOTEND
    • TOOLKETTE
    • KALIBRIERUNG
    • FIRMWARE KONFIG
    • EXTRUDER
    • ANTRIEB
    • FILAMENT ÜBERSICHT
  • SERVICE & PROTOTYPING
    • SERVICE/ENTWICKLUNGS KONTAKT
  • TIPPS & TRICKS
    • ANTI OOZE
    • STEPPER TRIM
    • HEATBED TRIM
    • AUTOBED LVL
    • ANTI WARPING
  • KONTAKT & IMPRESSUM
    • KONTAKT
    • IMPRESSUM
    • WIDERRUFSRECHT


PROJEKTE

  • DIY 3D-DRUCKER
  • DIY 3D-DRUCKER FLATBOY
  • **NEU**DIY BIG VSLOT CNC
  • DIY LASERCUTTER
  • ENDER-3 UPDATES
  • MAL/PLOTTER BOT
  • POLARGRAPH PLOTTER
  • XL WANDPLOTTER
  • REFLOW OFEN
  • BLUETOOTH ZU CNC SHIELD
  • 2-RAD ROBOTER
  • ARDUINO PONG TISCH
  • DIY SCANNER: CICLOP
  • PRUSA I3 GEHÄUSE
  • DUAL PARKING EXTRUDER
  • BINÄR UHR SHIELD
  • IOT: PET-MONITORING





  • AUTOBED LEVELING
  • ANTI OOZING STRATEGIE
  • SCHRITTMOTOR TREIBER EINSTELLEN
  • SUPPORT-MATERIAL
  • HEIZBETT TRIMMEN
  • WARPING VERHINDERN

Home > Mein 2-Rad Roboter

Roboter mit dem 2-Rad Chassis.

Bilder und Videos - Komponentenliste/Elektronik - Software - STL Modelle - Kommentare

Kurzbeschreibung und Eigenschaften - Abstract and features

Um im Haushalt diverse Steuerungs- und Regelungsaufgaben erfüllen zu können, kommt man zwangsläufig nicht um einen fahrbaren Roboter herum.
Ein beliebter Bausatz ist dabei das 2-Rad Chassis, dass mit zwei DC-Motoren, zwei Rädern und einem Stützrad und Batteriehalter (4 x Mignon) als DIY Bausatz bestellt werden kann.
Nimmt man diesen Bausatz als Basis und addiert noch zusätzlichen Sensoren kann schnell ein sich selbst steuernder "Roboter" aufgebaut werden.
Als Elektronik kann dabei das Arduino UNO und Adafruit Motor Shield verwendet werden. Das Adafruit Shield basiert auf dem H-Brücken Treiber L293D und kann bis zu vier DC Motoren oder zwei Schrittmotoren und zusätzlich zwei Servos ansteuern. 6 Analogeingänge als Pinnreihe auf dem Shield sorgen für notwendigen Sensorschnittstellen.
Das Projekt wird in drei Aufbauschritte geteilt:

  • 1. Schritt: Aufbau des Chassis mit UNO und Shield plus Ultraschall-Sensor für eine Distanzmessung. Mit Bluetooth Anbindung an das Smartphone. Fertig!
  • 2. Schritt: Erweiterung mit optischen Encodern der Motoren, um eine Positionsmessung und genaue Drehung möglich zu machen. Fertig, Firmware folgt!
  • 3. Schritt: Weitere Erweiterung mit Aktuatorik um Aufgaben umsetzen zu können. (z.B. Elektromagneten oder Servos)
  • Gesamtkosten: < 40 Euro.

Aufbau Schritt 1:

Bilder und Videos - Figures and videos

2-Rad Chassis mit UNO und Shield und Ultraschall-Sensor
Ultraschall-Sensor HC-SR04
Aufbau und erster Test: Schritt 1.

Schritt 2: Encoder und die Geschwindigkeitsregelung mit PI-Regler.

Mit dem optischen Encoder ist nun eine Geschwindigkeits, Strecken und Drehwinkelregelung möglich. Über Interrupts an den Analogen Eingängen des UNOs können dabei Signal-Flanken erkannt und in eine aktuelle Geschwindigkeits oder zurückgelegte Strecke umgerechnet werden. Vorteil ist, dass nun ein Geradeauslauf über eine PI Geschwindigkeits-Regelung umgesetzt werden kann. Des Weiteren kann erkannt werden, ob der Bot feststeckt, wenn der Ultraschallsensor ein Hindernis nicht zuverlässig erkannt hat. Folglich kann dann eine Losreißfunktion umgesetzt werden.
Der PI-Regler wurde mit dem Faustformel-Verfahren nach Ziegler und Nichols parametrisiert (Kp und Ki Faktor):

  • 1. Schritt: Ki = 0 setzen und Kp soweit erhöhen bis ein Schwingen mit Faktor Kp_krit im Regelkreis auftritt. Kp = 0,45 * Kp_krit
  • 2. Schritt: Regelgröße (Geschwindigkeit) plotten und Schwingperiode T_krit ermitteln. Tn = 0,85 * T_krit. Das Plotten kann schnell über das Bluetooth modul und die kostenlose Andriod App Bluetooth Graphics durchgeführt werden.
  • 3. Schritt: Ki = Kp/Tn

Und so sieht die Funktion aus:

error_R = targetValue - currentValue; //Regelabweichung berechnen
unsigned long now = millis(); //Aktuellen Zeitwert in ms ermitteln
double timeChange = (double)(now - lastTime_R); //Aktuellen Loopzeit fuer I-Anteil
errSum_R += (error_R*(float)timeChange)/1000.00; //I Anteil
errSum_R = constrain(errSum_R, -40.0, 60.0); //I Anteil limitiert, Anti Wind-up
/*Compute PID Output*/
PID_PWM_R = Kp * error_R + Ki * errSum_R + (float)Vorsteuerung;
lastTime_R = now;
return constrain(int(PID_PWM_R), 0, 255);

Optischer Encoder - Draufsicht.
Sicht auf die Encoderscheibe von Unten.

Sprungantwort des Bots mit PI-Regler auf 20 cm/sek.

Komponentenliste und STL/OBJ Dateien - Bill of Material and STL/OBJ-files

3D-Modelle als STL-Datei

Bauteil/Item Stk./Pcs Hinweis/Hint
Halter für Ultraschall-Sensor 8 Ohne Neigungswinkel
Halter für Ultraschall-Sensor 8 Mit Neigungswinkel 15°

Komponentenliste

Bauteil/Item Stk./Pcs Hinweis/Hint Link zum Händler/Dealer
Arduino UNO Klon 1 Ein Arduino Klon ist günstiger und tut's auch.
Link zu den Win7/8 Treibern mit CH430 Treibern.
USB Kabel für das UNO Board 1
Adafruit Motor Shield Klon 1 Das China Klon ist wesentlich günstiger
2-Rad Chassis 1 Inkl. Räder, Motoren und Bateriehalter
Bluetooth Modul "CZ-HC-05" 1 Klasse 2, 10m Reichweite
An/Aus Schalter 1
Mignon Batterie 4 Oder NiMH Akkus
Ultraschall Modul 1 HC-SR04
Optische Encoder 2 mit Encoder Scheibe, für Schritt 2

Software/Toolkette - Toolchain

Firmware für Schritt 1:

Für den ersten Schritt benötigt mal neben der Firmware die folgenden Arduino IDE Libraries:

  • Aktuelle Firmware Schritt 1 - für das Arduino UNO und Adafruit Motor Shield.
  • Notwendige Bibliothek AFMotor - Zur Ansteuerung der DC Motoren.
  • Notwendige Bibliothek NewPing - Zur Ansteuerung des Ultraschall Sensors.

Firmware für Schritt 2: Mit G-Code Befehlen und PI Reglung.

Für den nächsten Schritt habe ich G-Code ähnliche Befehle integriert, die über Bluetooth übermittelt werden können und helfen, den Bot sinnvoll zu steuern.

  • G1Lyyy - Drehung Links mit Winkel yyy
  • G1Ryyy - Drehung Rechts mit Winkel yyy
  • G0xx - Bewegung nach vorne mit xx cm/sek
  • M01 - Demo Modus: Der Bot bewegt dauerhaft mit 20 cm/sek und dreht im 90° Winkel per Zufallsprinzip in eine Richtung bei einem Hinderniss. Steckt der Bot fest, so wird zurück gesetzt und gedreht.
  • Alle anderen Eingaben: Bot schaltet ab.