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

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

In diesem Tutorial zeige ich, wie ich einen Nachbau des Mars Perseverance Rovers gebaut habe. Inspiriert vom echten Rover, der aktuell den Mars erkundet, ist dieser Rover so konzipiert, dass ihn jeder – Studenten, Maker, Mechatronik-/Robotik-Enthusiasten – nachbauen kann.

Video ansehen oder schriftliche Anleitung unten lesen.

Überblick

Hauptmerkmale:

  • Rocker-Bogie-Federung: Läuft ruhig auf unebenem Gelände, überwindet Hindernisse bis zum doppelten Raddurchmesser, hält alle 6 Räder permanent am Boden.
  • 6独立驱动: Jedes Rad hat eigenen DC-Motor für Vorwärts/Rückwärts.
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Ackermann-Lenkgeometrie an den 4 Lenkrädern (Vorder- und Hinterachse): Berechnet Lenkwinkel & Radgeschwindigkeiten je nach Kurvenradius. Innenräder: größerer Lenkwinkel, niedrigere Geschwindigkeit; Außenräder: kleinerer Winkel, höhere Geschwindigkeit.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Steuerung: Günstiger RC-Sender → Empfänger am Rover → Arduino MEGA. Gehirn = Arduino MEGA, dazu Custom-PCB als Arduino-MEGA-Shield für einfache Verkabelung.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

FPV-Kamera in Kameramast: Schwenken per NEMA-17-Schrittmotor, Neigen per Servo. Live-Video auf Smartphone.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Hinweis: Viele Teile sind rein optisch (Original-Optik), Roboterarm fehlt (geplant für zukünftige Videos).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Nun der Bauprozess: Design, Elektronik, Arduino-Programmierung.

3D-Modell des DIY Mars Rovers

Entworfen mit 3DEXPERIENCE SolidWorks (Video-Sponsor).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

3DEXPERIENCE SolidWorks = SolidWorks mit Cloud-Funktionen über 3DEXPERIENCE-Plattform. Daten/Modelle weltweit jederzeit zugänglich. Plattform enthält Produktivitäts- & Datenmanagement-Apps.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Beispiele: Project Planning (Aufgaben, Deadlines, Fortschritt), 3D Markup (Modelle auf jedem Gerät ansehen/kommentieren). Separater Browser-Modellierer SOLIDWORKS xDesign – modellieren überall, jederzeit, jedes Gerät.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Ab 2. Jahreshälfte 2022: Maker-Version von 3DEXPERIENCE SolidWorks für 99 $/Jahr. Danke an SolidWorks für Bildungs-Sponsoring.

Links zum Testen/Erfahren:

Kostenlos testen: www.solidworks.com/HTMTryNow

Mehr erfahren: www.solidworks.com/HTMLearnMore

3DEXPERIENCE SOLIDWORKS for Makers: www.solidworks.com/htm

Zurück zum Modell: Ziel = Optik so nah wie möglich am Original. Offizielles NASA-3D-Modell heruntergeladen, in Blender geöffnet.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Front-, Top-, Seitenansicht als Bilder in SolidWorks importiert. Raddurchmesser = 130 mm → Bilder darauf skaliert.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Alle Key-Maße entnommen: Breite, Länge, Höhe, Radabstände, Rocker-Bogie-Maße etc. Nach diesen Maßen & geplanten Motoren/Servos Teile so designed: 3D-druckbar, montierbar, Optik nah am Original.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Rocker-Bogie: 20 mm Rundaluprofile. Basisrahmen: 20 mm T-Nut-Profile.

3D-Modell auf Thangs finden, erkunden, herunterladen:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

STL-Dateien für 3D-Druck:

Mars-Rover-Teile 3D-drucken

Gedruckt auf Creality CR-10 & CR-10 V3. Für flexible Filament-Räder: Direct-Extruder nötig (CR-10 V3).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Beide Drucker: gute Qualität, erschwinglich. Links:

  • Creality CR-10…… Amazon / Banggood
  • Creality CR-10 V3…… Amazon / Banggood / AliExpress

Siehe auch: Beste Budget-Oszilloskope für Einsteiger & Maker – 2021 Update

Wichtig: Horizontal Expansion im Slicer nutzen (ich: −0,1 mm). Kompensiert Filament-Ausdehnung. Ohne: 20-mm-Loch wird ca. 19,8 mm → Passt nicht.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Alle 3D-gedruckten Teile:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Viel Druckzeit, aber einziger Weg für Original-Optik. Nur funktionale Teile drucken → Zeit halbieren.

Teileliste für DIY Mars Rover

Mechanische Komponenten (Elektronik siehe Schaltplan-Bereich):

  • T-Nut-Profile 20×20 mm ……….. Amazon / Banggood / AliExpress
  • T-Nut-Profil-Eckverbinder …………….. Amazon / Banggood / AliExpress
  • Aluminium-Rundrohr 20 mm ………………. Amazon / AliExpress
  • Gelenkkopf 8 mm ………………………………….. Amazon / Banggood / AliExpress
  • 8 × Lager 608RS – 8×22×7 mm …….. Amazon / Banggood / AliExpress
  • 8 × Lager 626RS – 6×19×6 mm ………… Amazon / Banggood / AliExpress
  • 5 × Lager 625RS – 5×16×5 mm …………… Amazon / Banggood / AliExpress
  • M3-Schrauben diverse Längen …………………… Amazon / Banggood / AliExpress
  • 4 × Servo-Hörner …………………………………………. Amazon / Banggood / AliExpress

Zusätzlich diverse M4, M5, M6 Schrauben (vollständige Liste unten). Auch im Baumarkt erhältlich.

Rover zusammenbauen

Aluminiumprofile zuschneiden (Metall-Handsäge).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

10 T-Nut-Profile (Basis), 8 Rundprofile (Rocker-Bogie) mit folgenden Maßen:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

T-Nut-Rahmen mit Eckverbindern & Schrauben/Muttern. Ober- & Unterrahmen fertig → Basis vervollständigen: Rocker-Gelenk-Teile (3D-Druck) an Seiten, 3D-gedruckte Winkel vorne/hinten. Befestigung: M3-Schrauben + T-Nut-Muttern.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Rocker-Gelenke: M5-Schrauben/Muttern. Abstand Vorderprofil zu Rocker-Gelenk = 134 mm.

Rocker-Bogie-Federung zusammenbauen

Hauptlager für Rocker-Bogie einsetzen. Rocker-Gelenkwelle: Befestigung am Chassis per M8-Schraube.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Welle hat Nut für M8-Mutter (Sicherung am Chassis). Loch 7,5 mm → fester Sitz Schraube/Welle. Schraube trägt Teil des Gewichts → Verstärkung des 3D-gedruckten Teils. Meistbeanspruchtes Teil! Druckrichtung entscheidend für Festigkeit.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Erster Druckversuch (einfach, ohne Support) → Bruch.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Kraft wirkt auf Schichtbindung (schwach). Seitlicher Druck: Kraft wirkt auf Wandkonturen → viel stabiler.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Weiter: Rocker-Bogie mit Radgelenken & Motorhaltern vormontieren, dann auf Rockerwellen montieren.

Löcher für 20-mm-Rundprofile: Presspassung → evtl. Raspel/Schleifpapier nötig.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Präzise Bohrungen in Rundprofile: Gerade Linie auf Profil anzeichnen.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Profil in 3D-Teile stecken (Markierung durch Bohrung), Bohrpositionen auf beiden Seiten anzeichnen. Gegenseite ebenso.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

2,5-mm-Bohrer, dann M3-Schraube schneidet Gewinde in Alu (weicher als Schraube). Methode wichtig für relative Positionierung aller Teile.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Bogie-Gelenk: zwei Lager + M8-Schraube.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Rocker-Bogie-Anordnung fertig → Lenkradgelenke. Lenkradgelenk = zwei Teile, verschraubt.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Verbindung Servohalter ↔ DC-Motorhalter: zwei Lager + M6-Schraube. Schraubenkopf oben: Servohorn per 3D-gedrucktem Kuppler & M3-Schrauben anbringen.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Kuppler: Sechskantnut überträgt Servobewegung auf Schraube. Unten anderes Teil aufschrauben.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

M6-Mutter sichern. Lenkradgelenk fertig – später: zweite M6-Mutter unten gegenkontern nötig.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Grund: Servobewegung wird über Mutter auf Motorhalter übertragen – ohne Kontermutter schraubt sich Gelenk lose.

Gleiches für andere Ecke. Test: Auf ebene Fläche stellen → alle drei Motorhalter parallel/flach = korrekt montiert.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Andere Seite spiegelbildlich (Teile sehen gleich aus, sind aber gespiegelt).

Sub-Assemblies auf Rockerwellen am Chassis montieren. Zuvor: Messing-Gewindeeinsätze in Welle einpressen (Lötkolben) → zuverlässige M4-Gewinde. 4 M4-Schrauben pro Seite.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Chassis kippt frei → Differential fehlt für Rocker-Bogie-Funktion.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Differential verbindet beide Rocker & Chassis: Eine Seite hoch → andere runter → gleichmäßiger Radkontakt. Chassis-Neigung = Mittelwert beider Rocker.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Differential-Teile:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Differentialstange lang → 3 Stück, verschraubt (auch auf kleinen Druckern druckbar). Mitte: Lagerung mit 2 Lagern + M8-Schraube.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Anbindung an Rocker: M8-Gelenkkopf + M8-Gewindestange 50 mm. Gewindestange in 3D-Teil (M8-Mutter einer Seite, andere Seite in Gelenkkopf).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Abstand Differential-Link zu Gelenkkopf ~20 mm für waagerechtes Chassis. Verbindung Link ↔ Rockerhebel: 2 Lager + M5-Schraube.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Andere Seite analog. Rocker-Bogie fertig: Eine Seite hoch, andere runter – alle Räder am Boden. Chassis bewegt halben Hub.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Siehe auch: Arduino Roboterarm & Mecanum-Wheels-Plattform Automatischer Betrieb

Motoren für Mars Rover montieren

DC-Motoren: 37 mm Ø, 12 V, Getriebe 50 U/min.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Hinweis: 50 U/min etwas schnell – 20 oder 10 U/min empfohlen.

Wellenkupplungen für Radbefestigung:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

M3-Gewindeeinsätze (Kupplungssicherung), M4-Muttern (Radsicherung) – einkleben oder Gewindeeinsätze nutzen.

Räder: 2-teilig. Reifen (flexibles Filament, muss nicht), Felge (PLA). Felgen-Nuten greifen in Reifen → Kraftübertragung. Tropfen Kleber an Nuten. 4 M4-Schrauben pro Rad an Kupplung/Motor.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Lenk-Servos: High-Torque Digital, 25 kgcm, 4,8–6,8 V. 4 M3-Schrauben in M3-Gewindeeinsätze im Servohalter.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Kameraeinheit zusammenbauen

Kameraschwenk: NEMA-17-Schrittmotor (austauschbar). Bewegung → oberer Teil via M5-Gewindestange (3D-Kupplung am Motor, Lager + 2 Muttern am bewegten Element). Kameraneigung: Gleicher Servo wie Lenkräder.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung
Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Viele Kamerateile rein optisch. Montage: diverse M3-Schrauben + Gewindeeinsätze.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Echtes FPV-Kamera-Modul: Custom-Halter für Montage am Kameragehäuse. Von oben zugänglich, Snap-Fit-Deckel. Fertige Kameraeinheit:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Montage: vordere rechte Chassis-Ecke.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Nun: Restliche 3D-Teile (nur Optik) montieren ODER Elektronik anschließen. Ich wählte: Erst Optik fertig, dann Elektronik.

Rest des Rovers montieren

Optik-Teile – Details siehe 3D-Modell.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Viel Liebe zum Detail für gute Optik.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Große Teile, lange Druckzeiten.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Schneller Einblick in Montage.

Letzte zwei mittlere Top-Panels: Snap-Fit in Rover.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Wirken als Haube – abnehmbar für Elektronik-Zugang.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Elektronikhalter: zwei 3D-Teile, verschraubt, auf Unterrahmen.

Elektronik

Kabellängen pro Motor messen. Direkt an Motoren gelötet (keine Stecker), Schrumpfschlauch isolation.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Kabel per Kabelbinder geführt & sauber gehalten.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Servos: Servo-Verlängerungskabel bis Elektronikfach. Elektronikhalter hat Schlitze für Kabeldurchführung zur Rover-Mitte.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Verkabelung sauber hinter sichtbaren Teilen verlegt.

Siehe auch: SCARA Robot | How To Build Your Own Arduino Based Robot

Schaltplan DIY Mars Rover

Schaltplan:

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Komponenten:

  • DC-Motor 12V 37mm …….……………….…
  • Digitaler Servo 25kg …………………………….
  • DRV8871 DC-Motortreiber ……………….
  • Schrittmotor – NEMA 17…………………
  • A4988 Schrittmotortreiber………………..…..…
  • Arduino MEGA…………………….…..………
  • DC-DC-Wandler (Buck) …………………….
  • 3S LiPo-Akku ………………………..………..
  • XT60-Stecker ………………………………
  • FLYSKY RC-Sender …………………..
  • FPV-Kamera & Video-Sender …. Amazon / Banggood / AliExpress
  • FPV-Empfänger nach Wahl

6 DC-Motoren → 6 DRV8871 (PWM, bis 3,6 A Spitzenstrom). Motoren: 12 V, 1 A Nenn-, 3 A Anlaufstrom. Stromversorgung: 3S LiPo (~12 V).

Servos: 4,8–6,8 V → Buck-Converter 12 V → 6 V, ~8 A (Servos stark, ~2 A Anlaufstrom). Kameraschrittmotor: A4988/DRV8825. Zwei Widerstände → Spannungsteiler für Akku-Überwachung.

RC-Empfänger an 6 V (Buck), FPV-Kamera + Sender an 12 V (Akku).

Custom PCB

Für Ordnung: Custom PCB als Arduino MEGA Shield.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Enthält: Motortreiber, 3,3-V-Regler, NRF24L01-Anschluss (für alt. Steuerung), DHT22, Kompass, I2C, Serial, 12V/5V/3,3V/GND – zukunftssicher für Upgrades.

Bestellt bei PCBWay: Gerber hochladen, Eigenschaften wählen, günstig bestellen.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Nur Farbe auf Blau geändert (passend zu Arduino). Gerber hier herunterladen oder via PCBWay Community direkt bestellen.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Gerber-Datei für DIY Mars Rover PCB:

Nach Tagen: PCB angekommen, Top-Qualität, exakt wie Design.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Bestückung einfach (alles beschriftet). Unten: Pinheader für Arduino MEGA, dann Oberseite. Alle Verbindungen als Pinheader (Flexibilität). 3,3-V-Regler & freie Pins nicht bestückt (aktuell ungenutzt).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Arduino auf Elektronikhalter schrauben (2 Schrauben), PCB aufstecken.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Motoren an Treiber → in PCB. Servos in Servo-Pins, Schrittmotortreiber (1 Jumper für 1/8-Schritt).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Funk: FLYSKY RC Sender/Empfänger (günstig, gut).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Empfänger → Arduino: Servo-Verlängerungskabel (VCC, GND, Signal). Kommunikation: I-BUS über Serial. Rückkanal (Akku-Spannung an Sender): Sensor-I-BUS an 2. Serial-Port.

Buck-Converter: 2 Schrauben. LiPo: 2 Gummibänder (einfach entnehmbar zum Laden).

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Netzschalter: hinteres rechtes Panel. 20-AWG-Kabel (Strom bis mehrere Ampere). Verbindungen doppelt prüfen – Fehler = Brandgefahr.

FPV-Kamera: 12 V + Videosignal an Videosender (auch 12 V). Elektronik fertig.

Arduino-gesteuerter Mars Perseverance Rover Nachbau – Schritt-für-Schritt-Anleitung

Deckel drauf → Rover fast fertig. Fehlt: Arduino programmieren.

DIY Mars Rover programmieren – Arduino Code

Arduino-Code herunterladen:

Code-Übersicht

Via IBusBM Library RC-Senderdaten lesen:

// Reading the data comming from the RC Transmitter IBus.loop(); ch0 = IBus.readChannel(0); ch1 = IBus.readChannel(1); ch2 = IBus.readChannel(2); ch3 = IBus.readChannel(3); ch6 = IBus.readChannel(6);

Umrechnung in Kurvenradius (links/rechts) & Rover-Geschwindigkeit (0–100 %):

// Convertign the incoming data // Steering right if (ch0 > 1515) { r = map(ch0, 1515, 2000, 1400, 600); // turning radius from 1400mm to 600mm } // Steering left else if (ch0 < 1485) { r = map(ch0, 1485, 1000, 1400, 600); // turning radius from 600mm to 1400mm } // Rover speed in % from 0 to 100 s = map(ch2, 1000, 2000, 0, 100); // rover speed from 0% to 100%

Kurvenradius r für Lenkwinkel & Radgeschwindigkeiten (Ackermann):

void calculateMotorsSpeed() { // if no steering, all wheels speed is the same - straight move if (ch0 > 1485 && ch0 < 1515) { speed1 = speed2 = speed3 = s; } // when steering, wheels speed depend on the turning radius value else { // Outer wheels, furthest wheels from turning point, have max speed // Due to the rover geometry, all three outer wheels should rotate almost with the same speed. They differe only 1% so we asume they are the same. speed1 = s; // Inner front and back wheels are closer to the turing point and have lower speeds compared to the outer speeds speed2 = s * sqrt(pow(d3, 2) + pow((r - d1), 2)) / (r + d4); // Inner middle wheel is closest to the turning point, has the lowest speed speed3 = s * (r - d4) / (r + d4); } // speed value from 0 to 100% to PWM value from 0 to 255 speed1PWM = map(round(speed1), 0, 100, 0, 255); speed2PWM = map(round(speed2), 0, 100, 0, 255); speed3PWM = map(round(speed3), 0, 100, 0, 255); } void calculateServoAngle() { // Calculate the angle for each servo for the input turning radius "r" thetaInnerFront = round((atan((d3 / (r + d1)))) * 180 / PI); thetaInnerBack = round((atan((d2 / (r + d1)))) * 180 / PI); thetaOuterFront = round((atan((d3 / (r - d1)))) * 180 / PI); thetaOuterBack = round((atan((d2 / (r - d1)))) * 180 / PI); }

Servos via ServoEasing Library (sanftere Bewegung):

// Servo motors servoW1.startEaseTo(97 - thetaOuterFront); servoW3.startEaseTo(97 + thetaOuterBack); servoW4.startEaseTo(94 - thetaInnerFront); servoW6.startEaseTo(96 + thetaInnerBack);

DC-Motoren per analogWrite() (PWM an DRV8871):

// Motor Wheel 1 - Left Front analogWrite(motorW1_IN1, speed2PWM); // PWM value digitalWrite(motorW1_IN2, LOW); // Forward

Code nicht komplex (Rover hat keine komplexen Funktionen). Zukunft: GPS-Navigation, Sensoren, Roboterarm, Bodenprobenahme etc.

Hoffe, Projekt hat gefallen & was Neues vermittelt. Fragen in Kommentaren, Arduino-Projekte-Sammlung anschauen.


Herstellungsprozess

  1. Windows IoT Core Rover mit Raspberry Pi 2 bauen – Anfänger bis Fortgeschritten
  2. Arduino Audio-Frequenz-Detektor – Lauteste Schallpeaks mit hochsensiblem Modul messen
  3. Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
  4. DIY-Voltmeter mit Arduino und Nokia 5110 Display – Schritt-für-Schritt-Anleitung
  5. Zuverlässigen Arduino-Countdown-Timer mit SparkFun 7-Segment-Display bauen
  6. RC Porsche selbst bauen: Arduino-Schritt-für-Schritt-Anleitung
  7. Zuverlässigen Smart Energy Monitor mit Arduino UNO bauen – Schritt-für-Schritt-Anleitung
  8. Portables RFID-Türschloss mit Arduino bauen – Schritt-für-Schritt-Anleitung
  9. Objektfarben erkennen mit Arduino Nano und TCS3200-Sensor
  10. DIY Körpergrößen-Messgerät mit Arduino Nano & Ultraschall – Präzise & Einfach