Sisukord:

Bluetooth RC auto koos STM32F103C ja L293D - odav: 5 sammu
Bluetooth RC auto koos STM32F103C ja L293D - odav: 5 sammu

Video: Bluetooth RC auto koos STM32F103C ja L293D - odav: 5 sammu

Video: Bluetooth RC auto koos STM32F103C ja L293D - odav: 5 sammu
Video: Новая попытка побить личный рекорд на ARRMA Limitless 8s. (Speedrun). 2024, September
Anonim
Image
Image
Hävita akusööja!
Hävita akusööja!

Tegin Bluetoothi Arduino auto, nagu siin on kujutatud, Ardumotive_com. Minu probleem oli akud, nende kaal ja kulud. Sellest ajast alates on mobiiltelefonide odavad energiapangad muutunud väga taskukohaseks. Kõik, mida ma pidin tegema, oli kaalust alla võtta. Kuna olen odav, läksin üle mikrokontrollerile STM32F103C. Mikrokontrolleri STM32F103C saab osta vähem kui 2 dollari eest ja see on palju väiksem kui Arduino. Muutsin natuke kodeerimist, et see töötaks ka STM32F103C -ga.

Tarvikud

  • Odav puldiga auto, mis sööb patareisid. Jah, täpselt nagu see, mida Ardumotive_com kasutab. Lülitate süsteemi välja ja kasutate selle asemel telefoni toitepanka. Kui teil on ressursse oma šassii ehitamiseks, olge valmis. Läksin tänavale mänguasjapoodi ja ostsin odava auto alla 10 dollari. Auto sööb patareisid ja pult patareisid-täiuslik.
  • Telefonivõimupank- nad on nüüd ülimalt odavad. Hoolige toitepankadest, mille küljel on toitenupp. Te ei saa oma autot jälgida ja nuppu all hoida. See on rumal.
  • L293D kiip-see on kahekordne H-sild, mis juhib elektrimootoreid.
  • HC-06 Bluetooth-moodul
  • Lüliti- kasutasin lihtsat sisse/välja lülitit.
  • Mõni traat -telefonijuhe sobiks hästi, kuid natuke suurem, 20 -tolline, oleks parem.
  • Protolaud või plast- või papitükk sinise pilli ja L293D kinnitamiseks. Olen odav, nii et mõtlesin välja natuke teistsuguse süsteemi õhukese lainepapiga- nagu lambipirnist.
  • Kaks odavat USB-laadimiskaablit-neid saab osta dollaripuust. Ärge kasutage oma kena programmeerimiskaablit. Üks neist lõigatakse sisse/välja lüliti jaoks ja teine laeb akut.

Valikuline

  • 4 LED -i -kui soovite esitulesid ja tagatulesid.
  • 4 220 oomi takistid- 3,3 V süsteemi LED-ide jaoks.
  • Pieso või väike kõlar sarve jaoks.

Tööriistad

  • Jootekolb ja jootekolb
  • Kuum liimipüstol- mu tütar on kuumliimipüstoli ninja!
  • Traadi eemaldajad ja klambrid
  • MÄRKUS. Kui kasutate minu kasutusel olevat papist tehnikat, mitte protoplaati, vajate Dremeli või väikest puurit

Samm: hävitage akusööja

Hävita akusööja!
Hävita akusööja!

On aeg lõbutseda akusööja hävitamisel! Jah, sisendage seda! Tundke uhkust selle üle, et teete oma osa maailma rohelisemaks muutmisel- OK, see on venitus, aga siiski … Tulge raami juurde.

Eespool on sama seade, mille tegin Arduino versiooni. Arduino versioon kasutas tõsist akut, mis muutis auto raskemaks. Niisiis, võtsin selle raami alla tagasi. Olin lisanud mõned porilauad plastpudelist ja kuumast liimist ning kohandanud kere. Kehast lähemalt hiljem.

Kui olete raami koos mootorite ja rooliga paljastanud, leidke, milline mootoriklemmide pool on. Kasutage mootori testimiseks akut või 5v laadijat.

Roolimootoril, kui rattad pöörlevad paremale, märkige aku positiivne juhe "3" ja negatiivne juhe "6".

Kui rattad pöörlevad ettepoole, märkige juhtmootoril aku positiivne juhe "14" ja negatiivne traat "11".

Samm: kood Arduino IDE -s

Arduino IDE kood
Arduino IDE kood
Arduino IDE kood
Arduino IDE kood

Parim võib olla see, kui prototeerite oma auto elektroonika esmalt leivalaual.

OK, see on üks keerulisi osi. "Sinist pilli" ei saa USB -pordi kaudu programmeerida. Ma pole leidnud lihtsamat programmeerimise seletust "sinisele pillile" kui Joop Brokkingi Youtube'i video. See selgitab kõike, mida peate teadma, sealhulgas Roger Clarke'i STMduino raamatukogu. Käivituslaaduri installimiseks on olemas viis, mille abil saate "sinise pilli" programmeerimiseks kasutada USB -d, kuid peate alglaaduri programmeerima jadasiini kaudu.

Kahjuks kasutab jadasiini ka Bluetooth -adapter. Programm tuleb installida jadamiini, PA9 ja PA10 kontaktide kaudu, kõigepealt FTDI kaudu, seejärel saate Bluetooth -adapteri abil kõiki oma seadeid kontrollida.

Kasutage leivaplaati ja paigutage kõik leivalauale, nagu ülaltoodud visandav visand. Ühendage lahti Bluetooth -adapteri jada- ja RX -liinid STM32F103C PA9 ja PA10 kontaktidel. Ühendage oma FTDI ja programm. Veenduge, et jadasiini liinid on ületatud, RX kuni Tx ja Tx kuni RX. Üks saab ja teine annab.

Kui programm on laaditud, saate avada jadakonsooli ja saata

et näha, kas tuled töötavad. Kui tuled töötavad, võite saata

uuesti, et need uuesti välja lülitada.

Asetage auto rehvide tõstmiseks plokile ja saatke

Rattad peaksid edasi liikuma. Kui nad seda ei tee, pöörake juhtmed ümber. Pidage meeles, kuidas me varem juhtmeid märgistasime. L293D vastavad tihvtid tuleks sobitada.

Peatamiseks saatke

Vaatame koodi olulisi muudatusi.

Kommenteeritud jaotises peaksite alguses nägema failide algatajat Ardumotivest. Järgmised kommentaarid selgitavad, kus olen natuke muutunud, et kajastada STM32F103C.

/ * * Loodud Vasilakis Michalis // 12.12.2014 ver.2

* Projekt: RC Car juhtimine Bluetoothi kaudu Android -nutitelefoniga * Lisateavet leiate aadressilt https://www.ardumotive.com * * Muutis selle koodi sobivaks STM32F103, autor Jim Garbe, [email protected] * Lisateavet leiate aadressilt https:// github.com/jgarbe/RCCAR_STM32F103C*Pange tähele, et 8-bitised väärtused 0-255 on muudetud*kajastama*16-bitiseid väärtusi 0-65535*//****************** **********STM32-l töötab analoogkirjutus endiselt 8-bitisel 255-l,*PWM-vahemiku 0-65535 täieliku funktsiooni saate aga, kui kuulutate PIN-koodi PWM-ks*JA kasutades pWmWrite () asemel analogWrite () ***************************/

Kõige olulisem on see, et tihvte pole Arduino ja STM32F103C vahel samamoodi nimetatud. Me deklareerime tihvtid järgmise joonte komplekti abil. Jäänud on üks tihvt, mis on silmuses allapoole kuulutatud. Reas 197 kasutatakse aku taseme lugemiseks PA5.

//// L293 Ühendus

const int mootorA1 = PB6; // L293 konstani int 15 mootorile pin 15, A2 = PB7; // L293 const pin mootori tihvtile 10B1 = PB8; // L293 konstani int 7 mootori tihvti 7 juurde = B9 = PB9; // L293 tihvti 2 juurde // STM32F103C -ga ühendatud LED -id Tihvti A12 konstantsed tuled = PA12; // summeri /kõlar Arduino UNO pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) STM32F103C const int BTState = PA11 oleku tihvt tihvtil A11;

Samuti kasutades analogWrite (); töötab endiselt "BluePilli" kallal. Kuid parem on deklareerida PWM -tihvtid, kasutades

pinMode (, PWM);

Seejärel kasutage

pwmWrite (,);

MÄRKUS: 8-bitine = 0-255, 16-bitine = 0-65535

Ridad 32-44 on aku muudatused. Kui kavatsete kasutada aku taseme kontrollimist, peate kasutama oma aku jaoks hääletusjaoturit. See osa ei kajastu Fritzingi visandis. Youtube'is on palju selgitusi, kuidas pingejaoturit luua. Kuna STM32F103C on 3,3 V kiip, parandasin ma koodi siin, et füüsiliselt kasutada pingejaoturit. Arduino talub pakutavate ADC -de kaudu mõningaid kõrgemaid pingeid, kuid "sinine pill" ei saa.

/* Aku taset kontrollitakse tihvtil PA5

* Muudeti STM32F103C järgmist rida, kuna ADC ei saa hakkama * midagi üle 3,3 V * Ma lihtsalt kommenteerisin seda * Pingejagur, kasutades kahte takistit, tuleb arvutada ja kasutada * ADC sisendi mõõtmiseks koodis allapoole * näide: * GND --- 2K takisti ----------------- 1K takisti ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Muuda väärtus oma maksimaalsele pinge tasemele!

Samm: pange see kõik kokku

Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku
Pange see kõik kokku

Ma kasutan tavaliselt proto-plaati, et asetada tükid ja jootma aukude vahele, et kõik ühendada. Mõnikord "jootan" kõik kokku, et saada rohkem Frankensteini/3D -jootet.

Valisin selle hübriidmeetodi, et muuta seade puhtaks ja kergeks- ja muidugi ODAVAKS!

See meetod võimaldab ka märgistamist. Deadbug -jootmise üks hullemaid osi on see, kui vaatate altpoolt IC -kiipi ja unustate, milline tihvt on mis.

Ülaltoodud pildid on iseenesestmõistetavad. Ma arvan, et raske osa on leida piisavalt õhuke papp, et samal ajal tuhmuda ja olla jäik. Võite kasutada ka plastikut, kuid selle märgistamine on natuke raskem. Kui vajutan tihvtid tahvli külge ja märgin süvendid, puurin Dremeli abil iga tihvtiaugu läbi.

Kui te pole veel märganud, on mul tuled ainult lisatarviku pistikuna tahvlil. Ma ei kasuta aku indikaatorit ega piiksu. See on sellepärast, et minu projekt on teistsugusel eesmärgil. See on iseenesestmõistetav, kui näete auto kerega lõpptulemust. … Aga see toob veel ühe idee, selle projekti kohta on palju kasutamata tihvte. Võib-olla pakiruumi avaja, auto ukseavaja, tuletõrjeõhu detonaator…… või isegi mini- Galvani-Edisoni helendav eetrihäiregeneraator!

Kui kogu jootmine on lõpule viidud, katsetage enne kuumliimimist vuugid pingete maandamiseks juhtmetele.

Kasutasin sama Androidi rakendust nagu Ardumotive, selle leiate aadressilt

Kui olete auto funktsioone testinud, on aeg aku ja lüliti asetada. Minge järgmise sammu juurde.

Samm: aku ja lüliti

OK, siin ei saa te minu plaani täpselt järgida.

Millegipärast peate leidma hea koha, kuhu oma aku autosse panna, kas akupanga donglist laadimise või aku pistiku otselaadimise viisi. Sissejuhatavas videos teipisin aku ja mikrokontrolleri lihtsalt raami külge ja käivitasin selle. Kui ma tahtsin peatuda, võtsin lihtsalt aku lahti. Selle seadistuse probleemiks on USB -kaabli ja/või toitepanga pistikute riknemine. Parem omada lülitit.

Samuti peate leidma lülitile hea koha, kuhu autokere siiski juurde pääseb. Ma kasutasin tavalist nupulülitit (mitte hetkelist lülitit) ja paigaldasin selle raami põhja, kus asub originaalne patareipesa.

Peate USB -kaabli pooleks lõikama ja lülitama aku ja STM32F103C USB -pordi vahele. Jah, saate STM32F103C toita USB -pordiga. Sa lihtsalt ei saa seda USB -pordi kaudu programmeerida. Kasutasin uuesti Dremeli, et puurida mõned augud lülitite jootetihvtidele. Pärast jootmist kasutasin ühenduste tugevdamiseks kuuma liimi.

Samm: pange oma auto kere raamile

OK, ma ütlesin, et tegin selle auto algse Arduino versiooni ümber. Tegelik lõpptoode oli siis balleti "Pähklipureja" lavarekvisiit, mida esitas meie kohalik balletikompanii. Avastseenis jooksis hiir üle lava Drosselmeyeri juhusliku maagiaga. Kasutasin IKEA rotti ja paigaldasin selle raami, Arduino ja palju suurema aku peale. Rekvisiit oli raske ja ei olnud laetav. See on palju parem!

Nautige oma autoga. Pidage meeles, et STM32F103C -l on palju rohkem tihvte, mida saab kasutada. Võib -olla skunk, mis sarnaneb "Toy Story 4" omaga.

Soovitan: