Përmbajtje:

Makinë Bluetooth RC Me STM32F103C dhe L293D - Të lira: 5 hapa
Makinë Bluetooth RC Me STM32F103C dhe L293D - Të lira: 5 hapa

Video: Makinë Bluetooth RC Me STM32F103C dhe L293D - Të lira: 5 hapa

Video: Makinë Bluetooth RC Me STM32F103C dhe L293D - Të lira: 5 hapa
Video: ESP32 Tutorial 15 - DC Motor Speed Control with ESP32 L293D | SunFounder's ESP32 IoT Learnig kit 2024, Nëntor
Anonim
Image
Image
Shkatërroni konsumuesin e baterisë!
Shkatërroni konsumuesin e baterisë!

Kam bërë një makinë Arduino Bluetooth si ajo e përshkruar këtu, nga Ardumotive_com. Problemi që kisha ishin bateritë dhe pesha e tyre, si dhe shpenzimet e tyre. Që atëherë, bankat e lira të energjisë për celularët janë bërë shumë të përballueshme. E tëra që më duhej të bëja ishte të zvogëloja peshën. Duke qenë se jam i lirë, kalova në Mikrokontrolluesin STM32F103C. Mikrokontrolluesi STM32F103C mund të blihet për më pak se 2 dollarë, dhe është shumë më i vogël se një Arduino. Ndryshova pak kodim për të punuar edhe me STM32F103C.

Furnizimet

  • Një makinë e lirë me telekomandë që ha bateri. Po, ashtu si ai që përdor Ardumotive_com. Ju do ta fikni sistemin dhe do të përdorni një bankë të energjisë të telefonit. Nëse keni burime për të ndërtuar shasinë tuaj, sigurojeni atë. Shkova në dyqanin e lodrave në rrugë dhe bleva një makinë të lirë për nën 10 dollarë. Makina ha bateri, dhe telekomanda ha bateri-perfekte për përmirësim.
  • Një bankë e fuqisë telefonike- Ato janë super të lira, tani. Largohuni nga bankat e energjisë që kanë një buton të energjisë anash. Ju nuk do të jeni në gjendje të ndiqni makinën tuaj dhe të mbani butonin. That'sshtë marrëzi.
  • Një Çip L293D-Ky është Ura e dyfishtë H që do të kontrollojë motorët elektrikë.
  • Një modul Bluetooth HC-06
  • Një ndërprerës- Kam përdorur një çelës të thjeshtë ndezje/fikje.
  • Disa tela të telefonit me tela do të ishin mirë, por një matës pak më i madh me 20 matës do të ishte më mirë.
  • Një Proto Board ose një copë plastike ose kartoni për të montuar Blue Pill -in tuaj dhe L293D. Unë jam i lirë kështu që unë doli me një sistem pak më ndryshe me karton të hollë të valëzuar- si nga një kuti llambash.
  • Dy kabllo të lirë karikimi USB-Këto mund të blihen nga një pemë dollarësh. Mos përdorni kabllon tuaj të bukur të programimit. Njëri do të pritet për çelësin e ndezjes/fikjes, dhe tjetri do të ngarkojë baterinë.

Opsionale

  • 4 LED -nëse doni fenerë dhe drita të pasme.
  • 4 Rezistorë 220 Ohm- për LED-të në një sistem 3.3v.
  • Një piezo ose folës i vogël për një bri.

Mjetet

  • Hekuri i saldimit dhe saldimi
  • Ngjitës i nxehtë- Vajza ime është një Ninja e nxehtë me Ngjitës!
  • Nxjerrëse dhe kapëse me tela
  • SH NOTNIM: nëse përdorni teknikën e kartonit që unë po përdor në vend të një bordi proto, do t'ju duhet një Dremel ose stërvitje e vogël

Hapi 1: Shkatërroni konsumuesin e baterisë

Shkatërroni konsumuesin e baterisë!
Shkatërroni konsumuesin e baterisë!

Timeshtë koha për t'u argëtuar duke shkatërruar bateri -ngrënësin! Po, GUT atë gjë! Ndjehuni krenarë që po bëni pjesën tuaj për ta bërë botën më të gjelbër- OK, kjo është një shtrirje, por gjithsesi … Shkoni në kornizë.

Më sipër, është e njëjta njësi që kam bërë versionin Arduino. Versioni Arduino përdori energji serioze të baterisë që e bëri makinën më të rëndë. Pra, e ktheva përsëri në kornizë. Kisha shtuar disa mbrojtëse nga një shishe plastike dhe zam i nxehtë dhe e kisha përshtatur trupin. Më shumë për trupin më vonë.

Pasi të keni kornizën me motorët dhe drejtimin e zhveshur, gjeni se cila anë e terminaleve të motorit janë cilat. Përdorni një bateri ose karikues 5v për të testuar motorin.

Në motorin drejtues, kur rrotat kthehen djathtas, etiketoni telin pozitiv të baterisë "3" dhe tela negativ, "6".

Në motorin drejtues, kur rrotat rrotullohen përpara, etiketoni tela pozitiv të baterisë "14" dhe tela negative "11".

Hapi 2: Kodi në Arduino IDE

Kodi në Arduino IDE
Kodi në Arduino IDE
Kodi në Arduino IDE
Kodi në Arduino IDE

Mund të jetë më mirë nëse prototiponi elektronikën e makinës tuaj së pari në një dërrasë buke.

OK, kjo është një nga pjesët e ndërlikuara. "Pilula Blu" nuk mund të programohet përmes portës USB. Unë nuk kam gjetur një shpjegim më të lehtë programimi të "Pilulës Blu" sesa videoja e Joop Brokking në Youtube. Ai shpjegon gjithçka që ju duhet të dini, përfshirë bibliotekën STMduino të Roger Clarke. Ekziston një mënyrë për të instaluar një bootloader kështu që ju MUND të përdorni USB për të programuar "Blue Pill", por gjithsesi ju duhet të programoni bootloader përmes Serial Bus.

Fatkeqësisht, Bus Serial përdoret gjithashtu nga përshtatësi Bluetooth. Programi duhet të instalohet përmes kunjave Serial Bus, PA9 dhe PA10, së pari përmes një FTDI, pastaj mund të kontrolloni të gjitha cilësimet tuaja me përshtatësin Bluetooth.

Përdorni një dërrasë buke dhe paraqitni gjithçka në tabelë, ashtu si skica e shkëlqyeshme më sipër. Shkëputni linjat Serial TX dhe RX të përshtatësit Bluetooth në kunjat PA9 dhe PA10 të STM32F103C. Lidhuni me FTDI dhe programin tuaj. Sigurohuni që linjat Serial Bus të kalohen, RX në Tx dhe Tx në RX. Njëri merr dhe tjetri jep.

Pasi të jetë ngarkuar programi, mund të hapni tastierën serike dhe të dërgoni

për të parë nëse dritat po punojnë. Nëse dritat po punojnë, mund të dërgoni

përsëri për t'i fikur ato.

Vendoseni makinën tuaj në një bllok për të ngritur gomat dhe dërgoni

Rrotat duhet të shkojnë përpara. Nëse ata nuk e bëjnë, kthejeni telat. Mos harroni se si i etiketuam telat më herët. Kunjat përkatëse të L293D duhet të përputhen.

Për të ndaluar, dërgoni

Le të shikojmë ndryshimet domethënëse në kod.

Në pjesën e komentuar, fillimisht, duhet të shihni krijuesin e skedarëve, nga Ardumotive. Komentet e ardhshëm shpjegojnë se ku kam ndryshuar pak për të pasqyruar STM32F103C.

/ * * Krijuar nga Vasilakis Michalis // 12-12-2014 ver.2

* Projekti: Kontrolloni makinën RC përmes Bluetooth me Smartphone Android * Më shumë informacion në https://www.ardumotive.com * * E ndryshova këtë kod për t'iu përshtatur STM32F103 nga Jim Garbe, [email protected] * Më shumë informacion në https:// github.com/jgarbe/RCCAR_STM32F103C*Vini re se vlerat 8-bit 0-255 janë ndryshuar në*pasqyrojnë vlerat 16-bit 0-65535*//****************** **********Në STM32, shkrimi analog ende punon në 8-bit 255,*Por ju mund të merrni funksionin e plotë të gamës PWM, 0-65535, duke deklaruar Pin si PWM*DHE duke përdorur pwmWrite () në vend të analogWrite () **************************/

Më e rëndësishmja, kunjat nuk janë emëruar në të njëjtën mënyrë midis Arduino dhe STM32F103C. Ne deklarojmë kunjat duke përdorur grupin tjetër të rreshtave. Mbetet një kunj që deklarohet poshtë në lak. Në linjën 197, PA5 përdoret për të lexuar nivelin e baterisë.

//// L293 Lidhja

const int motorA1 = PB6; // te kunja 15 e L293 const int motorA2 = PB7; // te kunja 10 e L293 const int motorB1 = PB8; // tek Pin 7 i L293 const int motorB2 = PB9; // te kunja 2 e L293 // Ledet e lidhura me STM32F103C Pin A12 const int lights = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) Pina e gjendjes në kunjin A11 të STM32F103C const int BTState = PA11;

Gjithashtu, duke përdorur analogWrite (); do të punojë akoma në "BluePill". Por është më mirë të deklaroni kunjat PWM duke përdorur, pinMode (, PWM);

Pastaj përdorni

pwmWrite (,);

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

Linjat 32-44 janë ndryshime të bëra në bateri. Nëse do të përdorni kontrollin e nivelit të baterisë, duhet të përdorni një ndarës votimi për baterinë që keni. Kjo pjesë nuk pasqyrohet në skicën e Fritzing. Ka shumë shpjegime se si të krijoni një ndarës të tensionit në Youtube. Për shkak se STM32F103C është një çip 3.3v, unë rregullova kodin këtu për të përdorur fizikisht një ndarës të tensionit. Arduino mund të tolerojë disa tensione më të larta përmes ADC -ve të ofruara, por "Pilula Blu" nuk mund.

/* Niveli i baterisë do të kontrollohet në Pin PA5

* Ndryshoi rreshtin tjetër për STM32F103C sepse ADC nuk mund të trajtojë * asgjë mbi 3.3v * Unë sapo e komentova atë * Një ndarës i tensionit, duke përdorur dy rezistorë duhet të llogaritet dhe përdoret * për të matur hyrjen ADC më poshtë në kod. * shembull: * GND --- 2K rezistencë ---------------- 1K rezistencë ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Ndryshoni vlerën në nivelin tuaj maksimal të tensionit të baterisë!

Hapi 3: Vendosini të gjitha së bashku

Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku
Vendosini të gjitha së bashku

Unë zakonisht përdor një proto-bord për të vendosur pjesët dhe ngjitur midis vrimave për të lidhur gjithçka. Ndonjëherë "bashkoj" gjithçka së bashku për më shumë një pamje të bashkimit Frankenstein/3D.

Zgjodha këtë metodë hibride për ta bërë pajisjen të pastër dhe të lehtë- dhe natyrisht, TE LIR!

Kjo metodë gjithashtu lejon etiketimin. Një nga pjesët më të këqija të bashkimit të njollave është kur shikoni një çip IC nga poshtë dhe harroni se cila kunj është çfarë.

Fotografitë e mësipërme janë disi vetë -shpjeguese. Unë mendoj se pjesa e vështirë është gjetja e kartonit mjaft të hollë për të zbehur dhe për të qenë i ngurtë në të njëjtën kohë. Mund të përdorni edhe plastikë, por shënimi i tij është pak më i vështirë. Pasi i shtyp kunjat në tabelë dhe shënoj gropat, unë përdor një Dremel për të shpuar çdo vrimë të kunjave.

Nëse nuk e keni vënë re tashmë, unë kam vetëm dritat si një prizë aksesore në tabelë. Unë nuk jam duke përdorur treguesin e baterisë, as sinjalizuesin. Becauseshtë sepse projekti im është për një qëllim tjetër. Do të jetë vetë-shpjeguese pasi të shihni rezultatin e përfunduar me trupin e makinës. … Por kjo sjell një ide tjetër, Ka shumë kunja të papërdorura në këtë projekt. Ndoshta një çelës bagazhi, një derë makine, një shpërthyes zjarri,…… apo edhe një gjenerator shqetësimi mini-Galvani-Edison Luminiferous Aether!

Pasi të ketë përfunduar e gjithë bashkimi, provoni para se të ngjitni nyjet për të lehtësuar stresin në tela.

Kam përdorur të njëjtën Aplikacion Android si Ardumotive, Mund të gjendet në

Pasi të keni testuar funksionet e makinës, është koha për të vendosur baterinë dhe ndërroni. Shkoni në hapin tjetër.

Hapi 4: Bateria dhe Ndërprerësi

OK, kjo është ajo ku ju nuk mund ta ndiqni planin tim saktësisht.

Disi, do t'ju duhet të gjeni një vend të mirë për të vendosur baterinë tuaj në makinë me cilindo, një mënyrë për të ngarkuar bankën e baterisë nga një dongle, ose një mënyrë për të ngarkuar drejtpërdrejt prizën e baterisë. Në videon hyrëse, unë vetëm ngjita baterinë dhe mikrokontrolluesin në kornizë dhe e drejtova atë. Kur doja të ndaloja, thjesht e shkëputja baterinë nga priza. Problemi me këtë konfigurim është prishja e prizave në kabllon tuaj USB dhe/ose bankën tuaj të energjisë. Bettershtë më mirë të kesh një ndërprerës.

Ju gjithashtu do të duhet të gjeni një vend të mirë për ndërprerësin ku trupi i makinës do të lejojë akoma qasje. Kam përdorur një ndërprerës të thjeshtë të butonit (jo një çelës momental) dhe e kam montuar në pjesën e poshtme të kornizës ku ndodhet ndarja origjinale e baterisë.

Do të duhet të prishni një kabllo USB në gjysmë dhe të vendosni kalimin midis baterisë dhe portës USB STM32F103C. Po, mund ta fuqizoni STM32F103C me portën USB. Thjesht nuk mund ta programosh përmes portës USB. Kam përdorur përsëri një Dremel për të shpuar disa vrima për kunjat e saldimit të ndërprerës. Pasi u ngjit, unë përdor Hot Glue, përsëri për përforcimin e lidhjeve.

Hapi 5: Vendoseni trupin e makinës suaj në kornizë

OK, thashë që ri-synova versionin origjinal Arduino të kësaj makine. Produkti përfundimtar përfundimtar, atëherë, ishte një skenë për baletin "Arrëthyesi" të realizuar nga kompania jonë e baletit vendas. Në skenën e hapjes, një mi kaloi nëpër skenë me magjinë aksidentale të Drosselmeyer. Kam përdorur një miu IKEA dhe e kam vendosur në krye të kornizës, Arduino, dhe një paketë baterie shumë më të madhe. Mbështetësi ishte i rëndë dhe nuk mund të rimbushej. Kjo është shumë më mirë!

Argëtohuni me makinën tuaj. Mos harroni se ka shumë më shumë kunja në STM32F103C që mund të përdoren. Ndoshta një skunk i ngjashëm me atë në "Toy Story 4"

Recommended: