Inhoudsopgave:

HackerBoxes 0013: Autosport - Ajarnpa
HackerBoxes 0013: Autosport - Ajarnpa

Video: HackerBoxes 0013: Autosport - Ajarnpa

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

AUTOSPORT: Deze maand verkennen HackerBox-hackers auto-elektronica. Dit Instructable bevat informatie voor het werken met HackerBoxes #0013. Als je elke maand zo'n box in je mailbox wilt ontvangen, is het nu het moment om je te abonneren op HackerBoxes.com en mee te doen aan de revolutie!

Onderwerpen en leerdoelen voor deze HackerBox:

  • De NodeMCU aanpassen voor Arduino
  • Een 2WD-carkit samenstellen
  • Een NodeMCU bedraden om een 2WD-carkit te bedienen
  • Een NodeMCU bedienen via wifi met Blynk
  • Sensoren gebruiken voor autonome navigatie
  • Werken met Automotive On-board Diagnostics (OBD)

HackerBoxes is de maandelijkse abonnementsservice voor doe-het-zelf-elektronica en computertechnologie. Wij zijn hobbyisten, makers en experimenteerders. Hack de planeet!

Stap 1: HackerBoxes 0013: Inhoud van de doos

HackerBoxes 0013: Inhoud van de doos
HackerBoxes 0013: Inhoud van de doos
HackerBoxes 0013: Inhoud van de doos
HackerBoxes 0013: Inhoud van de doos
HackerBoxes 0013: Inhoud van de doos
HackerBoxes 0013: Inhoud van de doos
  • HackerBoxes #0013 Verzamelbare referentiekaart
  • 2WD-autochassisset
  • NodeMCU WiFi-processormodule
  • Motorschild voor NodeMCU
  • Jumperblok voor motorschild
  • Batterijdoos (4 x AA)
  • HC-SR04 Ultrasone bereiksensor
  • TCRT5000 IR-reflectiviteitssensoren
  • DuPont dames-vrouwelijke truien 10cm
  • Twee rode lasermodules
  • Mini-ELM327 boorddiagnose (OBD)
  • Exclusieve HackerBoxes Racing-sticker

Enkele andere dingen die nuttig zullen zijn:

  • Vier AA-batterijen
  • Dubbelzijdige schuimtape of klittenband
  • microUSB-kabel
  • Slimme telefoon of tablet
  • Computer met Arduino IDE

Het belangrijkste is dat je een gevoel van avontuur, doe-het-zelf-geest en nieuwsgierigheid van hackers nodig hebt. Hardcore elektronica voor hobbyisten is niet altijd gemakkelijk, maar als je volhardt en geniet van het avontuur, kan er veel voldoening worden gehaald uit doorzetten en je projecten werkend krijgen. Neem elke stap langzaam, let op de details en aarzel niet om hulp te vragen.

Stap 2: auto-elektronica en zelfrijdende auto's

Automobielelektronica en zelfrijdende auto's
Automobielelektronica en zelfrijdende auto's
Automobielelektronica en zelfrijdende auto's
Automobielelektronica en zelfrijdende auto's

Automobielelektronica zijn alle elektronische systemen die in wegvoertuigen worden gebruikt. Deze omvatten carputers, telematica, entertainmentsystemen in de auto, enzovoort. Automobielelektronica is ontstaan vanuit de behoefte om motoren te besturen. De eerste werden gebruikt om motorfuncties te regelen en werden motorregeleenheden (ECU) genoemd. Toen elektronische besturingen voor meer automobieltoepassingen werden gebruikt, kreeg het acroniem ECU de meer algemene betekenis van "elektronische besturingseenheid", en vervolgens werden specifieke ECU's ontwikkeld. Nu zijn ECU's modulair. Twee typen omvatten motorregelmodules (ECM) of transmissieregelmodules (TCM). Een moderne auto kan maximaal 100 ECU hebben.

Radiografisch bestuurbare auto's (RC-auto's) zijn auto's of vrachtwagens die op afstand kunnen worden bestuurd met behulp van een gespecialiseerde zender of afstandsbediening. De term "RC" is gebruikt om zowel "op afstand bestuurd" als "radiografisch bestuurbaar" te betekenen, maar het algemeen gebruik van "R/C" verwijst tegenwoordig meestal naar voertuigen die worden bestuurd door een radiofrequentieverbinding.

Een autonome auto (auto zonder bestuurder, zelfrijdende auto, robotauto) is een voertuig dat in staat is zijn omgeving waar te nemen en te navigeren zonder menselijke tussenkomst. Autonome auto's kunnen de omgeving detecteren met behulp van verschillende technieken, zoals radar, lidar, GPS, odometrie en computervisie. Geavanceerde controlesystemen interpreteren zintuiglijke informatie om geschikte navigatiepaden te identificeren, evenals obstakels en relevante bewegwijzering. Autonome auto's hebben besturingssystemen die sensorische gegevens kunnen analyseren om onderscheid te maken tussen verschillende auto's op de weg, wat erg handig is bij het plannen van een pad naar de gewenste bestemming.

Stap 3: Arduino voor NodeMCU

Arduino voor NodeMCU
Arduino voor NodeMCU
Arduino voor NodeMCU
Arduino voor NodeMCU

NodeMCU is een open source IoT-platform. Het bevat firmware die draait op de ESP8266 Wi-Fi SoC van Espressif Systems en hardware op basis van de ESP-12-module.

De Arduino IDE kan nu eenvoudig worden uitgebreid om het programmeren van NodeMCU-modules te ondersteunen alsof het een ander Arduino-ontwikkelplatform is.

Zorg er om te beginnen voor dat de Arduino IDE is geïnstalleerd (www.arduino.cc) en de stuurprogramma's voor de juiste seriële USB-chip op de NodeMCU-module die u gebruikt. Momenteel bevatten de meeste NodeMCU-modules de CH340 Serial-USB-chip. De fabrikant van de CH340-chips (WCH.cn) heeft drivers beschikbaar voor alle populaire besturingssystemen. Bekijk de Google-vertaalpagina voor hun site.

Voer de Ardino IDE uit, ga naar voorkeuren en zoek het veld voor het invoeren van "Extra Board Manager-URL's"

Plak in deze URL:

arduino.esp8266.com/stable/package_esp8266com_index.json

Om de Board Manager voor ESP8266 te installeren.

Sluit na de installatie de IDE en start deze vervolgens weer op.

Sluit nu de NodeMCU-module aan op uw computer met behulp van een microUSB-kabel (zoals gebruikt door de meeste mobiele telefoons en tablets).

Selecteer het bordtype binnen de Arduino IDE als NodeMCU 1.0

We laden en testen de blink-demo altijd graag op een nieuw Arduino-bord om er zeker van te zijn dat alles correct werkt. De NodeMCU is geen uitzondering, maar je moet de LED-pin van pin13 naar pin16 veranderen voordat je gaat compileren en uploaden. Zorg ervoor dat deze snelle test correct werkt voordat je verder gaat met iets ingewikkelders met de Arduino NodeMCU.

Hier is een instructable die het installatieproces voor Arduino NodeMCU doorneemt met enkele verschillende toepassingsvoorbeelden. Het dwaalt hier een beetje af van het doel, maar het kan nuttig zijn om naar een ander gezichtspunt te kijken als je vastloopt.

Stap 4: 2WD Car Chassis Kit

2WD-autochassisset
2WD-autochassisset
2WD-autochassisset
2WD-autochassisset
2WD-autochassisset
2WD-autochassisset

Inhoud van de 2WD Car Chassis Kit:

  • Aluminium chassis (kleuren variëren)
  • Twee FM90 DC-motoren
  • Twee wielen met rubberen banden
  • Vrijloopzwenkwiel
  • Montage hardware
  • Montagemateriaal

De FM90 DC-motoren zien eruit als microservo's omdat ze in dezelfde plastic behuizing zijn gebouwd als gewone microservo's, zoals de FS90, FS90R of SG92R. De FM90 is echter geen servo. De FM90 is een gelijkstroommotor met een kunststof tandwieloverbrenging.

De snelheid van de FM90-motor wordt geregeld door pulsbreedtemodulatie (PWM) van de voedingskabels. De richting wordt geregeld door de stroompolariteit om te wisselen, zoals bij elke geborstelde gelijkstroommotor. De FM90 kan werken op 4-6 Volt gelijkstroom. Hoewel het klein is, trekt het voldoende stroom om niet rechtstreeks vanaf een microcontroller-pin te worden aangestuurd. Er moet een motoraandrijving of H-brug worden gebruikt.

Specificaties FM90 DC-motor:

  • Afmetingen: 32,3 mm x 12,3 mm x 29,9 mm / 1,3 "x 0,49" x 1,2"
  • Spline-telling: 21
  • Gewicht: 8.4g
  • Onbelaste snelheid: 110 RPM (4,8 v) / 130 RPM (6 v)
  • Lopende stroom (onbelast): 100mA (4,8v) / 120mA (6v)
  • Piek blokkeerkoppel (4,8v): 1,3 kg/cm / 18,09 oz/in
  • Piek blokkeerkoppel (6v): 1,5 kg/cm / 20,86 oz/in
  • Blokkeerstroom: 550mA (4,8v) / 650mA (6v)

Stap 5: autochassis: mechanische montage

Autochassis: mechanische montage
Autochassis: mechanische montage
Autochassis: mechanische montage
Autochassis: mechanische montage
Autochassis: mechanische montage
Autochassis: mechanische montage

Het autochassis kan eenvoudig worden gemonteerd volgens dit schema.

Merk op dat er twee kleine zakjes met hardware zijn. Eén bevat montagemateriaal met zes messing 5 mm-M3 afstandhouders samen met bijpassende schroeven en moeren. Deze montagehardware kan nuttig zijn in latere stappen van het monteren van controllers, sensoren en andere items op het chassis.

Voor deze stap gebruiken we de montagehardware die bestaat uit:

  • Vier dunne M2x8 bouten en kleine bijpassende moeren voor het bevestigen van de motoren
  • Vier dikkere M3x10-bouten en grotere bijpassende moeren voor het bevestigen van het zwenkwiel
  • Twee PB2.0x8 schroeven met grove schroefdraad voor het bevestigen van de wielen aan de motoren

Merk op dat de FM90-motoren zo zijn georiënteerd dat de draadgeleiders uit de achterkant van het gemonteerde chassis steken.

Stap 6: Autochassis: Power Pack en Controller toevoegen

Autochassis: Power Pack en Controller toevoegen
Autochassis: Power Pack en Controller toevoegen
Autochassis: Power Pack en Controller toevoegen
Autochassis: Power Pack en Controller toevoegen
Autochassis: Power Pack en Controller toevoegen
Autochassis: Power Pack en Controller toevoegen

De ESP-12E-motorafschermingskaart ondersteunt het rechtstreeks aansluiten van de NodeMCU-module. Het motorschild bevat een L293DD push-pull motordriverchip (gegevensblad). De motordraden moeten worden aangesloten op de A+/A- en B+/B- schroefklemmen op de motorafscherming (na het verwijderen van de connectoren). De accukabels moeten worden aangesloten op de schroefaansluitingen van de accu-ingang.

Als een van de wielen in de verkeerde richting draait, kunnen de draden naar de bijbehorende motor worden verwisseld bij de schroefklemmen, of de richtingsbit kan in de code worden omgekeerd (volgende stap).

Er is een plastic aan/uit-knop op het motorschild om de voeding van de batterij te activeren. Het jumperblok kan worden gebruikt om stroom naar de NodeMCU te leiden vanaf het motorschild. Zonder dat het jumperblok is geïnstalleerd, kan de NodeMCU zichzelf van stroom voorzien via de USB-kabel. Met het jumperblok geïnstalleerd (zoals afgebeeld), voedt de batterijvoeding de motoren en wordt deze ook naar de NodeMCU-module gestuurd.

Het motorscherm en het batterijpakket kunnen op het chassis worden gemonteerd door de schroefgaten uit te lijnen met de beschikbare openingen in het aluminium chassis. We vinden het echter gemakkelijker om ze gewoon op het chassis te bevestigen met dubbelzijdige foamtape of zelfklevende klittenbandstrips.

Stap 7: Car Chassis: Programmeren en Wi-Fi Control

Autochassis: programmering en wifi-bediening
Autochassis: programmering en wifi-bediening

Blynk is een platform met iOS- en Android-apps om Arduino, Raspberry Pi en andere hardware via internet te bedienen. Het is een digitaal dashboard waar u een grafische interface voor uw project kunt bouwen door eenvoudig widgets te slepen en neer te zetten. Het is heel eenvoudig om alles in te stellen en je kunt meteen beginnen met knutselen. Blynk zorgt ervoor dat je online bent en klaar bent voor het internet van je dingen.

Het HBcar.ino Arduino-script dat hier is opgenomen, laat zien hoe vier knoppen (vooruit, achteruit, rechts en links) op een Blynk-project kunnen worden aangesloten om de motoren op het 2WD-autochassis te besturen.

Voorafgaand aan het compileren moeten drie strings in het programma worden gewijzigd:

  • Wi-Fi SSID (voor uw Wi-Fi-toegangspunt)
  • Wi-Fi-wachtwoord (voor uw Wi-Fi-toegangspunt)
  • Blynk-autorisatietoken (van uw Blynk-project)

Merk op uit de voorbeeldcode dat de L293DD-chip op het motorscherm als volgt is aangesloten:

  • GPIO pin 5 voor motor A snelheid
  • GPIO pin 0 voor motor A richting
  • GPIO-pin 4 voor motor B-snelheid
  • GPIO-pin 2 voor motor B-richting

Stap 8: Sensoren voor autonome navigatie: ultrasone afstandsmeter

Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter
Sensoren voor autonome navigatie: ultrasone afstandsmeter

De HC-SR04 ultrasone afstandsmeter (datasheet) kan metingen leveren van ongeveer 2 cm tot 400 cm met een nauwkeurigheid tot 3 mm. De HC-SR04-module bevat een ultrasone zender, een ontvanger en een regelcircuit.

Na het bevestigen van vier vrouwelijk-vrouwelijke jumpers aan de pinnen van de HC-SR04, kan het wikkelen van wat tape rond de connectoren helpen om zowel de verbindingen te isoleren van kortsluiting naar het aluminium chassis als ook een buigzame massa te bieden om in de gleuf aan de voorkant van de het chassis zoals afgebeeld.

In dit voorbeeld kunnen de vier pinnen op de HC-SR04 worden aangesloten op de motorafscherming:

  • VCC (op HC-SR04) naar VIN (op motorafscherming)
  • Trigger (op HC-SR04) naar D6 (op motorschild)
  • Echo (op HC-SR04) tot D7 (op motorschild)
  • GND (op HC-SR04) naar GND (op motorafscherming)

VIN zal ongeveer 6VDC leveren aan de HC-SR04, die slechts 5V nodig heeft. Dat lijkt echter prima te werken. De andere beschikbare stroomrail (3,3V) is soms voldoende om de HC-SR04-module van stroom te voorzien (probeer het zeker eens), maar soms is er niet genoeg spanning.

Zodra dit is aangesloten, probeert u de voorbeeldcode NodeMCUping.ino om de werking van de HC-SR04 te testen. De afstand van de sensor tot een object wordt afgedrukt op de seriële monitor (9600 bord) in centimeters. Pak onze liniaal en test de nauwkeurigheid. Indrukwekkend is het niet?

Nu je deze hint hebt, probeer iets als dit voor een autonoom voertuig dat geen botsingen veroorzaakt:

  1. vooruit tot afstand < 10cm
  2. halt houden
  3. een kleine afstand achteruit (optioneel)
  4. een willekeurige hoek draaien (tijd)
  5. lus naar stap 1

Voor wat algemene achtergrondinformatie is hier een instructievideo vol details voor het gebruik van de HC-SR04-module.

Stap 9: Sensoren voor autonome navigatie: infraroodreflectie (IR)

Sensoren voor autonome navigatie: infraroodreflectie (IR)
Sensoren voor autonome navigatie: infraroodreflectie (IR)

De IR-reflecterende sensormodule maakt gebruik van een TCRT5000 (gegevensblad) om kleur en afstand te detecteren. De module zendt IR-licht uit en detecteert vervolgens of hij een reflectie ontvangt. Dankzij zijn vermogen om te detecteren of een oppervlak wit of zwart is, wordt deze sensor vaak gebruikt in lijnvolgende robots en automatische datalogging op nutsmeters.

Het meetafstandsbereik is van 1 mm tot 8 mm en het centrale punt is ongeveer 2,5 mm. Er is ook een ingebouwde potentiometer om de gevoeligheid aan te passen. De IR-diode zal continu IR-licht uitstralen wanneer de module is aangesloten op de voeding. Wanneer het uitgezonden infraroodlicht niet wordt gereflecteerd, staat de triode in de uit-stand waardoor de digitale (D0) uitgang een logisch LAAG aangeeft.

Stap 10: laserstralen

Laserstralen
Laserstralen
Laserstralen
Laserstralen

Deze gewone 5mW 5V lasermodules kunnen worden gebruikt om rode laserstralen toe te voegen aan vrijwel alles met 5V-vermogen.

Merk op dat deze modules gemakkelijk kunnen worden beschadigd, dus HackerBox #0013 bevat een paar om een back-up te bieden. Wees voorzichtig met uw lasermodules!

Stap 11: Automotive boorddiagnose (OBD)

Automotive boorddiagnose (OBD)
Automotive boorddiagnose (OBD)
Automotive boorddiagnose (OBD)
Automotive boorddiagnose (OBD)

On-board diagnostics (OBD) is een autoterm die verwijst naar de zelfdiagnose- en rapportagemogelijkheden van een voertuig. OBD-systemen geven de voertuigeigenaar of reparateur toegang tot de status van de verschillende voertuigsubsystemen. De hoeveelheid diagnostische informatie die via OBD beschikbaar is, is sinds de introductie in de vroege jaren 80-versies van boordcomputers sterk uiteengelopen. Vroege versies van OBD zouden gewoon een storingsindicatielampje laten branden als er een probleem werd gedetecteerd, maar zouden geen informatie geven over de aard van het probleem. Moderne OBD-implementaties gebruiken een gestandaardiseerde digitale communicatiepoort om realtime gegevens te leveren naast een gestandaardiseerde reeks diagnostische foutcodes of DTC's, waarmee men snel storingen in het voertuig kan identificeren en verhelpen.

OBD-II is een verbetering van zowel de mogelijkheden als de standaardisatie. De OBD-II-standaard specificeert het type diagnostische connector en de pinout, de beschikbare elektrische signaleringsprotocollen en het berichtformaat. Het biedt ook een kandidatenlijst met voertuigparameters om te controleren, samen met hoe de gegevens voor elk moeten worden gecodeerd. Er zit een pin in de connector die de scantool van stroom voorziet vanuit de voertuigaccu, waardoor het niet nodig is om een scantool apart op een stroombron aan te sluiten. OBD-II diagnostische foutcodes zijn 4-cijferig, voorafgegaan door een letter: P voor motor en transmissie (aandrijflijn), B voor carrosserie, C voor chassis en U voor netwerk. Fabrikanten kunnen ook aangepaste gegevensparameters toevoegen aan hun specifieke OBD-II-implementatie, inclusief realtime gegevensverzoeken en foutcodes.

De ELM327 is een geprogrammeerde microcontroller voor interface met de ingebouwde diagnose (OBD)-interface die in de meeste moderne auto's wordt aangetroffen. Het ELM327-opdrachtprotocol is een van de meest populaire PC-naar-OBD-interfacestandaarden en wordt ook door andere leveranciers geïmplementeerd. De originele ELM327 is geïmplementeerd op de PIC18F2480 microcontroller van Microchip Technology. De ELM327 abstraheert het low-level protocol en presenteert een eenvoudige interface die kan worden aangeroepen via een UART, meestal door een diagnostisch hulpmiddel in de hand of een computerprogramma dat is aangesloten via USB, RS-232, Bluetooth of Wi-Fi. De functie van dergelijke software kan aanvullende voertuiginstrumentatie, het rapporteren van foutcodes en het wissen van foutcodes omvatten.

Hoewel Torque waarschijnlijk de meest bekende is, zijn er veel toepassingen die met de ELM327 kunnen worden gebruikt.

Stap 12: Hack de planeet

Hack de planeet
Hack de planeet

Bedankt voor het delen van ons avontuur in auto-elektronica. Als je van deze Instrucable hebt genoten en elke maand een doos met elektronische projecten als deze in je mailbox wilt hebben, sluit je dan bij ons aan door HIER INSCHRIJVEN.

Reik uit en deel uw succes in de opmerkingen hieronder en/of op de HackerBoxes Facebook-pagina. Laat het ons zeker weten als je vragen hebt of ergens hulp bij nodig hebt. Bedankt dat je deel uitmaakt van HackerBoxes. Laat uw suggesties en feedback maar komen. HackerBoxen zijn JOUW dozen. Laten we er iets geweldigs van maken!