Inhoudsopgave:
- Benodigdheden
- Stap 1: Gerecycleerde schat
- Stap 2: Theorie
- Stap 3: De NRF24L01+
- Stap 4: De L293D - Dubbele H-Bridge Motor Driver
- Stap 5: De auto strippen
- Stap 6: Hoe werkt de auto?
- Stap 7: De kwestie van macht
- Stap 8: RC-autocircuit
- Stap 9: PCB
- Stap 10: definitieve verbindingen
- Stap 11: Tip 1: Plaatsing radiomodule
- Stap 12: Tip 2: Houd het modulair
- Stap 13: Tip 3: Gebruik koellichamen
- Stap 14: RC-controllertijd
- Stap 15: Basisprincipes van analoge joysticks
- Stap 16: Controller-aansluitingen
- Stap 17: Tip 1: Gebruik de onderdelen die tot uw beschikking staan
- Stap 18: Tip 2: Verwijder onnodige sporen
- Stap 19: Tip 3: Houd de draden zo kort mogelijk
- Stap 20: Tip 4: Plaatsing! Plaatsing! Plaatsing
- Stap 21: Coderen
- Stap 22: Eindproduct
- Stap 23: Extra metingen:
Video: Upcycled RC Car - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
RC-auto's zijn altijd een bron van opwinding voor mij geweest. Ze zijn snel, leuk en je hoeft je geen zorgen te maken als je ze laat crashen. Maar als een oudere, meer volwassen RC-liefhebber, zie ik hem niet spelen met kleine RC-auto's voor kinderen. Ik moet grote, volwassen mangrote hebben. Dit is waar een probleem ontstaat: volwassen RC-auto's zijn duur. Terwijl ik online aan het browsen was, kostte de goedkoopste die ik kon vinden $ 320, met een gemiddelde van ongeveer $ 800. Mijn computer is goedkoper dan dit speelgoed!
Wetende dat ik dit speelgoed niet kan betalen, zei de maker in mij dat ik een auto kon maken voor een tiende van de prijs. Zo begon ik mijn reis om afval in goud te veranderen
Benodigdheden
De onderdelen die nodig zijn voor de RC-auto zijn als volgt:
- Gebruikte RC auto
- L293D Motor Driver (DIP-formulier)
- Arduino Nano
- NRF24L01+ radiomodule
- RC Drone-batterij (of een andere batterij met hoge stroomsterkte)
- LM2596 Buck-converters (2)
- Draden
- Perfboard
- Kleine, diverse componenten (headerpennen, schroefklemmen, condensatoren, enz.)
De onderdelen die nodig zijn voor de RC-controller zijn als volgt:
- Gebruikte controller (moet 2 analoge joysticks hebben)
- Arduino Nano
- NRF24L01+ radiomodule
- Elektrische draden
Stap 1: Gerecycleerde schat
Dit project begon ongeveer een jaar geleden toen mijn vrienden en ik van plan waren een computergestuurde auto te maken voor een hackathonproject (codeerwedstrijd). Mijn plan was om naar een kringloopwinkel te gaan, de grootste RC-auto te kopen die ik kon vinden, de binnenkant eruit te halen en te vervangen door een ESP32.
In een tijdnood haastte ik me naar Savers, kocht een RC-auto en bereidde me voor op de hackathon. Helaas kwamen veel van de onderdelen die ik nodig had niet op tijd binnen, dus moest ik het project volledig schrappen.
Sindsdien staat de RC-auto stof te verzamelen onder mijn bed, tot nu…
Snel overzicht:
In dit project zal ik een gebruikte speelgoedauto en een IR-controller hergebruiken om de Upcycled RC Car te maken. Ik zal de binnenkant eruit halen, Arduino Nano's implanteren en de NRF24L01+ radiomodule gebruiken om tussen de twee te communiceren.
Stap 2: Theorie
Begrijpen hoe iets werkt, is belangrijker dan weten hoe het werkt
- Kevin Yang 17-5-2020 (ik heb dit net verzonnen)
Dat gezegd hebbende, laten we beginnen te praten over de theorie en elektronica achter de Upcycled RC Car.
Aan de autokant zullen we een NRF24L01+, een Arduino Nano, een L293D-motordriver, de motoren in de RC-auto en twee buck-converters gebruiken. Eén buck-converter levert de aandrijfspanning voor de motor, terwijl de andere 5V levert voor de Arduino Nano.
Aan de kant van de controller gebruiken we een NRF24L01+, een Arduino Nano en de analoge joysticks in de hergebruikte controller.
Stap 3: De NRF24L01+
Voordat we beginnen, moet ik waarschijnlijk de olifant in de kamer uitleggen: de NRF24L01+. Als je de naam nog niet kent, de NRF24 is een chip geproduceerd door Nordic Semiconductors. Het is behoorlijk populair in de makersgemeenschap voor radiocommunicatie vanwege de lage prijs, het kleine formaat en de goed geschreven documentatie.
Dus hoe werkt de NRF-module eigenlijk? Om te beginnen werkt de NRF24L01+ op de 2,4 GHz-frequentie. Dit is dezelfde frequentie waarop Bluetooth en Wifi werken (met kleine variaties!). De chip communiceert tussen een Arduino met behulp van SPI, een vier-pins communicatieprotocol. Voor stroom gebruikt de NRF24 3,3V, maar de pinnen zijn ook 5V-tolerant. Hierdoor kunnen we een Arduino Nano gebruiken, die 5V-logica gebruikt, met de NRF24, die 3,3V-logica gebruikt. Een paar andere kenmerken zijn als volgt.
Opvallende kenmerken:
- Draait op de 2,4 GHz-bandbreedte
- Voedingsspanningsbereik: 1,6 - 3,6 V
- 5V tolerant
- Maakt gebruik van SPI-communicatie (MISO, MOSI, SCK)
- Neemt 5 pinnen in beslag (MISO, MOSI, SCK, CE, CS)
- Kan onderbrekingen veroorzaken - IRQ (Zeer belangrijk in dit project!)
- Slaapstand
- Verbruikt 900nA - 12mA
- Zendbereik: ~ 100 meter (afhankelijk van geografische locatie)
- Kosten: $ 1,20 per module (Amazon)
Als je meer wilt weten over de NRF24L01+, bekijk dan het gedeelte Extra metingen aan het einde
Stap 4: De L293D - Dubbele H-Bridge Motor Driver
Hoewel de Arduino Nano voldoende stroom kan leveren om een LED van stroom te voorzien, kan de Nano op geen enkele manier zelf een motor aandrijven. Daarom moeten we een speciale driver gebruiken om de motor te besturen. Behalve dat hij de stroom kan leveren, zal de driverchip de Arduino ook beschermen tegen spanningspieken die ontstaan door het aan- en uitzetten van de motor.
Plaats de L293D, een viervoudige halve H-brug motordriver, of in termen van de leek, een chip die twee motoren vooruit en achteruit kan aandrijven.
De L293D vertrouwt op H-bruggen om zowel de snelheid van een motor als de richting te regelen. Een ander kenmerk is de isolatie van de voeding, waardoor de Arduino van een stroombron los van de motoren kan lopen.
Stap 5: De auto strippen
Genoeg theorie en laten we echt gaan bouwen!
Omdat de RC-auto niet wordt geleverd met een controller (onthoud dat deze uit een kringloopwinkel komt), is de interne elektronica in feite nutteloos. Dus opende ik de RC-auto en gooide het controllerbord in mijn afvalbak.
Nu is het belangrijk om een paar aantekeningen te maken voordat we beginnen. Een ding om op te merken is de voedingsspanning voor de RC-auto. De auto die ik kocht is erg oud, lang voordat op lithium gebaseerde batterijen mainstream waren. Dit betekent dat deze RC-auto werd aangedreven door een Ni-Mh-batterij met een nominale spanning van 9,6 volt. Dit is belangrijk omdat dit de spanning is waarop we de motoren zullen aandrijven.
Stap 6: Hoe werkt de auto?
Ik kan met 99% zekerheid zeggen dat mijn auto niet dezelfde is als die van jou, wat betekent dat dit gedeelte in wezen nutteloos is. Het is echter belangrijk om op een paar kenmerken van mijn auto te wijzen, omdat ik mijn ontwerp daarop zal baseren.
Sturen
In tegenstelling tot moderne RC-auto's, gebruikt de auto die ik aan het modden ben geen servo om te draaien. In plaats daarvan gebruikt mijn auto een standaard geborstelde motor en veren. Dit heeft veel nadelen, vooral omdat ik niet in staat ben om fijne bochten te maken. Een direct voordeel is echter dat ik geen ingewikkelde bedieningsinterface nodig heb om te draaien. Het enige wat ik hoef te doen is de motor met een bepaalde polariteit van stroom te voorzien (afhankelijk van welke kant ik op wil).
Differentiële as
Verbazingwekkend genoeg bevat mijn RC-auto ook een differentieelas en twee verschillende versnellingsmodi. Dit is best grappig, aangezien differentiëlen meestal te vinden zijn in echte auto's, niet in kleine RC-auto's. Ik zou denken dat voordat deze auto in de schappen van een kringloopwinkel stond, het een high-end RC-model was.
Stap 7: De kwestie van macht
Nu de functies uit de weg zijn, moeten we het nu hebben over het belangrijkste onderdeel van deze build: hoe gaan we de RC-auto aandrijven? En om specifieker te zijn: hoeveel stroom is er nodig om de motoren aan te drijven?
Om dit te beantwoorden, heb ik een drone-batterij aangesloten op een buck-converter, waarbij ik de 11V van de batterij naar de 9,6V van de motoren liet vallen. Van daaruit stelde ik de multimeter in op 10A huidige modus en voltooide ik het circuit. Mijn meter gaf aan dat de motoren 300 mA stroom nodig hadden om in vrije lucht te draaien.
Hoewel dit misschien niet veel klinkt, is de meting waar we echt om geven de blokkeerstroom van de motoren. Om dit te meten leg ik mijn handen over de wielen om te voorkomen dat ze gaan draaien. Toen ik naar mijn meter keek, gaf deze een solide 1A weer.
Wetende dat de aandrijfmotoren ongeveer een amp zullen trekken, ging ik verder met het testen van de stuurmotoren die 500 mA trokken wanneer ze tot stilstand kwamen. Met deze kennis kwam ik tot de conclusie dat ik het hele systeem kan voeden met een RC-dronebatterij en twee LM2596 buck-converters*.
*Waarom twee-buck-controllers? Welnu, elke LM2596 heeft een maximale stroomsterkte van 3A. Als ik alles uit één buck-converter zou halen, zou ik veel stroom trekken, en daarom zou ik behoorlijk grote spanningspieken hebben. Door het ontwerp rust de Arduino Nano-kracht elke keer dat er een grote spanningspiek is. Daarom heb ik twee omvormers gebruikt om de belasting te verlichten en de Nano geïsoleerd te houden van de motoren.
Een laatste belangrijk onderdeel dat we nodig hebben, is een Li-Po-celspanningstester. Het doel hiervan is om de batterij te beschermen tegen overontlading om te voorkomen dat de levensduur van de batterij wordt verpest (houd altijd de celspanning van een op lithium gebaseerde batterij boven 3,5 V!)
Stap 8: RC-autocircuit
Met het stroomprobleem uit de weg, kunnen we nu het circuit bouwen. Hierboven is het schema dat ik heb gemaakt voor de RC-auto.
Houd er rekening mee dat ik de aansluiting van de batterij-voltmeter niet heb opgenomen. Om de voltmeter te gebruiken, hoeft u alleen maar de balansconnector aan te sluiten op de respectieve pinnen van de voltmeter. Als je dit nog nooit eerder hebt gedaan, klik dan op de video die is gelinkt in het gedeelte Extra lezingen voor meer informatie.
Opmerkingen over het circuit
De activeringspinnen (1, 9) op de L293D vereisen een PWM-signaal om een variabele snelheid te hebben. Dat betekent dat er maar een paar pinnen op de Arduino Nano op aangesloten kunnen worden. Voor de andere pinnen op de L293D is alles mogelijk.
Omdat de NRF24L01+ via SPI communiceert, moeten we zijn SPI-pinnen verbinden met de SPI-pinnen op de Arduino Nano (dus sluit MOSI -> MOSI, MISO -> MISO en SCK -> SCK aan). Het is ook belangrijk op te merken dat ik de IRQ-pin van de NRF24 heb aangesloten op pin 2 op de Arduino Nano. Dit komt omdat de IRQ-pin elke keer dat de NR24 een bericht ontvangt LAAG gaat. Als ik dit weet, kan ik een interrupt activeren om de Nano te vertellen de radio te lezen. Hierdoor kan de Nano andere dingen doen terwijl hij wacht op nieuwe data.
Stap 9: PCB
Omdat ik dit een modulair ontwerp wil maken, heb ik een PCB gemaakt met behulp van een perf-bord en veel header-pinnen.
Stap 10: definitieve verbindingen
Met de printplaat klaar en de RC-auto gestript, gebruikte ik krokodillendraden om te testen of alles werkt.
Nadat ik had getest of alle verbindingen correct waren, heb ik de krokodillendraden vervangen door echte kabels en alle componenten aan het chassis bevestigd.
Op dit punt heb je je misschien gerealiseerd dat dit artikel geen stapsgewijze handleiding is. Dit komt omdat het gewoon onmogelijk is om elke stap uit te schrijven, dus in plaats daarvan deel ik de volgende paar Instructables-stappen een paar tips die ik heb geleerd tijdens het maken van de auto.
Stap 11: Tip 1: Plaatsing radiomodule
Om het bereik van de RC-auto te vergroten, heb ik de NRF-radiomodule zo ver mogelijk opzij geplaatst. Dit komt omdat radiogolven weerkaatsen op metalen zoals PCB's en draden, waardoor het bereik kleiner wordt. Om dit op te lossen, heb ik de module aan de zijkant van de printplaat geplaatst en een gleuf in de behuizing van de auto gesneden zodat deze eruit kan steken.
Stap 12: Tip 2: Houd het modulair
Een ander ding dat ik deed dat me een paar keer heeft gered, is alles verbinden via header-pinnen en klemmenblokken. Dit zorgt ervoor dat onderdelen gemakkelijk kunnen worden verwisseld als een van de componenten wordt gebakken (om welke reden dan ook …).
Stap 13: Tip 3: Gebruik koellichamen
De motoren in mijn RC-auto duwen de L293D tot het uiterste. Hoewel de motordriver tot wel 600 mA continu aankan, betekent dit ook dat hij erg heet en snel wordt! Daarom is het een goed idee om wat koelpasta en heatsinks toe te voegen om te voorkomen dat de L293D zelf gaat koken. Zelfs met de koellichamen kan de chip echter nog steeds te heet worden om aan te raken. Daarom is het een goed idee om de auto na 2-3 minuten spelen af te laten koelen.
Stap 14: RC-controllertijd
Nu de RC-auto klaar is, kunnen we beginnen met het maken van de controller.
Net als de RC-auto kocht ik een tijdje geleden ook de controller met de gedachte dat ik er iets mee kon doen. Ironisch genoeg is de controller eigenlijk een IR-controller, dus hij gebruikt IR-LED's om tussen apparaten te communiceren.
Het basisidee van deze build is om het originele bord in de controller te houden en de Arduino en NRF24L01+ eromheen te bouwen.
Stap 15: Basisprincipes van analoge joysticks
Aansluiten op een analoge joystick kan ontmoedigend zijn, vooral omdat er geen breakout-bord voor de pinnen is. Geen zorgen! Alle analoge joysticks werken volgens hetzelfde principe en hebben meestal dezelfde pinout.
In wezen zijn analoge joysticks slechts twee potentiometers die de weerstand veranderen wanneer ze in verschillende richtingen worden bewogen. Als u bijvoorbeeld de joystick naar rechts beweegt, verandert de waarde van de x-as potentiometer. Wanneer u nu de joystick naar voren beweegt, verandert de y-as-potentiometer van waarde.
Met dit in gedachten, als we naar de onderkant van de analoge joystick kijken, zien we 6 pinnen, 3 voor de x-as potentiometer en 3 voor de y-as potentiometer. Het enige dat u hoeft te doen, is 5V en aarde op de buitenste pinnen aan te sluiten en de middelste pin op een analoge ingang op de Arduino aan te sluiten.
Houd er rekening mee dat de waarden voor de potentiometer worden toegewezen aan 1024 en niet aan 512! Dit betekent dat we de ingebouwde map()-functie in Arduino moeten gebruiken om digitale uitgangen te besturen (zoals het PWM-signaal dat we gebruiken om de L293D te besturen). Dit is al gedaan in de code, maar als u van plan bent uw eigen programma te schrijven, moet u daar rekening mee houden.
Stap 16: Controller-aansluitingen
De verbindingen tussen de NRF24 en de Nano zijn nog steeds hetzelfde voor de controller maar minus de IRQ-verbinding.
Het circuit voor de controller is hierboven weergegeven.
Het modden van een controller is absoluut een vorm van kunst. Ik heb dit punt al ontelbare keren gemaakt, maar het is gewoon niet mogelijk om een stapsgewijze how-to te schrijven om dit te doen. Dus, net als wat ik eerder deed, zal ik een paar tips geven over wat ik heb geleerd tijdens het maken van mijn controller.
Stap 17: Tip 1: Gebruik de onderdelen die tot uw beschikking staan
De ruimte in de controller is erg krap, dus als je andere ingangen voor de auto wilt opnemen, gebruik dan de schakelaars en knoppen die er al zijn. Voor mijn controller heb ik ook een potmeter en een 3-standenschakelaar op de Nano aangesloten.
Een ander ding om in gedachten te houden dat dit je controller is. Als de pinouts niet naar uw zin zijn, kunt u ze altijd opnieuw rangschikken!
Stap 18: Tip 2: Verwijder onnodige sporen
Omdat we het originele bord gebruiken, moet je alle sporen wegschrapen die naar de analoge joysticks en naar alle andere sensoren die je gebruikt, gaan. Zo voorkom je de kans op onverwacht sensorgedrag.
Om deze sneden te maken, gebruikte ik gewoon een stanleymes en kerfde ik de PCB een paar keer om de sporen echt te scheiden.
Stap 19: Tip 3: Houd de draden zo kort mogelijk
Deze tip gaat specifiek over de SPI-lijnen tussen de Arduino en de NRF24-module, maar dit geldt ook voor de andere verbindingen. De NRF24L01+ is extreem gevoelig voor interferentie, dus als er ruis wordt opgepikt door de draden, zal dit de gegevens beschadigen. Dit is een van de belangrijkste nadelen van SPI-communicatie. Evenzo, door de draden zo kort mogelijk te houden, maakt u ook de hele controller schoner en overzichtelijker.
Stap 20: Tip 4: Plaatsing! Plaatsing! Plaatsing
Naast het zo kort mogelijk houden van de draden, betekent dit ook dat de afstand tussen de onderdelen zo kort mogelijk moet worden gehouden.
Wanneer u op zoek gaat naar plaatsen om de NRF24 en de Arduino te monteren, denk er dan aan om ze zo dicht mogelijk bij elkaar en de joysticks te houden.
Een ander ding om in gedachten te houden is waar de NRF24-module moet worden geplaatst. Zoals eerder gezegd, kunnen radiogolven niet door metaal gaan, daarom moet u de module aan de zijkant van de controller monteren. Om dit te doen, heb ik een kleine spleet gesneden met een Dremel om de NRF24 uit de zijkant te laten steken.
Stap 21: Coderen
Waarschijnlijk het belangrijkste onderdeel van deze build is de eigenlijke code. Ik heb opmerkingen en alles toegevoegd, dus ik zal niet elk programma regel voor regel uitleggen.
Dat gezegd hebbende, een paar belangrijke dingen waar ik op wil wijzen, is dat je de NRF24-bibliotheek moet downloaden om de programma's uit te voeren. Als je de bibliotheken nog niet hebt geïnstalleerd, raad ik je aan de tutorials te bekijken die zijn gekoppeld in de sectie Extra lezingen om te leren hoe. Als u signalen naar de L293D verzendt, mag u ook nooit beide richtingspinnen inschakelen. Hierdoor wordt de motoraandrijving kortgesloten en verbrandt deze.
Github-
Stap 22: Eindproduct
Eindelijk, na een jaar stof verzamelen en 3 weken handenarbeid, ben ik eindelijk klaar met het maken van de Upcycled RC Car. Hoewel ik moet toegeven dat hij nergens zo krachtig is als de auto's in de introductie, kwam hij veel beter uit dan ik dacht. De auto kan ongeveer 40 minuten rijden voordat hij zonder stroom komt te zitten en kan tot 150 meter van de controller komen.
Een paar dingen die ik zeker zou doen om de auto te verbeteren, is om de L293D te vervangen door de L298, een grotere, krachtigere motordriver. Een ander ding dat ik zou doen, is de standaard NRF-radiomodule verwisselen voor de versie met versterkte antenne. Deze aanpassingen zouden respectievelijk het koppel en de actieradius van de auto vergroten.
Stap 23: Extra metingen:
NRF24L01+
- Nordic Semiconductor-gegevensblad
- SPI Communicatie (Artikel)
- Basisinstelling (video)
- Diepgaande zelfstudie (artikel)
- Geavanceerde tips en trucs (videoserie)
L293D
- Texas Instruments-gegevensblad
- Diepgaande zelfstudie (artikel)
Aanbevolen:
Arduino Car Reverse Parking Alert-systeem - Stap voor stap: 4 stappen
Arduino Car Reverse Parking Alert-systeem | Stappen voor stap: In dit project zal ik een eenvoudig Arduino Car Reverse Parking Sensor Circuit ontwerpen met behulp van Arduino UNO en HC-SR04 ultrasone sensor. Dit op Arduino gebaseerde Car Reverse-waarschuwingssysteem kan worden gebruikt voor autonome navigatie, Robot Ranging en andere ranger
Micro:bit Smart Car: 8 stappen
Micro:bit Smart Car: dit is een korte handleiding over hoe u uw eigen slimme auto kunt bouwen voor de micro:bit. Je kunt veel verschillende slimme auto's kopen, maar op deze manier aanpassen aan je eigen behoeften. Een van de eerste dingen die ik doe bij het lesgeven in micro:bit of arduino, is mijn
Nieuw!Steering Smart Robot Car Chassis by Servo FUTABA 3003 SINONING: 3 stappen
Nieuw!Steering Smart Robot Car Chassis door Servo FUTABA 3003 SINONING: Ontwerp en gemaakt door SINONING RO BOTdit is een slim autochassis, je kunt je printplaat erop installeren, zoals Arduino, en je code schrijven, het zal een robotauto worden. je wilt, je kunt kopen bij Stuurrobotchassis
Een geweldig klinkende Bluetooth-luidspreker gebouwd - Upcycled!: 7 stappen (met afbeeldingen)
Een geweldig klinkende Bluetooth-luidspreker gebouwd | Upcycled!: Een tijdje geleden stuurde mijn vriend me een foto van een oude luidsprekerkast die op zijn dak lag. Zoals je op de afbeelding kunt zien (in de volgende stap), is het in een vreselijke staat. Gelukkig, toen ik hem vroeg om het aan mij te geven, stemde hij toe. Ik was van plan om te bouwen
Upcycled arcade: 7 stappen
Upcycled Arcade: ik heb altijd al een rechtopstaande arcade-emulator voor mijn huis willen bouwen. Sinds ik deze oude kapotte pokerarcade tegenkwam, zag ik het potentieel dat het iets geweldigs moest worden