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: How To Make A Wi-Fi Car Using NodeMCU esp8266 | Mobile Phone Controlled Car | PROKNOW 2024, Septembar
Anonim
Image
Image
Uništite izjelica baterije!
Uništite izjelica baterije!

Napravio sam Bluetooth Arduino automobil poput onog koji je ovdje prikazan, od strane Ardumotive_com. Problem koji sam imao su baterije i njihova težina, kao i trošak. Od tada su jeftine banke napajanja za mobilne telefone 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 se može kupiti za manje od 2 USD i mnogo je manji od Arduina. Promijenio sam malo kodiranja kako bih radio i sa STM32F103C.

Supplies

  • Jeftin automobil na daljinsko upravljanje koji troši baterije. Da, baš kao i onaj koji koristi Ardumotive_com. Isključit ćete sistem i umjesto toga koristiti bateriju za napajanje telefona. 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 troši baterije, a daljinski upravljač baterije-savršeno za poboljšanje.
  • Telefonska banka … Oni su sada super jeftini. Zalutajte iz banaka za napajanje koje imaju dugme za uključivanje sa strane. Nećete moći pratiti automobil i držati dugme. To je glupo.
  • Čip L293D-Ovo je dvostruki H-most koji će upravljati elektromotorima.
  • HC-06 Bluetooth modul
  • 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 sistem sa tankim valovitim kartonom- kao iz kutije sa sijalicom.
  • Dva jeftina USB kabla za punjenje-Ovi se mogu kupiti na Dollar Tree-u. Ne koristite svoj lijepi kabl za programiranje. Jedan će se isključiti za prekidač za uključivanje/isključivanje, a drugi će napuniti bateriju.

Opcionalno

  • 4 LED diode -ako želite prednja i zadnja svjetla.
  • 4 otpornika od 220 ohma-- za LED diode na sistemu od 3.3V.
  • Piezo ili mali zvučnik za trubu.

Alati

  • Lemilica i lemljenje
  • Hot Glue Gun-- Moja kći je Ninja Hot Glue Gun!
  • 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, IZUZETI TO! Budite ponosni što činite svoj dio u tome da svijet učinite zelenijim-- OK, to je naporno, ali svejedno … Idite do kadra.

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

Kad dobijete okvir s motorima i golim upravljačem, pronađite sa koje strane su terminali motora. Za testiranje motora upotrijebite bateriju ili punjač od 5 V.

Na motoru upravljača, kada kotači skreću udesno, označite pozitivnu žicu baterije "3", a negativnu žicu "6".

Na pogonskom motoru, kada 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 napravite 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 Joop Brokkinga. Objašnjava sve što trebate znati, uključujući STMduino biblioteku Rogera Clarkea. Postoji način da instalirate pokretački program tako da MOŽETE koristiti USB za programiranje "Plave pilule", ali ionako morate programirati pokretački program 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 matičnu ploču i rasporedite sve na ploči isto kao gornju skicu za fritulu. Odspojite serijske TX i RX linije Bluetooth adaptera na pinovima PA9 i PA10 STM32F103C. Uključite FTDI i program. Uvjerite se da su 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

da vidim da li svjetla rade. Ako svjetla rade, možete poslati

ponovo da ih isključite.

Stavite automobil na blok da podignete gume i pošaljete

Točkovi treba da idu napred. 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.

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

* Projekt: Upravljajte RC automobilom putem Bluetootha sa 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 pisanje i dalje radi na 8-bitnom 255,*Ali možete dobiti punu funkciju PWM opsega, 0-65535, proglašavanjem Pin-a kao PWM*AND 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 liniji 197, PA5 se koristi za očitavanje napunjenosti baterije.

//// L293 Veza

const int motorA1 = PB6; // na Pin 15 L293 const int motorA2 = PB7; // na pin 10 L293 const int motorB1 = PB8; // na pin 7 L293 const int motorB2 = 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) pin stanja na pinu A11 STM32F103C const int BTState = PA11;

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

Zatim upotrijebite

pwmWrite (,);

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

Redovi 32-44 predstavljaju izmjene na bateriji. Ako ćete koristiti provjeru nivoa baterije, morate koristiti razdjelnik glasova za bateriju koju imate. Ovaj dio se ne odražava na skici Fritzinga. Postoji mnogo objašnjenja o tome kako stvoriti razdjelnik napona na Youtube -u. 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.

/* Nivo baterije će se provjeriti na Pin PA5

* Promijenjen je sljedeći red za STM32F103C jer ADC ne može podnijeti * ništa preko 3,3 V * Upravo sam to prokomentirao * 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

Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno
Stavite sve zajedno

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

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

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

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

Ako već niste primijetili, na ploči imam svjetla samo kao dodatak za dodatnu opremu. 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 protiv požara, … … ili čak mini-generator Galvani-Edison Luminiferous Eether Disturbance Generator!

Nakon što je sve lemljenje završeno, prije vrućeg lijepljenja spojeva provjerite ima li naprezanja na žicama.

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

Nakon što isprobate funkcije automobila, vrijeme je da postavite bateriju i promijenite prekidač. 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 za bateriju. U uvodnom videu samo sam zalijepio bateriju i mikrokontroler na okvir i pokrenuo ih. 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 omogućiti pristup. Koristio sam običan prekidač (ne trenutni prekidač) i montirao sam ga na dno okvira gdje se nalazi originalni 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. Ponovo 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 promijenio namjenu originalne Arduino verzije ovog automobila. Stvarni konačni proizvod, dakle, bio je scenski rekvizit za balet "Orašar" u izvedbi naše lokalne baletske kompanije. U uvodnoj sceni, miš je pretrčao pozornicu sa Drosselmeyerovom slučajnom magijom. Koristio sam IKEA štakora i stavio ga na okvir, 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 još mnogo pinova koji se mogu koristiti. Možda skank sličan onom u "Priči o igračkama 4."

Preporučuje se: