Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Radio sam neke poslove s automobilima kontroliranim Arduinom, ali oni na kojima sam radio uvijek su bili spori i metodični. Ovo je odlično kada učim arduino, ali želio sam nešto više … zabavno. Uđite u automobil za daljinsko upravljanje.
RC automobili doslovno su dizajnirani da budu što zabavniji u vožnji - oni su igračke! Otišao sam na YouTube, ali sve što sam pronašao je hrpa previše kompliciranih načina pretvaranja RC automobila u Arduino kontrolu. Mislio sam da moraju postojati jednostavniji načini za to, pa sam krenuo pronaći svoj vlastiti način pretvaranja RC automobila u Arduino kontrolu, naglašavajući jednostavnost i učinkovitost.
Umjesto da izvadim automobil i krenem ispočetka, mislio sam da bi bilo mnogo lakše povratiti postojeću infrastrukturu. Postoje neke zaista dobre prednosti ove metode.
Hakirao sam kontroler automobila, ali sam auto ostavio netaknut. To mi je omogućilo da autonomno upravljam automobilom znatno jeftinije, koristeći radio sistem koji već imaju.
Ovo rješenje mi se sviđa jer je elegantno, jednostavno, jeftino i proširivo. Nadam se da će vam biti koristan kao i meni!
Korak 1: Test vožnja
Zaista želite otvoriti automobil i početi. Ali čekajte! Upravo ste dobili ovaj sjajan novi RC automobil, odvojite trenutak da se ponašate pomalo djetinjasto i vozite ga! Moji prijatelji i ja smo se jako zabavljali trčeći okolo sa RC automobilom "za nauku". Naša omiljena mjesta za vožnju bili su lokalni skate park i stari bejzbolski dijamant. Ova mjesta su bila odlična za vježbanje skokova i krafni, pogledajte video snimak sporog mo koji smo dobili!
Korak 2: Otvorite kontroler
Svaki kontroler je drugačiji, pa je važno pogledati unutra kako biste shvatili s čime imate posla. Moj kontroler je imao okidač za gas i kotačić od pjene za okretanje. Ispostavilo se da su i okidač i kotač bili samo složena kućišta za potenciometre! Ovo je super zgodno jer to lako možemo prevariti s arduinom.
Odvojite minutu da shvatite gdje su potenciometri spojeni na ploču. Tu bi trebali imati 3 lemljene žice: napajanje, uzemljenje i prijenos podataka. Ovo će uskoro biti važno.
Korak 3: Multimetar
Naišao sam na problem i zaboravio sam pokušati koristiti multimetar. Nakon što sam se napokon sjetio koristiti multimetar, riješio je sve moje probleme!
Multimetri su poput ispisa u vašem kodu, uređivača vašeg papira. U ovom slučaju, multimetar mi je pomogao da shvatim način na koji su potenciometri spojeni kako bih ih mogao bolje lažirati pomoću arduina.
Da biste shvatili kako su vaši potenciometri spojeni, jednostavno dodirnite tlo uzemljenje, a crvenu žicu vašeg multimetra do podatkovnog pina na ploči. Redoslijed bi trebao biti jasan iz boje žica, ali ako nije, podatkovni pin će biti taj koji će promijeniti vrijednost dok se okreće potenciometar.
Zatim sam zabilježio vrijednosti linije podataka na sredini (zadana pozicija) i na oba pola. Na ovaj način bih znao šta je 0 i u kom smjeru da idem za povećanje ili smanjenje brzine ili za skretanje lijevo ili desno. Evo mojih mera:
- 0 maksimalna brzina
- 1.75v bez pokreta
- 3.0v max unazad
- 0 max skretanje ulijevo
- 1.57 bez skretanja
- 3,37 max skretanje udesno
Planirao sam koristiti Adafruit pero za kontrolu auta jer mi se ploča sviđa, ali ova mjerenja podržavaju tu odluku. Perje radi na 3.3v logici, što se odlično slaže sa ovim analognim opsegom. To se može učiniti i s 5v pločom, ali morate biti pažljiviji pri maksimalnom analognom naponu koji napajate.
Korak 4: Isprobajte
Ovaj korak nije obavezan, ali smatram da je uvijek bolje testirati međukorake pomoću kontrola ako je moguće. Koristio sam desktop power bank za povezivanje kontrolera sa štipaljkama od aligatora (nakon odlemljivanja vodova za podatke) i testiranje različitih napona. Bilo je strašno okrenuti gumb na power poweru da promijeni napon i gledati kako se kotači okreću kao da sam ih natjerao da se kreću pomoću kontrolera.
Korak 5: Priključite Arduino
Ovaj korak je zapravo bio prilično jednostavan, ali učinio sam nekoliko stvari koje su ovaj rad učinile mnogo boljim. Evo moje metode:
- Odlepite podatkovne vodove s dva potenciometra, sa strane ploče.
- Lemiti labave žice na muški utikač: brzina na napajanje i okretanje na masu.
- Lemite odgovarajući ženski utikač na ploču, tako da bi, ako je priključen, funkcionirao isto kao i prije.
-
Lemite muški utikač na arduino.
- Jedna žica za ugrađeni DAC (na mojoj ploči ovo je pin A0, nemaju ga sve ploče pa provjerite prvo!).
- Ako slučajno koristite Arduino Due ili slično, povežite drugu žicu s drugim ugrađenim DAC -om.
- U suprotnom spojite drugu žicu na izlaz vanjskog DAC -a; Kupio sam vanjsku DAC razvodnu ploču od adafruta.
- Spojite druge pinove vanjskog DAC -a na Arduino.
- Spojite uzemljenje jednog od potenciometara na uzemljenje Arduina
Pružanje zajedničke osnove pomaže dramatično smanjiti smetnje
Korak 6: Programiranje vašeg novog autonomnog automobila
Sada možete autonomno upravljati svojim RC automobilom! Morat ćete koristiti biblioteku ako koristite vanjski DAC, ali bi u protivnom programiranje trebalo biti prilično jednostavno. Kao što ste možda pretpostavili iz ožičenja, ključno je koristiti pravi analogni signal. U početku sam pokušavao postići da radi s PWM signalom, ali to je dalo zbunjujuće i općenito loše rezultate. S pravim analognim izlazima, međutim, odlično je funkcionirao!
Počnite s geometrijskim oblicima i uzorcima koje bi inače bilo teško napraviti pomoću kontrolera. Na primjer, prvo što sam programirao za svoje je da se vozi u savršenim krugovima različitog promjera.
Ovo je ujedno i najlakša modifikacija težine koju sam vidio za autonomnu kontrolu RC automobila, a naučit ćete mnogo o tome kako rade tijekom procesa!
Korak 7: Sljedeći koraci
Glavni nedostatak ovog rješenja je to što nemam dvosmjernu komunikaciju. To znači da mogu poslati upute za automobil, ali ne mogu primiti podatke senzora.
Sljedeća stvar koju planiram učiniti je riješiti ovaj problem, bilo hakiranjem automobilske strane radi slanja podataka nazad, bilo postavljanjem zasebne veze za prijenos podataka senzora. Ako postavim zasebnu vezu, ona neće morati biti pouzdana kao glavna veza jer su kontrole motora važnije.