Stavba quadcoptéry

Rozhodl jsem se postavit quadcoptéru. I přes to, že o RC modelech nic nevím, s žádným modelem jsem nikdy neletěl a o multicoptérách jsem si přečetl jen minimum se mi nakonec podařilo quadcoptéru úspěšně dokončit, proletěl jsem se s ní a zhavaroval :) V tomto článku najdete text i video průběhu stavby.

Úvod

Na základní škole jsem postavil několik jednoduchých modelů letadel z balzového dřeva. Bez elektroniky, bez vrtule, pouze jednoduché kluzáky. Později jsem se modelařině přestal věnovat a zaměřil se na elektroniku a programování. Nápad postavit si quadcoptéru přišel už někdy v roce 2012, tehdy to ale nějak nevyšlo.

Poslední a konečný impulz ke stavbě přišel asi před měsícem. Chystal jsem přednášku pro Tkalce na webu. Téma přednášky – Arduino, co to je a co se s tím dá dělat. Připravoval jsem si řeč, hledal zajímavé projekty, které používají Arduino a při tom narazil na projekt MultiWii.

MultiWii je firmware pro multikoptéry, který původně používal Arduino Pro Mini a gyroskop s akcelerometrem z dálkového ovládání Wii Motion Plus k herní konzoli Wii. Brzo získal na popularitě, začal podporovat bi, tri, quadro, hexa a octo konfigurace, různé akcelerometry, gyroskopy, magnetometry, tlakoměry a jiné senzory. Dá se jednoduše nastavit, má velké množství různých nastavení a dnes se již vyrábí hotová elektronika pro tento firmware (například deska NanoWii, která váží pouhých 5 gramů).

Byl jsem z MultiWii hned nadšený a jelikož se mi už 2 roky doma povalovaly 4 asynchronní motory a vrtule, začal jsem stavit :)

Jak už jsem říkal na začátku. O RC modelech nevím skoro nic a na dlouhé studium teorie jsem neměl náladu. Moje stavba vypadala asi nějak takto:

no-idea

Video

Pár záběrů ze stavby. Soustředil jsem se hlavně na elektroniku a pájení. Chtěl jsem ukázat, že multicoptéra nemusí obsahovat žádné komplikované zapojení, stačí obyčejné Arduino. Na závěr je pár minut letu i s mým parádním pádem.

Komponenty

Objednal jsem plastový rám s rozpětím 450mm, 6 kanálové dálkové ovládání na 2,4 GHz, dvě 3 článkové Li-Poly 2,2Ah baterie i s nabíječkou a čtyři 20A ESC. Celkem jsem měl doma nakonec toto:

  • 4× motor AX-2308N1100 (1100rpm/v, ~10A), nakonec jsem použil jiné, viz text
  • 4x ESC F-20A (max 20A), firmware SimonK, viz text
  • 12x plastové vrtule 8×4 (6xCW a 6xCCW), nakonec jsem použil jiné, viz text
  • 1x rám Q450 v3 (rozpětí ramen 450mm, součástí je DPS s rozvodem napájení)
  • 2x Turnigy 2200mAh 3s 25-35C Li-Poly
  • 1x nabíječka iMAX B4
  • 5x konektor XT60 (napájecí konektor)
  • 16x pozlacený 3,5mm PolyMax konektor (na motory a ESC)
  • 1x akcelerometr ADXL345
  • 1x gyroskop ITG3200

a kromě toho také vodiče, cín, páječku, µDuino, převodník USB-UART, teplem smrštitelnou bužírku a volný víkend.

Hotová quadcoptéra, rám Q450, motory 920KV, vrtule 10x4,5 a firmware MultiWii.
Hotová quadcoptéra, rám Q450, motory 920KV, vrtule 10×4,5 a firmware MultiWii.

Prototyp elektroniky

Elektronika pro MultiWii se dá koupit už hotová. Já se rozhodl si ji postavit od základu (je to tak větší zábava, ne abych ušetřil). Prototyp jsem postavil na nepájivém poli a hned odzkoušel. K MutiWii patří i konfigurační program MultiWiiConf, který komunikuje s firmwarem přes UART. Pomocí tohoto programu lze nastavit většinu parametrů, odzkoušet si jestli funguje dálkové ovládání a jaký signál se posílá do ESC.

Prototyp elektroniky pro MultiWii firmware.
Prototyp elektroniky pro MultiWii firmware.

Firmware se dá programovat pomocí Arduino IDE. Konfigurační soubor pro MultiWii je potřeba upravit a nastavit v něm parametry budoucí quadcoptéry. Jelikož jsem používal vlastní elektroniku, musel jsem si konfiguraci projít celou a vše nastavit sám.

#ifndef CONFIG_H_
#define CONFIG_H_

#define QUADX

#define MINTHROTTLE 1064
#define MAXTHROTTLE 1990
#define MINCOMMAND  1000
#define I2C_SPEED 100000L
#define INTERNAL_I2C_PULLUPS

#define ITG3200
#define ADXL345

#define FORCE_ACC_ORIENTATION(X, Y, Z)  {imu.accADC[ROLL]  =  Y; imu.accADC[PITCH]  = -X; imu.accADC[YAW]  = Z;}
#define FORCE_GYRO_ORIENTATION(X, Y, Z) {imu.gyroADC[ROLL] = X; imu.gyroADC[PITCH] =  Y; imu.gyroADC[YAW] = -Z;}

#define PID_CONTROLLER 1
#define YAW_DIRECTION 1
#define ONLYARMWHENFLAT
#define ALLOW_ARM_DISARM_VIA_TX_YAW

#define SERIAL0_COM_SPEED 115200
#define INTERLEAVING_DELAY 3000
#define NEUTRALIZE_DELAY 100000
#define ITG3200_LPF_98HZ
#define MPU6050_LPF_98HZ

#define FAILSAFE
#define FAILSAFE_DELAY     10
#define FAILSAFE_OFF_DELAY 200
#define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)
#define FAILSAFE_DETECT_TRESHOLD  985

#define VBAT
#define VBATSCALE       96
#define VBATNOMINAL     126
#define VBATLEVEL_WARN1 107
#define VBATLEVEL_WARN2  99
#define VBATLEVEL_CRIT   93
#define NO_VBAT          16

// Zbytek konfigurace nastaven na původní hodnoty

#endif /* CONFIG_H_ */

Poté co byla ověřena funkčnost zapojení jsem vše spájel na univerzální DPS. Rozměry desky jsem zvolil tak, aby se dal plošný spoj jednoduše připevnit ke středu rámu.

Firmware SimonK

Electronic speed control (ESC) je ta černá věcička připojená k motoru. U RC modelů se používají 3-fázové asynchronní motory a jelikož je model napájen z baterie, je potřeba elektronika, která převede stejnosměrné napětí na 3 fáze a která zároveň dokáže měnit frekvenci a tím pádem i otáčky motoru. ESC se připojuje rovnou k baterii a řídí se PWM signálem.

Originální firmware ve většině ESC je určen pro modely letadel a nehodí se pro multikoptéry. Například průměruje vstupní PWM signál a má tak pomalejší odezvu na rychlé změny výkonu (u letadel a klasických helikoptér je to vhodné, u multikoptér ne), obsahuje ochranu proti vybití baterie (vhodné u Li-Poly baterií, které se nesmí vybít pod 3 V na článek) a další vlastnosti, které SimonK buď nemá nebo vylepšuje.

Proto jsem musel všechny čtyři ESC přeprogramovat firmwarem SimonK. Koupil jsem ESC na maximálně 20 A, které obsahují AVR procesor a které jsou s tímto FW kompatibilní (viz seznam kompatibilních ESC).

Stavba

Samotná stavba quadcoptéry šla velmi rychle. Základna mého rámu Q450 je z plošného spoje a obsahuje rozvod napájecího napětí. Stačí k základně připájet vodiče s konektorem XT60 (protikus na baterii, maximálně 60 A), pak připájet ESC a připevnit k jednotlivým ramenům (ESC jsem k rámu připájel přímo, bez konektoru). Motory k ESC jsem připojil přes pozlacené PolyMax 3,5 mm konektory.

Pájení 3,5 mm PolyMax konektorů na ESC (protikusy přijdou na motor).
Pájení 3,5 mm PolyMax konektorů na ESC (protikusy přijdou na motor).

Elektronika je na distančních sloupcích uprostřed rámu. Baterii připevňuji přes suchý zip na horní stranu. V první verzi jsem vše pospojoval lepící páskou a vyzkoušel, že se motory otáčejí správným směrem.

DPS s elektronikou je uprostřed, nahoře baterie se suchým zipem, vlevo dole je konektor XT60.
DPS s elektronikou je uprostřed, nahoře baterie se suchým zipem, vlevo dole je konektor XT60. Fotografie už je po pádu, trochu to odnesla baterie.

První let

První let jsem zkoušel s velkou opatrností nad matrací, později venku. Tady jsem jistil, že jsem udělal zásadní chybu. Použité motory (1100 rmp/v) a vrtule (8×4) měly nedostatečný výkon. Aby se quadcoptéra vůbec zvedla nad zem, musel jsem na vysílači zvýšit výkon téměř na maximum. Letový čas byl asi 2 minuty. Vrtule jsem nevyvažoval a motory byly k rámu připojeny provizorně (rám měl nachystané 3 mm díry s roztečí 16 a 19 mm, moje motory na něj nebyly přizpůsobeny). Quadcoptéra se pohybovala náhodně všemi směry a vibrace z motorů se přenášeli celým rámem až do elektroniky.

Rameno rámu quadcoptéry. Díry jsou 3 mm v průměru s roztečí 16 a 19 mm.
Rameno rámu quadcoptéry. Díry jsou 3 mm v průměru s roztečí 16 a 19 mm.

Chvíli jsem si hrál s nastavením výkonu ve firmwre MultiWii a upravoval parametry PID. Po několika dnech experimentů a o 10 zničených vrtulí později jsem se rozhodl koupit nové motory a vrtule.

Druhý let

Nové motory mají rychlost 920 rpm/v, přesně pasují na rám a více se hodí pro multicoptéry (byl to set 4 kusů, dva mají na hřídeli pravotočivý závit a dva levotočivý). Vrtule jsem koupil 10×4,5 (takže větší průměr i zdvih) a pak si několik hodin hrál s jejich vyvážením. Po předchozích zkušenostech jsem si jich koupil celkem 12 :)

Nové motory. Multistar 2212-920KV a vrtule 10x4,5.
Nové motory. Multistar 2212-920KV a vrtule 10×4,5.

Trochu jsem se věnoval nastavení MultiWii a pak vyrazil na zkušební let. Vše se povedlo na jedničku, let byl stabilní, reakce na změnu řízení rychlá. Jelikož jsem měl nulové zkušenosti s řízením RC modelů, nastavil jsem v quadcoptéře stabilní mód (elektronika se pak snaží držet koptéru v rovině). Letový čas je asi 7 minut. Létal jsem celkem 5 minut a baterie nebyla ani zdaleka vybitá.

Magnetické udělátko na vyvažování vrtulí.
Magnetické udělátko na vyvažování vrtulí.

Oprava rámu

Aktualizováno 23. 10. 2014. Na konci videa  je vidět, jak se mi podařilo s quadcoptérou havarovat. Byl to docela ošklivý pád, naštěstí to nakonec odneslo jen jedno rameno rámu a vodiče baterie.

Nabíjecí vodič baterie (světle modrý, ten který nabíječka používá pro balancování jednotlivých článků) byl odseknutý a musel jsem ho připájet zpět. K prasklému ramenu jsem z obou stran přiložil zbytky DPS. Takových zbytků mám v šuplíku hromadu, protože je mi líto je vyhodit, konečně našly uplatnění :)

Oprava prasklého rámu. Stačily dva pásky DPS a 5 šroubků.
Oprava prasklého rámu. Stačily dva pásky DPS a 5 šroubků.

Závěr

A na závěr pár poznámek a postřehů (hlavně pro mě, většinu zmiňovaných věcí jsem už porušil) :)

  • Je to nebezpečná hračka! Vrtule se otáčejí několika tisíci otáčkami, mohou někoho poranit.
  • Při kalibraci ESC odmontujte vrtule od motorů (já je neodpojil, omylem zapnul kalibraci a kromě zničených vrtulí a poškrábané podlahy to málem odnesli přihlížející).
  • Nastavte v MultiWii varování na vybití baterie. Dvakrát zkontrolujte přesnost měření a pak ještě potřetí. Pokud Li-Poly baterii vybijete pod 3 V na článek, můžete se s ní rozloučit (i když já ji nakonec zachránil).
  • Vrtule vyvažovat nemusíte, je to ale lepší.
  • Dokud nebudete dobře ovládat řízení ve stabilním režimu, nepouštějte se do akrobatických triků. (Mě to stálo jedno rameno rámu a vrtuli, viz video.)

Hned co opravím prasklé rameno jdu zase létat :) až bude příliš zima na létání, začnu se po večerech hrát s telemetrií a FPV.