Inhaltsverzeichnis:

HackerBoxes 0013: Autosport - Gunook
HackerBoxes 0013: Autosport - Gunook

Video: HackerBoxes 0013: Autosport - Gunook

Video: HackerBoxes 0013: Autosport - Gunook
Video: Hackerboxes 0013: AUTOSPORT 2024, November
Anonim
HackerBoxes 0013: Autosport
HackerBoxes 0013: Autosport

AUTOSPORT: Diesen Monat erforschen HackerBox-Hacker die Automobilelektronik. Dieses Instructable enthält Informationen für die Arbeit mit HackerBoxes #0013. Wenn Sie jeden Monat eine solche Box direkt in Ihre Mailbox erhalten möchten, ist es jetzt an der Zeit, HackerBoxes.com zu abonnieren und an der Revolution teilzunehmen!

Themen und Lernziele dieser HackerBox:

  • Anpassung der NodeMCU für Arduino
  • Zusammenbau eines 2WD Car Kits
  • Verdrahten einer NodeMCU zur Steuerung eines 2WD Car Kit
  • Steuern einer NodeMCU über WLAN mit Blynk
  • Verwendung von Sensoren für die autonome Navigation
  • Arbeiten mit Automotive On-Board Diagnostics (OBD)

HackerBoxes ist der monatliche Abo-Box-Service für DIY-Elektronik und Computertechnik. Wir sind Bastler, Macher und Experimentatoren. Hacken Sie den Planeten!

Schritt 1: HackerBoxes 0013: Inhalt der Box

HackerBoxes 0013: Lieferumfang
HackerBoxes 0013: Lieferumfang
HackerBoxes 0013: Lieferumfang
HackerBoxes 0013: Lieferumfang
HackerBoxes 0013: Lieferumfang
HackerBoxes 0013: Lieferumfang
  • HackerBoxes #0013 Sammelbare Referenzkarte
  • 2WD Auto-Chassis-Kit
  • NodeMCU WiFi-Prozessormodul
  • Motorschild für NodeMCU
  • Jumperblock für Motorschild
  • Batteriebox (4 x AA)
  • HC-SR04 Ultraschall-Entfernungssensor
  • TCRT5000 IR-Reflexionssensoren
  • DuPont weiblich-weiblich Pullover 10cm
  • Zwei rote Lasermodule
  • Mini-ELM327 On-Board-Diagnose (OBD)
  • Exklusives HackerBoxes Racing Aufkleber

Einige andere Dinge, die hilfreich sein werden:

  • Vier AA-Batterien
  • Doppelseitiges Schaumstoffband oder Klettstreifen
  • microUSB-Kabel
  • Smartphone oder Tablet
  • Computer mit Arduino-IDE

Am wichtigsten sind Abenteuerlust, DIY-Geist und Hacker-Neugier. Hardcore-Hobby-Elektronik ist nicht immer einfach, aber wenn Sie hartnäckig bleiben und das Abenteuer genießen, können Sie viel Befriedigung daraus ziehen, durchzuhalten und Ihre Projekte zum Laufen zu bringen. Gehen Sie jeden Schritt langsam vor, achten Sie auf die Details und zögern Sie nicht, um Hilfe zu bitten.

Schritt 2: Automobilelektronik und selbstfahrende Autos

Automobilelektronik und selbstfahrende Autos
Automobilelektronik und selbstfahrende Autos
Automobilelektronik und selbstfahrende Autos
Automobilelektronik und selbstfahrende Autos

Automobilelektronik sind alle elektronischen Systeme, die in Straßenfahrzeugen verwendet werden. Dazu gehören Carputer, Telematik, In-Car-Entertainment-Systeme und so weiter. Die Automobilelektronik entstand aus der Notwendigkeit, Motoren zu steuern. Die ersten wurden zur Steuerung von Motorfunktionen verwendet und wurden als Motorsteuergeräte (ECU) bezeichnet. Als elektronische Steuerungen für immer mehr Automobilanwendungen verwendet wurden, nahm das Akronym ECU die allgemeinere Bedeutung von "elektronische Steuereinheit" an, und dann wurden spezifische ECUs entwickelt. Heute sind ECUs modular. Zwei Typen umfassen Motorsteuermodule (ECM) oder Getriebesteuermodule (TCM). Ein modernes Auto kann bis zu 100 ECUs haben.

Funkgesteuerte Autos (R/C-Autos) sind Autos oder Lastwagen, die mit einem speziellen Sender oder einer Fernbedienung aus der Ferne gesteuert werden können. Der Begriff "R/C" wurde verwendet, um sowohl "ferngesteuert" als auch "funkgesteuert" zu bedeuten, aber die gängige Verwendung von "R/C" bezieht sich heute normalerweise auf Fahrzeuge, die durch eine Hochfrequenzverbindung gesteuert werden.

Ein autonomes Auto (fahrerloses Auto, selbstfahrendes Auto, Roboterauto) ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und ohne menschliches Zutun zu navigieren. Autonome Autos können die Umgebung mit einer Vielzahl von Techniken wie Radar, Lidar, GPS, Odometrie und Computer Vision erkennen. Fortschrittliche Kontrollsysteme interpretieren sensorische Informationen, um geeignete Navigationspfade sowie Hindernisse und relevante Beschilderung zu identifizieren. Autonome Autos verfügen über Steuersysteme, die in der Lage sind, sensorische Daten zu analysieren, um zwischen verschiedenen Autos auf der Straße zu unterscheiden, was bei der Planung eines Wegs zum gewünschten Ziel sehr nützlich ist.

Schritt 3: Arduino für NodeMCU

Arduino für NodeMCU
Arduino für NodeMCU
Arduino für NodeMCU
Arduino für NodeMCU

NodeMCU ist eine Open-Source-IoT-Plattform. Es enthält Firmware, die auf dem ESP8266 Wi-Fi SoC von Espressif Systems läuft, und Hardware basierend auf dem ESP-12-Modul.

Die Arduino-IDE kann jetzt einfach erweitert werden, um die Programmierung von NodeMCU-Modulen zu unterstützen, als wären sie jede andere Arduino-Entwicklungsplattform.

Stellen Sie zunächst sicher, dass Sie die Arduino IDE (www.arduino.cc) sowie Treiber für den entsprechenden Serial-USB-Chip auf dem von Ihnen verwendeten NodeMCU-Modul installiert haben. Derzeit enthalten die meisten NodeMCU-Module den CH340 Serial-USB-Chip. Der Hersteller der CH340-Chips (WCH.cn) hält Treiber für alle gängigen Betriebssysteme bereit. Schauen Sie sich die Google-Übersetzungsseite für ihre Website an.

Führen Sie die Ardino IDE aus, gehen Sie zu den Einstellungen und suchen Sie das Feld zur Eingabe von "Additional Board Manager URLs"

Fügen Sie diese URL ein:

arduino.esp8266.com/stable/package_esp8266com_index.json

So installieren Sie den Board Manager für ESP8266.

Schließen Sie nach der Installation die IDE und starten Sie sie erneut.

Verbinden Sie nun das NodeMCU-Modul über ein microUSB-Kabel (wie von den meisten Mobiltelefonen und Tablets verwendet) mit Ihrem Computer.

Wählen Sie den Board-Typ innerhalb der Arduino IDE als NodeMCU 1.0

Wir laden und testen die Blink-Demo immer gerne auf einem neuen Arduino-Board, um sicher zu sein, dass alles richtig funktioniert. Die NodeMCU ist keine Ausnahme, aber Sie müssen den LED-Pin vor dem Kompilieren und Hochladen von Pin13 auf Pin16 ändern. Stellen Sie sicher, dass dieser Schnelltest korrekt funktioniert, bevor Sie mit der Arduino NodeMCU zu etwas Komplizierterem übergehen.

Hier ist eine Anleitung, die den Setup-Prozess für Arduino NodeMCU mit einigen verschiedenen Anwendungsbeispielen durchgeht. Es ist hier etwas vom Ziel abgekommen, aber es kann hilfreich sein, einen anderen Standpunkt zu finden, wenn Sie nicht weiterkommen.

Schritt 4: 2WD Auto-Chassis-Kit

2WD Auto-Chassis-Kit
2WD Auto-Chassis-Kit
2WD Auto-Chassis-Kit
2WD Auto-Chassis-Kit
2WD Auto-Chassis-Kit
2WD Auto-Chassis-Kit

Inhalt des 2WD Auto-Chassis-Kits:

  • Aluminium-Chassis (Farben variieren)
  • Zwei FM90 DC-Motoren
  • Zwei Räder mit Gummireifen
  • Freilaufrolle
  • Montagehardware
  • Montagezubehör

Die FM90 DC-Motoren sehen aus wie Mikroservos, da sie im gleichen Kunststoffgehäuse wie herkömmliche Mikroservos wie FS90, FS90R oder SG92R eingebaut sind. Der FM90 ist jedoch kein Servo. Der FM90 ist ein Gleichstrommotor mit einem Kunststoffgetriebe.

Die Drehzahl des FM90-Motors wird durch Pulsweitenmodulation (PWM) der Stromkabel gesteuert. Die Richtung wird wie bei jedem bürstenbehafteten Gleichstrommotor durch Vertauschen der Strompolarität gesteuert. Der FM90 kann mit 4-6 Volt Gleichstrom betrieben werden. Obwohl es klein ist, zieht es genug Strom, um nicht direkt von einem Mikrocontroller-Pin angesteuert zu werden. Es sollte ein Motortreiber oder eine H-Brücke verwendet werden.

Spezifikationen des DC-Motors FM90:

  • Abmessungen: 32,3 mm x 12,3 mm x 29,9 mm / 1,3" x 0,49" x 1,2"
  • Spline-Anzahl: 21
  • Gewicht: 8,4g
  • Leerlaufdrehzahl: 110 U / min (4,8 V) / 130 U / min (6 V)
  • Betriebsstrom (ohne Last): 100 mA (4,8 V) / 120 mA (6 V)
  • Maximales Stillstandsdrehmoment (4,8 V): 1,3 kg/cm / 18,09 oz/in
  • Maximales Stalldrehmoment (6 V): 1,5 kg/cm/20,86 oz/in
  • Stillstandsstrom: 550 mA (4,8 V) / 650 mA (6 V)

Schritt 5: Auto-Chassis: Mechanische Montage

Auto-Chassis: Mechanische Montage
Auto-Chassis: Mechanische Montage
Auto-Chassis: Mechanische Montage
Auto-Chassis: Mechanische Montage
Auto-Chassis: Mechanische Montage
Auto-Chassis: Mechanische Montage

Das Auto-Chassis lässt sich einfach nach diesem Schema zusammenbauen.

Beachten Sie, dass es zwei kleine Taschen mit Hardware gibt. Einer enthält Montageteile mit sechs 5 mm-M3-Abstandshaltern aus Messing sowie passenden Schrauben und Muttern. Diese Montageteile können in späteren Schritten der Montage von Controllern, Sensoren und anderen Elementen am Chassis nützlich sein.

Für diesen Schritt verwenden wir die Montagehardware, die Folgendes umfasst:

  • Vier dünne M2x8 Schrauben und kleine passende Muttern zur Befestigung der Motoren
  • Vier dickere M3x10-Schrauben und größere passende Muttern zur Befestigung des Lenkrads
  • Zwei PB2.0x8 Schrauben mit Grobgewinde zur Befestigung der Räder an den Motoren

Beachten Sie, dass die FM90-Motoren so ausgerichtet sind, dass die Kabeldrähte von der Rückseite des zusammengebauten Chassis ausgehen.

Schritt 6: Auto-Chassis: Power Pack und Controller hinzufügen

Auto-Chassis: Power Pack und Controller hinzufügen
Auto-Chassis: Power Pack und Controller hinzufügen
Auto-Chassis: Power Pack und Controller hinzufügen
Auto-Chassis: Power Pack und Controller hinzufügen
Auto-Chassis: Power Pack und Controller hinzufügen
Auto-Chassis: Power Pack und Controller hinzufügen

Die Motorabschirmungsplatine ESP-12E unterstützt das direkte Anschließen des NodeMCU-Moduls. Die Motorabschirmung enthält einen L293DD Push-Pull-Motortreiberchip (Datenblatt). Die Motorkabel sollten an die Schraubklemmen A+/A- und B+/B- am Motorschirm angeschlossen werden (nach dem Entfernen der Stecker). Die Batteriekabel sollten an die Schraubklemmen des Batterieeingangs angeschlossen werden.

Dreht sich eines der Räder in die falsche Richtung, können die Leitungen zum entsprechenden Motor an den Schraubklemmen vertauscht oder das Richtungsbit im Code invertiert werden (nächster Schritt).

Auf dem Motorschild befindet sich ein Netzschalter aus Kunststoff, um die Batterieeingangsversorgung zu aktivieren. Der Jumper-Block kann verwendet werden, um Strom von der Motorabschirmung zur NodeMCU zu leiten. Ohne den installierten Jumperblock kann sich die NodeMCU selbst über das USB-Kabel mit Strom versorgen. Bei installiertem Jumperblock (wie abgebildet) versorgt die Batterie die Motoren und wird auch zum NodeMCU-Modul geleitet.

Die Motorabschirmung und der Akku können am Chassis montiert werden, indem die Schraubenlöcher mit den verfügbaren Öffnungen im Aluminium-Chassis ausgerichtet werden. Wir finden es jedoch einfacher, sie einfach mit doppelseitigem Schaumklebeband oder Klettverschlussstreifen am Chassis zu befestigen.

Schritt 7: Autochassis: Programmierung und Wi-Fi-Steuerung

Auto-Chassis: Programmierung und Wi-Fi-Steuerung
Auto-Chassis: Programmierung und Wi-Fi-Steuerung

Blynk ist eine Plattform mit iOS- und Android-Apps zur Steuerung von Arduino, Raspberry Pi und anderer Hardware über das Internet. Es ist ein digitales Dashboard, auf dem Sie eine grafische Benutzeroberfläche für Ihr Projekt erstellen können, indem Sie Widgets einfach per Drag & Drop ziehen. Es ist wirklich einfach, alles einzurichten und Sie können sofort mit dem Basteln beginnen. Blynk macht Sie online und bereit für das Internet Ihrer Dinge.

Das hier enthaltene Arduino-Skript HBcar.ino zeigt, wie man vier Tasten (vorwärts, rückwärts, rechts und links) in einem Blynk-Projekt verbindet, um die Motoren auf dem 2WD-Autochassis zu steuern.

Vor dem Kompilieren müssen im Programm drei Strings geändert werden:

  • WLAN-SSID (für Ihren WLAN-Zugangspunkt)
  • WLAN-Passwort (für Ihren WLAN-Zugangspunkt)
  • Blynk-Autorisierungstoken (aus Ihrem Blynk-Projekt)

Beachten Sie aus dem Beispielcode, dass der L293DD-Chip auf der Motorabschirmung wie folgt verdrahtet ist:

  • GPIO-Pin 5 für Motor-A-Geschwindigkeit
  • GPIO-Pin 0 für Motor A-Richtung
  • GPIO-Pin 4 für die Geschwindigkeit von Motor B
  • GPIO-Pin 2 für Motor B-Richtung

Schritt 8: Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser

Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser
Sensoren für die autonome Navigation: Ultraschall-Entfernungsmesser

Der Ultraschall-Entfernungsmesser HC-SR04 (Datenblatt) kann Messungen von ca. 2 cm bis 400 cm mit einer Genauigkeit von bis zu 3 mm liefern. Das Modul HC-SR04 umfasst einen Ultraschallsender, einen Empfänger und eine Steuerschaltung.

Nach dem Anbringen von vier weiblichen-weiblich-Jumpern an den Pins des HC-SR04 kann das Wickeln von etwas Klebeband um die Anschlüsse helfen, sowohl die Verbindungen vor Kurzschlüssen zum Aluminiumgehäuse zu isolieren als auch eine biegsame Masse zu schaffen, die sich in den Schlitz an der Vorderseite des das Chassis wie abgebildet.

In diesem Beispiel können die vier Pins des HC-SR04 mit dem Motorschirm verdrahtet werden:

  • VCC (auf HC-SR04) zu VIN (auf Motorschild)
  • Trigger (am HC-SR04) bis D6 (am Motorschild)
  • Echo (auf HC-SR04) bis D7 (auf Motorschild)
  • GND (an HC-SR04) zu GND (an Motorschild)

VIN versorgt den HC-SR04 mit etwa 6 VDC, der nur 5 V benötigt. Das scheint jedoch gut zu funktionieren. Die andere verfügbare Stromschiene (3,3 V) reicht manchmal aus, um das HC-SR04-Modul mit Strom zu versorgen (probieren Sie es auf jeden Fall), aber manchmal reicht die Spannung nicht aus.

Sobald dies verdrahtet ist, probieren Sie den Beispielcode NodeMCUping.ino aus, um den Betrieb des HC-SR04 zu testen. Der Abstand vom Sensor zu einem beliebigen Objekt wird auf dem seriellen Monitor (9600 Board) in Zentimetern ausgedruckt. Holen Sie sich unser Lineal und testen Sie die Genauigkeit. Beeindruckend, nicht wahr?

Jetzt, da Sie diesen Hinweis haben, versuchen Sie Folgendes für ein kollisionsvermeidendes, autonomes Fahrzeug:

  1. vorwärts bis Abstand < 10cm
  2. Halt
  3. ein kleines Stück zurückfahren (optional)
  4. einen zufälligen Winkel drehen (Zeit)
  5. Schleife zu Schritt 1

Für einige allgemeine Hintergrundinformationen finden Sie hier ein Tutorial-Video voller Details zur Verwendung des HC-SR04-Moduls.

Schritt 9: Sensoren für autonome Navigation: Infrarot (IR) Reflektivität

Sensoren für autonome Navigation: Infrarot (IR) Reflektivität
Sensoren für autonome Navigation: Infrarot (IR) Reflektivität

Das IR-Reflexionssensormodul verwendet einen TCRT5000 (Datenblatt), um Farbe und Entfernung zu erkennen. Das Modul sendet IR-Licht aus und erkennt dann, ob es eine Reflexion empfängt. Dank seiner Fähigkeit zu erkennen, ob eine Oberfläche weiß oder schwarz ist, wird dieser Sensor häufig in Linie mit Robotern und automatischer Datenerfassung auf Verbrauchszählern verwendet.

Der Messabstandsbereich reicht von 1 mm bis 8 mm, und der Mittelpunkt beträgt etwa 2,5 mm. Es gibt auch ein Potentiometer an Bord, um die Empfindlichkeit einzustellen. Die IR-Diode emittiert kontinuierlich IR-Licht, wenn das Modul an die Stromversorgung angeschlossen ist. Wenn das emittierte Infrarotlicht nicht reflektiert wird, befindet sich die Triode im ausgeschalteten Zustand, wodurch der Digitalausgang (D0) einen logischen LOW anzeigt.

Schritt 10: Laserstrahlen

Laserstrahlen
Laserstrahlen
Laserstrahlen
Laserstrahlen

Diese gängigen 5mW 5V Lasermodule können verwendet werden, um rote Laserstrahlen zu so ziemlich allem hinzuzufügen, das 5V Leistung zur Verfügung hat.

Beachten Sie, dass diese Module leicht beschädigt werden können, daher enthält HackerBox #0013 ein paar als Backup. Passen Sie auf Ihre Lasermodule auf!

Schritt 11: Kfz-On-Board-Diagnose (OBD)

Fahrzeug-On-Board-Diagnose (OBD)
Fahrzeug-On-Board-Diagnose (OBD)
Fahrzeug-On-Board-Diagnose (OBD)
Fahrzeug-On-Board-Diagnose (OBD)

On-Board-Diagnose (OBD) ist ein Automobilbegriff, der sich auf die Selbstdiagnose- und Berichtsfähigkeit eines Fahrzeugs bezieht. OBD-Systeme geben dem Fahrzeugbesitzer oder Reparaturtechniker Zugriff auf den Status der verschiedenen Fahrzeugsubsysteme. Die Menge der über OBD verfügbaren Diagnoseinformationen hat sich seit der Einführung von Bordcomputern in den frühen 1980er Jahren stark verändert. Frühe Versionen von OBD würden einfach eine Störungsanzeige aufleuchten lassen, wenn ein Problem erkannt wurde, aber keine Informationen über die Art des Problems liefern. Moderne OBD-Implementierungen verwenden einen standardisierten digitalen Kommunikationsanschluss, um Echtzeitdaten zusätzlich zu einer standardisierten Reihe von Diagnosefehlercodes oder DTCs bereitzustellen, die es ermöglichen, Störungen im Fahrzeug schnell zu erkennen und zu beheben.

OBD-II ist eine Verbesserung sowohl der Leistungsfähigkeit als auch der Standardisierung. Der OBD-II-Standard spezifiziert den Typ des Diagnosesteckers und seine Pinbelegung, die verfügbaren elektrischen Signalisierungsprotokolle und das Nachrichtenformat. Es stellt auch eine Kandidatenliste von zu überwachenden Fahrzeugparametern bereit, zusammen mit der Codierung der Daten für jeden. Im Anschluss befindet sich ein Stift, der das Scan-Tool von der Fahrzeugbatterie mit Strom versorgt, sodass kein separates Anschließen eines Scan-Tools an eine Stromquelle erforderlich ist. OBD-II-Diagnose-Fehlercodes sind 4-stellig, denen ein Buchstabe vorangestellt ist: P für Motor und Getriebe (Antriebsstrang), B für Karosserie, C für Chassis und U für Netzwerk. Hersteller können ihrer spezifischen OBD-II-Implementierung auch benutzerdefinierte Datenparameter hinzufügen, einschließlich Echtzeit-Datenanforderungen sowie Fehlercodes.

Der ELM327 ist ein programmierter Mikrocontroller für die Schnittstelle zur On-Board-Diagnose (OBD)-Schnittstelle, die in den meisten modernen Autos zu finden ist. Das Befehlsprotokoll ELM327 ist einer der beliebtesten PC-to-OBD-Schnittstellenstandards und wird auch von anderen Anbietern implementiert. Der ursprüngliche ELM327 ist auf dem Mikrocontroller PIC18F2480 von Microchip Technology implementiert. Der ELM327 abstrahiert das Low-Level-Protokoll und präsentiert eine einfache Schnittstelle, die über einen UART aufgerufen werden kann, typischerweise von einem tragbaren Diagnosewerkzeug oder einem Computerprogramm, das über USB, RS-232, Bluetooth oder Wi-Fi verbunden ist. Die Funktion einer solchen Software kann zusätzliche Fahrzeuginstrumentierung, das Melden von Fehlercodes und das Löschen von Fehlercodes umfassen.

Während Torque wahrscheinlich die bekannteste ist, gibt es viele Anwendungen, die mit dem ELM327 verwendet werden können.

Schritt 12: Hacken Sie den Planeten

Hacke den Planeten
Hacke den Planeten

Vielen Dank, dass Sie unser Abenteuer in der Automobilelektronik teilen. Wenn Sie dieses Instrucable genossen haben und jeden Monat eine Schachtel mit Elektronikprojekten wie diesem direkt an Ihren Briefkasten geliefert haben möchten, treten Sie uns bitte HIER ABONNIEREN bei.

Melde dich und teile deinen Erfolg in den Kommentaren unten und/oder auf der HackerBoxes Facebook-Seite. Lassen Sie es uns auf jeden Fall wissen, wenn Sie Fragen haben oder Hilfe bei irgendetwas benötigen. Vielen Dank, dass Sie Teil von HackerBoxes sind. Bitte halten Sie Ihre Vorschläge und Rückmeldungen bereit. HackerBoxes sind IHRE Boxen. Lass uns etwas Großartiges machen!