Osoba s kudrnatými vlasy v tričku s logem gymnázia Ch. Dopplera drží dron nad stolem s počítačovým monitorem zobrazující data, police s elektronickým vybavením výše.

Chci si
postavit
dron

Náš kroužek programování pro děti máme zaměřený nejprve na nabytí základních programátorských dovedností, algoritmizaci, logické myšlení a hned první rok se s dětmi pouštíme do programování jednoduchých grafických her, abychom je motivovali k zapojení trochy té herní matematiky a fyziky. Chceme totiž dělat reálné věci a ne si izolovaně zkoušet nezajímavé školní úlohy.

Řada dětí chodí na naše kroužky mnoho let a jak jsou starší, může se téma podle zájmu stočit i k webům, databázím či programovatelné elektronice apod. A tak se i stalo, že jsme si na kroužku zkoušeli programovat čip AT Mega, který znáte z populárního Arduina a vlastně jsme tomu ten rok věnovali času docela dost, až jednou Filip před prázdninami povídá:

Tak jsme si s bráchou říkali, že drony jsou děsně cool. Taky bych si chtěl jeden postavit.

Inu, zaujalo mě to, protože to má potenciál cool projektu. Totiž co jsme ještě neprozradili, že Filip neměl v plánu koupit hotový dron ba ani ho složit celý čistě jen z koupených součástek. Jistě, rám a mnoho dalších věcí koupíme hotové, ale srdcem kvadrokoptéry je letový počítač, který na pokyn z vysílačky řídí otáčky vrtulí tak, aby dron držel správně ve vzduchu a poslouchal pilota. Na rozdíl od letadel s křídly jsou kvadrokoptéry velice nestabilní a bez senzorů a chytře vymyšleného řízení se neobejdou. A tuhle řídicí desku si chtěl Filip postavit a naprogramovat sám svou vlastní.

Po prázdninách ovšem zavládl mezi námi trochu nesoulad. Nevím přesně, v jakém pořadí to bylo, ale rozhovor se odehrál zhruba v tomto duchu:

„Podívej, jaké jsem koupil hezké senzory na našeho droníčka.“

„Já se na to vykašlal. Chvíli jsem o tom přemýšlel a připadá mi to nějaké těžké. Blá, blá, blá…“

„Bych tam šoupl úplně jednoduchý PID regulátor, viděl jsem maličkaté drony, které řídilo Arduino a zvládly opatrně letět. Pojď, začneme jednoduše. Postavíme malou houpačku, abychom si to zkusili.“

Houpačka z Merkuru

Cíl pro začátek opravdu měl k letícímu dronu velmi daleko, ale bylo to něco, čeho jsme se nebáli a dovedli si to představit. Chtěli jsme postavit houpačku, která bude mít na každé straně motor s vrtulí a bude se snažit držet ve vodorovné poloze. Když do ní šťouchneme, měla by se zase rychle vrátit do vodorovné polohy.

Naučili jsme se získávat úhel natočení ze senzoru a měnit rychlost motorů. Filip si také vyzkoušel udělat jednoduchý regulátor a nastavit jeho parametry. A i když to byl jen model, který byl díky málo výkonným motorům pomalý, tak jsme viděli, že to funguje.

Zbytek třeťáku ale Filip strávil tím, že o houpačce psal ročníkovou práci do školy a měřil si do ní různé grafy apod.

Stavíme skutečný dron

Další podzim jsme se k dronu vrátili a Filip si za peníze z brigády koupil karbonový rám a velmi slušnou modelářskou vysílačku a učili jsme se, jak získávat pokyny od pilota. Blížily se Vánoce a Filipovi připadalo, že už by byl pomalu čas na pořízení skutečných motorů, abychom se je mohli naučit ovládat.

„Přijdeš ještě před Vánoci třiadvacátého?“

„Jo, určitě.“

„Tak to příště v klidu probereme, co by sis měl koupit.“

Tehdy přišlo ještě na poslední chvíli před prázdninami docela dost lidí, takže jsem nevěděl, kam dřív skočit. Filip dorazil také, tak jsem ho zaměstnal hrou „všimnul sis něčeho?“, načež začal pátrat a pod vánočním stromečkem našel balíček se svým jménem, který ukrýval nádherné motůrky na drona spolu s motorovou deskou (ESC) a baterkou i zásobou vrtulek.

Navrhujeme řídicí desku

Také jsme začali stavět první verzi našeho flight controlleru, tedy destičky s počítačem, která řídí let. Filip se učil v počítači namalovat schéma obvodu a pak ho proměnit do návrhu plošného spoje. Je to zajímavá strategická „hra“, kdy se snažíte rozmístit součástky po plošném spoji tak, aby se na něj vešly a aby se daly natahat cestičky spojů mezi nimy. S tím pomáhá počítač, ale se složitějšími situacemi si nemusí poradit, tak to člověk musí dobře promyslet předem a nakonec některé spoje dořešit nebo optimalizovat sám.

Objednali jsme výrobu desky a za několik týdnů nám přišla: „No není to nádhera“, rozplýval se Filip a začal desku pájet. Byla to jeho první zkušenost s výrobou elektroniky, vyzkoušel si nejprve napájet několik součástek vedle na zkoušku, ale pak už hurá na svůj flight controller. To je právě výhoda Atmelu, že ho snadno napájíte na svou desku (modernější procesory vyžadují strojní výrobu), ale pomalu jsme začali přicházet i na nevýhody našeho řešení.

Chyby, kterých jsme se dopustili

Použili jsme dobře známé součástky, se kterými máme zkušenosti, dobře se pájí, ale deska pro dron je maličká a tak se třeba kondenzátory a konektory špatně vešly a musely koukat do stran.

V rámci zjednodušení jsme použili senzor, který už počítal některé věci za nás, ale začalo nám docházet, že 100 měření za sekundu není moc. Profesionální drony se řídí alespoň o řád rychleji.

Také jsme začali narážet na limity při programování. Atmel není moc rychlý, tak abychom urychlili výpočty, použili jsme místo reálných čísel výpočet celočíselný a desetinnou čárku jsme si představovali jen v hlavě. Díky tomu nebyl program moc čitelný.

No a nakonec se ukázal hodně limitující kabel, který z dronu vedl a přenášel do počítače informace, co se právě teď děje v mozku našeho droníčka, který byl tak tlustý a neohebný, že nedovoloval dronu se dostatečně volně pohybovat.

Co jsme se naučili?

  • Naučili jsme se programovat procesor, který pohání Arduino.
  • Jak funguje gyroskop a další digitální senzory.
  • Digitální komunikaci nejrůznějšími protokoly (UART, DSHOT, I2C) mezi integrovanými obvody.
  • Návrh a zadání výroby plošných spojů.
  • Pájení součástek, měření, hledání chyb.

A že čas nezastavíš, pádí světelnou rychlostí vpřed. Bohužel jsme dron nestihli dokončit a letět s ním, maturita se přiblížila a čas ubýval. Dokázali jsme dron naučit dělat ty správné věci, když byl zavěšený na provázku s minimálním výkonem motorů kvůli bezpečnosti, takže se choval stejně jako houpačka, ale ke skutečnému letu bylo ještě dost daleko.

Student upravuje provázek přivázaný k malému dronu zavěšenému pod dřevěným trámem.

I tak z toho ale bylo hodně zajímavých zážitků a zkušeností, přičemž to největší překvapení mě čekalo na konci:

„Jsme se se spolužákem přihlásili na Kybernetiku na FELu, přišlo nám to cool.“

Jaj. Doposud jsem byl zvyklý, že mí studenti často jdou na FIT ČVUT, kde se učí programování, ale že si Filip vybere ten jeden ze dvou nejtěžších oborů na FELu, kde je ještě víc matematiky a fyziky, tím mě opravdu překvapil!

👉 Pokud vás baví programování, elektronika nebo robotika, přidejte se k našemu klubu. Možná právě váš projekt bude ten příští, o kterém budeme psát.

Tohle nebyl konec příběhu

Filipa na dlouho pohltila škola, učil se od rána do večera a na nic a na nikoho neměl čas. Jednou ukápla i slzička, ale s podporou kamarádů začal učivo zvládat. A nechtěl dron vzdát, koneckonců kvůli němu si školu vybral!