Hlavní navigace

Stavíme kvadrokoptéru: řídicí jednotka

Jiří Kačírek 15. 7. 2015

Zatímco model kvadrokoptéry si můžeme pořídit hotový, chceme-li se pustit do vlastní implementace řídicích algoritmů, potřebujeme si vybrat řídicí jednotku a vědět, co od ní požadujeme, dřív, než bude pozdě. Řídicí jednotka by měla být schopna poskytnout zázemí pro co nejlepší stabilizaci kvadrokoptéry.

minulém článku je zmíněno, že jsem realizoval kvadrokoptéru s Raspberry Pi a poté jsem k ní připojil i Arduino Uno. Abych byl přesný, postavil jsem celkem kvadrokoptéry dvě. V první verzi jsem použil pouze Raspberry Pi a v další verzi jsem k němu připojil Arduino Uno, neboť mě k tomu přinutily okolnosti.

Předem chci říct, že zde neprezentuji použití Raspberry Pi a Arduina Una v kvadrokoptéře jako jediné možné řešení. Pokud máte nějaké odborné připomínky k článku a použitým řešením, sdělte je prosím v diskuzi, určitě je mnozí rádi přivítáme.

Fanoušci Rasperry Pi možná chápou mou motivaci, totiž použít tento malý počítač, který nachází uplatnění v nejrůznějších aplikacích, pro ovládání kvadrokoptéry. Raspberry Pi svým vybavením umožňuje aplikaci jakožto řídicí jednotky v kvadrokoptéře, což můžu potvrdit, neboť jsem s ním takto absolvoval několik úspěšných a hezkých letů. Bohužel jsem se nedokázal vypořádat s jeho nahodilými záseky a restarty při letu, které zapříčinily i množství pádů.

Protože nejsem elektrotechnik, rozhodl jsem se vyřešit záseky a pády kvadrokoptéry takto: nechat přímé řízení kvadrokoptéry na Arduinu a Raspberry Pi použít pro zachycování videa a přenos řídicích příkazů. A povedlo se: Arduino už bylo v tomto ohledu spolehlivé a navíc umožnilo řešení krizové situace, např. pří ztrátě připojení k Raspberry Pi, vypnutím motorů, eventuálně pomalým přistáním.

Kdybych po svých zkušenostech stavěl kvadrokoptéru znovu, měla by jeho řídicí jednotka mít:

  • mikropočítač rychlejší než Arduino Uno, tedy rychlejší než 16 MHz
  • paměť pro program větší než má Arduino Uno, tedy větší než 32 kB
  • zabudované IMU, nejlépe v čipu MPU6050
  • zabudovaný elektronický barometr
  • piny pro připojení ESC
  • hardwarové PWM výstupy poskytující dostatečné rozlišení PWM signálu pro regulaci otáček motorů
  • podporu pro MultiWii

Po malém průzkumu trhu jsem narazil na řídicí jednotky, které splňují všechna tato kritéria a to až na frekvenci mikroprocesoru, která je u všech na 16 MHz. Dovolte mi postupně vysvětlit důvody, které mě vedou k těmto požadavkům.

Se zabudovaným IMU, elektronickým barometrem a piny pro připojení ESC nebudete muset pájet tyto části k desce zvlášť, čímž se vyhnete bastlení a zdroji možných poruch v budoucnu. Bude-li se jednat o čip MPU6050, odpadne tím programování navíc v důsledku nutné fúze údajů z gyroskopu a akcelerometru, neboť ta probíhá už na tomto čipu, čímž můžete získat rovnou finální hodnoty náklonu a rotace kvadrokoptéry. Detailněji se tím zabýval článek Stavíme kvadrokoptéru #3: Digital Motion Processor na MPU-6050.

Modul s čipem MPU6050

Čip MPU6050 umožňuje čtení informací o své orientaci s frekvencí 200 Hz, 100 Hz, 66,6 Hz, 50 Hz, atd. Z mé zkušenosti vím, že Arduino nezvládalo provádět můj programový kód s frekvencí 200 Hz, a proto jsem musel použít nejbližší možnou frekvenci 100 Hz. Největší zátěží bylo pravděpodobně počítání s plovoucí desetinnou čárkou, neboť tato rodina mikroprocesorů neobsahuje matematický koprocesor. Proto vznikl požadavek na rychlejší mikroprocesor, ačkoliv jako řešení by se mohla použít implementace řídicí aplikace bez počítání s plovoucí desetinnou čárkou, což by program značně urychlilo. (Je-li MPU6050 nastaveno na vyšší frekvenci, než s jakou probíhá čtení, způsobuje to problémy, viz další články.)

Elektronický barometr realizovaný čipem BMP085 měří tlak s relativně vysokou přesností. Pokud bychom tlak převedli na výšku, pak při největší nastavené přesnosti ji dokáže změřit se směrodatnou odchylkou 0.25 m. Je třeba ale brát v potaz, že atmosférický tlak je proměnlivý, takže přepočet na výšku nebude nikdy úplně přesný.

Hardwarové PWM s dobrým rozlišením využijeme pro jemnou a přesnou regulaci otáček motorů a podporu řídicí jednotky pro MultiWii oceníme, rozhodneme-li se nechat řízení kvadrokoptéry na již otestovaném řešení. Paměť Arduina Una se svými 32 kB tak tak dostačovala pro můj program. Pokud bych bych chtěl implementovat další prvky, jako je GPS, musel bych ji rozšiřovat.

Některé řídicí jednotky mají také zabudovaný tříosý elektronický magnetometr (kompas), který se dá použít pro zpřesnění orientace kvadrokoptéry. Výrobce čipu MPU6050 uvádí, že je k němu možné tříosý elektronický magnetometr připojit. (Čip MPU9150 už v sobě magnetometr zabudovaný má.) Ovšem pozor, magnetometr trpí stejně jako obyčejný kompas nepřesností v blízkosti kovových konstrukcí.

Jedním z adeptů na řídicí jednotku by mohla být deska s mikropočítačem ATmega 2560, která splňuje všechny kladené požadavky (kromě pracovní frekvence) a ještě něco navíc:

  • vyjde mnohem levněji než v případě nákupu všech jejich komponent zvlášť
  • má elektronický magnetometr (kompas), který můžete využít pro zpřesnění orientace kvadrokoptéry
  • nepotřebuje implementovat softwarové PWM
  • obsahuje MicroUSB port, což umožní pohodlnější obsluhu
  • 256 kB flash paměť pro program
  • konektory ESC regulátorů do ní můžete zapojit přímo a nemusíte toto řešení bastlit zvlášť

Multiwii kompatibilní deska s mikroprocesorem ATmega 2560

Pohled zespodu

Shrnutí

Smyslem výběru naši řídicí jednotky je dosáhnout co nejlepší stabilizace kvadrokoptéry a minimalizace nutného bastlení. Pro zajištění co nejlepší stabilizace potřebujeme aktualizovat výkon motorů s co největší frekvencí a přesností. Horní mez této frekvence je 200 Hz, což je hranice čipu MPU6050 pro čtení předzpracovaných údajů o jeho orientaci. Potřebujeme, aby náš program mohl být s touto frekvencí vykonáván. Pro zajištění přesnosti potřebujeme, aby řídicí jednotka měla hardwarové PWM s dostatečným rozlišením délky impulsu.

Našli jste v článku chybu?

15. 7. 2015 2:40

MMN (neregistrovaný)

Na Root.cz se vrátily zajímavé články (v době, kdy už ani ten komiks za nic nestál), skvělé.

22. 7. 2015 1:27

Jiří Kačírek (neregistrovaný)

Nevědět, co znamená "upozornit slušně", není známkou příliš velké inteligence zrovna tak. Pokud vám osobně tedy nevadí, když vás někdo označuje jako ucho kvůli blbosti. Můžu vám tak říkat, jestli se vám to líbí, problém s tím mít nebudu.

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme