» Elektronika » Arduino »Domácí stabilizační systém letadel založený na Arduino

Domácí stabilizační systém letadel založený na Arduinu


Nedávno jsem se začal zajímat o téma modelu letadla. A pak to začalo: postavil letadlo, koupil vybavení. Předpokládal rychlý zánik prvního modelu, aniž by opustil pokladnu, začal sbírat druhý, zatímco současně pracoval v simulátoru. Obecně jsem svůj první skutečný let zpozdil, jak jsem mohl, protože jsem se bál, že se rozbiju model. A pak, docela náhodou, orat otevřené prostory aliexpressu, jsem narazil na zajímavou věc - systém stabilizace letu. Jedná se o malé zařízení velikosti přijímače, které upravuje let letadla, takže je plynulejší a vyhlazuje nedostatky pilota. Začali hledat, číst, říkají a opravdu dobrá věc pro začátečníky. No, tady jsem vystřelil - chci a alespoň ty praskneš. Je to jen to, že rozpočet už došel ... Zdálo by se, že letadlo postavilo otázku 10 dolarů na stropě a kupovalo vybavení, kupovalo baterii, kupovalo nabíječku, motor, regulátor, serva, vrtule ... Stručně řečeno, stalo se mnoho věcí. Trochu depresi, ale nevzdávám se, začal jsem chřadnout na zádech: Ducu, dokážu trochu pájet. Začal hledat a téměř okamžitě našel malý článek s názvem „Systém stabilizace letadel pro 200 rublů“. Velmi skromný malý článek s velmi skromnou implementací. Ale to už je něco. Vylezl na zahraniční fóra - a hle, aj, tohle je obrovský projekt s neustálým vývojem! Je rozhodnuto, uděláme to!

Projekt se nazývá MultiWii. Zpočátku to bylo koncipováno jako řídící let pro multikoptéry arduino, ale postupem času začal růst a zlepšovat se. Nyní existuje kód, který vám umožní umístit tento stabilizační systém na letadla a V křídla. Pro nejjednodušší provedení, jako ve výše uvedeném článku, budete potřebovat pouze dvě věci: arduino a akcelerometr. To vše může být pájeno s dráty, naplněné horkým uzlem a bude fungovat. Ale to může a bude, jen takhle nepracuju.




A tak pro výrobu kompletního zařízení budete potřebovat:

  • Arduino PRO Mini, 5V, Atmega 328
  • Tříosý akcelerometrový modul s gyroskopem MPU-6050
  • Hřeben pls
  • Fólie ze skleněných vláken, pokud si sami vytvoříte desku.
  • Rezistor SMD 500-1500 Om
  • LED 3 mm libovolná.

Z nástrojů:

  • Páječka
  • Pájka
  • Flux (doporučuji F5)
  • Převodník USB - UART CP2102 nebo podobný
  • Model / administrativní / montážní nůž pro výrobu pouzdra

No, ty malé věci, oboustranná páska, nůžky, špunty do uší, pinzeta, co by mělo sloužit těm nejmladším.

Jak jsem řekl, projekt roste a vyvíjí se. Takže zde můžete přišroubovat další modul Bluetooth a nakonfigurovat ovladač z telefonu, barometr, řídit nadmořskou výšku, GPS vrátit model „domů“, když dojde ke ztrátě signálu. Kromě toho roste také téma improvizovaných přijímačů založených na stejném arduinu a levném komunikačním modulu A7105, který bez operace ruší mé zařízení FlySky i6, takže teoreticky můžete tyto dva projekty propojit a získat plné mozky pro letadlo, kluzák nebo křídla. A v oddílu s výše zmíněným rozpočtovým vybavením, které tiše bliká ze 6 kanálů na 14, to obvykle vyjde jako ideální pro začátečníky pro jeho peníze.

Z tohoto důvodu jsem se pokusil udělat desku s obvody pro toto zařízení co nejjednodušší, tj. Jednostrannou a žehličkou. Budou samozřejmě nutné znalosti v oblasti radioelektroniky, alespoň schopnost pájet více či méně kvalitativně, můžete si objednat desku a v extrémních případech, ale v podstatě je to návrhář: šil jsem arduino, pájel ho, modul a hřebenem na desce, je připraven. Minimální úsilí.


Arduino



Pro firmware arduinka budete potřebovat speciální převodník USB - UART (TTL), protože Arduino PRO Mini nemá rozhraní USB. Neměli byste se toho bát, zpravidla je můžete koupit na stejném místě, kde se prodávají arduino a moduly. Jediný rozdíl ve firmwaru prostřednictvím tohoto převaděče je v tom, že musíte zrušit stisknutí tlačítka reset na samotném arduinu přísně v době stahování náčrtu, i když existují převaděče, které tahají resetovací patku sami. Nebudu popisovat postup pro nahrání náčrtu, na toto téma je již napsáno a natočeno milión článků a videí.

Poplatek



Dalším krokem je vytvoření desky. Deska je vyrobena jakoukoli dostupnou technologií nebo objednána. Velmi doporučuji roztrhat stopy, je lepší použít ROSE nebo WOODA slitinu, takže vrstva je co možná nejmenší, velké proudy tu nejezdí a je lepší chránit měď před nadměrnou korozí, deštěm, sněhem, nikdy nevíte, stále to není domácí zařízení. Udělal jsem rogue LUT, ne nejlepší výsledek, můžete udělat spoustu špatné tiskárny, ale koho to zajímá)



První věc na pájení propojek.



Za nimi je arduino. Nohy pro blikání arduinki musí být pájeny nahoru nebo pod úhlem. Okamžitě můžete vyplnit náčrt, nemůžete jej vyplnit, na tom nezáleží, protože sestavené zařízení musí být stále připojeno k počítači, takže programovací kontakty by měly být snadno přístupné. Jedinou radou je zkontrolovat arduino před pájením, vyplnit testovací náčrtek a ujistit se, že deska bliká. Jen pájet pak to budou hemoroidy.



No a všechno ostatní. Akcelerometr je připájen na vysokých nohách a je umístěn nad arduino. Nebudu skrývat hřích, špehoval jsem takové rozvržení na cizím fóru u jednoho prodaného, ​​ale nakreslil jsem si svůj jednostranný šátek. Pokud jde o mě, nepřítomnost tří skokanů nestojí za povyk s oboustrannou deskou, bez ohledu na to, jak špatná forma není přítomnost těchto skokanů považována.




Jedna námitka. Na desce je jeden rezistor a LED. Formát SMD rezistoru může být vyřazen z některého poškozeného zařízení, jmenovitá hodnota 500 Ohmů - 1,5 kOhm. Můžete si vzít obyčejnou 3mm LED, měl jsem obdélníkový, pájel jsem to.


V této fázi může být zařízení v zásadě již připojeno a nakonfigurováno, ale jak se mi zdá, je neúplné. Elektronika u rádiem ovládaných modelů již dlouho získal modulární charakter. Proto si myslím, že by toto zařízení mělo být přivedeno k hotovému modulu, který lze snadno připojit do modelu a připojit. K tomu potřebuje případ. Dobrou možností by bylo tisknout na 3D tiskárně, plast použitý pro tisk je lehký a odolný. Ale ne každý to má. Můžete to udělat tvarováním za tepla, na internetu je spousta informací o tom, jak vyrobit jednoduchý stroj pro tento účel z vysavače, dřeva a kousku překližky. Ale pro to musíte udělat hůlku, a to je lenost. K tomu jsem se vydal cestou nejmenšího odporu. Ano, a taková metoda bude podobná tomuto článku - učinit ji co nejjednodušší pomocí minima nástrojů.


Bydlení

Řezal jsem dva kusy plastu podle velikosti desky, v mém případě tenkého průhledného PVC, ale můžete použít cokoli, například krabici z disku. Nefotografoval jsem středně, ale myslím, že to bude stejně jasné.Pomocí pravítka jsem změřil vzdálenost ke kontaktům na desce a prořízl jim okna v horní části "pouzdra". Vyvrtal jsem otvory koaxiálně s otvory na desce a spojil je spolu s improvizovanými nýty z trubic z ušních tyčinek. K vytvoření takového nýtu stačí držet špičku zkumavky v plameni zapalovače a když se vytvoří přítok, přitlačte ji na tělo tohoto zapalovače. Na zadní straně jsme rozstřihli trubice a nechali pár milimetrů a udělali to samé. Jako distanční prvky byly použity segmenty trubice z kapátka. Výsledkem byl takový sendvič:




Snadné, lehké, jednoduché a spolehlivé. Je již vhodné jej namontovat do trupu letadla přilepením pásků „automobilové“ oboustranné pásky ke dnu. Ale pro celkový obrázek potřebujete ještě jmenovku, která vám řekne za půl roku, kdy bude sestaveno již jedenáct dalších schémat, k čemu se připojit.




Štítek vytištěný na samolepící lesklý papír. Nedávno zakoupeno speciálně pro tyto účely. Dříve jsem to udělal: tiskl jsem na to, co jsem měl, laminoval lepicí páskou a nalepil ji na oboustrannou pásku. Nejpozornější mohl hodnotit moji úroveň angličtiny)

Nyní lze zařízení skutečně nazvat hotovým modulem. Celková hmotnost 15,5 gramu. Příliš mnoho ve srovnání s nákupem, ale obecně nic moc. Alespoň můj model s rozsahem 950 mm se bez problémů vytáhne. Ale pokud pronásledujete váhu, můžete rozložit arduino ze sypkého prášku přímo na desce, ušetřit 2 gramy, použít tenký milimetr textolitu (použil jsem ten, jeden a půl nebo dva milimetry, neměřil), neudělal případ. Ale stojí to za těch 5 gramů? Například hmotnost nativního přijímače z mé aplikace je 16 gramů.
Zařízení by mělo být umístěno v horizontální rovině, šipka označuje směr pohybu. Zařízení také nelze nainstalovat vzhůru nohama. Pro přehlednost připojuji obrázek.




Nastavení, kalibrace

Nyní přejděte na nastavení. Nejprve musíte zařízení připojit k počítači a poté otevřít připojené grafické uživatelské rozhraní. Pokud s ovladači nejsou žádné problémy, měl by se port objevit v programu:




Vybereme to. Nyní musíte kalibrovat akcelerometr. Stiskneme tlačítko READ a pokud je vše v pořádku, můžeme sledovat hodnoty ze senzoru v reálném čase. Položíme zařízení na rovnou plochu a stiskneme CALIB_ACC. „Plochý povrch“ je obvykle stůl v blízkosti počítače, takže když stisknete kalibraci, držte ruce od stolu. Kdo si nepamatuje, je akcelerometr senzorem zrychlení. Takže žádné vibrace nebo vibrace v kalibraci nebudou mít pozitivní účinek. Pokud je to však možné, je lepší jej kalibrovat na povrchu vystaveném této úrovni. Gyroskop je kalibrován sám při každém zapnutí, takže není nutné jej kalibrovat. Jediná věc je, že když zapnete model, měl by být nehybný. To znamená, že model položíme na zem, zapneme ho a nedotkneme se ho. Gyroskop je okamžitě kalibrován. Kalibrace je indikována LED diodou podepsanou jako STATUS.




Okamžitě nakonfigurujte AUX1. Je pro něj výhodné použít třípolohový přepínač, pokud je na vysílači. Při nízké úrovni (spínač je v první poloze) je stabilizace deaktivována, při průměrné úrovni (resp. Poloze) je zapnut akcelerometr a na vysoké úrovni gyroskop a akcelerometr. Pro normální let v zásadě stačí akcelerometr, pro lety FPV se obvykle používá gyroskop. Co by bylo, jak jsem popsal - nastavte hodnoty podle obrázku:



Trochu o dalších nastaveních. PID - toto jsou nastavení samotné stabilizace. V kostce:

  • P je hodnota korekční síly použité k navrácení modelu do jeho výchozí polohy.
  • Je doba, během které jsou úhlové odchylky zaznamenávány a průměrovány.
  • D - to je rychlost, s jakou se model vrátí do své výchozí polohy.




Doporučuji, abyste se před prvním letem nedotkli těchto nastavení. Stabilizace funguje dobře při základních hodnotách, a tam se můžete zpřísnit, pokud vám něco nevyhovuje.

Další. TPA zodpovědný za hodnotu těchto nastavení PID v závislosti na poloze plynu. Při hodnotě 0,00 budou hodnoty PID stejné v jakékoli poloze plynu, tj. Podle očekávání při jakékoli rychlosti. Při hodnotě 1,00 u plynu bude 100% PID nulová, to znamená, že stabilizace bude deaktivována. Při hodnotě 0,5 na 100% plynu budou pids rovny 50%. Tady je to již naladěno na letadlo a na váš akrobatický styl, zatím jsem nechal 50%.

Také na kanálu Aux2 musíte nakonfigurovat výztuž. Ozbrojování je termín helikoptéry. Lidsky se tomu říká odblokování motoru. V letadlech se to obvykle provádí prostřednictvím kontrolního zařízení, ale od té doby Tento řadič byl původně helikoptérou - tady to bylo provedeno docela tvrdě. Obecně jsme na AUX2 pověsili nějaký přepínač zdarma, v programu jsme nastavili ARM na vysokou úroveň. Zde může někdo chtít podvádět a nastavit odemknutí na všech úrovních AUX2, ale prostě nezklame. V tomto případě multiviy odmítne vůbec nastartovat motor. Lze předpokládat, že se jedná o chybu, ale myslím si, že ochrana bude brzy. Letadlo stále jen letí vpřed a jen bohové vědí, kde nekontrolovaná helikoptéra exploduje.

Mimochodem, je to vlastně pohodlné. Konkrétně v mé aplikaci je motor odemčen přesunutím přepínače nahoru. V tomto případě musí být zařízení zapnuto právě se všemi přepínači v horní poloze. To znamená, že se ukáže, že musíte zapnout zařízení, přesunout přepínač dolů, aby se zablokoval motor, a poté jej odemknout zpět a odemknout. A nemůžete převrátit hlavní věc. Okamžitě se to ukáže lidsky, v horní poloze je motor zablokován, v dolní odemčen.




Na kartě SERVO v případě potřeby můžete serva obrátit. Tady to udělali nějak složitě. Nejprve musíte stisknout SERVO. Zobrazí se seznam serv a úrovní. Pokud nyní stisknete tlačítko zpět a pokusíte se uložit, nic se neuloží. Nejprve musíte stisknout GO LIVE, poté, co budou tyčinky odmítnuty, bude možné pozorovat odchylku úrovně v okně. Nyní stiskneme reverzní tlačítko požadovaného kanálu a poté stiskneme SAVE. Nyní bylo vše zaznamenáno.




Důležitý bod o odpojení zařízení od počítače. Pokud vytáhnete programovací vodiče ze zařízení nebo vytáhnete převodník z USB portu bez uzavření COM portu nebo programu MultiWiiConf, systém se zhroutí a modrá obrazovka bude pravděpodobně přibližně 100% pravděpodobná. Alespoň na mém notebooku to je. Dokonce jsem to konkrétně zkontroloval. Nevím, zda se jedná o problém s mým hardwarem nebo zda reaguje, že je viditelný pro virtuální port COM, ale pokud je upozorněn, znamená to, že je ozbrojený. Mějte na paměti.

A několik dalších nastavení, která se mohou hodit. Pokud váš přijímač ví, jak vydat signál PPM, můžete jej přenést do vícenásobného zobrazení. Chcete-li to provést, otevřete soubor firmwaru, přejděte na kartu config.h a vyhledejte sekci Součet PPM Sumiver (oslavená Ctrl + F). Zde musíte zrušit rozložení 2 řádků. Kdo není v daném předmětu, nekompromisní - to znamená odstranit dvě lomítka na začátku řádku. Bylo to takto:


// # definovat PPM_ON_THROTTLE


Stalo se tak:

#define PPM_ON_THROTTLE


V závislosti na hardwaru musíte také zrušit jeden z těchto řádků:

// # define SERIAL_SUM_PPM PITCH, YAW, THROTTLE, ROLL, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Pro Graupner / Spektrum
// # define SERIAL_SUM_PPM ROLL, PITCH, THROTTLE, YAW, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Pro Robe / Hitec / Futaba
// # definuje SERIAL_SUM_PPM ROLL, PITCH, YAW, THROTTLE, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Pro multiplex
// # define SERIAL_SUM_PPM PITCH, ROLL, THROTTLE, YAW, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Pro některé Hitec / Sanwa / Ostatní


V mém případě je to druhý řádek, kde je Futaba (na co mám vybavení FlySky). Zde může být nutné vybrat empiricky, je možné předepsat požadovanou sekvenci sami. Tak či onak, na tom není nic složitého. Zkompilujeme skicu a naplníme ji novou. Chcete-li se vrátit do normálního režimu, proveďte opak, přidejte komentář k řádkům, kompilujte, vyplňte. Chci věnovat pozornost, po opětovném načtení náčrtu budou všechna nastavení a kalibrace sražena, mějte na paměti.

Dalším běžným problémem, který, jak tomu rozumím, se často setkáváme a já nejsem výjimkou.Poté, co se všichni shromáždili a nakonfigurovali, připojte všechna volanty - kormidlo vznáší. Kliky na dálkovém ovladači byly trhané - zdálo se, že jsou na svém místě, ale pokud se kluzák trochu otřásl - vznáší se znovu na stranu a v poměrně vážném úhlu. Je zpracováno elementárně: v programu GUI nastavte hodnotu YAW - já na nulu. Problém okamžitě zmizí.


Video funguje:


Závěr

Obecně platí, že pokud máte zkušenosti s výrobou desek s plošnými spoji, je zařízení sestaveno v jeden večer. Základní nastavení letadla jsem již provedl sám v náčrtu, zbytek jsem popsal v článku. Informace musely být shromažďovány na různých fórech, zejména na zahraničních. Přesto uvádím odkazy na různé zdroje, které pomohou v případě jiných problémů, i když by neměly být.

, ze kterého jsem si půjčil tvarový faktor desky. Nenabízím ke koupi, ale v tématu je podrobný průvodce konfigurací firmwaru v angličtině. Platí to pro starou verzi firmwaru, ale v nové verzi je vše téměř stejné. Ve větvi je také režim, který umožňuje upravit nastavení PID v reálném čase pomocí ovládacího zařízení potenciometru.

. Má svůj vlastní přepsaný firmware, říká, že je ideálně optimalizován pro letadla. Ale znovu, stará verze. Můžete to zkusit, ale za výskyt závad, které nejsou popsány v tomto článku, nejsem zodpovědný. Existuje mnoho popisů nastavení.

. Ale základní užitečné informace, které jsou zde popsány, jmenovitě léčba kormidla, jsem již nastínil. Přesto to nikdy nevíte.

Celkové náklady se pohybují od 4 do 8 dolarů, v závislosti na tom, jakou cenu arduino a modul byly zakoupeny, je tu doma textolit, je tam programátor. V každém případě je to několikrát nižší než tržní hodnota od 20 USD za zařízení se stejnými charakteristikami. Osobně mě to stálo 2 $, zásoby arduina pro takové účely byly zakoupeny před rokem, nebyl tam jen modul.

V níže uvedeném archivu je skica pro arduino, instalační program MultiWiiConf pro různé operační systémy, soubor s deskami plošných spojů (k otevření potřebujete SprintLayout ne méně než verze 6), stejně jako deska s plošnými spoji ve formátu PDF, pro ty, kteří doma nemají laserovou tiskárnu ( potřeba tisknout na 100%).


airplain_stabilization.rar [10,64 Mb] (počet stažení: 234)

Hodně štěstí všem ve vaší práci!
10
10
9.9

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
9 komentáře
Host Gennady
Experimenty byly obecně neúspěšné, arduinka vyhořela. Čekáme na další od čínských bratrů, aby pokračovali.
Autor
A řádek musí být také komentován, ve stejné sekci jsou poblíž.
Autor
A jak jste se připojili k přijímači prostřednictvím PPM nebo kanál po kanálu? Pokud jde o kanál po kanálu, musíte najít část v náčrtu na kartě conhig.h Součet PPM Sumiver a komentovat řádek, přečtěte si konec článku. Pokud nepracuje přes PPM, zkontrolujte, zda jste zapomněli přepnout zařízení a přijímač do režimu PPM.
Host Gennady
Ahoj Sestavené, nahrané skici v arduino, v programu ukazuje odchylky. Ale nemohu se připojit k zařízení rc. Serva nefungují, nebo spíše "chrastit".
Autor
Odhlásit se, pokud je to možné, k účtu výsledku, problém vyřešil nebo ne. A pokud ano, jak. Bude to užitečné pro další čtenáře.
Valery K.
Díky za odpověď. Zkusím jinou verzi. A vím, že to není autopilot. Potřebuji stabilizátor letu.
Autor
Zdravím. Vzhledem k tomu, že skica je 100% funkční a knihovny jsou zabudovány do samotné skici, jediná věc, která přijde na mysl, je stará nebo naopak, velmi nová verze. Arduino IDEZ nějakého důvodu, někdy u „špatné“ verze skica nekompiluje, je to jen jednou, ale fóra často o takovém problému píší. Nepamatuji si, jaká verze byla, když jsem ji sbíral, ale teď jsem ji zkontroloval, vše zkompilované. Verze 1.8.6
Přečtěte si také zdroje, které jsou připojeny na konci článku, možná někdo narazil na problém.
P.S. Toto není autopilot. Existuje také autopilotní projekt pro arduino, podívejte se na ardupilot.
Valery K.
Milý autore, sestavil jsem pro váš článek autopilot. Ale když se firmware nestal kvůli nedostatečnému dokončení kompilace náčrtu. Žádám o pomoc, protože bohužel nejsem programátor. S arduinem pracuji nedávno a zkušenosti nestačí, ale lov letí.
Autor
Zapomněl jsem psát o dalším problému. Motor nastartuje, pouze pokud je letadlo ve vodorovné poloze. Může se stát, že během letu vytvoříte smyčku, a z nějakého důvodu odstraníte plyn na nulu, může se to stát náhodou. Po tomto se motor již nemusí rozběhnout. Nejjednodušší způsob, jak vyřešit problém, je nechat plynový signál z přijímače přes kabel Y, jeden je připojen přímo k ovladači, druhý k multivizi. Ale to funguje pouze v případě, že nepoužíváte PPM. U PPM musí být tento jamb zpracován v kódu.

Doporučujeme si přečíst:

Podejte to pro smartphone ...