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

DIY Mars Perseverance Rover Replica – Arduino-basiertes Projekt

In diesem Tutorial zeige ich Ihnen, wie ich eine Nachbildung des Mars Perseverance Rover gebaut habe. Inspiriert von dem echten Rover, der gerade den Mars erkundet, habe ich diesen Rover natürlich so entworfen, dass jeder, der diese Technologie liebt, Studenten, Macher, Mechatronik- oder Robotik-Enthusiasten usw., den Anweisungen in diesem Video leicht folgen kann und bauen ihren eigenen Mars Rover.

Sie können sich das folgende Video ansehen oder das schriftliche Tutorial unten lesen.

Übersicht

Werfen wir einen Blick auf die Hauptmerkmale dieses Rovers. Es verwendet eine Rocker-Bogie-Aufhängung, die es dem Rover ermöglicht, auf unebenem Gelände reibungslos zu fahren und Hindernisse wie Felsen zu erklimmen, die bis zu doppelt so groß sind wie der Raddurchmesser, während alle sechs Räder die ganze Zeit in Kontakt mit dem Boden bleiben. Jedes Rad hat einen unabhängigen Gleichstrommotor, der den Rover vorwärts oder rückwärts antreibt.

Die vier Eckräder haben individuelle Lenkservomotoren. Um den Rover effizient zu lenken und Reifenrutschen bei Kurvenfahrten zu vermeiden, implementieren wir die Ackermann-Lenkgeometrie. Mit dieser Geometrie können wir die Geschwindigkeit und den Winkel jedes Rads in Abhängigkeit vom Wenderadius berechnen.

Das bedeutet, dass die kurveninneren Lenkräder im Vergleich zu den kurvenäußeren Rädern einen größeren Winkel haben. Gleichzeitig haben die inneren Räder im Vergleich zu den äußeren Rädern langsamere Geschwindigkeiten.

Zur Steuerung des Rovers verwende ich einen billigen kommerziellen RC-Sender, der Befehle an den Rover sendet. Am Rover habe ich einen geeigneten RC-Empfänger, der die Befehle empfängt und an ein Arduino-Board sendet. Ja, das Gehirn dieses Mars-Rover ist eigentlich ein Arduino MEGA-Board, und um alles einfach miteinander zu verbinden, habe ich eine benutzerdefinierte Leiterplatte hergestellt, die einfach auf dem Arduino MEGA-Board befestigt werden kann.

Der Rover verfügt auch über eine FPV-Kamera, die sich in der Kameraeinheit befindet. Es wird mit einem Schrittmotor und einem Servomotor gesteuert und ich erhalte das Echtzeitvideo auf einem Smartphone.

Ich möchte an dieser Stelle anmerken, dass viele der Teile eigentlich nicht funktionsfähig sind oder nur vorhanden sind, um dem Aussehen des echten Rovers zu entsprechen. Außerdem fehlt der Roboterarm, aber ich plane, den Arm zu machen und diesem Rover in zukünftigen Videos weitere Funktionen hinzuzufügen.

Lassen Sie mich Sie jetzt trotzdem durch den Bauprozess führen, beginnend mit dem Design des Rovers, dem Anschließen der Elektronikkomponenten und dem Programmieren des Arduino-Boards.

DIY Mars Rover 3D-Modell

Ich habe diesen Mars-Rover mit 3D EXPERIENCE Solidworks entworfen, die eigentlich der Sponsor dieses Videos sind.

3DEXPERIECE Solidworks ist eine Version von Solidworks mit Cloud-Funktionen, die wir über die 3DEXPERIECE-Plattform erhalten. Hier funktioniert alles über die Cloud, sodass Sie oder jeder aus Ihrem Team jederzeit und von überall auf der Welt Zugriff auf die Daten oder die Modelle haben kann. Die 3DEXPERIECE-Plattform enthält auch viele nützliche Produktivitäts- und Datenverwaltungs-Apps.

Die Projektplanungs-App ist beispielsweise eine großartige Möglichkeit, Ihre Aufgaben zu organisieren, Fristen festzulegen und Ihren Fortschritt zu verfolgen. Mit der 3D-Markup-App können Sie die Modelle von jedem Gerät aus anzeigen, erkunden und sich Notizen machen, z. B. einem Notebook, Tablet oder sogar einem Smartphone.

Es gibt auch einen separaten, cloudbasierten 3D-Modellierer namens SOLIDWORKS xDesign, der in Ihrem Browser ausgeführt wird. Es kann in Verbindung mit Solidworks oder allein verwendet werden und eignet sich hervorragend zum Modellieren, überall, jederzeit und auf jedem Gerät.

Die wahrscheinlich aufregendste Nachricht für viele von Ihnen hier ist jedoch, dass es ab der zweiten Hälfte dieses Jahres eine Maker-Version von 3DEXPERIECE Solidworks geben wird, die Sie für nur 99 $ pro Jahr erhalten können. Vielen Dank an Solidworks für das Sponsoring solcher Bildungsinhalte.

Wenn Sie wissen möchten, ob SOLIDWORKS und die 3DEXPERIENCE-Plattform für Sie geeignet sind, sehen Sie sich die folgenden Links unten an.

Testen Sie 3DEXPERIENCE kostenlos über meinen speziellen Link: www.solidworks.com/HTMTryNow

Erfahren Sie mehr über 3DEXPERIENCE SOLIDWORKS: www.solidworks.com/HTMLearnMore

3DEXPERIENCE SOLIDWORKS für Hersteller:www.solidworks.com/htm

Ok, also zurück zum Modell und erklären, wie ich den Rover entworfen habe. Mein Ziel war es, diesen Rover so nah wie möglich an den echten Mars Perseverance Rover aussehen zu lassen. Auf der offiziellen NASA-Website gibt es ein 3D-Modell des Mars Perseverance Rover, also habe ich es heruntergeladen und in Blender geöffnet.

Ich habe 3 Bilder von der Vorder-, Ober- und Seitenansicht des Rovers gemacht und sie in Solidworks importiert. Ich wollte, dass die Größe der Räder einen Durchmesser von 130 mm hat, also habe ich die Bilder entsprechend dieser Dimension skaliert.

Von hier aus habe ich dann alle wichtigen Maße genommen, wie Breite, Länge, Höhe, Abstand zwischen den Rädern, Maße für die Schaukel-Drehgestell-Aufhängung und so weiter.

Jetzt habe ich gemäß diesen Abmessungen und den DC-Motoren und Servos, die ich verwenden wollte, die Rover-Teile so entworfen, dass sie einfach in 3D gedruckt und zusammengebaut werden können, während ich versuchte, das Aussehen so nah wie möglich am Original zu halten. P>

Für die Drehgestellaufhängung verwende ich 20 mm runde Aluminiumprofile, während ich für den Grundrahmen 20 mm T-Nut-Aluminiumprofile verwende.

Sie können dieses 3D-Modell finden und herunterladen sowie es in Ihrem Browser auf Thangs erkunden.

Und hier sind die STL-Dateien, die für den 3D-Druck benötigt werden:

3D-Druck der Mars Rover Replica-Teile

Für den 3D-Druck der Teile habe ich meinen alten Creality CR-10 sowie den neuen CR-10 V3 3D-Drucker verwendet. Wenn Sie die Räder mit flexiblem Material bedrucken möchten, benötigen Sie auf jeden Fall einen Drucker mit Direktextruder, genau wie der CR-10 V3.

Beide 3D-Drucker bieten eine hervorragende Druckqualität und sind relativ erschwinglich. Wenn Sie interessiert sind, finden Sie hier Links zu ihnen, damit Sie sie sich ansehen können:

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

Siehe auch: Die besten Budget-Oszilloskope für Anfänger und Profis – 2021-Aktualisierung

Beim 3D-Druck der Teile ist es wichtig, die horizontale Erweiterungsfunktion in Ihrer Slicing-Software zu verwenden. Ich habe einen Wert von –0,1 mm verwendet. Diese Funktion kompensiert die Ausdehnung des Filaments beim Drucken.

Wenn es nicht verwendet wird, wenn das Teil beispielsweise ein Loch mit einem Durchmesser von 20 mm hat, beträgt das Loch des tatsächlichen 3D-gedruckten Teils etwa 19,8 mm und wir können es nicht zusammenbauen.

Trotzdem sind hier alle 3D-gedruckten Teile.

Um ehrlich zu sein, ist es ein bisschen verrückt, wie viel Druck es gibt, aber nur so erhält man das einzigartige Aussehen des Rovers. Sie können die Druckzeit jedoch halbieren, wenn Sie sich dafür entscheiden, nur die Funktionsteile dieses Rovers zu drucken.

Teileliste für den DIY-Mars-Rover

Hier ist eine Liste der Komponenten, die für den Zusammenbau dieses DIY-Mars-Rover benötigt werden. Die Liste der Elektronikkomponenten finden Sie weiter unten im Schaltplanteil des Artikels.

  • T-Nut Aluminiumprofile 20x20mm ………..AmazonBanggood  / AliExpress
  • T-Nut-Profil-Eckwinkel ……………..… AmazonBanggood  / AliExpress
  • Aluminium Rundrohr 20mm ………………. Amazon /  AliExpress
  • Gelenkkopf 8mm ………………………………….. Amazon / Banggood / AliExpress
  • 8 x  Lager 608RS – 8x22x7mm ……..…… AmazonBanggood  / AliExpress
  • 8 x Lager 626RS – 6x19x6mm ………….… AmazonBanggood  / AliExpress
  • 5 x Lager 625RS – 5x16x5mm …………… AmazonBanggood  / AliExpress
  • M3 Schrauben verschiedene Längen ………………………… AmazonBanggood  / AliExpress
  • 4 x Servohörner …………………………………………. Amazon / Banggood / AliExpress

Wir benötigen auch verschiedene Längen von M4-, M5- und M6-Schrauben. Sie können die vollständige Liste der benötigten Schrauben und Muttern unten einsehen.

Sie können die Schrauben und Muttern auch in Ihrem örtlichen Baumarkt kaufen.

Zusammenbau des Rovers

In Ordnung, jetzt können wir mit dem Zusammenbau des Rovers beginnen. Zuerst müssen wir die Aluminiumprofile vorbereiten. Ich benutzte eine Metallhandsäge, um sie auf die richtige Größe zu schneiden.

Wir benötigen 10 T-Nut-Profile für die Basis und 8 Rundprofile für die Drehgestell-Aufhängung mit folgenden Abmessungen.

Für die Montage des T-Nut-Profilrahmens verwenden wir einen geeigneten T-Nut-Eckwinkel und einige Schrauben und Muttern. Sobald wir den oberen und den unteren Rahmen fertig haben, können wir die Basis vervollständigen, indem wir die 3D-gedruckten Teile des Kipphebelgelenks an den Seiten und einige 3D-gedruckte Halterungen auf der Vorder- und Rückseite einfügen. Zur Befestigung benötigen wir M3-Schrauben und T-Nutensteine.

Für die Kipphebelgelenke habe ich M5 Schrauben und Muttern verwendet. Der Abstand vom vorderen Profil zum Kippgelenk muss 134 mm betragen.

Montage der Rocker-Bogie-Aufhängung

Als nächstes können wir die Hauptlager für die Rocker-Bogie-Aufhängung einsetzen. Dann haben wir die Kipphebelwelle, die mit einer M8-Schraube an der Basis befestigt wird.

Der Schaft hat einen Schlitz, in den wir eine M8-Mutter einsetzen können, die zur Befestigung an der Basis verwendet wird. Das Loch der Welle beträgt 7,5 mm, so dass wir eine feste Verbindung zwischen Schraube und Welle haben. Auf diese Weise verstärken wir tatsächlich den 3D-gedruckten Schaft, da der Bolzen selbst einen Teil des Gewichts des Rovers trägt. Dies ist der am stärksten beanspruchte Teil der gesamten Anordnung, da das gesamte Gewicht des Rovers von der Kipphebelwelle getragen wird. Die Art und Weise, wie wir die Teile drucken, ist sehr wichtig für ihre Festigkeit.

Ich habe diesen Schaft zunächst auf die einfachere Art gedruckt, wo kein Stützmaterial benötigt wird, aber der Druck schlug fehl.

Auf diese Weise wirkt die Hauptspannungskraft auf die Schichten, die nicht so stark sind, aber wenn wir das Teil seitlich drucken, wo die Spannungskraft auf die Wandkonturen wirkt, ist das Teil viel stärker und wird nicht versagen.

Trotzdem werden wir jetzt mit der Montage der Schwingen-Drehgestell-Aufhängung mit den Radgelenken und den Motorträgern fortfahren und diese Baugruppe später an den Schwingenachsen befestigen.

Die Löcher der Teile, an denen die 20-mm-Rundprofile ankommen, sind so dimensioniert, dass sie fest sitzen, daher müssen wir in einigen Fällen eine Raspel oder ein Schleifpapier verwenden, um sie passend zu machen.

Um diese Teile richtig zusammenzubauen, müssen wir nun an genauen Stellen Löcher in die runden Profile bohren. Dazu markieren wir zunächst eine gerade Linie auf dem Profil.

Als nächstes können wir das Profil in das 3D-gedruckte Teil einfügen, wobei die Markierungslinie durch das Loch des Teils verläuft. Dann können wir die Stellen markieren, an denen wir das Profil auf beiden Seiten dieses Teils bohren müssen.

Auf der gegenüberliegenden Seite des Profils müssen wir den gleichen Vorgang wiederholen.

Ich habe die Löcher mit einem 2,5-mm-Bohrer gebohrt und dann mit einer M3-Schraube ein Gewinde in das Profil gemacht, das wir zum Festziehen der Teile verwenden werden.

Das Aluminiumprofil ist weicher als der Bolzen, daher ist es einfach, das Gewinde mit dem Bolzen selbst herzustellen. Das Einhalten dieser Methode zum Bohren der Löcher ist sehr wichtig, damit am Ende alle Teile so positioniert sind, wie sie relativ zueinander sein sollten.

Für das Drehgestellgelenk verwenden wir ebenfalls zwei Lager und eine M8-Schraube.

Sobald wir die Anordnung der Schwinge-Drehgestell-Aufhängung abgeschlossen haben, können wir mit der Montage der Lenkradgelenke fortfahren. Das Lenkradgelenkteil besteht aus zwei miteinander verschraubten Teilen.

Für das eigentliche Gelenk bzw. die Verbindung zwischen dem Servohalterungsteil und dem DC-Motorhalterungsteil verwenden wir zwei Lager und eine M6-Schraube.

An der Oberseite oder dem Kopf der Schraube müssen wir ein Servohorn anbringen, und das tun wir mit Hilfe dieses 3D-gedruckten Kopplers und einiger M3-Schrauben.

Der Koppler hat einen sechseckigen Schlitz, durch den die Servobewegung auf den Bolzen übertragen wird. An der Unterseite können wir den anderen Teil des Gelenks anschrauben.

Wir sichern diese Verbindung mit einer M6-Mutter. Damit ist das Lenkradgelenk fertig, obwohl ich später feststellen werde, dass wir tatsächlich eine weitere M6-Mutter unten hinzufügen und an der anderen Mutter festziehen müssen.

Wir müssen dies tun, weil die Bewegung vom Servo mit der Mutter selbst auf das DC-Motorhalterungsteil übertragen wird, und wenn nicht mit einer anderen Mutter festgezogen wird, wird das gesamte Gelenk abgeschraubt.

Das gleiche Verfahren gilt für die andere Eckverbindung. Wir wissen, dass wir alles richtig angeschlossen haben, wenn wir diese Baugruppe auf eine ebene Fläche stellen und alle drei Motorhalterungen flach liegen oder alle parallel zueinander sind.

Natürlich verwenden wir die gleiche Methode für die Montage der anderen Seite. Wir können hier jedoch feststellen, dass einige der Teile zwar identisch aussehen, aber nicht die gleichen Teile sind, sondern tatsächlich gespiegelt sind.

Als nächstes müssen wir diese Baugruppen auf die Kipphebelwellen am Grundrahmen oder am Chassis stecken. Bevor wir das tun, müssen wir jedoch einige Gewindeeinsätze aus Messing in die Welle einsetzen.

Mit einem Lötkolben können wir sie einfach einsetzen und erhalten so eine gute und zuverlässige Gewindebohrung zur Befestigung der Aufhängungsbaugruppe. Dazu benötigen wir vier M4-Schrauben.

Sobald wir sie auf beiden Seiten installiert haben, können wir feststellen, dass das Chassis frei fällt oder sich dreht. Uns fehlt also tatsächlich etwas, damit die Rocker-Bogie-Aufhängung richtig funktioniert, und das ist das Differenzial.

Mit dem Differenzial werden die beiden Schwingen miteinander und mit dem Rover-Chassis verbunden. Wenn sich bei dieser Konfiguration eine Seite dreht, dreht sich die andere in die entgegengesetzte Richtung, wodurch ein ungefähr gleicher Radkontakt bereitgestellt wird.

Das Chassis hat einen durchschnittlichen Neigungswinkel beider Wippen.

Hier sind alle Teile, die zum Zusammenbau des Differentials benötigt werden.

Da die Differentialstange ziemlich lang ist, habe ich sie aus drei zusammengeschraubten Teilen gemacht, damit wir sie auch auf kleineren 3D-Druckern 3D-drucken können. Die Differentialstange wird in der Mitte des Fahrgestells mit einem Gelenk aus zwei Lagern und einer M8-Schraube gedreht.

Für die Verbindung des Differenzials mit der Schwinge benötigen wir ein Gelenkkopfgelenk. Ich verwende ein M8-Gelenkkopfgelenk und wir benötigen außerdem eine M8-Gewindestange mit 50 mm Länge. Die Gewindestange geht in ein 3D-gedrucktes Teil, das auf der einen Seite eine M8-Mutter hat, und auf der anderen Seite geht es in das Kugelgelenk des Stangenendes.

Hier müssen wir den Abstand zwischen dem 3D-gedruckten Differentiallenker und dem Stangenende anpassen, der etwa 20 mm betragen muss, damit das Chassis horizontal bleibt. Zur Verbindung des Differentiallenkers mit dem Kipphebel verwenden wir zwei Lager und eine M5-Schraube.

Diesen Vorgang wiederholen wir auch für die andere Seite und damit ist unsere Rocker-Bogie-Aufhängung fertig. Wenn eine Seite nach oben geht, geht die andere nach unten und umgekehrt.

Dadurch haben alle Räder ständig Bodenkontakt. Das Chassis macht nur die halbe Bewegung des Beins, oder das Chassis hat einen durchschnittlichen Neigungswinkel beider Wippen.

Siehe auch:Automatischer Betrieb der Arduino-Roboterarm- und Mecanum-Räderplattform

Zusammenbau der Motoren für den Mars Rover

In Ordnung, als nächstes können wir mit der Installation der Gleichstrommotoren fortfahren. Die Motoren, die ich verwende, haben einen Durchmesser von 37 mm, arbeiten mit 12 V und haben ein Getriebe mit einer Leistung von 50 U/min.

Obwohl mir später klar wurde, dass 50 U / min für diesen Rover etwas zu viel sind, würde ich vorschlagen, Versionen mit 20 oder 10 U / min zu wählen.

Zur Befestigung der Räder an den Motoren habe ich diese Wellenkupplungen gemacht.

Hier müssen wir M3-Gewindeeinsätze installieren, die zum Befestigen der Kupplung an der Welle verwendet werden, sowie M4-Muttern zum Befestigen des Rads an der Kupplung. Beim Einsetzen der Muttern sollten wir auch etwas Kleber hinzufügen, damit sie fest an Ort und Stelle bleiben, oder stattdessen Gewindeeinsätze verwenden.

Als nächstes können wir die Räder anbringen. Die Räder bestehen aus zwei Teilen. Das eine ist das Rad, das ich mit flexiblem Filament gedruckt habe, aber es muss nicht sein, und das andere ist die Felge, die mit normalem PLA gedruckt wurde.

Die Felge hat Schlitze, die in das Rad passen und so die Kraft vom Motor auf das Rad übertragen. Wir können einige Tropfen Klebstoff an den Schlitzen hinzufügen, um sie besser zu sichern. Schließlich können wir die Räder mit 4 M4-Schrauben an den Wellenkupplungen oder den Gleichstrommotoren befestigen.

In Ordnung, als nächstes können wir Lenkservomotoren einbauen. Ich verwende High Torque Digitalservos mit 25kgcm Drehmoment und einer Betriebsspannung von 4,8 bis 6,8V. Zur Befestigung der Servos verwenden wir vier M3-Schrauben, die in die M3-Gewindeeinsätze im 3D-gedruckten Teil der Servohalterung gehen.

Montage der Kameraeinheit

Als nächstes können wir die Kameraeinheit zusammenbauen. Für das Schwenken der Kamera habe ich mich für einen NEMA 17-Schrittmotor entschieden, aber Sie können dies hier durch jeden anderen Motortyp ändern.

Die Motorbewegung wird mithilfe einer M5-Gewindestange, die mit einer 3D-gedruckten Wellenkupplung mit dem Motor verbunden ist, auf den oberen Abschnitt übertragen, und auf der anderen Seite verwenden wir ein Lager und zwei Muttern, um die Gewindestange am beweglichen Element zu befestigen. Zum Neigen der Kamera verwende ich ein Servo, das das gleiche ist wie das, das wir für die Lenkräder verwenden.

Viele der Teile hier an der Kameraeinheit sind nicht funktionsfähig und nur vorhanden, um dem Aussehen des echten Rovers zu entsprechen. Für die Montage dieser Teile benötigen wir verschiedene M3-Schrauben und einige Gewindeeinsätze.

Allerdings werde ich auch hier eine echte FPV Kamera einbauen. Ich habe eine eigene Halterung dafür gemacht, damit ich sie am Gehäuse der Kameraeinheit montieren kann. Die Kamera ist leicht zugänglich von der Oberseite, die wir mit einer Schnappabdeckung schließen. Hier ist das endgültige Erscheinungsbild der Kameraeinheit.

Ich habe diese ganze Kamera-Unterbaugruppe in der vorderen rechten Ecke des Gehäuses montiert.

An diesem Punkt können wir entweder mit dem Zusammenbau der restlichen 3D-gedruckten Teile fortfahren, die eigentlich nicht funktionsfähig sind, sondern nur dem Aussehen des echten Rovers entsprechen, oder die Elektronikkomponenten anschließen und den Rover zum Laufen bringen. Ich beschloss, zuerst alle 3D-gedruckten Teile zusammenzubauen und dann die Elektronik zu machen.

Den Rest des Rovers zusammenbauen

Wie ich schon sagte, die folgenden Teile dienen nur dazu, das Aussehen des Rovers anzupassen, daher werde ich nicht im Detail darauf eingehen, wie man sie zusammenbaut. Aus dem 3D-Modell können Sie sehen, wie alles verbunden werden muss.

Ich habe mir wirklich viel Mühe gegeben, diese Teile zu entwerfen, und auf Details geachtet, damit alles gut aussieht.

Diese Teile sind auch ziemlich groß und brauchen einige Zeit, um sie in 3D zu drucken.

Hier ist eine kurze Ansicht, wie ich sie installiert habe.

Die letzten beiden oberen Platten in der Mitte des Rovers sind so konzipiert, dass sie in den Rover einrasten.

Sie fungieren tatsächlich als Haube, die leicht entfernt werden kann, da sich die elektronischen Komponenten in diesem Bereich befinden.

Der Halter für elektronische Komponenten besteht aus zwei 3D-gedruckten Teilen, die miteinander verschraubt sind und zum unteren Rahmen des Chassis gehören.

Elektronik

So, jetzt können wir mit der Elektronik weitermachen. Zuerst müssen wir messen, wie viel Draht wir für jeden Motor benötigen. Ich habe die Drähte direkt an die Motoren gelötet, da ich keine richtigen Motoranschlüsse hatte. Ich habe Schrumpfschlauch zum Isolieren der Anschlüsse verwendet.

Mit Hilfe einiger Kabelbinder können wir die Drähte führen und sauber halten.

Für die Servomotoren können wir Servoverlängerungsdrähte verwenden, um die Drähte zum Elektronikfach zu verlängern. Das Elektronikhalterungsteil hat Schlitze, durch die wir die Drähte führen können, um die Mitte des Rovers zu erreichen.

Insgesamt denke ich, dass die Verkabelung ziemlich sauber herausgekommen ist, wobei die Drähte hinter den sichtbaren Teilen verlaufen.

Siehe auch:SCARA-Roboter | So bauen Sie Ihren eigenen Arduino-basierten Roboter 

DIY Mars Rover Schaltplan

Schauen wir uns jetzt den Schaltplan dieses Rovers an und sehen, wie alles angeschlossen werden muss.

Die für dieses Projekt benötigten Komponenten erhalten Sie über die folgenden Links:

  • Gleichstrommotor 12V 37mm …….……………….…
  • Digitalservo 25kg …………………………….
  • DC-Motortreiber DRV8871 ……………….
  • Schrittmotor – NEMA 17…………………
  • A4988 Schrittmotortreiber………………..…..…
  • Arduino MEGA…………………….…..………
  • DC-DC-Abwärtswandler …………………….
  • 3S LiPo Akku ………………………..……….. 
  • XT60-Anschluss ……………………………… 
  • FLYSKY RC Sender …………………..
  • FPV-Kamera und Videosender …. Amazon / Banggood / AliExpress
  • FPV-Empfänger Ihrer Wahl

Für den Antrieb der sechs DC-Motoren verwenden wir sechs DRV8871-DC-Motortreiber, die PWM-Steuerung und bis zu 3,6 A Spitzenstrom unterstützen. Die Betriebsspannung der DC-Motoren beträgt 12 V, mit einem Nennstrom von 1 A und einem Stillstandsstrom von 3 A. Für die Stromversorgung des Rovers verwende ich einen 3S-LiPo-Akku, der etwa 12 V liefert.

Die Servos hingegen benötigen 4,8 bis 6,8 V, daher benötigen wir einen DC-zu-DC-Wandler, der die 12 V in 6 V umwandelt. Der Konverter muss in der Lage sein, etwa 8 A Strom zu verarbeiten, da die von uns verwendeten Servos ziemlich leistungsstark sind und einen Stillstandsstrom von etwa 2 A haben. Zum Antreiben des Schrittmotors der Kameraeinheit können wir einen A4988- oder DR8825-Schrittmotortreiber verwenden. Mit zwei Widerständen können wir einen einfachen Spannungsteiler herstellen, durch den wir die Batteriespannung überwachen können.

Der RC-Empfänger wird mit den 6 Volt vom Abwärtswandler mit Strom versorgt, und die FPV-Kamera und ihr Videosender werden mit den 12 V aus der Batterie versorgt.

Kundenspezifische PCB

Um die elektronischen Komponenten organisiert zu halten, habe ich eine benutzerdefinierte Platine für diesen DIY-Mars-Rover entworfen.

Diese Platine fungiert tatsächlich als Arduino MEGA-Schild, da wir sie direkt auf der Arduino MEGA-Platine anschließen können. In addition to the motor drivers, I included a 3.3V voltage regulator and a dedicated NRF24L01 connection in case you want to control the rover using that module, as well as connections for an DHT22 sensor, compass, I2C, serial communication, 12V, 5V, 3.3V and GND connections. Actually, I futureproofed this PCB for upgrading the rover’s functionalities.

I ordered the PCB from PCBWay. Here we can simply upload the Gerber file, choose the properties of our PCB, and order it at a reasonable price.

I didn’t change any of the default properties except for the PCB color which I chose to be blue in order to match with the Arduino board. You download the Gerber file here below, or from the PCBWay projects sharing community through which you can also directly order the PCB.

Here’s you can download the Gerber file for this DIY Mars Rover PCB:

Nevertheless, after several days the PCB arrived. The quality of the PCB is great, and everything is exactly the same as in the design.

Assembling the PCB is pretty straight forward as everything is labeled. I started with soldering the pin headers at the bottom of the PCB, for the Arduino MEGA connection and then continued with top side. I actually used pin headers for all connections, because it gives flexibility to make changes if something doesn’t work properly. I didn’t solder the 3.3V voltage regulator as well as some free Arduino pins, as I wasn’t going to use them now anyway.

Once finished with the PCB assembly I secured the Arduino board to the electronics mount part using two bolts and added the PCB to it.

Then I connected each motor to their drivers and put them in place in the PCB. The servos go in their appropriate servo pins, as well as the stepper driver for which I used one jumper for selecting 1/8th stepping resolution.

For the radio communication I’m using the FLYSKY RC transmitter and receiver which are really affordable and work great.

For connecting the receiver to the Arduino, we can use servo extension cables as we need three wires, VCC, GND and the Signal pin. The receiver communicates with the Arduino through an I-BUS and the serial port. If we want to send data back from the receiver to the transmitter, in our case for monitoring battery voltage, we also need to connect the sensor I-BUS of the receiver to another Arduino serial port.

The buck convertor is secured in place using two bolts, and for securing the LiPo battery I’m using two rubber bands so in that way I can easily remove the battery for charging.

The power switch goes in the back right panel of the rover. I used 20-gauge wires for these connections as the current flow through them might get up to several amps when the rover is fully engaged. Make sure you double check your connections with these wires because if you connect something wrong you might fire up things.

Lastly, we can connect the FPV camera to a 12V power supply and connect video signal wire to the video transmitter which also needs to be powered with 12V. With this we are done with the electronics.

We can put back the cover panels in place and we are done with this DIY Mars Rover. Actually, we are almost done, as we need to give life to this machine now, or program the Arduino.

Programming the DIY Mars Rover – Arduino Code

Here you can download the Arduino code for this DIY Mars Rover project:

Code overview

So, using the IBusBM library we read incoming data from the RC Transmitter.

// 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);Code language: Arduino (arduino)

Then we convert these values into a turning radius to right value, turning radius to left value and rover speed from 0 to 100%.

// Convertign the incoming data
  // Steering right
  if (ch0 > 1515) {
    r = map(ch0, 1515, 2000, 1400, 600); // turining radius from 1400mm to 600mm
  }
  // Steering left
  else if (ch0 < 1485) {
    r = map(ch0, 1485, 1000, 1400, 600); // turining 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%Code language: Arduino (arduino)

We use the turning radius “r” value for calculating the steering wheels angles as well as the speed of the wheels.

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);
}Code language: Arduino (arduino)

As I mentioned earlier, we are using the Ackerman steering geometry for calculating them. These values are then used for controlling the servos using the ServoEasing library which provides smoother servo movements.

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

For controlling the DC motors using the analogWrite() function which actually sends PWM signal to the DC motor drivers.

// Motor Wheel 1 - Left Front
      analogWrite(motorW1_IN1, speed2PWM);   // PWM value
      digitalWrite(motorW1_IN2, LOW); // ForwardCode language: Arduino (arduino)

Overall, the code is not that complicated as the rover itself doesn’t have complicated functions. However, I do plan in future videos to add more functions to this rover, like GPS navigation, various sensors, robotic arm, soil collecting mechanism and so on.

I hope you enjoyed this project and learned something new. Feel free to ask any question in the comments section below and check my Arduino Projects Collection.


Herstellungsprozess

  1. Rover
  2. Audiofrequenzdetektor
  3. Tech-TicTacToe
  4. DIY Voltmeter mit Arduino und einem Nokia 5110 Display
  5. Arduino-Countdown-Timer
  6. RC-Porsche-Auto (Arduino-Projekt)
  7. Intelligenter Energiemonitor basierend auf Arduino
  8. DIY-Idee mit RFID
  9. Arduino-Farberkennung
  10. DIY Arduino Höhenmessmaschine