Kazalo:

Avtomobil RC Bluetooth s STM32F103C in L293D - poceni: 5 korakov
Avtomobil RC Bluetooth s STM32F103C in L293D - poceni: 5 korakov

Video: Avtomobil RC Bluetooth s STM32F103C in L293D - poceni: 5 korakov

Video: Avtomobil RC Bluetooth s STM32F103C in L293D - poceni: 5 korakov
Video: Как сделать радиоуправляемую машину с дистанционным управлением на 3D-принтере 2024, September
Anonim
Image
Image
Uniči akumulatorja!
Uniči akumulatorja!

Naredil sem Bluetooth Arduino Car, kot je prikazan tukaj, Ardumotive_com. Problem, ki sem ga imel, so bile baterije in njihova teža ter njihovi stroški. Od takrat so poceni baterije za mobilne telefone postale zelo dostopne. Vse, kar sem moral narediti, je bilo zmanjšati težo. Ker sem poceni, sem prešel na mikrokrmilnik STM32F103C. Mikrokontroler STM32F103C je mogoče kupiti za manj kot 2 USD in je veliko manjši od Arduina. Nekaj kodiranja sem spremenil tudi za delo s STM32F103C.

Zaloge

  • Poceni avto na daljinsko upravljanje, ki porabi baterije. Ja, tako kot tisti, ki ga uporablja Ardumotive_com. Izklopili boste sistem in namesto tega uporabili baterijo za napajanje telefona. Če imate sredstva za izdelavo lastnega podvozja, ga imejte pri roki. Šel sem v trgovino z igračami po ulici in kupil poceni avto za manj kot 10 dolarjev. Avto poje baterije, daljinec pa baterije-kot nalašč za izboljšanje.
  • Telefonska banka- zdaj so zelo poceni. Odmaknite se od bank za napajanje, ki imajo ob strani gumb za vklop. Ne boste mogli slediti svojemu avtomobilu in držati gumb. To je neumno.
  • Čip L293D-To je dvojni H-most, ki bo upravljal elektromotorje.
  • Modul Bluetooth HC-06
  • Stikalo- Uporabil sem preprosto stikalo za vklop/izklop.
  • Nekaj žično -telefonske žice bi bilo v redu, vendar bi bilo bolje, če bi bil večji nasedli 20 -milimetrski.
  • Proto deska ali kos plastike ali kartona za namestitev vaše modre tablete in L293D. Poceni sem, zato sem si omislil malo drugačen sistem s tankim valovitim kartonom- kot iz škatle z žarnico.
  • Dva poceni kabla za polnjenje USB-te je mogoče kupiti na Dollar Tree. Ne uporabljajte svojega lepega programskega kabla. Ena bo odrezana za stikalo za vklop/izklop, druga pa bo napolnila baterijo.

Neobvezno

  • 4 LED diode -če želite žaromete in zadnje luči.
  • 4 220 ohmski upori- za LED v sistemu 3.3v.
  • Piezo ali majhen zvočnik za rog.

Orodja

  • Spajkalnik in spajkanje
  • Hot Glue Gun- Moja hči je Ninja Hot Glue Gun!
  • Odstranjevalci žic in odrezki
  • OPOMBA: če uporabljate kartonsko tehniko, ki jo uporabljam, namesto proto plošče, boste potrebovali Dremel ali majhen vrtalnik

1. korak: Uničite akumulatorja

Uniči akumulatorja!
Uniči akumulatorja!

Čas je, da se zabavate pri uničenju akumulatorja! Ja, VEDNO TO! Bodite ponosni, da delate svoj del pri ozelenitvi sveta- OK, to je naporno, a vseeno … Pojdite na okvir.

Zgoraj je ista enota, ki sem jo naredil za različico Arduino. Različica Arduino je porabila resno baterijo, zaradi česar je bil avto težji. Zato sem ga vzel nazaj v okvir. Dodal sem nekaj blatnikov iz plastične steklenice in vročega lepila ter prilagodil telo. Več o telesu kasneje.

Ko imate ogrodje z motorji in krmiljenjem prazno, poiščite, na kateri strani so sponke motorja. Za preizkus motorja uporabite baterijo ali 5v polnilnik.

Ko kolesa zavijete desno, na krmilnem motorju označite pozitivno žico akumulatorja "3" in negativno žico "6".

Ko se kolesa vrtijo naprej, na pogonskem motorju označite pozitivno žico akumulatorja "14" in negativno žico "11".

2. korak: Koda v Arduino IDE

Koda v Arduino IDE
Koda v Arduino IDE
Koda v Arduino IDE
Koda v Arduino IDE

Morda bi bilo najbolje, če elektroniko svojega avtomobila najprej izdelate na krovu.

V redu, to je eden izmed zapletenih delov. "Modre tablete" ni mogoče programirati prek vrat USB. Nisem našel lažje programske razlage "Blue Pill" kot Youtube Video Joop Brokking. Pojasnjuje vse, kar morate vedeti, vključno s knjižnico STMduino Rogerja Clarka. Obstaja način za namestitev zagonskega nalagalnika, tako da lahko uporabite USB za programiranje "Blue Pill", vendar morate zagonski nalagalnik vseeno programirati prek serijskega vodila.

Na žalost serijsko vodilo uporablja tudi adapter Bluetooth. Program je treba namestiti prek zatičev Serial Bus, PA9 in PA10, najprej prek FTDI, nato lahko vse nastavitve preverite z adapterjem Bluetooth.

Uporabite mizo in vse postavite na mizo, tako kot zgornja skica. Odklopite serijski vmesnik TX in RX vmesnika Bluetooth na zatičih PA9 in PA10 STM32F103C. Priključite FTDI in program. Prepričajte se, da so črte zaporednega vodila prečkane, od RX do Tx in Tx do RX. Eden prejema, drugi pa daje.

Ko je program naložen, lahko odprete serijsko konzolo in pošljete

da vidim, če luči delujejo. Če luči delujejo, lahko pošljete

znova, da jih izklopite.

Avto postavite na blok, da dvignete pnevmatike in pošljete

Kolesa naj gredo naprej. Če ne, obrnite žice. Spomnite se, kako smo prej označili žice. Ustrezne zatiče L293D je treba uskladiti.

Če se želite ustaviti, pošljite

Poglejmo pomembne spremembe kode.

V razdelku s komentarji na začetku bi morali videti izvirnika datotek iz Ardumotive. Naslednjih nekaj komentarjev pojasnjuje, kje sem se nekoliko spremenil, da bi odražal STM32F103C.

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

* Projekt: Nadzirajte RC avto prek Bluetootha s pametnim telefonom Android * Več informacij na https://www.ardumotive.com * * To kodo je spremenil tako, da ustreza STM32F103, avtor Jim Garbe, [email protected] * Več informacij na https:// github.com/jgarbe/RCCAR_STM32F103C*Upoštevajte, da so bile 8-bitne vrednosti 0-255 spremenjene v*, da odražajo 16-bitne vrednosti 0-65535*//****************** **********Na STM32 analogni zapis še vedno deluje pri 8-bitnem 255,*Lahko pa dobite celotno funkcijo v območju PWM, 0-65535, tako da Pin označite kot PWM*IN uporaba pwmWrite () namesto analogWrite () ****************************/

Predvsem se nožice med Arduinom in STM32F103C ne imenujejo na enak način. Zatiče razglasimo z naslednjim nizom vrstic. V zanki je še en pin, ki je deklariran navzdol. V vrstici 197 se PA5 uporablja za branje napolnjenosti baterije.

//// L293 Povezava

const int motorA1 = PB6; // na pin 15 L293 const int motorA2 = PB7; // na pin 10 L293 const int motorja B1 = PB8; // na pin 7 L293 const int motorja B2 = PB9; // na pin 2 L293 // Led priključen na STM32F103C Pin A12 const int luči = PA12; // Zvočni signal /zvočnik za Arduino UNO Pin A8 const int zumer = PA8; // Bluetooth (HC-06 JY-MCU) Državni pin na zatiču A11 STM32F103C const int BTState = PA11;

Tudi z uporabo analogWrite (); bo še vedno delal na "BluePill". Bolje pa je, da se zatiči PWM prijavijo z uporabo, pinMode (, PWM);

Nato uporabite

pwmWrite (,);

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

Vrstice 32-44 so spremembe v bateriji. Če boste uporabili preverjanje nivoja baterije, morate za baterijo, ki jo imate, uporabiti delitelj glasnosti. Ta del se ne odraža v skici Fritzing. Obstaja veliko razlag, kako ustvariti razdelilnik napetosti na Youtube. Ker je STM32F103C čip 3,3 V, sem tukaj popravil kodo za fizično uporabo delilnika napetosti. Arduino lahko prenaša nekatere višje napetosti prek ADC -jev, vendar "Blue Pill" ne more.

/* Raven baterije se preveri na Pin PA5

* Spremenil naslednjo vrstico za STM32F103C, ker ADC ne zmore * nič več kot 3,3 V * Pravkar sem to komentiral * Treba je izračunati in uporabiti razdelilnik napetosti z uporabo dveh uporov * za merjenje vhoda ADC spodaj v kodi * primer: * GND --- 2K upor ----------------- 1K upor ------ 5v * | * | * 3.3v */ // const float maxBattery = 3,3; // Spremenite vrednost na maksimalno napetost akumulatorja!

Korak: Združite vse skupaj

Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj
Vse skupaj

Običajno uporabljam proto ploščo, da postavim kose in spajkam med luknje, da povežem vse. Včasih vse skupaj "spajkam", da dobim več videza Frankensteina/3D spajkanja.

Za to hibridno metodo sem se odločil, da bo naprava čista in lahka- in seveda, POVOLJNO!

Ta metoda omogoča tudi označevanje. Eden najslabših delov spajkanja mrtvih hroščev je, ko pogledate IC -čip od spodaj in pozabite, kateri pin je kaj.

Zgornje slike so samoumevne. Mislim, da je najtežji del najti dovolj tanek karton, da lahko zasenči in hkrati postane tog. Uporabite lahko tudi plastiko, vendar je označevanje nekoliko težje. Ko pritisnem zatiče na ploščo in označim vdolbine, z Dremelom izvrtam vsako luknjo.

Če še niste opazili, imam na plošči le lučke kot vtič za dodatno opremo. Ne uporabljam indikatorja baterije niti piskača. To je zato, ker je moj projekt za drugačen namen. Ko boste videli končni rezultat s karoserijo avtomobila, bo to samoumevno. … vendar to prinaša drugo idejo. V tem projektu je veliko neuporabljenih zatičev. Morda odpirač prtljažnika, odpirač vrat avtomobila, detonator požarnih krekerjev, … … ali celo mini generator Galvani-Edison svetilnega etra motnje!

Ko je spajkanje končano, pred vročim lepljenjem spojev preizkusite razbremenitev žic.

Uporabil sem isto aplikacijo za Android kot Ardumotive. Najdete jo na naslovu

Ko preizkusite funkcije avtomobila, je čas, da postavite baterijo in preklopite. Pojdite na naslednji korak.

4. korak: Baterija in stikalo

V redu, tukaj ne moreš natančno slediti mojemu načrtu.

Nekako boste morali najti dobro mesto, da baterijo postavite v avto z enim ali drugim načinom za polnjenje baterije iz ključa ali načinom za neposredno polnjenje akumulatorskega vtiča. V uvodnem videoposnetku sem baterijo in mikrokrmilnik samo prilepil na okvir in ga zagnal. Ko sem hotel ustaviti, sem samo odklopil baterijo. Težava pri tej nastavitvi je pokvarljivost vtičev na kablu USB in/ali banki napajanja. Bolje je imeti stikalo.

Prav tako boste morali najti dobro mesto za stikalo, kamor bo karoserija avtomobila še vedno omogočala dostop. Uporabil sem navadno stikalno stikalo (ne trenutnega stikala) in ga namestil na dno okvirja, kjer je originalni predal za baterije.

Kabel USB boste morali prepoloviti in preklopiti med baterijo in vrati USB STM32F103C. Da, STM32F103C lahko napajate z vrati USB. Preprosto ga ne morete programirati prek vrat USB. Ponovno sem uporabil Dremel, da sem izvrtal nekaj lukenj za stikalne spajkalne zatiče. Ko sem spajkal, sem ponovno uporabil vroče lepilo za okrepitev povezav.

5. korak: Postavite karoserijo avtomobila na okvir

V redu, rekel sem, da sem ponovno namenil prvotno različico tega avtomobila Arduino. Dejanski končni izdelek je bil torej odrski rekvizit za balet "Hrestač" v izvedbi našega lokalnega baletnega podjetja. V uvodnem prizoru je z Drosselmeyerjevo naključno magijo po odru stekla miška. Uporabil sem podgano IKEA in jo namestil na okvir, Arduino in veliko večjo baterijo. Stojalo je bilo težko in ga ni bilo mogoče ponovno napolniti. To je veliko bolje!

Zabavajte se s svojim avtomobilom. Ne pozabite, da je na STM32F103C veliko več zatičev, ki jih je mogoče uporabiti. Morda skunk, podoben tistemu v "Zgodbi igrač 4".

Priporočena: