Inhaltsverzeichnis:

RC-Auto in voller Größe - Gunook
RC-Auto in voller Größe - Gunook

Video: RC-Auto in voller Größe - Gunook

Video: RC-Auto in voller Größe - Gunook
Video: DIE 10 BESTEN RC AUTOS! (ab 50€ bis 1250€) - Für Anfänger und Experten! 2024, Juli
Anonim
Image
Image
Komponenten des Systems - Auto
Komponenten des Systems - Auto

Was ist es?

Denken Sie, dass RC-Cars nur etwas für Kinder sind? Denk nochmal! Dieses Tutorial zeigt Ihnen, wie Sie ein 1:1 RC-Auto in Originalgröße ausstatten und bauen. Die Ausstattung eines Autos mit diesen Bedienelementen ist eine gute Ausgangsbasis, um ein eigenes vollautonomes Auto zu bauen (nächste Phase).

HINWEIS: Dieser Build basiert auf einem Auto ohne "Drive-by-Wire". Wenn Sie mein anderes Tutorial für ein „Drive-by-Wire“-Auto lesen möchten, lesen Sie es hier.

Schritt 1: Hintergrund

Image
Image

Ich wollte schon immer mein eigenes selbstfahrendes Auto bauen und es gibt keinen besseren Weg, als ein altes Auto so zu modifizieren, dass alle Bedienelemente ohne einen Menschen im Auto bedient werden können. Also erst mal ein Auto mit diesen Bedienelementen ausstatten und dann per RC fernsteuern.

Ich beschloss, diesen Prozess zu dokumentieren, um anderen zu zeigen, dass die Eintrittsbarriere zum Bau eines autonomen Autos sehr niedrig und nicht sehr teuer ist (<2.000 $). Ich möchte, dass Tausende von Menschen diese Autos bauen, damit wir viel mehr Menschen haben, die über praktische Erfahrung in Mechatronik, Informatik und Ingenieurwesen im Allgemeinen verfügen.

Meine Fähigkeiten

  • Gebaut und restauriert über 8 Autos und 10 Motorräder
  • Habe mein ganzes Leben in der Fertigung gearbeitet
  • Qualifizierter Monteur und Dreher
  • Qualifizierter Werkzeugmacher
  • Bachelor der Informatik
  • Gründer von QRMV - spezialisiert auf Vision Guided Industrial Robotics
  • Mitbegründer/CTO von ollo Wearables - Sprachgesteuertes Mobiltelefon für Senioren/Ältere (Modern Life Alert)
  • Mehrere Patente (erteilt und vorläufig) Telefonie, Geo-Positionierung und Computer Vision

Schritt 2: Erforderliche Fähigkeiten

Ich habe einen sehr technischen Hintergrund, aber ich denke, jeder, der ein bisschen praktisch ist, sollte in der Lage sein, so etwas ganz einfach zu bauen. Wenn Sie nicht über alle Fähigkeiten verfügen, ist es einfach, andere, die Sie kennen, zu bitten, beim Build mitzumachen. Auf diese Weise können Sie sich gegenseitig beibringen.

Mechaniker - kennen Sie sich mit einem Auto und seinen Komponenten aus und wie sie zusammenarbeiten

Mechanisch - in der Lage sein, eine Vielzahl von Hand- und Elektrowerkzeugen (Bohrer, Schleifer, Drehmaschine usw.)

Elektronik - Grundschaltungen verstehen, entwerfen und bauen (Komponentenauswahl, Löten usw.)

Zeichnungserstellung - In der Lage sein, Komponenten in CAD zu zeichnen, die von Dritten bearbeitet werden sollen

Programmierung - In der Lage sein, einfache Arduino-Skizzen zu erstellen, Git zu verwenden usw

Schritt 3: Baukosten

Kurz gesagt - <2.000 $. Die Kosten für den Bau eines dieser Autos hängen wirklich davon ab, wie viel Sie das laufende Auto erhalten können, da dies wahrscheinlich die höchste und variabelste Kostenkomponente im Projekt ist. Für das erste Auto, das ich gebaut habe, konnte ich meinen kleinen Honda Civic von 1991 für 300 Dollar abholen und er war immer noch zugelassen.

Für alle anderen Komponenten, die Sie benötigen, sind sie meistens „von der Stange“, sodass die Preise nicht zu stark variieren.

Schritt 4: Teileliste

Die vollständige Teileliste und Lieferanten/Hersteller finden Sie hier.

  • Auto (ohne Drive-by-Wire-Stil)
  • Linearaktuator (elektrisch) - Gangwahlschalter
  • Linearaktuator (elektrisch) - Bremsen
  • Servo (hohes Drehmoment) - Beschleuniger
  • Elektronisches Servolenkungsmodul - Lenkung
  • Arduino Uno - Steuert die Systemintegration
  • Hochstrom (5A) 5-6V geregeltes Netzteil (für Servo)
  • 8/9 Kanal RC-Controller und Empfänger
  • Deep-Cycle-Batterie (optional)
  • Hilfsbatterie - Spannungsempfindliches Relais (optional)
  • Batteriebox (optional)
  • Batterietrenner
  • 60A Motortreiber (multidirektional)
  • 2 x 32A Motortreiber (multidirektional)
  • 2 x 30A 5V Relaismodule
  • 2 x Schiebepotentiometer
  • 2 x Multiturn-Potentiometer
  • ~50A Leistungsschalter oder Sicherung
  • Not-Aus-Tasten und Kontakte
  • Draht (Hochstrom für Motoren/Batterie und Multicore für den Anschluss)
  • Kfz-Sicherungskasten
  • Flachstahl (25x3mm und 50x3mm)
  • Aluminiumplatte (3-4mm)
  • ABS-Gehäuseboxen für Elektronik
  • Autowerkstatthandbuch

Schritt 5: Komponenten des Systems - Auto

Hinweis: Für dieses Tutorial baue ich auf einem Auto ohne "Drive-by-Wire" auf, das ein 1990er Honda Civic ist. Wenn Sie auf einem "Drive-by-Wire" -Auto aufbauen möchten, werde ich in den kommenden Monaten meine Build-Informationen dazu veröffentlichen.

Für das Auto, das Sie sicherstellen möchten, kreuzen Sie Folgendes an;

  • Auto startet, läuft und kann fahren (wenn nicht, mach es zum Laufen)
  • Es hat Automatikgetriebe
  • Bremsen funktionieren
  • Lichtmaschine ist in Ordnung

Schritt 6: Komponenten des Systems - Einrichtung der Zusatzbatterie (optional)

In diesem Tutorial werde ich eine zweite / zusätzliche zyklenfeste Batterie verwenden, aber dies ist optional. Ich habe mich dafür entschieden, dies in meinem Build zu tun, da die Originalbatterie im Auto super klein war und es einen Deal gab, eine zyklenfeste Batterie mit einem Hilfsbatterierelais-Setup zum gleichen Preis wie eine andere Batterie zu bekommen. Das Wichtigste hier ist, dass Sie eine gut funktionierende Batterie und Lichtmaschine im Auto haben möchten, die bei Bedarf hohen Strom liefern können.

Trennen Sie zuerst die Autobatterie, da wir an beiden Terminals arbeiten. Das Einrichten einer Zusatzbatterie im Auto ist ziemlich einfach. Suchen Sie zunächst einen geeigneten/sicheren Platz, um die zweite Batterie im Auto, Kofferraum oder bei ausreichendem Platz unter der Motorhaube zu montieren.

Montieren Sie das spannungsempfindliche Relais so nah wie möglich an der Starterbatterie.

Verwenden Sie ein dickes Kabel (6 AWG), um vom Pluspol des Starterbatteriesteckers zum spannungsempfindlichen Relais zu führen. Führen Sie dann ein weiteres Stück des dicken Kabels vom spannungsempfindlichen Relais zur Hilfsbatterie und schließen Sie eine Batterieklemme sicher daran an.

Das spannungsempfindliche Relais sollte einen negativen Draht haben, der mit der Masse des Fahrzeugs verbunden werden muss. Stellen Sie sicher, dass dieser Draht/Stecker einen wirklich guten Massekontakt hat.

Verlegen Sie an der Zusatzbatterie ein dickes Kabel (6 AWG) vom Minuspol zu einem Teil der Metallkarosserie des Autos und stellen Sie sicher, dass es eine feste Masse (blankes Metall) hat. Stecken Sie an beiden Enden geeignete Stecker und prüfen Sie, ob die Erdung korrekt ist.

Hinweis: Stellen Sie sicher, dass Ihre Zusatzbatterie sicher montiert ist und sich während der Fahrt nicht bewegt. Ich empfehle, es in eine Batteriebox zu legen, um es sicher und ordentlich zu halten.

Ich empfehle dringend die Verwendung eines Batterietrenners in Ihrem System, um eine einfache und schnelle Trennung der Stromversorgung zu ermöglichen. Platzieren Sie diese inline von Ihrem Batteriestrom zum Sicherungskasten des Controllers

Schritt 7: Komponenten des Systems - Zündung

Die meisten Autos starten mit einem Schlüssel, der im Zündschloss gedreht wurde. Dadurch werden verschiedene Komponenten im Auto mit Strom versorgt, einschließlich der ECU, des Anlassermagnetventils, des Radios, der Lüfter usw. Wir werden das Schlüsselsystem durch Relais ersetzen, die wir von unserem Arudino auslösen können.

Sie benötigen die elektrischen Schaltpläne des Autos, um diese Arbeit auszuführen, aber Sie können sie normalerweise online finden, indem Sie eine schnelle Google-Suche durchführen oder einfach online einen kaufen. Ich würde empfehlen, dass Sie sich das komplette Werkstatthandbuch des Autos besorgen, da es auch andere Informationen enthält, einschließlich Tipps / Tricks zum Entfernen bestimmter Komponenten. Außerdem ist es immer gut, Informationen zur Verfügung zu haben, um andere Autoprobleme zu diagnostizieren und zu beheben, auf die Sie möglicherweise stoßen.

Ich würde auch in Betracht ziehen, die Lenksäule (einschließlich Zündzylinder, Blinkerhebel usw.) aus dem Rack zu entfernen, um mehr Platz zu haben, und Sie werden sie durch eine elektronische Servolenkung ersetzen, damit das alte Setup nicht mehr benötigt wird im Auto gelassen werden.

Sehen Sie sich die elektrischen Schaltpläne des Autos für die Zündung an und bestimmen Sie die Drähte, die in die Zündung führen. Normalerweise gibt es ein abgesichertes positives Konstantstromkabel von der Batterie (IN) und dann eine Reihe anderer Kabel, die herausgeführt werden, um die Fahrzeugkomponenten in den verschiedenen Phasen des Zündungs- / Einschaltzyklus des Fahrzeugs (Aus, ACC, IGN1/Run) mit Strom zu versorgen, IGN2/Start). Finden Sie heraus, welche Drähte welche sind, da Sie in den meisten älteren Autos nur das positive Haupt-IN-Kabel, das IGN1/Run- und das IGN2/Start-Kabel benötigen, um das Auto zum Laufen zu bringen, aber dies variiert von Auto zu Auto.

Für das Auto, das ich hatte, brauchte ich insgesamt nur 3 Drähte, aber sie lieferten hohen Strom, also brauchte ich einige Hochleistungsrelais, um die Last zu schalten. Die Relais, die ich letztendlich verwendet habe, sind 30A 5V-Module, die ich online gefunden habe. Ich wollte etwas, das mit einem hohen Strom von ~ 30 A umgehen und einfach durch ein 5 V-Signal geschaltet werden kann.

Verdrahten Sie die Zündkabel nach Bedarf zu den Relais. Überprüfen Sie immer, ob die Relais funktionieren, bevor Sie sie montieren, da ich in meinem Leben als Bauzeug mehrere "tot bei Ankunft" -Relais hatte, was mich buchstäblich Tage meiner Fehlersuche gekostet hat.

Sie möchten, dass diese Relais auf unterschiedliche Weise funktionieren. Das IGN1/Run-Relais in meinem System schaltete alle Autos ECU, Kühlerlüfter, Zündmodul ein, was mir in gewisser Weise ermöglichen würde, die Autos ein- und auszuschalten. Ohne Stromversorgung des Zündmoduls würde das Auto einfach durchdrehen, aber nie starten. Das IGN2/Start-Relais war direkt mit dem Anlasser-Magnetventil verbunden, das den Motor tatsächlich durchdrehen würde. Mit diesem Relais möchten Sie es nur kurzzeitig einschalten, um das Auto zum Laufen zu bringen, aber sobald es läuft, möchten Sie es ausschalten, um den Anlasser nicht zu töten.

Testen

Schaltung - Bilden Sie einen einfachen Schalter (IGN1/Run Relay) und eine Tasterschaltung (IGN2/Start) als Eingänge für Ihren Arduino

Programmierung - Schreiben Sie ein einfaches Testskript, um zu testen, ob beide Relais arbeiten, ohne dass die Starterbatterie angeschlossen ist. Sobald Sie mit Ihrer Schaltung und Ihrem Skript vertraut sind, schließen Sie die Starterbatterie an und testen Sie sie. An diesem Punkt sollten Sie Ihr Auto starten und stoppen können.

Meilenstein

An dieser Stelle sollten Sie haben;

  1. IGN1/Run-Relais verdrahtet
  2. IGN2/Startrelais verdrahtet
  3. Steuerung der beiden Relais Ein/Aus-Operationen über Arduino
  4. Testschaltung zur Ansteuerung der Relais
  5. das Auto starten können
  6. das Auto ausschalten können

Schritt 8: Komponenten des Systems - Gangwahlschalter

Da wir in dieser Bauweise ein Auto mit Automatikgetriebe verwenden, ist es relativ einfach, die Gänge zu wechseln, da wir den Hebel nur in einer linearen Bewegung an bestimmte Punkte bewegen müssen.

Hinweis: Ich habe mich entschieden, den vorhandenen Hebel zu verwenden und nicht direkt mit dem Übertragungskabel zu verbinden, da ich das Auto so originalgetreu und das Interieur so normal wie möglich halten wollte.

Das einzig Schwierige ist, dass Sie bei den meisten Automatikgetrieben einen Knopf drücken müssen, bevor Sie den Getriebehebel bewegen können. Da wir einen Linearantrieb mit Schneckengewinde verwenden, können wir seine Selbsthemmung nutzen, um den Übertragungshebel in Position zu halten, wenn er sich nicht bewegt. So können Sie die Taste dauerhaft im "gedrückten" Zustand verriegeln.

Der hier verwendete Linearaktuator musste genügend Hub haben, um von der Parkposition in den Rückwärtsgang, in die Neutralstellung und dann in den Fahrbetrieb zu wechseln. In meinem Autofall waren es ungefähr 100 mm von der Stelle, an der ich den Aktuator montierte. Die Kraft, die zum Bewegen des Hebels erforderlich war, war sehr gering (<5 kg), sodass ich am Ende einen 150-mm-Hub / 70-kg-Kraftaktor verwendet habe, wie er auf Lager war.

Um die Basis des Aktuators zu montieren, habe ich eine Halterung angeschweißt und an einem Teil des Stahlrahmens befestigt, der in der Mittelkonsole verwendet wurde. Dies ermöglichte es ihm, sich beim Ausfahren/Einziehen durch seinen Hub leicht zu drehen.

Für die Befestigung am Übertragungshebel habe ich nur ein paar Stücke Stahlflacheisen geschnitten und ein paar Schrauben verwendet, um es an Ort und Stelle zu halten. Es ist nicht fest um den Hebel geklemmt, es hält ihn nur fest. Dies ermöglicht es ihm, sich zu bewegen und nicht zu binden, während er sich bewegt.

Zur Bestimmung der Position des Aktors verwendete ich ein Schiebepotentiometer, das ein analoges Signal an meinen Arduino zurücksenden würde. Ich habe eine benutzerdefinierte Halterung für den Topf zum Aktuator aus einer flachen Stange gemacht. Ich faltete dann die Laschen des Topfschiebers um die Befestigungsschraube des Getriebehebels. Es funktioniert, aber ich sollte dies ändern, um eine bessere Befestigung für den Pots-Slider zu haben.

Um den Aktuator mit Strom zu versorgen, habe ich einen Motortreiber verwendet, der vorwärts und rückwärts gehen und über einen Mikrocontroller gesteuert werden kann. Ich habe einen 2x32A Sabertooth Motor Driver von Dimension Engineering verwendet, aber Sie können gerne alles verwenden, was ähnlich funktioniert. Der erste Kanal wird verwendet, um den Gangwahlschalter zu steuern, und der zweite wird den Bremsaktuator steuern. Die Verdrahtung und Konfiguration dieses Motortreibers ist unkompliziert und gut dokumentiert. Verdrahten Sie den Plus- und Minuspol der Batterie wie beschriftet und verbinden Sie die Aktuatordrähte mit dem Motorausgang 1. Verbinden Sie die 0V mit der Masse Ihres Arduino und den S1-Draht mit einem digitalen Ausgangspin.

Hinweis: Ich habe die einfache serielle Konfiguration für diesen Build verwendet und es schien ziemlich gut zu funktionieren. Dimension Engineering hat auch einige Bibliotheken erstellt, um die Kommunikation mit ihren Treibern sehr einfach zu machen. Sie haben auch einige einfache Beispiele, um Sie schnell zum Laufen zu bringen.

Testen

Schaltung - Um den Antrieb vorwärts und rückwärts zu bewegen, bilden Sie eine einfache Schaltung mit zwei Tastern als Eingängen. Einer zum Ausfahren des Aktuators und der andere zum Einfahren des Aktuators. Dies gibt Ihnen dann eine gewisse Kontrolle über die Positionierung des Aktuators in die Gangpositionen.

Programmierung - Schreiben Sie ein einfaches Skript, um den Aktor hin und her zu bewegen und den Wert vom Schiebepotentiometer auszugeben. Beachten Sie beim Ausführen des Skripts die Potentiometerwerte für die Stellungen Park, Rückwärts, Neutral und Drive. Sie benötigen diese, um dem Stellantrieb im vollständigen Code mitzuteilen, dass er diese Positionen anfährt.

Meilenstein

An dieser Stelle sollten Sie haben;

  1. Stellantrieb fest im Auto montiert
  2. Befestigung um Wählhebel/Betätiger
  3. Motortreiber verdrahtet mit Aktuator und Arduino
  4. Steuerung des Aus-/Einfahrens des Aktuators über den Arduino
  5. Testschaltung zur Kontrolle des Aus-/Einfahrens des Betätigers
  6. kennen die Potentiometerwerte/-stellungen für jede Gangstellung

Hinweis: Sie können auch einen Schalter mit mehreren Positionen verwenden, um den Gangwahleingang Ihres Arduino zu testen, sobald Sie die Positionen kennen. Auf diese Weise können Sie den Gangwahlcode direkt in die fertige Codebasis des laufenden Autos kopieren.

Schritt 9: Komponenten des Systems - Bremsen

Image
Image

Das Anhalten des Autos ist ziemlich wichtig, also möchten Sie sicherstellen, dass Sie dieses Stück richtig machen. Die Bremsen eines Autos werden normalerweise mit dem Fuß betätigt, der bei Bedarf eine große Kraft aufbringen kann. In diesem Build verwenden wir einen anderen Linearantrieb, der den Fuß ausführt. Dieser Aktuator musste eine hohe Kraft (~30kg) haben, benötigte aber nur einen kurzen Hub von ~60mm. Ich konnte einen Aktuator mit 100 mm Hub / 70 kg Kraft bekommen, da er auf Lager war.

Es war etwas schwierig, den richtigen Ort für die Montage des Stellantriebs zu finden, aber mit etwas Ausprobieren fand ich eine sichere Position. Ich schweißte ein Stück Stahlflachstange auf die Seite des Bremspedalarms und bohrte ein Loch durch, wo ich eine Schraube von der Oberseite des Aktuators lief. Am anderen Ende des Aktuators habe ich dann eine Schwenkhalterung an den Grundriss des Autos geschweißt.

Zur Bestimmung der Position des Aktuators verwendete ich ein Schiebepotentiometer (gleiches Setup wie der Gangwahlschalter), das ein analoges Signal an meinen Arduino zurücksenden würde. Ich habe eine benutzerdefinierte Halterung für den Topf zum Aktuator aus einer flachen Stange gemacht. Ich faltete dann die Laschen des Topfschiebers um eine kleine flache Stangenlasche, die ich am Ende des Aktuators montierte.

Zur Stromversorgung des Aktuators habe ich den anderen Kanal des 2x32A Sabertooth Motor Driver verwendet. Um beide Motoren anzusteuern, brauchen Sie nur den einen Draht (S1) zu verwenden.

Hinweis: Ich habe die einfache serielle Konfiguration für diesen Build verwendet und es schien ziemlich gut zu funktionieren. Dieser Motortreiber kann auf verschiedene Weise konfiguriert werden, also wählen Sie eine Methode, die Sie bevorzugen.

Testen

Positionierung - Bevor Sie den Aktuator direkt an das Bremspedal anschließen, sollten Sie sich ein Bild davon machen, wie weit das Pedal zum Betätigen der Bremsen zurücklegen muss. Ich trat mit dem Fuß auf die Bremse, um das Auto zum Stehen zu bringen (Haltestopp, keine Vollbremsung). Dann bewegte ich den Aktuator, um seine Anschlusshalterung mit der geschweißten Bremsbefestigung auszurichten. Ich habe den Ausgangswert des Potentiometers aufgezeichnet, damit ich dann meine maximale Bremsdruckposition kannte.

Ich habe das gleiche wie oben für die Bremse-Off-Position gemacht.

Schaltung - Um den Antrieb vorwärts und rückwärts zu bewegen, bilden Sie eine einfache Schaltung mit zwei Tastern als Eingängen. Einer zum Ausfahren des Aktuators und der andere zum Einfahren des Aktuators. Dies gibt Ihnen dann eine gewisse Kontrolle über die Positionierung des Aktuators in die Gangpositionen.

Programmierung - Schreiben Sie ein einfaches Skript, um den Aktor hin und her zu bewegen und den Wert vom Schiebepotentiometer auszugeben. Beachten Sie beim Ausführen des Skripts die Potentiometerwerte für die Bremsen-Ein- und -Aus-Positionen. Sie benötigen diese, um dem Stellantrieb im vollständigen Code mitzuteilen, dass er diese Positionen anfährt.

Meilenstein

An dieser Stelle sollten Sie haben;

  1. Stellantrieb fest im Auto montiert
  2. Befestigung für das Bremspedal am Aktuator
  3. Motortreiber verdrahtet mit Aktuator und Arduino
  4. Steuerung des Aus-/Einfahrens des Aktuators über den Arduino
  5. Testschaltung zur Kontrolle des Aus-/Einfahrens des Betätigers
  6. kennen die Potentiometerwerte/Positionen für die Bremse Aus- und Ein-Positionen

Hinweis: Im endgültigen Code verwende ich das RC-Controller-Signal vom Kanal, um zu steuern, wie viel Druck proportional zu ihrer Knüppelposition auf die Bremse ausgeübt werden soll. Dies gab mir die Bandbreite von komplett aus bis hin zu vollständig an.

Schritt 10: Komponenten des Systems - Beschleuniger

Lassen Sie uns nun diese Motoren auf Touren bringen und dazu müssen wir das Gaspedal anschließen. Da wir ein Auto ohne Drive-by-Wire verwenden, ziehen wir tatsächlich an einem Kabel, das mit dem Drosselklappengehäuse verbunden ist. Drosselklappen haben normalerweise eine starke Feder, die die Drosselklappe beim Loslassen des Gaspedals sehr schnell schließt. Um diese Kraft zu überwinden, habe ich ein Servo mit hohem Drehmoment (~ 40 kg / cm) verwendet, um am Kabel zu ziehen.

Ich habe dieses Servo auf ein Stück Stahlflachstange geschraubt und mit einigen rechtwinkligen Klammern an der Seite der Mittelkonsole montiert. Ich musste auch ein längeres Gaskabel (2m) kaufen, da das serienmäßige Kabel, das im Auto verwendet wurde, zu kurz war. Dadurch habe ich auch viel mehr Befestigungsmöglichkeiten, was mir viel Zeit gespart hat.

Beachten Sie, dass diese Servos mit hohem Drehmoment normalerweise einen höheren Strom als den normalen Strom ziehen, also stellen Sie sicher, dass Sie ihn entsprechend versorgen können. Ich habe dafür ein 5V 5A geregeltes Netzteil verwendet, das leicht genug Strom liefert, um mit vollem Drehmoment zu laufen. Das Signalkabel vom Servo wurde dann zu einem digitalen Ausgang des Arduino zurückgeführt.

Testen

Programmierung - Schreiben Sie ein einfaches Skript, um das Servo von der Gaspedal-Aus-Position in die volle Position zu drehen (wenn Sie Spiel sind). Ich habe einen Gaspedal-Konfigurationsparameter hinzugefügt, der die Bewegungsmenge des Servos begrenzen würde, damit ich das Gaspedalgefühl schnell anpassen kann.

Meilenstein

An dieser Stelle sollten Sie haben;

  1. Servo sicher montiert
  2. Gaszug vom Drosselklappengehäuse zum Servolenker verbunden
  3. Netzteil verdrahtet, um genügend Strom für den Servo bereitzustellen
  4. Steuerung der Servoposition über Arduino
  5. bekannte Positionen für Servo für Gaspedal aus und voll ein

Hinweis: Im endgültigen Code verwende ich das RC-Controller-Signal vom Kanal, um zu steuern, wie viel Bewegung proportional zu seiner Knüppelposition auf das Gaspedal ausgeübt werden soll. Dies gab mir den Bereich von vollständig aus bis hin zu vollständig mit dem Beschleuniger-Konfigurationsparameter als Begrenzer.

Schritt 11: Komponenten des Systems - Lenkung

Image
Image
Komponenten des Systems - Lenkung
Komponenten des Systems - Lenkung

Es ist ziemlich wichtig, das Auto dorthin zu lenken, wo wir es haben wollen. Die meisten Autos, die in der Vergangenheit (vor ~2005) hergestellt wurden, verwendeten eine hydraulische Servolenkung, um das Drehen des Lenkrads für den Benutzer sehr leicht zu machen. Seitdem die Technologie und die Automobilhersteller aufgefordert wurden, Emissionen zu reduzieren, haben sie elektronische Servolenkungssysteme (EPS) entwickelt. Diese Systeme verwenden einen Elektromotor und einen Drehmomentsensor, um den Fahrer beim Drehen der Räder zu unterstützen. Durch das Entfernen der hydraulischen Servolenkungspumpe wird der Motor jetzt weniger belastet, was wiederum ein Fahren mit niedrigeren Motordrehzahlen ermöglicht (Reduzierung der Emissionen). Lesen Sie hier mehr über EPS-Systeme.

In der Einrichtung, um mein kleines Auto zu steuern, habe ich eine elektronische Servolenkung (EPS) von einem 2009er Nissan Micra verwendet. Ich kaufte es von einem Autowrecker / Schrottplatz für 165 $. Ich habe dieses EPS-Modul über eine Halterung, die ich aus einer Stahlflachstange gebogen habe, an die vorhandenen Lenksäulenbefestigungsschrauben montiert.

Ich musste auch die untere Lenksäulenwelle (~ $ 65) kaufen, um das EPS mit dem Keil der Zahnstange zu verbinden. Damit dies in mein Auto passt, habe ich die Lenksäulenwelle modifiziert, indem ich die Verzahnung der Originallenksäule, die ich aus der Honda herausgeschnitten habe, an diese Welle geschnitten und geschweißt habe.

Um den EPS-Motor links oder rechts anzutreiben / zu steuern, habe ich einen 2x60A Sabertooth Motor Driver Controller von Dimension Engineering verwendet. Ich habe nur einen der Kanäle verwendet, aber Sie müssen sicherstellen, dass Sie einen Motortreiber verwenden, der ~ 60 A + kontinuierlich liefern kann, in Vorwärts- / Rückwärtsrichtung arbeitet und auch über einen Mikrocontroller gesteuert werden kann.

Um die Position des Lenkwinkels zu kennen, habe ich einen benutzerdefinierten Lenkwinkelsensor entwickelt. Die meisten Autos verwenden eine digitale Version, die über den CAN-Bus funktioniert, was mich nicht stören könnte. Für meinen analogen Positionssensor habe ich 2 Multiturn-Potentiometer (5 Umdrehungen), 3 Zahnriemenscheiben, einen Zahnriemen und eine Aluminiumplatte verwendet, um die Komponenten zu montieren. Jedes Steuerzahnrad habe ich gebohrt und mit Gewinde versehene Löcher für Madenschrauben und dann an den Töpfen und EPS habe ich Abflachungen bearbeitet, um zu verhindern, dass sich die Zahnräder frei drehen. Diese wurden dann über einen Zahnriemen verbunden. Wenn das Lenkrad zentriert war, waren die Töpfe bei 2,5 Umdrehungen. Bei vollem linken Lenkeinschlag wären es 0,5 Umdrehungen und bei vollem rechten Lenkeinschlag 4,5 Umdrehungen. Diese Töpfe wurden dann mit analogen Eingängen auf dem Arduino verdrahtet.

Hinweis: Der Grund für die Verwendung von zwei Töpfen war, dass ich, wenn der Riemen rutschte oder brach, die Unterschiede zwischen den Töpfen lesen und einen Fehler ausgeben konnte.

Testen

Positionierung - Bevor Sie das EPS an die untere Lenksäule und die Zahnstange des Autos anschließen, testen Sie am besten Ihren Code für das EPS und den getrennten Lenkwinkelsensor.

Schaltung - Um die EPS nach links oder rechts zu drehen, bilden Sie eine einfache Schaltung mit zwei Tasten als Eingängen. Einer zum Drehen des EPS nach links und der andere zum Drehen nach rechts. Dies gibt Ihnen dann eine gewisse Kontrolle über die Positionierung des EPS in den Lenkpositionen.

Programmierung - Schreiben Sie ein einfaches Skript, um das Lenkrad in der Mitte, links und rechts zu positionieren. Sie werden die Leistung, die dem Motor zugeführt wird, kontrollieren wollen, da ich festgestellt habe, dass 70% mehr als genug waren, um die Räder zu drehen, während das Auto still stand. Die Leistungsabgabe an die EPS erfordert auch eine Beschleunigungs-/Verzögerungskurve, um die Lenkung reibungslos zu positionieren.

Meilenstein

An dieser Stelle sollten Sie haben;

  1. Elektronische Servolenkung (EPS) sicher montiert
  2. untere Lenksäule modifiziert, um vom EPS zur Zahnstange zu fahren
  3. Lenkwinkelsensor, der den Winkel der Zahnstange für Arduino bereitstellt
  4. Motortreiber verdrahtet mit EPS und Arduino
  5. Steuerung der Drehung der EPS über den Arduino
  6. Testschaltung zur Kontrolle der Drehrichtung der EPS
  7. Drehen Sie die Lenkung des Autos ganz nach links, in die Mitte und nach rechts über Arduino

Schritt 12: Komponenten des Systems - Empfänger/Sender

Komponenten des Systems - Empfänger/Sender
Komponenten des Systems - Empfänger/Sender

Nun zu dem lustigen Teil, der all die Arbeit verbindet, die Sie bisher geleistet haben. Die Fernbedienung ist die erste Phase des Entfernens der menschlichen Komponente des Fahrens, da die Befehle jetzt an den Empfänger gesendet und dann in den Arduino eingespeist werden, um ausgeführt zu werden. In der zweiten Phase dieser Serie werden wir den Menschen und den RC-Sender/Empfänger durch einen Computer und Sensoren ersetzen, um zu steuern, wohin es geht. Aber lassen Sie uns jetzt durchgehen, wie Sie den RC-Sender und -Empfänger einrichten.

Um die Komponenten, die wir bisher im Auto eingebaut haben, zu steuern, müssen wir die Ausgangskanäle des RC-Empfängers mit dem Arduino verdrahten. Für diesen Build habe ich nur 5 Kanäle verwendet (Beschleuniger und Bremse auf demselben Kanal), Lenkung, Gangwahlschalter (3-Positionsschalter), Zündstufe 1 (Auto Power / Run) und Zündstufe 2 (Autostarter). Diese wurden alle vom Arduino mit der PulseIn-Funktion bei Bedarf gelesen.

Testen

Programmierung - Schreiben Sie ein einfaches Skript, um alle Empfängerkanäle zu lesen, die Sie verwenden, um Ihre Systeme im Auto zu steuern. Sobald Sie sehen, dass alle Empfängerkanäle korrekt funktionieren, können Sie damit beginnen, den zuvor erstellten Code in den Empfängercode zu integrieren. Ein guter Ausgangspunkt ist das Zündsystem. Ersetzen Sie das Lesen der Eingänge von Schalter und Taste in der von Ihnen erstellten Testschaltung durch die RC-Empfängerkanäle, die Sie zur Steuerung des Zündsystems eingerichtet haben (IGN1/Run und IGN2/Start).

Hinweis: Wenn Sie den Turnigy 9x-Sender wie ich verwenden, sollten Sie ihn auseinandernehmen und ein paar Schalter bewegen. Ich habe den momentanen "Trainer" -Schalter mit dem Kippschalter "Throttle Hold" getauscht, um den IGN2/Start-Eingang zu steuern. Ich habe das gemacht, weil man den Schalter „Trainer“nicht als Hilfsschalter programmieren konnte, aber mit dem Schalter „Throttle Hold“. Mit einem kurzzeitigen Schalter für den IGN2/Start-Eingang konnte ich den Startermotor nicht zerstören, da er nur das Relais hoch halten würde, während

Meilenstein

An dieser Stelle sollten Sie haben;

  1. Alle Empfängerausgänge sind mit dem Arduino verbunden
  2. Arduino kann die Eingänge für jeden Kanal lesen
  3. Jeder Kanal kann jede Fahrzeugkomponente (Bremsen, Gangwahlschalter usw.) steuern

Schritt 13: Endgültiges Programm

Dies liegt an Ihnen, aber unten finden Sie einen Link zu meinem Code, der Ihnen als grundlegender Ausgangspunkt hilft, Ihr Auto zum Laufen zu bringen.