Inhoudsopgave:

Autonome RC-auto: 7 stappen
Autonome RC-auto: 7 stappen

Video: Autonome RC-auto: 7 stappen

Video: Autonome RC-auto: 7 stappen
Video: Check out this amazing autonomous car robot kit powered by the VEGA Processor Aries board! #dirv 2024, Juli-
Anonim
Autonome RC-auto
Autonome RC-auto

Met de opkomst van zelfrijdende, autonome auto's vandaag, besloot ik de uitdaging aan te gaan om er zelf een te maken. Dit project diende ook als mijn sluitstukproject in mijn lessen Engineering Design and Development en Robotics en ontving een prijs voor het beste autonome voertuig tijdens een STEM-wedstrijd op een middelbare school.

In plaats van helemaal opnieuw te beginnen, heb ik ervoor gekozen om een RC-auto te gebruiken die we al hadden en deze te koppelen aan een RedBoard Arduino Uno-bord. Ik koos voor de Arduino vanwege het relatieve gebruiksgemak en de programmering.

Voor wie het zich afvraagt, deze auto heeft een Redcat Racing 03061 Splash-Resistant ESC met een brushed motor. De ESC was al geprogrammeerd met de controller die bij de auto werd geleverd. Ik heb dit niet getest met een borstelloze motor omdat we er geen bij de hand hebben, maar iedereen is welkom om dit project met een borstelloze motor te proberen.

Kort samengevat verzamelt deze auto gegevens van (5) HC-SR04 Ultrasone sensoren. Deze gegevens gaan terug naar de Arduino, waar het beslissingen neemt over hoe te bewegen. De Arduino bestuurt vervolgens de stuurservo en motor dienovereenkomstig. Het programma gebruikt hiervoor de standaard Arduino-servobibliotheek en er zijn geen extra bibliotheken nodig.

De auto is in staat tot variabele snelheidsregeling via een potentiometer en achteruitrijden van een muur wanneer deze er een raakt. Bovendien kan de auto zichzelf corrigeren als hij te dicht bij een muur afdrijft door weg te komen.

Stap 1: Onderdelenlijst

Disclaimer: ik neem niet de onderdelen mee die nodig zijn voor de auto zelf, alleen de extra onderdelen buiten de auto. Hiervoor is een ESC, motor, chassis, accu, etc. nodig.

Je zal nodig hebben:

(1) Arduino Uno - knockoffs werken prima

(1) Breadboard - voor dit project heb ik de +/- rail van het ene breadboard genomen en een ander, kleiner breadboard gebruikt. Elke maat zal doen.

(5) HC-SR04 ultrasone sensoren

(1) Potentiometer - gebruikt om de snelheid van de auto te regelen

(20) Vrouw-mannelijke Dupont-draden - Ik raad ten zeerste aan om indien nodig meer te gebruiken als verlengstukken voor andere draden

Soldeerbout met soldeer

Arduino-voeding - in dit geval gebruikte ik (6) 1,2 V AA-batterijen die in serie waren geschakeld. Externe powerbanks voor telefoons en tablets zoals deze werken ook goed wanneer ze op de USB-poort zijn aangesloten.

Tape, hete lijm en/of andere items die worden gebruikt om items aan elkaar te bevestigen

(1) Tuimelschakelaar (optioneel -- ik gebruik hem om de Arduino aan en uit te zetten)

Stap 2: Plaats de sensoren

Plaats de sensoren
Plaats de sensoren

Allereerst wilt u de sensoren correct positioneren en bevestigen. Ik heb (1) sensor naar voren gericht, (2) sensoren onder een hoek van ongeveer 45 graden en (2) sensoren aan de zijkanten van de auto. I 3D-geprinte montagebeugels voor de zijkanten en voorkant, en hete lijm gebruikt om de schuine voorsensoren vast te maken, aangezien hete lijm niet-geleidend is. De montagebeugels voor de zijkanten en voorkant zijn te downloaden en 3D te printen.

Stap 3: Voeg het breadboard en de potentiometer toe

Voeg de Breadboard en Potentiometer toe
Voeg de Breadboard en Potentiometer toe

Vervolgens wilt u het breadboard en de snelheidsregelingspotentiometer toevoegen voordat u begint met bedraden. Hier heb ik een klein breadboard gebruikt en de +/- van een ander breadboard vanwege de ruimte op de carrosserie van de auto, maar een standaard breadboard doet het ook prima.

Stap 4: bedraad alles

Draad alles
Draad alles
Draad alles
Draad alles
Draad alles
Draad alles
Draad alles
Draad alles

Dit is waarschijnlijk de grootste stap, en een verkeerde draad kan ervoor zorgen dat de auto niet goed functioneert. Raadpleeg het bovenstaande Fritzing-diagram voor extra begeleiding.

Begin door de 5v-pin van je Arduino aan te sluiten op de positieve rail op het breadboard en de GND-pin van je Arduino op de negatieve rail van het breadboard.

Sluit vervolgens de sonarsensoren aan. De HC-SR04-sensoren hebben elk van hun vier pinnen gelabeld. Zij zijn:

VCC -- 5v vermogen

Trig -- trigger om een ultrasone puls uit te zenden

Echo -- ontvangende pin die de duur van de puls meet

GND - aardingspen

Gebruik hiervoor vrouwelijk-mannelijk Dupont-draden. Elk van de VCC-pinnen moet worden aangesloten op de positieve breadboard-rail en elk van de GND-pinnen moet worden aangesloten op de negatieve breadboard-rail. Ik gebruikte extra vrouwelijke-mannelijke Dupont-draden als verlengstukken voor dit onderdeel, omdat ik een probleem had met sommige draden die niet lang genoeg waren.

Sluit vervolgens de Trig- en Echo-pinnen aan op de Arduino. Deze worden als zodanig verbonden met de digitale pinnen van de Arduino:

Sensor midden voor:

Trig -- pin 6

Echo -- pin 7

Linker zijsensor:

Trig -- 4

Echo -- 5

Rechter zijsensor:

Trig -- 2

Echo -- 3

Sensor links voor:

Trig -- 10

Echo -- 11

Sensor rechts voor:

Trig -- 9

Echo -- 8

Sluit vervolgens de stuurservo, motor ESC en snelheidsregelingspotentiometer aan.

Begin eerst met de stuurservo. De servo op mijn auto had rode, oranje en bruine draden. De kleuren kunnen een beetje variëren, maar ze zullen allemaal op dezelfde manier worden bedraad:

Bruine draad (aarde) - sluit aan op negatieve breadboard-rail

Rode draad (5v stroom) -- aansluiten op 5v breadboard rail

Oranje draad (signaal) -- verbind met pin 13 op je Arduino

De ESC - of elektronische snelheidsregelaar - die de motor bestuurt, is op dezelfde manier bedraad. In dit geval zijn de draden wit, rood en zwart.

Wit (signaal) -- Sluit aan op pin 12 op uw Arduino

Rood (5v) -- maak GEEN verbinding met iets. Vanwege een stroomstoot die achteruit stroomt wanneer de motor stopt, mag de 5v niet worden aangesloten. Je zou een USB-poort kunnen bakken of, mogelijk, je Arduino.

Zwart (aarde) - sluit aan op negatieve breadboard-rail

Sluit ten slotte de potentiometer aan die u eerder op uw breadboard hebt geplaatst. Waarschijnlijk staan er ergens kleine cijfers op gedrukt. Het moet worden aangesloten als:

1 (linker pin) - sluit aan op negatieve breadboard-rail

2 (middelste pin) -- verbind met pin A0 op je Arduino

3 (rechter pin) - sluit aan op positieve breadboard-rail

De bedrading ziet er erg rommelig uit, dus als je wat draadbeheer wilt doen, is dit het juiste moment om het te doen.

Stap 5: De Arduino van stroom voorzien

De Arduino van stroom voorzien
De Arduino van stroom voorzien

Vervolgens wil je een stroomoplossing voor de Arduino opzetten. In dit project worden twee afzonderlijke stroombronnen gebruikt: de batterij voor de auto en de batterij voor de Arduino. In dit geval gebruikte ik (6) oplaadbare AA-batterijen van 1,2 V die in serie zijn geschakeld. Draagbare powerbanks voor mobiele telefoons werken ook, zorg er wel voor dat u een kabel hebt die op de USB-poort van uw Arduino kan worden aangesloten (zoals mini-USB).

Houd er rekening mee dat 9v-batterijen NIET werken met dit project. Vanwege de manier waarop 9v-batterijen zijn ontworpen, is de spanning voldoende om de Arduino te laten werken, maar de stroom die uit de batterij komt, zorgt ervoor dat deze binnen de kortste keren doodgaat. Ik had ook problemen met willekeurige reboots op de 9v-batterij.

Als u ervoor kiest om de oplossing te gebruiken die ik heb gebruikt, heeft u het volgende nodig:

(6) AA-batterijen (alkalinebatterijen werken ook prima)

AA-batterijhouders voor alle (6) batterijen. Deze zou geweldig werken en je hoeft niet eens een soldeerbout te gebruiken. Voor de voeding die ik heb gemaakt, heb ik (3) twee batterijhouders aan elkaar gekoppeld zoals afgebeeld, de positieve / negatieve draden aan elkaar gesoldeerd, de gelijkstroomstekker van een 9v-batterijadapter genomen en deze aan het einde positief en negatief gesoldeerd draden. Vervolgens heb ik een aan / uit-schakelaar in serie gesoldeerd met de voeding om de Arduino gemakkelijk aan en uit te kunnen zetten. Dit is volledig optioneel.

Stap 6: Upload het Arduino-programma

Vervolgens moet u het programma uploaden naar de Arduino. Download het programma hier en upload het naar je Arduino via de Arduino IDE.

Voor degenen onder jullie die misschien willen kijken naar het wijzigen van de code, heb ik wat pseudocode toegevoegd waarin wordt uitgelegd wat elk onderdeel doet.

EDIT 25-09-18 - Ik heb een tweede programma toegevoegd om het in het midden van twee muren te laten rijden. Ik heb niet de kans gehad om de code uit te proberen omdat ik geen toegang heb tot de auto, maar experimenteer er gerust mee.

Stap 7: Sluit alles aan en zet het aan

Ten slotte moet je alles aansluiten. Sluit eerst de auto-accu aan op de auto en zet je ESC aan. De ESC moet piepen, wat aangeeft dat hij klaar is om te worden "gewapend" door de Arduino. Schakel vervolgens de Arduino in. De ESC moet drie keer piepen en de wielen moeten beginnen te draaien. Als de ESC piept, maar de wielen beginnen niet te draaien, draai dan de potentiometer naar rechts om de snelheid te verhogen. Als de auto te snel rijdt, draait u de potentiometer naar links.

Als de potentiometer het tegenovergestelde werkt van hoe het zou moeten, kunt u de positieve en negatieve draden omdraaien om dit op te lossen.

De video laat zien hoe de auto werkt, hoe u de snelheid kunt wijzigen en de volgorde om hem in te schakelen.

Aanbevolen: