Sadržaj:

Bluetooth RC automobil sa STM32F103C i L293D - jeftino: 5 koraka
Bluetooth RC automobil sa STM32F103C i L293D - jeftino: 5 koraka

Video: Bluetooth RC automobil sa STM32F103C i L293D - jeftino: 5 koraka

Video: Bluetooth RC automobil sa STM32F103C i L293D - jeftino: 5 koraka
Video: Mobile Control Car | Bluetooth Control Car | Remote Control Car #science #technology 2024, Lipanj
Anonim
Image
Image
Uništi baterijojeda!
Uništi baterijojeda!

Napravio sam Bluetooth Arduino automobil poput onog koji je ovdje prikazan, od strane Ardumotive_com. Problem koji sam imao bile su baterije i njihova težina, kao i trošak. Od tada su jeftine baterije za mobitele postale vrlo pristupačne. Sve što sam trebao učiniti je smanjiti težinu. Budući da sam jeftin, prešao sam na mikrokontroler STM32F103C. Mikrokontroler STM32F103C može se kupiti za manje od 2 USD i mnogo je manji od Arduina. Promijenio sam malo kodiranja kako bih radio i sa STM32F103C.

Pribor

  • Jeftin automobil na daljinsko upravljanje koji jede baterije. Da, baš poput onog koji koristi Ardumotive_com. Isključit ćete sustav i umjesto toga upotrijebiti telefonsku banku za napajanje. Ako imate resurse za izradu vlastite šasije, imajte to na umu. Otišao sam u trgovinu igračaka niz ulicu i kupio jeftin auto za manje od 10 dolara. Automobil jede baterije, a daljinski upravljač baterije-savršeno za poboljšanje.
  • Telefonska banka … Sada su super jeftini. Zalutajte iz banaka za napajanje koje imaju gumb za napajanje sa strane. Nećete moći pratiti svoj automobil i držati gumb. To je glupo.
  • Čip L293D-Ovo je dvostruki H-most koji će upravljati elektromotorima.
  • Bluetooth-modul HC-06
  • Prekidač-- Koristio sam jednostavan prekidač za uključivanje/isključivanje.
  • Neka žica -telefonska žica bi bila u redu, ali malo veće nasukane žice od 20 kalibra bilo bi bolje.
  • Proto ploča ili komad plastike ili kartona za postavljanje vaše plave pilule i L293D. Jeftin sam pa sam smislio malo drugačiji sustav s tankim valovitim kartonom- kao iz kutije sa žaruljom.
  • Dva jeftina USB kabela za punjenje-mogu se kupiti na Dollar Tree-u. Nemojte koristiti svoj lijepi kabel za programiranje. Jedan će biti izrezan za prekidač za uključivanje/isključivanje, a drugi će napuniti bateriju.

Izborno

  • 4 LED diode -ako želite prednja i zadnja svjetla.
  • 4 otpornika od 220 ohma-- za LED diode u sustavu od 3,3 V.
  • Piezo ili mali zvučnik za trubu.

Alati

  • Lemilica i lemljenje
  • Pištolj za vruće ljepilo- Moja kći je nindža vrućeg ljepila!
  • Skidači žica i šnale
  • NAPOMENA: ako koristite kartonsku tehniku koju ja koristim, a ne proto ploču, trebat će vam Dremel ili mala bušilica

Korak 1: Uništite izjelica baterije

Uništite izjelica baterije!
Uništite izjelica baterije!

Vrijeme je za zabavu uništavajući izjedač baterija! Da, GUT TO TO STVARI! Budite ponosni što činite svoj dio u tome da svijet učinite zelenijim-- U redu, to je naporno, ali svejedno … Dođite do kadra.

Iznad je ista jedinica koju sam napravio u verziji Arduino. Arduino verzija koristila je ozbiljnu bateriju koja je automobil činila težim. Pa sam ga vratio na okvir. Dodao sam neke blatobrane iz plastične boce i vrućeg ljepila i prilagodio tijelo. Više o tijelu kasnije.

Nakon što imate okvir s motorima i upravljačem, otkrijte koje su strane terminala motora. Za testiranje motora upotrijebite bateriju ili 5v punjač.

Na motoru upravljača, kada kotači skrenu udesno, označite pozitivnu žicu akumulatora "3", a negativnu žicu "6".

Na pogonskom motoru, kad se kotači okreću prema naprijed, označite pozitivnu žicu akumulatora "14" i negativnu žicu "11".

Korak 2: Kôd u Arduino IDE -u

Kôd u Arduino IDE -u
Kôd u Arduino IDE -u
Kôd u Arduino IDE -u
Kôd u Arduino IDE -u

Možda bi bilo najbolje ako prvo izradite prototip elektronike vašeg automobila na ploči.

U redu, ovo je jedan od lukavih dijelova. "Plava pilula" ne može se programirati putem USB priključka. Nisam našao lakše programsko objašnjenje "Plave pilule" od Youtube videa Joopa Brokkinga. Objašnjava sve što trebate znati, uključujući STMduino knjižnicu Rogera Clarkea. Postoji način da instalirate pokretački program tako da MOŽETE koristiti USB za programiranje "Plave pilule", ali svejedno morate pokrenuti program za pokretanje putem serijske sabirnice.

Nažalost, serijsku sabirnicu koristi i Bluetooth adapter. Program se mora instalirati putem serijske sabirnice, PA9 i PA10 pinova, prvo putem FTDI -ja, a zatim možete provjeriti sve svoje postavke pomoću Bluetooth adaptera.

Upotrijebite ploču za osmišljavanje i rasporedite sve na ploči isto kao gornju skicu za prženje. Odspojite serijske TX i RX linije Bluetooth adaptera na pinovima PA9 i PA10 STM32F103C. Uključite svoj FTDI i program. Provjerite jesu li linije serijske sabirnice ukrštene, od RX do Tx i Tx do RX. Jedan prima, a drugi daje.

Nakon što se program učita, možete otvoriti serijsku konzolu i poslati

provjeriti rade li svjetla. Ako svjetla rade, možete poslati

ponovno ih isključiti.

Stavite automobil na blok da podignete gume i pošaljete

Kotači bi trebali ići naprijed. Ako to ne učine, preokrenite žice. Sjetite se kako smo ranije označili žice. Odgovarajuće pinove L293D treba uskladiti.

Za zaustavljanje pošaljite

Pogledajmo značajne promjene u kodu.

U odjeljku s komentarima, na početku, trebali biste vidjeti pokretača datoteka iz Ardumotivea. Sljedećih nekoliko komentara objašnjava gdje sam se malo promijenio u skladu sa STM32F103C.

/ * * Izradio Vasilakis Michalis // 12-12-2014 ver.2

* Projekt: Upravljajte RC automobilom putem Bluetootha s Android pametnim telefonom * Više informacija na https://www.ardumotive.com * * Promijenio je ovaj kod tako da odgovara STM32F103 od Jim Garbea, [email protected] * Više informacija na https:// github.com/jgarbe/RCCAR_STM32F103C*Imajte na umu da su 8-bitne vrijednosti 0-255 promijenjene u*odražavaju 16-bitne vrijednosti 0-65535*//****************** **********Na STM32 analogno upisivanje i dalje radi na 8-bitnom 255,*No možete dobiti potpunu funkcijum raspona PWM, 0-65535, proglašavanjem Pin-a kao PWM*I korištenje pwmWrite () umjesto analogWrite () ****************************/

Najvažnije je da pinovi nisu imenovani na isti način između Arduina i STM32F103C. Igle deklariramo pomoću sljedećeg niza redaka. Ostao je još jedan pin koji je deklariran dolje u petlji. Na retku 197, PA5 se koristi za očitavanje razine baterije.

//// L293 Veza

const int motorA1 = PB6; // na pin 15 L293 const int motorA2 = PB7; // na pin 10 L293 const int motoraB1 = PB8; // na pin 7 L293 const int motoraB2 = PB9; // na pin 2 L293 // Led spojen na STM32F103C Pin A12 const int svjetla = PA12; // Zvučni signal /zvučnik na Arduinu UNO Pin A8 const int zujalica = PA8; // Bluetooth (HC-06 JY-MCU) Držač pin na pin A11 STM32F103C const int BTState = PA11;

Također, pomoću analogWrite (); i dalje će raditi na "BluePill -u". No, bolje je prijaviti PWM pinove pomoću, pinMode (, PWM);

Zatim upotrijebite

pwmWrite (,);

NAPOMENA: 8-bit = 0-255, 16-bit = 0-65535

Redci 32-44 predstavljaju izmjene na bateriji. Ako ćete koristiti provjeru razine baterije, morate koristiti razdjelnik glasova za bateriju koju imate. Ovaj se dio ne odražava na skici Fritzinga. Postoji mnogo objašnjenja kako stvoriti razdjelnik napona na Youtubeu. Budući da je STM32F103C čip od 3,3 V, popravio sam kod kako bih fizički koristio razdjelnik napona. Arduino može tolerirati neke veće napone putem ADC -a, ali "Plava pilula" ne može.

/* Razina baterije provjerit će se na Pin PA5

* Promijenjen je sljedeći redak za STM32F103C jer ADC ne može podnijeti * ništa preko 3,3 V * Upravo sam to komentirao * Mora se izračunati i koristiti naponski razdjelnik koji koristi dva otpornika * za mjerenje ADC ulaza dalje u kodu * primjer: * GND --- 2K otpornik ----------------- 1K otpornik ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Promijenite vrijednost na maksimalni napon baterije!

Korak 3: Sve spojite

Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno
Spojite sve zajedno

Obično koristim proto-ploču za postavljanje komada i lemljenje između rupa za povezivanje svega. Ponekad "zalemim lemljenje" sve zajedno radi više Frankensteinovog/3D izgleda lemljenja.

Odabrao sam ovu hibridnu metodu kako bih uređaj učinio čistim i laganim- i naravno, JEFTINIM!

Ova metoda omogućuje i označavanje. Jedan od najgorih dijelova lemljenja mrtvih grešaka je kada pogledate IC čip odozdo i zaboravite koji je pin koji.

Gornje slike su razumljive same po sebi. Pretpostavljam da je najteži dio pronaći dovoljno tanak karton da u isto vrijeme može utabati rupice i biti krut. Možete koristiti i plastiku, ali označiti je malo teže. Kad pritisnem igle na ploču i označim rupice, Dremelom izbušim svaku rupu za iglu.

Ako već niste primijetili, svjetla imam samo kao utikač za dodatke na ploči. Ne koristim indikator baterije, niti zvučni signal. To je zato što moj projekt ima drugu svrhu. To će biti samo po sebi razumljivo kada vidite gotov rezultat s karoserijom automobila. … ali ovo donosi drugu ideju. Na ovom projektu ima puno neiskorištenih pinova. Možda otvarač prtljažnika, otvarač vrata automobila, detonator za vatrogasce, … … ili čak mini-generator Galvani-Edison Luminiferous Eether Disturbance Generator!

Nakon što je sve lemljenje završeno, prije nego što vruće zalijepite spojeve ispitajte ima li naprezanja na žicama.

Koristio sam istu aplikaciju za Android kao i Ardumotive, može se pronaći na

Nakon što isprobate funkcije automobila, vrijeme je da postavite bateriju i prebacite je. Idite na sljedeći korak.

Korak 4: Baterija i prekidač

U redu, ovdje ne možete točno slijediti moj plan.

Nekako ćete morati pronaći dobro mjesto za stavljanje baterije u automobil, bilo kako, načinom punjenja baterije iz ključa ili načinom izravnog punjenja utikača baterije. U uvodnom videu samo sam zalijepio bateriju i mikrokontroler na okvir i pokrenuo ga. Kad sam htio stati, samo sam isključio bateriju. Problem s ovim postavljanjem je kvarljivost utikača na USB kabelu i/ili banci napajanja. Bolje je imati prekidač.

Također ćete morati pronaći dobro mjesto za prekidač gdje će karoserija automobila i dalje dopuštati pristup. Koristio sam običan prekidač (ne trenutni prekidač) i montirao sam ga na dno okvira gdje se nalazi izvorni pretinac za baterije.

Morat ćete prepoloviti USB kabel i staviti prekidač između baterije i USB priključka STM32F103C. Da, možete napajati STM32F103C putem USB priključka. Jednostavno ga ne možete programirati putem USB priključka. Ponovno sam upotrijebio Dremel za bušenje rupa za prekidače za lemljenje. Nakon lemljenja, ponovo sam upotrijebio vruće ljepilo za učvršćivanje veza.

Korak 5: Stavite karoseriju automobila na okvir

U redu, rekao sam da sam ponovno namjerio originalnu Arduino verziju ovog automobila. Stvarni konačni proizvod, dakle, bio je scenski rekvizit za balet "Orašar" u izvedbi naše lokalne baletne kuće. U uvodnoj sceni miš je pretrčao pozornicu s Drosselmeyerovom slučajnom magijom. Koristio sam IKEA štakora i stavio ga na vrh okvira, Arduino i mnogo veći paket baterija. Nosač je bio težak i nije se mogao puniti. Ovo je mnogo bolje!

Zabavite se sa svojim autom. Upamtite da na STM32F103C postoji mnogo više pinova koji se mogu koristiti. Možda skank sličan onom u "Priči o igračkama 4."

Preporučeni: