Obsah:

Bluetooth RC auto s STM32F103C a L293D - levné: 5 kroků
Bluetooth RC auto s STM32F103C a L293D - levné: 5 kroků

Video: Bluetooth RC auto s STM32F103C a L293D - levné: 5 kroků

Video: Bluetooth RC auto s STM32F103C a L293D - levné: 5 kroků
Video: STM32 Pwm + Accelerometer by Tushamanking 2024, Listopad
Anonim
Image
Image
Zničte pojídače baterií!
Zničte pojídače baterií!

Vyrobil jsem Bluetooth Arduino Car, jako je zde znázorněno, od Ardumotive_com. Problém, který jsem měl, byly baterie a jejich hmotnost, stejně jako jejich náklady. Od té doby jsou levné energetické banky pro mobilní telefony velmi dostupné. Jediné, co jsem musel udělat, bylo snížit váhu. Protože jsem levný, přešel jsem na mikrokontrolér STM32F103C. Mikrokontrolér STM32F103C lze zakoupit za méně než 2 $ a je mnohem menší než Arduino. Trochu jsem změnil kódování, aby fungovalo i se STM32F103C.

Zásoby

  • Levné auto na dálkové ovládání, které žere baterie. Ano, stejně jako ten, který používá Ardumotive_com. Vypnete systém a použijete místo toho powerbanku telefonu. Pokud máte prostředky na stavbu vlastního podvozku, pusťte se do toho. Šel jsem do obchodu s hračkami na ulici a koupil jsem si levné auto pod 10 dolarů. Auto žere baterie a dálkový ovladač jí baterie-ideální pro zlepšení.
  • Telefonní banka- Jsou super levné. Vyrazte z power bank, které mají na boku tlačítko napájení. Nebudete moci sledovat své auto a držet tlačítko. To je hloupé.
  • Čip L293D-Toto je dvojitý H-můstek, který bude ovládat elektromotory.
  • Modul Bluetooth HC-06
  • Přepínač-- Použil jsem jednoduchý vypínač.
  • Nějaký drát -telefon by byl v pořádku, ale trochu větší splétaný 20 gauge by byl lepší.
  • Protokol nebo kus plastu nebo lepenky k připevnění vaší modré pilulky a L293D. Jsem levný, takže jsem přišel s trochu jiným systémem s tenkou vlnitou lepenkou- jako z krabice od žárovky.
  • Dva levné nabíjecí kabely USB-lze je zakoupit u společnosti Dollar Tree. Nepoužívejte svůj pěkný programovací kabel. Jeden bude odpojen od vypínače a druhý bude nabíjet baterii.

Volitelný

  • 4 LED diody -chcete -li světlomety a zadní světla.
  • 4 220 ohmové odpory- pro LED diody v systému 3,3 V.
  • Piezo nebo malý reproduktor pro lesní roh.

Nástroje

  • Páječka a pájka
  • Hot Glue Gun- Moje dcera je Ninja!
  • Odizolovače a ostřelovače drátu
  • POZNÁMKA: Používáte -li lepenkovou techniku, kterou používám já, a nikoli proto desku, budete potřebovat Dremel nebo malou vrtačku

Krok 1: Zničte pojídače baterií

Zničte pojídače baterií!
Zničte pojídače baterií!

Je čas se bavit ničením pojídače baterií! Ano, ROZDĚLEJTE TO! Buďte hrdí na to, že se podílíte na tom, aby byl svět zelenější- OK, to je pořádné, ale každopádně … dostat se do rámce.

Nahoře je stejná jednotka, jakou jsem vytvořil verzi Arduino. Verze Arduino používala vážnou bateriovou energii, díky níž bylo auto těžší. Tak jsem to vzal zpátky dolů do rámu. Přidal jsem několik nárazníků z plastové lahve a horkého lepidla a upravil tělo. Více o těle později.

Jakmile budete mít rám s motory a řízením holý, zjistěte, které strany motorových svorek jsou které. K testování motoru použijte baterii nebo 5v nabíječku.

Když se na motoru řízení otáčejí kola doprava, označte kladný vodič baterie „3“a záporný vodič „6“.

Když se kola otáčejí dopředu, označte na hnacím motoru kladný vodič baterie „14“a záporný vodič „11“.

Krok 2: Kód v Arduino IDE

