Þráðlaus stjórn á Lego mótorum með Steam Controller

Þráðlaus stjórn á Lego mótorum með Steam Controller

Þegar ég var ungur langaði mig alltaf að hafa legó teknósett til að smíða flotta hluti með. Sjálfstæðir skriðdrekar með snúningsturnunum sem skjóta legókubbum. En svo átti ég ekki svona sett.

Og það voru ekki einu sinni venjulegir legókubbar. Ég átti bara vin sem bróðir hans átti öll þessi dýru leikföng.

Og nú á ég son á þessum aldri. Og hann smíðar skriðdreka sem ... heimskulega áfram þangað til þeir rekast í vegginn 🙂

Og nú er kominn tími á ESP32 og töfra lóðajárnsins - við skulum setja saman réttu fjarstýringuna fyrir þá!

Nei, auðvitað veit ég um tilvist slíkra fjarstýringa. En ekkert þeirra hentar mér fullkomlega. Þeir eru annað hvort innrauðir, með 80s tækni, eða of stórir. Eða þá dýru. Og síðast en ekki síst, ég mun ekki geta sagt syni mínum frá neinum þeirra: "Ég gerði það sérstaklega fyrir þig!"

Þannig að við skulum búa til nýja, endurbætta fjarstýringu til að stjórna öllum!

Þráðlaus stjórn á Lego mótorum með Steam Controller

Innihaldsefni:

  • ESP32-WROOM-32D | WiFi, BLE og örgjörvi með I/O - nóg til að stjórna tveimur mótorar и LED.
  • DRV8833 | tvöföld H-brú með nægu afli fyrir mótora.
  • TPS62162 | lækka spennuna niður í 17V, líka til gamans þegar lóðað er WSON-8 2x2mm hulstrið
  • CP2104 | fyrir ESP32 forritun
  • Tengi til að tengja mótora og díóða. Klipptu á vírana og lóðaðu þá á botninn og límdu Lego tengið ofan á.

Allt þetta verður sett á frekar lítið borð - hér er útlit þess í EasyEDA ritlinum:

Þráðlaus stjórn á Lego mótorum með Steam Controller

Vírinn, sem sést á titilmyndinni, er ekki nauðsynlegur til að leiðrétta einhverjar villur, heldur til að veita rafmagn frá USB. Það er kannski ekki nóg fyrir mótorinn, en því miður hafa tengiliðir frá Kína ekki enn komið til mín. Þess vegna athuga ég fyrst virkni LED. Fyrir fegurð á myndinni setti ég bara tengið frá mótornum á borðið.

Útgáfa 1.1 af borðinu mínu (ólíkt útgáfu 1.2 sem þegar er á EasyEDA) hafði engar LED, svo ég lóðaði tvær andstæðingur-samhliða díóða við úttakið svo ég gæti séð hvað var að gerast. Ef þú lítur vel, sýnir myndbandið að kveikt er til skiptis á pari af díóðum 0603, sem gefur til kynna hreyfingu fram/aftur.

Hvað fjarstýringuna varðar, þá vildi ég fyrst bara setja saman aukaborð með hnöppum og annan ESP32 - klassísk fjarstýringu.

Hins vegar mundi ég eftir því að gufustýringarnar eru með Bluetooth Low Energy (BLE) aðgerð. Ég ákvað að takast á við þetta mál og eftir nokkrar klukkustundir lærði ég hvernig á að taka á móti pakka frá stjórnandanum.

Til að gera þetta þarftu bara að leita að HID tæki sem kallar sig SteamController og tengjast því. Og notaðu svo óskráða þjónustu frá Valve og nokkrum óskráðar skipanir, sem leyfir sendingu pakka.

Þráðlaus stjórn á Lego mótorum með Steam Controller

Ég rakst líka á óskráð skýrslusnið sem ég þáttaði handvirkt.

Þráðlaus stjórn á Lego mótorum með Steam Controller

Eftir um það bil klukkutíma varð mér ljóst merking fána og gilda og mér tókst að blikka ljósdíóðann með Steam stjórnandi og ESP32. ¯_(ツ)_/¯

Skrár

v1.0: „prófunaraðferð“
- fyrsti kosturinn sem ég valdi rangan spennujafnara fyrir. TPS62291 tekur aðeins spennuna upp í 6V. Ég var að þróa nokkur verkefni samhliða og ég gleymdi að tækið þarf að vinna með 9V.

v1.1: "nógu góður"
- Þessi valkostur er sýnilegur í myndböndunum og allt virkar

v1.2: "lokaleikur"
- bætti ljósdíóðum við úttakið og fínstillti stærð og skipulag borðsins

Eftirfarandi stutt myndband sýnir tengingarfasann (1-3 sekúndur eftir að kveikt er á) og stjórn á úttakum mótorsins. Tengi frá Lego er ekki tengt ennþá. Það mun fara í tóma rýmið við hliðina á hinum tengjunum, merkt með hvítum rétthyrningi.

Sonur minn notar nú reglulega þennan stjórnanda til að stjórna vélunum sem hann hefur sett saman.

Í álagsprófinu lenti ég aðeins í einu vandamáli: Ég hélt að „hröð hrörnun“ hamur [hröð hrörnun] vélstjórans myndi virka best, en vegna þess, eftir nokkrar sekúndna notkun, lækkaði hraðinn mjög mikið . Svo ég breytti kóðanum þannig að hann notar "slow decay" [slow decay].

Þráðlaus stjórn á Lego mótorum með Steam Controller

Þó að ég sé ekki viss um hvernig DRV virkar og hvers vegna mótorinn snýst hratt í fyrstu, og síðan eftir 10 sekúndur byrjar hann að hægjast smám saman. Kannski eru MOSFET-tækin að hitna og viðnám þeirra eykst of mikið.

Ég vona að þetta dæmi um hvernig á að nota Arduino veiti öðru fólki áreynslulaust innblástur og gerir þeim kleift að kynna börnum sínum rafeindatækni.

Heimild: www.habr.com

Bæta við athugasemd