Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

M1 Rover: Autonomer Outdoor-Roboter für unwegsames Gelände

Komponenten und Materialien

SparkFun Dual H-Bridge Motor Driver L298 1×
DC-Motor (Standard) 4×
Arduino UNO 1×
LED (Standard) 8×
Widerstand 220 Ω 8×
Servo (Tower Pro MG996R) 1×
Ultraschallsensor HC-SR04 1×

Software und Online-Dienste

Projektbeschreibung

Nach dem Bau mehrerer Indoor-Roboter wollte ich einen Outdoor-Roboter entwickeln, der sich in unwegsamem Gelände bewegen kann – den M1-Rover.

Das Herzstück bildet ein Arduino UNO, der über einen L298N Dual H-Bridge Treiber vier DC-Motoren steuert. Damit eignet sich die Plattform ideal für leistungsstarke Robotik-Projekte. Der M1-Rover ist mehr als ein ferngesteuertes Auto: Er kann autonom nach vorgegebenen Anweisungen navigieren, per Fernsteuerung (Gamecontroller, Joystick) bedient oder von einem entfernten Computer aus gesteuert werden.

Schritt 1: Design

Das Design erfolgte in Google SketchUp 2017, da es leistungsfähig, einfach zu bedienen ist und Exportmöglichkeiten für Lasercutter oder 3D-Drucker bietet. Drei Wochen wurden für die Konstruktion des Chassis aufgewendet. Als Material diente eine 3 mm starke Holzplatte. Die Verkabelung im Inneren ist – bedingt durch Zeitdruck – eher improvisiert.

Der Name „M1Rover“ wurde gewählt, da weitere Versionen (M2, M3, …) geplant sind. Das Design ist als Bausatz konzipiert: Alle Teile lassen sich mit Schrauben zusammenbauen.

Schritt 2: Komponenten und Features

Schritt 3: Motorsteuerung

H-Brücken dienen der Drehzahl- und Richtungssteuerung von Motoren. Wichtig: Alle Ground-Verbindungen (Arduino, Stromquelle, Motorsteuerung) müssen zusammengefasst werden. PWM-Pins sind nur nötig, wenn Pulsweitenmodulation genutzt wird.

Schritt 4: Chassis-Montage

Das Chassis wurde per Lasercutter in wenigen Teilen gefertigt. Der Zusammenbau erfolgt schraubbasiert gemäß Anleitung. Front- und Rückleuchten sind bereits integriert: 4 weiße LEDs vorne, 2 rote LEDs hinten – alle per Applikation steuerbar.

Schritt 5: Schaltplan

Die Schaltung ist etwas komplexer, da viele elektronische Bauteile gleichzeitig angesteuert werden. Hauptkomponenten:

Schritt 6: Software

Der Code ermöglicht Steuerung per Mobilgerät oder Laptop via Bluetooth. Eine C#-Windows-Anwendung (Screenshot im Original) dient als GUI. Der Arduino-Code arbeitet über serielle Befehle und ist damit mit beliebigen Controllern kompatibel.

// Basiscode für Starter-Kit – Steuerung via Bluetooth
int frontled = 3, rearled = 4;
int outPin1 = 5, outPin2 = 6, outPin3 = 12, outPin4 = 11;
char bt = 0;
int buzzerPin = 2;
const int pingPin = 9, echoPin = 8;

void setup() {
  Serial.begin(9600);
  pinMode(outPin1, OUTPUT); pinMode(outPin2, OUTPUT);
  pinMode(outPin3, OUTPUT); pinMode(outPin4, OUTPUT);
  pinMode(frontled, OUTPUT); pinMode(buzzerPin, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    bt = Serial.read();
    digitalWrite(frontled, HIGH);
    long duration, cm;
    pinMode(pingPin, OUTPUT);
    digitalWrite(pingPin, LOW); delayMicroseconds(2);
    digitalWrite(pingPin, HIGH); delayMicroseconds(10);
    digitalWrite(pingPin, LOW);
    pinMode(echoPin, INPUT);
    duration = pulseIn(echoPin, HIGH);
    cm = duration / 29 / 2;

    if (cm > 10) { // Hindernisabstand > 10 cm
      switch (bt) {
        case 'F': // vorwärts
          digitalWrite(outPin1, HIGH); digitalWrite(outPin2, LOW);
          digitalWrite(outPin3, HIGH); digitalWrite(outPin4, LOW); break;
        case 'B': // rückwärts
          digitalWrite(outPin1, LOW); digitalWrite(outPin2, HIGH);
          digitalWrite(outPin3, LOW); digitalWrite(outPin4, HIGH); break;
        case 'S': // stop
          digitalWrite(outPin1, LOW); digitalWrite(outPin2, LOW);
          digitalWrite(outPin3, LOW); digitalWrite(outPin4, LOW); break;
        case 'R': // rechts
          digitalWrite(outPin1, HIGH); digitalWrite(outPin2, LOW);
          digitalWrite(outPin3, LOW); digitalWrite(outPin4, LOW); break;
        case 'L': // links
          digitalWrite(outPin1, LOW); digitalWrite(outPin2, LOW);
          digitalWrite(outPin3, HIGH); digitalWrite(outPin4, LOW); break;
        case 'I': // vorwärts-rechts
          digitalWrite(outPin1, HIGH); digitalWrite(outPin2, LOW);
          digitalWrite(outPin3, LOW); digitalWrite(outPin4, HIGH); break;
        case 'G': // vorwärts-links
          digitalWrite(outPin1, LOW); digitalWrite(outPin2, HIGH);
          digitalWrite(outPin3, HIGH); digitalWrite(outPin4, LOW); break;
      }
    } else {
      // Hindernis zu nah: Summer warnen
      digitalWrite(buzzerPin, HIGH); delay(500);
      digitalWrite(buzzerPin, LOW); delay(500);
    }
  }
}

Schritt 7: Ausbaustufen (Pakete)

STARTER

Basiskomponenten; obere Platte ermöglicht einfache Montage zusätzlicher Sensoren, Manipulatoren oder Computerhardware.

EXPLORER

Ermöglicht grundlegende autonome Indoor/Outdoor-Funktionalität. Statt IP-Kamera wird eine Smartphone-Kamera per IP-Adresse genutzt.

MAPPING

GPS-Tracking im Außenbereich mit Echtzeit-Koordinatenanzeige.

MANIPULATION

Roboterarm mit Zwei-Finger-Greifer (50 mm) für Interaktion mit der Umwelt.

Wichtiger Hinweis zu Servos: Nicht alle Servos bieten volle 180°. Mechanische Grenzen testen, servo.writeMicroseconds() (Bereich 1000–2000 µs) nutzen und Endanschläge per constrain() im Code begrenzen, um Überhitzung zu vermeiden.

CAD-Dateien

m1rover_dxf_hackaday_4o7WTGHUGE.dxf

Schaltplan

Schaltplan als Bild verfügbar (Original-Link im Quellprojekt).

Herstellungsprozess

  1. Variabler-Reluktanz-Motoren: Typen, Betrieb und Anwendungen
  2. Raspoulette: Solar-betriebenes autonomes Hühnerklappen-System Prototyp
  3. Windows IoT Core Rover mit Raspberry Pi 2 bauen – Anfänger bis Fortgeschritten
  4. Simple Pi Robot: 2-WD Autonomer Rover mit Raspberry Pi bauen
  5. UFO Attack: Eigenes Arduino-Spiel mit MAX7219 Matrix & Joystick
  6. 3D RGB Arduclock – Bluetooth-LED-Uhr mit Echtzeituhr
  7. Umfassende Bipolar-Schrittmotor-Bibliothek für Arduino
  8. DIY Guitar Speed Pick & Stomp Pedal – 3D-gedruckter motorisierter Plektrum
  9. Linearmotoren verstehen: Von elektrischer Energie zur präzisen Linearbewegung
  10. Servomotoren: Funktionsweise und Bedeutung