Kód v Arduino IDE
Kód v Arduino IDE
Kód v Arduino IDE
Kód v Arduino IDE

Nejlepší může být, když nejprve prototypujete elektroniku svého auta na prkénku.

Dobře, toto je jedna z ošemetných částí. „Modrou pilulku“nelze naprogramovat přes port USB. Nenašel jsem jednodušší programovací vysvětlení „Modré pilulky“než video na YouTube od Joop Brokking. Vysvětluje vše, co potřebujete vědět, včetně knihovny STMduino Rogera Clarka. Existuje způsob, jak nainstalovat zavaděč, takže můžete K naprogramování „modré pilulky“použít USB, ale zavaděč musíte naprogramovat přes sériovou sběrnici.

Sériovou sběrnici bohužel používá také adaptér Bluetooth. Program musí být nainstalován přes piny Serial Bus, PA9 a PA10, nejprve přes FTDI, poté můžete zkontrolovat všechna svá nastavení pomocí adaptéru Bluetooth.

Použijte prkénko a rozmístěte vše na prkénko, stejně jako třepající se skica výše. Odpojte linky Serial TX a RX adaptéru Bluetooth na pinech PA9 a PA10 STM32F103C. Připojte FTDI a program. Ujistěte se, že jsou přeškrtnuty linky sériové sběrnice, RX na Tx a Tx na RX. Jeden dostává a druhý dává.

Jakmile je program načten, můžete otevřít sériovou konzolu a odeslat

abyste zjistili, zda světla fungují. Pokud světla fungují, můžete odeslat

znovu je vypnout.

Položte auto na blok, zvedněte pneumatiky a odešlete

Kola by měla jít dopředu. Pokud ne, otočte dráty. Pamatujte si, jak jsme dříve označili vodiče. Odpovídající piny L293D by měly být shodné.

Chcete -li zastavit, pošlete

Podívejme se na významné změny v kódu.

V sekci s komentáři, na začátku, byste měli vidět původce souborů od společnosti Ardumotive. Několik následujících komentářů vysvětluje, kde jsem se trochu změnil, aby odrážel STM32F103C.

/ * * Vytvořil Vasilakis Michalis // 12-12-2014 ver.2

* Projekt: Ovládejte RC auto přes Bluetooth se smartphonem Android * Více informací na https://www.ardumotive.com * * Tento kód změněn na STM32F103 od Jim Garbe, [email protected] * Více informací na https:// github.com/jgarbe/RCCAR_STM32F103C*Všimněte si, že 8bitové hodnoty 0-255 byly změněny tak, aby*odrážely 16bitové hodnoty 0-65535*//****************** **********Na STM32 analogový zápis stále funguje na 8-bit 255,*Ale můžete získat plnou funkci rozsahu PWM, 0-65535, deklarováním Pin jako PWM*AND použití pwmWrite () namísto analogWrite () **************************/

Nejpozoruhodnější je, že kolíky nejsou pojmenovány stejným způsobem mezi Arduino a STM32F103C. Piny deklarujeme pomocí další sady řádků. Zbývá jeden pin, který je deklarován ve smyčce dolů. Na řádku 197 se ke čtení stavu baterie používá PA5.

//// Připojení L293

konstantní 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 // LEDky připojené na STM32F103C Pin A12 const int světla = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) Stavový pin na pinu A11 STM32F103C const int BTState = PA11;

Také pomocí analogWrite (); bude stále fungovat na „BluePill“. Ale je lepší deklarovat PWM piny pomocí, pinMode (, PWM);

Poté použijte

pwmWrite (,);

POZNÁMKA: 8bitové = 0-255, 16bitové = 0-65535

Řádky 32-44 jsou změny provedené na baterii. Pokud budete používat kontrolu stavu baterie, musíte použít dělič hlasování pro baterii, kterou máte. Tato část není ve Fritzingově skice zohledněna. Existuje spousta vysvětlení, jak vytvořit dělič napětí na Youtube. Protože je STM32F103C čip 3,3 V, opravil jsem zde kód, abych fyzicky použil dělič napětí. Arduino může tolerovat vyšší napětí prostřednictvím poskytovaných ADC, ale „modrá pilulka“ne.

/* Úroveň baterie bude zkontrolována na pinu PA5

* Změněn další řádek pro STM32F103C, protože ADC nezvládá * nic přes 3,3 V * Právě jsem to okomentoval * Je třeba vypočítat a použít dělič napětí pomocí dvou rezistorů * k měření vstupu ADC dále v kódu * příklad: * GND --- 2K odpor ----------------- 1K odpor ------ 5v * | * | * 3,3v */ // konstantní float maxBattery = 3,3; // Změňte hodnotu na maximální úroveň napětí baterie!

Krok 3: Dejte to všechno dohromady

Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady
Dejte to všechno dohromady

Obvykle používám proto-board k umístění kusů a pájení mezi otvory pro připojení všeho. Někdy vše „pájím mrtvým tahem“dohromady, abych získal větší dojem Frankenstein/3D.

Vybral jsem tuto hybridní metodu, aby bylo zařízení čisté a lehké- a samozřejmě LEVNĚ!

Tato metoda umožňuje také označování. Jedna z nejhorších částí pájení mrtvého hmyzu je, když se podíváte na IC čip zespodu a zapomenete, který pin je co.

Obrázky nahoře jsou celkem samozřejmé. Myslím, že nejtěžší je najít dostatečně tenkou lepenku, aby se dlabala a byla zároveň tuhá. Můžete také použít plast, ale jeho označení je trochu těžší. Jakmile přitlačím kolíky k desce a označím důlky, pomocí otvoru Dremel provrtám každý otvor pro kolíky.

Pokud jste si toho ještě nevšimli, světla mám na desce pouze jako konektor příslušenství. Nepoužívám indikátor baterie ani zvukový signál. Je to proto, že můj projekt má jiný účel. Bude to samovysvětlující, jakmile uvidíte konečný výsledek s karoserií auta. … Ale to přináší další myšlenku, Na tomto projektu je spousta nevyužitých pinů. Možná otvírák kufru, otvírač dveří v autě, rozbuška proti krakování, … … nebo dokonce mini-generátor rušení Galumini-Edison Luminiferous Aether!

Jakmile je veškeré pájení dokončeno, vyzkoušejte před lepením spojů za tepla úlevu na vodičích.

Použil jsem stejnou aplikaci pro Android jako Ardumotive, najdete ji na

Jakmile vyzkoušíte funkce auta, je čas umístit baterii a přepnout. Přejděte na další krok.

Krok 4: Baterie a přepínač

Dobře, tady nemůžete přesně sledovat můj plán.

Nějak budete muset najít dobré místo pro uložení baterie do auta, a to buď způsobem, jak nabít baterii z hardwarového klíče, nebo způsobem, jak přímo nabít zástrčku baterie. V úvodním videu jsem jen nalepil baterii a mikrokontrolér na rám a spustil to. Když jsem chtěl zastavit, jen jsem odpojil baterii. Problémem tohoto nastavení je pomíjivost zástrček na vašem kabelu USB a/nebo powerbance. Je lepší mít vypínač.

Také budete muset najít dobré místo pro spínač, kam karoserie automobilu stále umožní přístup. Použil jsem obyčejný tlačítkový spínač (ne dočasný) a namontoval jej na spodní část rámu, kde je umístěn původní prostor pro baterie.

Budete muset snížit kabel USB na polovinu a přepnout mezi baterií a USB portem STM32F103C. Ano, STM32F103C můžete napájet přes USB port. Přes USB port to prostě nelze naprogramovat. Opět jsem použil Dremel k vyvrtání několika otvorů pro pájecí kolíky spínače. Po pájení jsem použil Hot Glue, opět pro vyztužení spojů.

Krok 5: Položte karoserii na rám

Dobře, řekl jsem, že jsem přepracoval původní verzi tohoto auta pro Arduino. Skutečným konečným produktem tedy byla scénická rekvizita pro balet „Louskáček“v podání naší místní baletní společnosti. V úvodní scéně přeběhla po jevišti myš s Drosselmeyerovou náhodnou magií. Použil jsem krysu IKEA a namontoval ji na horní část rámu, Arduino a mnohem větší baterii. Rekvizita byla těžká a nedala se dobíjet. To je mnohem lepší!

Bavte se se svým autem. Pamatujte, že na STM32F103C je mnohem více pinů, které lze použít. Možná skunk podobný tomu v "Toy Story 4"

Doporučuje: