Inhoudsopgave:

RC-auto op ware grootte: 14 stappen (met afbeeldingen)
RC-auto op ware grootte: 14 stappen (met afbeeldingen)

Video: RC-auto op ware grootte: 14 stappen (met afbeeldingen)

Video: RC-auto op ware grootte: 14 stappen (met afbeeldingen)
Video: Bijtende hond terug in wijk van slachtoffer 2024, Juli-
Anonim
Image
Image
Onderdelen van het systeem - Auto
Onderdelen van het systeem - Auto

Wat is het?

Denk je dat RC-auto's alleen voor kinderen zijn? Denk nog eens na! Deze tutorial laat je zien hoe je een 1:1-RC-auto op ware grootte kunt inrichten en bouwen. Door een auto uit te rusten met deze besturing is een goed startplatform om je eigen volledig autonome auto te bouwen (volgende fase).

OPMERKING: Deze build is gebaseerd op een auto in niet-drive-by-wire-stijl. Als je mijn andere tutorial voor een "drive-by-wire" auto wilt lezen, bekijk hem dan hier.

Stap 1: Achtergrond

Image
Image

Ik heb altijd al mijn eigen zelfrijdende auto willen bouwen en er is geen betere manier om te beginnen dan een oude auto aan te passen zodat alle bedieningselementen kunnen worden bediend zonder dat er een mens in de auto zit. De eerste stap is dus om een auto uit te rusten met deze bedieningselementen en ze vervolgens op afstand te bedienen via RC.

Ik besloot dit proces te documenteren om anderen te laten zien dat de toetredingsdrempel voor het bouwen van een autonome auto superlaag en niet erg duur is (<$2k). Ik wil dat duizenden mensen deze auto's bouwen, dus we hebben veel meer mensen met echte ervaring in mechatronica, informatica en techniek in het algemeen.

Mijn vaardigheden

  • Meer dan 8 auto's en 10 motorfietsen gebouwd en gerestaureerd
  • Mijn hele leven in de productie gewerkt
  • Gekwalificeerd monteur en turner
  • Gekwalificeerde gereedschapsmaker
  • Bachelor in de informatica
  • Oprichter van QRMV - gespecialiseerd in Vision Guided Industrial Robotics
  • Mede-oprichter/CTO van ollo wearables - spraakgestuurde mobiele telefoon voor senioren/ouderen (modern life alert)
  • Meerdere patenten (toegekend en voorlopig) telefonie, geo-positionering en computer vision

Stap 2: Vaardigheden die nodig zijn

Ik heb een zeer technische achtergrond, maar ik denk dat iedereen die een beetje hands-on is, vrij gemakkelijk een van deze moet kunnen bouwen. Als je niet over alle vaardigheden beschikt, kun je eenvoudig anderen die je kent vragen om mee te werken aan de build. Zo kun je het elkaar leren terwijl je bezig bent.

Mechanica - ken uw weg in een auto en zijn onderdelen en hoe ze samenwerken

Mechanisch - in staat zijn om een breed scala aan hand- en elektrisch gereedschap te gebruiken (boor, slijper, draaibank, enz.)

Elektronica - basiscircuits begrijpen, ontwerpen en bouwen (componentenselectie, solderen enz.)

Opstellen - In staat zijn om componenten in CAD te tekenen om door derden te worden bewerkt

Programmeren - In staat zijn om eenvoudige Arduino-schetsen te bouwen, git te gebruiken, enz

Stap 3: Kosten om te bouwen

Kortom - <$2k. De kosten om een van deze auto's te bouwen, komen er echt op neer voor hoeveel je de rijdende auto kunt krijgen, omdat dit waarschijnlijk de hoogste en meest variabele kostencomponent in het project is. Voor de eerste auto die ik bouwde, slaagde ik erin om mijn kleine Honda Civic uit 1991 voor $ 300 op te halen en hij stond nog steeds op kenteken.

Voor alle andere componenten die je nodig hebt, zijn ze meestal "van de plank", dus de prijzen zullen niet te veel variëren.

Stap 4: Onderdelenlijst

De volledige onderdelenlijst en leveranciers/fabrikanten vindt u hier.

  • Auto (niet drive-by-wire-stijl)
  • Lineaire Actuator (Elektrisch) - Versnellingspook
  • Lineaire actuator (elektrisch) - remmen
  • Servo (hoog koppel) - versneller
  • Elektronische stuurbekrachtigingsmodule - Besturing
  • Arduino Uno - Regelt systeemintegratie
  • Hoge stroom (5A) 5-6V gereguleerde voeding (voor servo)
  • 8/9-kanaals RC-controller en ontvanger
  • Deep Cycle-batterij (optioneel)
  • Hulpaccu - spanningsgevoelig relais (optioneel)
  • Accubak (optioneel)
  • Batterij isolator
  • 60A motorbesturing (multidirectioneel)
  • 2 x 32A motordriver (multidirectioneel)
  • 2 x 30A 5V relaismodules
  • 2 x schuifpotentiometers
  • 2 x Multi-turn Potentiometers
  • ~50A stroomonderbreker of zekering
  • Noodstopknoppen en contacten
  • Draad (hoge stroom voor motoren/batterij en multicore voor aansluiting)
  • Automotive Zekeringkast
  • Stalen platte staaf (25x3mm en 50x3mm)
  • Aluminium plaat (3-4mm)
  • ABS behuizingsdozen voor elektronica
  • Auto werkplaatshandboek

Stap 5: Onderdelen van het systeem - Auto

Opmerking: voor deze tutorial bouw ik voort op een auto in niet-drive-by-wire-stijl, een Honda Civic uit 1990. Als je wilt bouwen op een "drive-by-wire" auto, zal ik de komende maanden mijn bouwinformatie hierover vrijgeven.

Voor de auto waarvan u zeker wilt zijn dat deze het volgende afvinkt;

  • Auto start, loopt en kan rijden (zo niet, aan de slag)
  • Het heeft automatische transmissie
  • Remmen werken
  • Dynamo is in goede staat

Stap 6: Onderdelen van het systeem - Setup hulpaccu (optioneel)

In deze zelfstudie zal ik een tweede / extra deep cycle-batterij gebruiken, maar dit is optioneel. Ik koos ervoor om dit in mijn build te doen omdat de originele batterij in de auto superklein was en er een deal was om een deep-cycle batterij te krijgen met een hulpbatterijrelaisconfiguratie voor dezelfde prijs als een andere batterij. Het belangrijkste hierbij is dat u een goed werkende accu en dynamo in de auto wilt die indien nodig hoge stroom kan leveren.

Koppel eerst de accu van de auto los, want we zullen aan beide terminals werken. Het installeren van een hulpaccu in de auto is vrij eenvoudig. Zoek eerst een geschikte/veilige plek om de tweede accu in de auto, kofferbak of, als je genoeg ruimte hebt, onder de motorkap te monteren.

Monteer het spanningsgevoelige relais zo dicht mogelijk bij de startaccu.

Gebruik een dikke draad (6 AWG) om van de positieve pool van de startaccuconnector naar het spanningsgevoelige relais te lopen. Leid vervolgens een ander stuk van de zware draad van het spanningsgevoelige relais naar de hulpaccu en sluit er een accupool stevig op aan.

Het spanningsgevoelige relais moet een negatieve draad hebben die op de aarde van de auto moet worden aangesloten. Zorg ervoor dat deze draad/connector een echt goed aardingscontact heeft.

Leid bij de hulpaccu een dikke draad (6 AWG) van de negatieve pool naar een deel van de metalen carrosserie van de auto en zorg ervoor dat deze stevig geaard is (kaal metaal). Plaats de juiste connectoren aan beide uiteinden en test of de aarding correct is.

Let op: Zorg ervoor dat uw hulpaccu stevig is gemonteerd en niet kan bewegen tijdens het rijden. Ik raad aan om het in een accubak te plaatsen om het veilig en netjes te houden.

Ik raad ten zeerste aan om een batterij-isolator in uw systeem te gebruiken om een eenvoudige en snelle stroomonderbreking mogelijk te maken. Plaats deze inline van uw batterijvoeding naar de zekeringkast van de controller

Stap 7: Onderdelen van het systeem - Ontsteking

De meeste auto's beginnen met een sleutel die in het contact is gedraaid. Dit oefent vervolgens stroom uit op verschillende componenten in de auto, waaronder de ECU, startersolenoïde, radio, ventilatoren enz. We gaan het sleutelsysteem vervangen door relais die we kunnen activeren vanaf onze Arudino.

U hebt de elektrische schema's van de auto nodig om dit werk uit te voeren, maar u kunt ze normaal gesproken online vinden door een snelle Google-zoekopdracht uit te voeren of door er eenvoudig een online te kopen. Ik zou u aanraden om het complete werkplaatshandboek van de auto te krijgen, omdat het ook andere informatie bevat, inclusief tips/trucs voor het verwijderen van bepaalde componenten. Bovendien is het altijd fijn om informatie bij de hand te hebben om eventuele andere autoproblemen te diagnosticeren en op te lossen.

Ik zou ook kijken naar het volledig verwijderen van de stuurkolom (inclusief de ontstekingscilinder, indicatorstang enz.) Van het rek om u meer ruimte te geven en u zult het vervangen door een elektronisch stuurbekrachtigingssysteem, zodat de oude setup niet nodig is om in de auto worden achtergelaten.

Kijk naar de elektrische schema's van de auto voor de ontsteking en bepaal de draad(en) die naar de ontsteking gaan. Normaal gesproken is er een gefuseerde positieve constante voedingsdraad van de batterij (IN) en vervolgens een aantal andere draden die naar buiten worden gevoerd om de auto-componenten van stroom te voorzien in de verschillende stadia van de ontstekings-/aan-uitcyclus van de auto (Uit, ACC, IGN1/Run, IGN2/Start). Zoek uit welke draden dat zijn, aangezien je in de meeste oudere auto's alleen de Main IN positieve draad, de IGN1/Run en de IGN2/Start draden nodig hebt om de auto aan de praat te krijgen, maar dit verschilt van auto tot auto.

Voor de auto die ik had, had ik in totaal maar 3 draden nodig, maar ze leverden een hoge stroomsterkte, dus ik had wat zware relais nodig om de belasting te schakelen. De relais die ik uiteindelijk heb gebruikt, zijn 30A 5V-modules die ik online heb gevonden. Ik wilde iets dat een hoge stroom ~30A aankan en dat eenvoudig kan worden geschakeld door een 5V-signaal.

Sluit indien nodig de ontstekingsdraden aan op de relais. Controleer altijd of de relais werken voordat je ze monteert, want ik heb meerdere "dood bij aankomst" relais gehad in mijn leven om dingen te bouwen die me letterlijk dagen van mijn leven hebben gekost om fouten te vinden.

U wilt dat deze relais op verschillende manieren werken. Het IGN1/Run-relais in mijn systeem zette de ECU van alle auto's, de radiateurventilator en de ontstekingsmodule aan, waardoor ik in zekere zin de auto's aan/uit kon zetten. Simpel gezegd, zonder dat de ontstekingsmodule van stroom wordt voorzien, zou de auto tollen maar nooit starten. Het IGN2 / Start-relais was rechtstreeks verbonden met de startersolenoïde die de motor daadwerkelijk zou starten. Met dit relais zou je dit alleen tijdelijk willen hebben om de auto te laten rijden, maar als het eenmaal loopt, zou je het willen uitschakelen om de startmotor niet te doden.

Testen

Circuit - Maak een eenvoudige schakelaar (IGN1/Run Relay) en een kortstondige knop (IGN2/Start) circuit als ingangen voor uw Arduino

Programmering - Schrijf een eenvoudig testscript om te testen dat beide relais werken zonder dat de startaccu is aangesloten. Als u eenmaal vertrouwd bent met uw circuit en script, sluit u de startaccu aan en test u deze. Op dit punt zou u uw auto moeten kunnen starten en stoppen.

Mijlpaal

Op dit punt zou je moeten hebben;

  1. IGN1/Run relais bedraad
  2. IGN2/Start relais bedraad
  3. controle van beide relais aan/uit operaties via Arduino
  4. testcircuit om de relais aan te sturen
  5. de auto kunnen starten
  6. de auto uit kunnen zetten

Stap 8: Onderdelen van het systeem - Versnellingspook

Omdat we in deze build een auto met automatische transmissie gebruiken, is het relatief eenvoudig om van versnelling te veranderen, omdat we de hendel alleen in een lineaire beweging naar bepaalde punten hoeven te bewegen.

Opmerking: ik heb besloten om de bestaande hendel te gebruiken en niet rechtstreeks op de transmissiekabel te koppelen, omdat ik de auto zo standaard en het interieur zo normaal mogelijk wilde houden.

Het enige moeilijke dat u zou kunnen bedenken, is dat u bij de meeste automatische transmissies een knop moet indrukken voordat u de transmissiehendel kunt bewegen. Omdat we een lineaire actuator gebruiken die een wormschroef heeft, kunnen we zijn zelfvergrendelende vermogen gebruiken om de transmissiehendel op zijn plaats te houden wanneer deze niet beweegt. Dus wat betreft de knop, u kunt deze permanent in de "depressieve" staat vergrendelen.

De hier gebruikte lineaire actuator moest voldoende slag hebben om van de parkeerstand naar achteruit, neutraal en vervolgens naar rijden te gaan. In het geval van mijn auto was het ongeveer 100 mm van waar ik de actuator monteerde. De kracht die nodig was om de hendel te bewegen was erg klein (<5 kg), dus uiteindelijk gebruikte ik een 150 mm slag/70 kg krachtactuator zoals deze op voorraad was.

Om de basis van de actuator te monteren, heb ik een beugel gelast en deze bevestigd aan een deel van het stalen frame dat in de middenconsole werd gebruikt. Hierdoor kon het enigszins draaien terwijl het door zijn slag werd uitgeschoven / ingetrokken.

Voor de bevestiging aan de transmissiehendel heb ik gewoon een paar stukjes stalen platte staaf gesneden en een paar bouten gebruikt om het op zijn plaats te houden. Het wordt niet hard om de hendel geklemd, het houdt het gewoon vast. Hierdoor kan het bewegen en niet vastlopen terwijl het beweegt.

Om de positie van de actuator te bepalen, gebruikte ik een schuifpotentiometer die een analoog signaal terugstuurde naar mijn Arduino. Ik heb een aangepaste montage gemaakt voor de pot op de actuator uit een platte staaf. Vervolgens heb ik de lipjes van de pottenschuif rond de bevestigingsbeugelbout van de transmissiehendel gevouwen. Het werkt, maar ik zou dit moeten veranderen om een betere bevestiging voor de pottenschuif te zijn.

Om de actuator aan te drijven heb ik een motor driver gebruikt die zowel voor- als achteruit kan en bestuurd kan worden via een microcontroller. Ik heb een 2x32A Sabertooth Motor Driver van Dimension Engineering gebruikt, maar voel je vrij om alles te gebruiken dat soortgelijk werkt. Het eerste kanaal zal worden gebruikt om de actuator van de keuzehendel te bedienen en het tweede zal de remactuator aansturen. Het bedraden en configureren van deze motordriver is eenvoudig en goed gedocumenteerd. Sluit de positieve en negatieve van de batterij aan zoals aangegeven en bevestig de actuatordraden aan de motoruitgang 1. Sluit de 0V aan op uw Arduino's Ground en de S1-draad op een digitale uitgangspin.

Opmerking: ik heb de eenvoudige seriële configuratie op deze build gebruikt en het leek redelijk goed te werken. Dimension Engineering heeft ook een aantal bibliotheken gemaakt om de communicatie met hun stuurprogramma's supereenvoudig te maken. Ze hebben ook enkele eenvoudige voorbeelden om u snel aan de slag te helpen.

Testen

Circuit - Om de actuator naar voren en naar achteren te bewegen, vormt u een eenvoudig circuit met twee tijdelijke knoppen als invoer. Een om de actuator uit te schuiven en de andere om de actuator in te trekken. Dit geeft u dan enige controle over het positioneren van de actuator in de versnellingsposities.

Programmering - Schrijf een eenvoudig script om de actuator heen en weer te bewegen en de waarde van de schuifpotentiometer uit te voeren. Let bij het uitvoeren van het script op de potentiometerwaarden voor de versnellingsstanden Park, Reverse, Neutral en Drive. U hebt deze nodig om de actuator in de volledige code naar deze posities te laten gaan.

Mijlpaal

Op dit punt zou je moeten hebben;

  1. actuator stevig in de auto gemonteerd
  2. bevestiging rond versnellingshendel/actuator
  3. motorstuurprogramma bedraad met actuator en Arduino
  4. aansturing van het uit-/intrekken van de actuator via de Arduino
  5. testcircuit om de extensie/intrekking van de actuator te controleren
  6. ken de potentiometerwaarden/posities voor elke versnellingspositie

Opmerking: u kunt ook een schakelcircuit met meerdere posities gebruiken om de versnellingskeuzeschakelaar op uw Arduino te testen zodra u de posities kent. Op deze manier kunt u de versnellingskeuzecode rechtstreeks kopiëren naar de voltooide codebasis voor rijdende auto's.

Stap 9: Onderdelen van het systeem - Remmen

Image
Image

Het stoppen van de auto is behoorlijk belangrijk, dus je wilt er zeker van zijn dat je dit goed doet. De remmen van een auto worden normaal gesproken bediend door uw voet, die indien nodig een grote hoeveelheid kracht kan uitoefenen. In deze build gebruiken we een andere lineaire actuator die de voet zal bedienen. Deze actuator moest een grote kracht hebben (~30kg) maar had slechts een korte slag van ~60mm nodig. Ik was in staat om een 100 mm slag / 70 kg krachtactuator te krijgen zoals deze op voorraad was.

Het vinden van de juiste plaats om de actuator te monteren was een beetje moeilijk, maar met wat vallen en opstaan vond ik een veilige positie. Ik las een stuk stalen platte staaf aan de zijkant van de rempedaalarm en boorde er een gat doorheen waar ik een bout uit de bovenkant van de actuator liet lopen. Vervolgens heb ik een draaibare montagebeugel aan het andere uiteinde van de actuator aan de plattegrond van de auto gelast.

Om de positie van de actuator te bepalen, gebruikte ik een schuifpotentiometer (dezelfde opstelling als de actuator van de versnellingskeuzeschakelaar) die een analoog signaal terug naar mijn Arduino zou sturen. Ik heb een aangepaste montage gemaakt voor de pot op de actuator uit een platte staaf. Vervolgens vouwde ik de lipjes van de schuifregelaar van de potten om een klein lipje met een platte staaf die ik aan het uiteinde van de actuator monteerde.

Om de actuator van stroom te voorzien heb ik het andere kanaal van de 2x32A Sabertooth Motor Driver gebruikt. Om beide motoren aan te sturen hoef je maar één draad (S1) te gebruiken.

Opmerking: ik heb de eenvoudige seriële configuratie op deze build gebruikt en het leek redelijk goed te werken. Deze motordriver kan op meerdere manieren worden geconfigureerd, dus kies een methode die u verkiest.

Testen

Positionering - Voordat u de actuator rechtstreeks op het rempedaal aansluit, wilt u een idee hebben van de afstand die het pedaal moet afleggen om te remmen. Ik duwde mijn voet op de rem om de auto te laten stoppen (stop ingedrukt houden, niet vol remmen). Vervolgens heb ik de actuator verplaatst om de verbindingsbevestiging uit te lijnen met de gelaste rembevestiging. Ik nam de uitgangswaarde van de potentiometer op, zodat ik toen wist wat mijn maximale remdepressiepositie was.

Ik deed hetzelfde als hierboven voor de stand van de rem.

Circuit - Om de actuator naar voren en naar achteren te bewegen, vormt u een eenvoudig circuit met twee tijdelijke knoppen als invoer. Een om de actuator uit te schuiven en de andere om de actuator in te trekken. Dit geeft u dan enige controle over het positioneren van de actuator in de versnellingsposities.

Programmering - Schrijf een eenvoudig script om de actuator heen en weer te bewegen en de waarde van de schuifpotentiometer uit te voeren. Let bij het uitvoeren van het script op de potentiometerwaarden voor de standen Rem aan en uit. U hebt deze nodig om de actuator in de volledige code naar deze posities te laten gaan.

Mijlpaal

Op dit punt zou je moeten hebben;

  1. actuator stevig in de auto gemonteerd
  2. bevestiging voor het rempedaal aan de actuator
  3. motorstuurprogramma bedraad met actuator en Arduino
  4. aansturing van het uit-/intrekken van de actuator via de Arduino
  5. testcircuit om de extensie/intrekking van de actuator te controleren
  6. ken de potentiometerwaarden/posities voor de rem uit- en aan-posities

Opmerking: in de laatste code gebruik ik het signaal van de RC-controller van het kanaal om te regelen hoeveel druk er op de rem moet worden uitgeoefend, evenredig met de positie van de stick. Dit gaf me het bereik van helemaal uit tot helemaal aan.

Stap 10: Onderdelen van het systeem - Accelerator

Laten we die motoren nu laten draaien en om dat te doen, moeten we het gaspedaal aansluiten. Omdat we een niet "drive-by-wire" auto gebruiken, trekken we eigenlijk aan een kabel die is aangesloten op het gasklephuis. Gasklephuizen hebben normaal gesproken een sterke veer die de vlinder zeer snel sluit wanneer het gaspedaal wordt losgelaten. Om deze kracht te overwinnen heb ik een servo met hoog koppel (~40kg/cm) gebruikt om aan de kabel te trekken.

Ik heb deze servo op een stuk stalen platte staaf geschroefd en met enkele haakse beugels aan de zijkant van de middenconsole gemonteerd. Ik moest ook een langere gaskabel (2m) kopen omdat de standaardkabel die in de auto werd gebruikt, te kort was. Dit gaf me ook veel meer montagemogelijkheden wat me veel tijd bespaarde.

Houd er rekening mee dat deze servo's met hoog koppel normaal gesproken een hogere stroom trekken dan de normale stroom, dus zorg ervoor dat u deze op de juiste manier kunt leveren. Ik heb er een 5V 5A gereguleerde voeding voor gebruikt die het gemakkelijk genoeg stroom geeft om op vol koppel te draaien. De signaaldraad van de servo werd vervolgens teruggevoerd naar een digitale uitgang van de Arduino.

Testen

Programmeren - Schrijf een eenvoudig script om de servo van de gaspedaal uit-positie naar volledig aan te draaien (als je een game bent). Ik heb een acceleratorconfiguratieparameter toegevoegd die de hoeveelheid beweging van de servo zou beperken, zodat ik het acceleratorgevoel snel kon aanpassen.

Mijlpaal

Op dit punt zou je moeten hebben;

  1. servo stevig gemonteerd
  2. gaskabel aangesloten van gasklephuis naar servo-bedieningsarm
  3. voeding aangesloten om voldoende stroom te leveren aan servo
  4. besturing van de servopositie via Arduino
  5. bekende standen voor servo voor gaspedaal uit en volledig aan

Opmerking: in de laatste code gebruik ik het signaal van de RC-controller van het kanaal om te bepalen hoeveel beweging op het gaspedaal moet worden toegepast, evenredig met de positie van de stick. Dit gaf me het bereik van helemaal uit tot volledig aan met de accelerator-configuratieparameter als limiter.

Stap 11: Onderdelen van het systeem - Sturen

Image
Image
Onderdelen van het systeem - Besturing
Onderdelen van het systeem - Besturing

De auto kunnen sturen waar we hem willen hebben, is erg belangrijk. De meeste auto's die in het verleden (vóór ~2005) zijn gemaakt, gebruikten hydraulische stuurbekrachtiging om het sturen van het stuur zeer licht te maken voor de gebruiker. Sindsdien hebben ze, dankzij de technologie en de vraag aan autofabrikanten om de uitstoot te verminderen, elektronische stuurbekrachtiging (EPS)-systemen ontwikkeld. Deze systemen gebruiken een elektromotor en een koppelsensor om de bestuurder te helpen bij het draaien van de wielen. Door de hydraulische stuurbekrachtigingspomp te verwijderen, wordt de motor nu minder belast, waardoor de auto op zijn beurt met een lager motortoerental kan draaien (minder uitstoot). Lees hier meer over EPS-systemen.

In de setup om mijn kleine auto te besturen, gebruikte ik een elektronisch stuurbekrachtigingssysteem (EPS) van een Nissan Micra uit 2009. Ik kocht het van een autosloper/sloperij voor $ 165. Ik heb deze EPS-module op de bestaande bevestigingsbouten van de stuurkolom gemonteerd via een houder die ik uit een stalen platte staaf heb gebogen.

Ik moest ook de onderste stuurkolomas (~ $ 65) kopen om de EPS aan te sluiten op de spiebaan van het stuurhuis. Om dit in mijn auto te laten passen, heb ik de stuurkolomas aangepast door de spie van de originele stuurkolom die ik uit de Honda heb gesneden aan deze as te snijden en te lassen.

Om de EPS-motor links of rechts aan te drijven/aan te sturen heb ik een 2x60A Sabertooth Motor Driver Controller van Dimension Engineering gebruikt. Ik heb slechts één van de kanalen gebruikt, maar je moet ervoor zorgen dat je een motordriver gebruikt die continu ~60A+ kan leveren, in voorwaartse/achterwaartse richting werkt en ook kan worden bestuurd via een microcontroller.

Om de positie van de stuurhoek te kennen heb ik een aangepaste stuurhoekpositiesensor ontworpen. De meeste auto's gebruiken een digitale versie die via de CAN-bus werkt, wat mij niet stoorde aan reverse-engineering. Voor mijn analoge positiesensor heb ik 2 multiturn potentiometers (5 toeren), 3 distributieriemschijven, een distributieriem en een aluminium plaat gebruikt om de componenten op te monteren. In elk distributietandwiel heb ik gaten geboord en getapt voor stelschroeven en vervolgens op de potten en EPS heb ik flats bewerkt om te voorkomen dat de tandwielen vrij ronddraaien. Deze werden vervolgens via een distributieriem met elkaar verbonden. Als het stuur gecentreerd was, stonden de potten op 2,5 omwentelingen. Als het stuur volledig naar links was vergrendeld, zou het 0,5 slag zijn en volledig naar rechts gestuurd met 4,5 slag. Deze potten werden vervolgens aangesloten op analoge ingangen op de Arduino.

Opmerking: De reden voor het gebruik van twee potten was dat als de riem gleed of brak, ik de verschillen tussen de potten kon lezen en een fout kon gooien.

Testen

Positionering - Voordat u de EPS op de onderste stuurkolom en het stuurhuis van de auto aansluit, kunt u het beste uw code testen voor de EPS en de stuurhoeksensor losgekoppeld.

Circuit - Om de EPS naar links of rechts te draaien, maakt u een eenvoudig circuit met twee tijdelijke knoppen als invoer. Een om de EPS naar links te draaien en de andere om naar rechts te draaien. Dit geeft u dan enige controle over het positioneren van de EPS in de stuurposities.

Programmeren - Schrijf een eenvoudig script om het stuur in het midden, links en rechts te plaatsen. Je zult de hoeveelheid kracht die aan de motor wordt gegeven willen regelen, want ik ontdekte dat 70% meer dan genoeg was om de wielen te laten draaien terwijl de auto stil stond. De vermogensafgifte aan de EPS vereist ook een versnellings- / vertragingscurve om de besturing soepel te positioneren.

Mijlpaal

Op dit punt zou je moeten hebben;

  1. Elektronisch stuurbekrachtigingssysteem (EPS) stevig gemonteerd
  2. onderste stuurkolom aangepast om van de EPS naar het stuurhuis te rijden
  3. stuurhoekpositiesensor die de hoek van het stuurhuis aan Arduino levert
  4. motorstuurprogramma bedraad met EPS en Arduino
  5. controle van de rotatie van de EPS via de Arduino
  6. testcircuit om de draairichting van de EPS te regelen
  7. draai de besturing van de auto volledig naar links, midden en volledig naar rechts vergrendeld via Arduino

Stap 12: Onderdelen van het systeem - ontvanger/zender

Onderdelen van het systeem - ontvanger/zender
Onderdelen van het systeem - ontvanger/zender

Nu naar het leuke deel dat al het werk dat je tot nu toe hebt gedaan, verbindt. De afstandsbediening is de eerste fase van het verwijderen van de menselijke component van het rijden, aangezien de commando's nu naar de ontvanger worden gestuurd en vervolgens in de Arduino worden ingevoerd om te worden uitgevoerd. In de tweede fase van deze serie zullen we de mens en RC zender/ontvanger vervangen door een computer en sensoren om te controleren waar het heen gaat. Maar laten we nu eens kijken hoe we de RC-zender en -ontvanger moeten instellen.

Om de componenten te bedienen die we tot nu toe in de auto hebben ingebouwd, moeten we de uitgangskanalen van de RC-ontvanger aansluiten op de Arduino. Voor deze build heb ik uiteindelijk slechts 5 kanalen gebruikt (gas en rem op hetzelfde kanaal), besturing, versnellingskeuzeschakelaar (3-standenschakelaar), ontstekingsfase 1 (auto power/run) en ontstekingsfase 2 (autostarter). Deze werden allemaal gelezen door de Arduino met behulp van de PulseIn-functie waar nodig.

Testen

Programmeren - Schrijf een eenvoudig script om alle ontvangerkanalen te lezen die u gebruikt om uw systemen in de auto te bedienen. Zodra u kunt zien dat alle ontvangerkanalen correct werken, kunt u beginnen met het integreren van de code die u eerder hebt gemaakt met de ontvangercode. Een goede plek om te beginnen is met het ontstekingssysteem. Vervang het lezen van de ingangen van de schakelaar en knop in het testcircuit dat u hebt gemaakt met de RC-ontvangerkanalen die u hebt ingesteld om het ontstekingssysteem te bedienen (IGN1/Run en IGN2/Start).

Opmerking: als u de Turnigy 9x-zender gebruikt zoals ik deed, wilt u deze uit elkaar halen en een paar schakelaars verplaatsen. Ik heb de tijdelijke "Trainer" -schakelaar verwisseld met de tuimelschakelaar "Throttle Hold" om de IGN2/Start-ingang te bedienen. Ik deed dit omdat je de "Trainer" -schakelaar niet als hulpschakelaar kon programmeren, maar wel met de "Throttle Hold" -schakelaar. Met een momentschakelaar voor de IGN2 / Start-ingang kon ik de startmotor niet vernietigen, omdat het relais alleen hoog zou worden vergrendeld terwijl

Mijlpaal

Op dit punt zou je moeten hebben;

  1. Alle ontvangeruitgangen zijn aangesloten op de Arduino
  2. Arduino in staat om de ingangen voor elk kanaal te lezen
  3. Elk kanaal kan elk auto-onderdeel bedienen (remmen, versnellingshendel enz.)

Stap 13: Eindprogramma

Dit deel is aan jou, maar hieronder vind je een link naar mijn code die je zal helpen als een basisbeginpunt om je auto aan de gang te krijgen.

Aanbevolen: