Rc drone - будуємо квадрокоптер

Ви читаєте 5 найсвіжіших записів блогу. Найновіша запис зверху.

Ми відсували його як могли, але він вже скоро :) Вибачте за деяку затримку з публікацією постів. Був зайнятий в інших сферах діяльності, на блог часу не залишалося.

Хороші новини полягають в тому, що немає, я не закинув будівлю свого октокоптера. У нього вкладено вже досить велика сума грошей, тому кидати це все на півдорозі було б неправильно. Тому сьогодні я пересилив себе і все-таки побудував октокоптер!

До речі за минулі 2 місяці, протягом яких польотний контролер NAZA-M V2 лежав буквально переді мною, він встиг подорожчати з 325 до 369 євро, а також DJI встигло випустити для нього нову прошивку v4.0.

Як ви знаєте, я відмовився від польотного контролера Crius All-in-one Pro v1.0 на користь більш дорогого і професійного контролера NAZA-M v2. До цього рішення, яке на мій погляд дуже вірне - до цього я по правді кажучи оапсался за коптер під керуванням Crius і опенсорсового софта, який ще й самостійно потрібно було компілювати. Ні вже, все-таки я тут не дослідний інститут, де можна за казенні гроші бити коптери про землю через багів в прошивці. Мені потрібно надійне рішення, і вихід у світ нової версії Naza-M v2 був якраз до речі, і я не роздумуючи його купив. А на Crius, дійдуть руки, я зроблю чогось нитка простіше.

Отже, сьогодні ґрунтовно засів за документацію до Naza на офіційному сайті, і також мені допоміг ютюб. Але про все по-порядку.

1) У документації до Naza мене ввело в ступор твердження: "make sure the ESCs travel midpoint is at 1520us". Переконайтеся, кажуть. мене регулюються T-Motor T40A, і я не знайшов ніякої інформації, рівний у них цей параметр 1520 мс чи ні. Вирішив що все ок.

2) Для управління октокоптером у мене були два радіопередавача на вибір: дешевий HobbyKing HK-T6A V2 і культовий Turnigy 9X Mode2. Turnigy я купив ще давно і як раз хотів його використовувати в октокоптере, але сьогодні мені стало зрозуміло, чому це правильний варіант.
Виявляється, для управління NAZA використовує трьохпозиційний Control Switch, який можна (і потрібно) запрограмувати на перемикання режимів роботи Naza: Altitude Hold, Failsafe або GPS. У HobbyKing просто немає такого перемикача: у нього тільки двохпозиційні, і тому довелося б дуже довго чаклувати, щоб на один канал (CH6) вивести три різних значення, що включаються з пульта.

3) Turnigy я по суті тільки сьогодні перший раз і включив - вона все чекала у мене вдалого моменту, і ось він настав. Відразу ж зловив класичну помилку Switch Error, довелося гуглити. Також трохи розчарувало те, що писк при натисканні на кнопки не відключається.

5) Naza, як виявилося, їсть будь-яку напругу від 2S до 6S, і живити її від понижуючого перетворювача напруги не треба (навіть шкідливо: якщо він здохне в польоті, криндец).
Хоча я залишив цей понижуючий перетворювач (DC-DC buck convertor) на коптере - але поки його не задіяв (він зелений праворуч від Naza):

Rc drone - будуємо квадрокоптер

6) Поки не зрозумів, як краще: перекусити дроти живлення від кожного ESC чи ні. На даний момент у мене все 8 ESC живлять Naza в паралелі з її власним знижувальним трансформатором.

7) Виносний статусний світлодіод від Naza, як і написано в інструкції, я прикріпив там, де його видно з землі - а саме на один з двох задніх променів:

Rc drone - будуємо квадрокоптер

Як виявилося, цей світлодіод настільки яскравий, що прямо сліпить очі, тому я його на час наземної настройки коптера заліпив повстю (на фото видно).

8) Виявилося, що налаштовувати ESC неможливо при підключенні до Naza - вона сигнали модифікує, тому увійти в режим програмування регуляторів не виходить. Тому довелося кожен з регуляторів по черзі налаштовувати, підключаючи його сигнальний провід безпосередньо до CH3 радіоприймача. Налаштував регулятори так: Brake = Off, BatteryType = LiPo, CutoffMode = Cut-off, CutoffThreshold = Medium (тобто вирубання харчування при досягненні 2.85V в кожній банці акумулятора), StartMode = Normal, Timing = Low.
Вибрав вирубання харчування при досягненні 2.85В, тому що за харчуванням слідкуватиме Naza.

9) Ще з несподіванок - на Naza всього 8 виходів, і наприклад для гекси два невикористовуваних для моторів виходу застосовуються для управління підвісом. А оскільки у мене 8 моторів, то всі виходи зайняті під мотори і управляти підвісом через Naza не вийде. Доведеться управляти підвісом безпосередньо з приймача, в обхід Naza - може бути це і нормально, подивимося.

Додаток Naza і драйвера для WinXP встановилися без проблем. Правда, додаток вилітає з помилкою, якщо вимкнути коптер, але це не суттєво - головне що за допомогою програми мені вдалося налаштувати саму Naza - вибрати режим октокоптер V, перевірити перемикання режимів польоту, відкалібрувати ручки управління.


В іншому все пройшло гладко і за 4 години, не поспішаючи, вдалося все налаштувати. Тепер все мотори крутяться. Залишається отбалансировать і надіти пропелери і виходити на польоти.

Однак, як показує практика, ці гумові конуси взагалі правильніше просто викинути. Справа в тому, що їх за фактом неможливо отбалансировать - вони легко деформуються пальцями при їх стисненні з боків, а від цього відразу ж змінюється їх центр тяжіння, в результаті такі гумки дають похибки на балансується повітряний гвинт. Здавалося б, ці конуси призначені для того, щоб на відносно тонкої осі балансира можна було надійно закріпити пропелер з будь-яким радіусом посадкового отвору. Але - як я сказав вище. вони просто псують весь процес, вносячи спотворення в систему балансування.

Тому я відмовився від цих фіксаторів. Замість них я просто намотав на вісь балансира звичайної ізоляційної стрічки. Оскільки у мене мої пропелери мають нестандартне розмір отвору (знизу воно ширше, ніж зверху), я намотав ізоляційну стрічку різної висоти - надлишки просто зрізав ножем. Ось так виглядає це потовщення осі з ізоляційної стрічки, в порівнянні з гумовим фіксатором (який вже добряче пошматувати по краях в безрезультатних спробах його отбалансировать):

Rc drone - будуємо квадрокоптер

Тепер, надягаючи пропелер на це потовщення з ізоляційної стрічки, він надійно фіксується там, а сама изолента не вносить жодних спотворень в центр ваги системи.

Тепер розповім про правильному способі балансування трилопатевих пропелерів, оскільки це складніше, ніж у випадку стандартних дволопатеве.
Для дволопатеве пропелерів все просто: яка лопать переважує і опускається вниз, та важче і її трохи треба підточити напилком. З трилопатевими пропелерами все складніше.

Підготовчий етап: на балансирі потрібно так налаштувати постійний магніт, щоб один з кінців осі був в повітрі, а другий стосувався постійного магніту самим кінчиком. Це буде конфігурація з мінімально можливим тертям в осі балансира, тому точність балансування буде на висоті.

Правильна балансування трехлопастного пропелера - це коли на двох з трьох лопатях наклеєні важки (я використовую шматочки ізоляційної стрічки тому, що їх легко відклеюватися, зменшувати їх вага і пересувати їх уздовж радіуса лопаті - для зміни центра ваги). Ось як виглядає отбалансірованний пропелер за допомогою шматочків ізоляційної стрічки:

Rc drone - будуємо квадрокоптер

Якщо у вас важки виявляються наклеєними на всі три лопаті, значить ви щось зробили не так. Можна довести, що для трехлопастного пропелера, щоб пересунути його центр ваги в центр його осі обертання, досить вантажників на двох лопатях.

Збитий центр тяжкості такого пропелера може бути де завгодно навколо центру осі його обертання - тобто в напрямку будь-якого з 360 градусів кола. Чим далі при цьому центр ваги від центру осі обертання, тим агресивніше (швидше) пропелер повертається на балансирі. Тому нам потрібно з'ясувати спочатку, в якому з "півкуль" пропелера знаходиться центр ваги.
Розташувавши пропелер на балансирі, ми його відпускаємо і дізнаємося, яка з лопатей важче інших. Вона опуститься вниз. Це буде та лопата, на якій не буде ніяких грузиков. Назвемо її "лопать №1". У рідкісному випадку ви можете спостерігати картину, коли пропелер займає положення, коли одна лопать спрямована вертикально вгору, а дві інші розташовані так: ^. Це означає, що вам грузик потрібно клеїти тільки на одну лопать, верхню.
Далі, визначивши дві лопаті, які вимагають наклейки ізоляційної стрічки, чинимо так:
1) повертаємо пропелер на 60 градусів - так, щоб найважча лопать (лопать №1) була зліва, лопать 2 була вертикально вгору, а лопать 3 - справа. Наше завдання - зробити так, щоб пропелер зафіксувався в такому положенні. Для цього клеїмо шматочок ізоляційної стрічки на край лопаті №3. Якщо лопать переважує, або відрізаємо трохи ізоляційної стрічки, або пересуваємо цей шматочок ізоляційної стрічки трохи ближче до центру пропелера.
2) Тепер у нас лопаті 1 і 3 мають однакову масу, тому що пропелер фіксується в положенні, коли лопата №2 вгорі. Далі треба повернути пропелер першої лопатою вгору, щоб почати підбирати вага грузика для лопаті №2 (яка на даний момент у нас найлегша). Наше завдання буде знову зробити так, щоб лопаті 2 і 3 були в рівновазі.
3) Коли ми досягнемо рівноваги лопатей 2 і 3, то пропелер буде повністю відбалансоване і зможе займати на осі балансира будь-яке положення.

У цьому році сталася справжня революція в підвісах для камер, так що все, що написано в нашому блозі за тегом "підвіс" раніше (див. Ці пости), безнадійно застаріло. Особливо застарів огляд підвісів. і тепер цей пост знаходиться в нашому блозі хіба що для історичної цінності.

Революційні зміни відбулися в технології стабілізації підвісів і технології механічного впливу на підвіс для цілей стабілізації (захист при нахилі камери під час польоту коптера). Але для початку коротко нагадаємо, що було раніше:
- підвіс керувався сервоприводами, які стояли на кожній керованої осі підвісу. Якщо це підвіс з керуванням осями pitch / tilt, то дві серви, якщо ще вісь yaw - то три.
- кожна серва обертала (повертала) камеру, збалансовану по центру тяжкості, навколо своєї осі, використовуючи або прямий привід з валу сервоприводу на вісь обертання (коли вісь була фізичним продовженням валу серви), або ремінний привід (belt drive), коли обертання валу серви передавалося на вісь підвісу через ремінний привід.

Найголовнішим недоліком всіх цих рішень була саме серва, оскільки вона сама по собі складається з безлічі шестерень і є по суті кроковим двигуном (повертає вал на деякий фіксований кут, а не на довільне значення). У шестерінках серви виникали люфти і точність стабілізації підвісу на основі серв і швидкість реакції на відхилення камери не витримувала ніякої критики.

І тут з'явилося революційний винахід Олексія Москаленка (AlexMos), який спроектував контролер і його прошивку для управління безколекторними моторами замість серв в підвісі для камер.

Rc drone - будуємо квадрокоптер

Таким чином, тепер за стабілізацію камери в просторі (за корекцію нахилу по осях pitch і tilt) відповідають не сервоприводи з їх люфтами, а безколекторні мотори. Безколекторні мотори типу outrunner можуть повертати свій корпус з валом на довільний кут, який визначається вхідним струмом на обмотках ротора. В даному випадку не потрібні регулятори моторів (ESC) - контролер AlexMos сам обчислює і формує керуючі сигнали на обмотці моторів. Мотори при цьому за принципом direct drive обертають вісь підвісу, за яку вони відповідають. При цьому немає ніяких люфов, величезна швидкість реакції на відхилення від заданого положення підвісу в просторі.

Перевагою такої схеми є практично недосяжний рівень стабілізації камери, що особливо цінно для Мультикоптер, які під час польоту можуть кренитися на значні кути. Однак варто враховувати, що мотори для такого direct drive підвісу необхідні специфічні - які не орієнтовані на швидке обертання, а навпаки, розраховані тільки на повороти на малі кути. Це досягається перемотуванням мотора для заміни проводу на більш тонкий, щоб збільшити опір моторів. У продажу практично немає адаптованих на такі підвіси моторів.

Для нашої дзеркальної камери ми будемо проектувати і будувати саме такий підвіс. Нам будуть потрібні дуже потужні мотори, з великим крутним моментом, щоб вони могли швидко і ефективно повертати і утримувати в потрібному способі важку дзеркальну камеру. Мотори потрібно буде перемотати більш тонким проводом, і під'єднати безпосередньо до контролера AlexMos. Контролер може керувати одночасно двома моторами (хоча начебто вже робляться версії для трьох), тому для трьох осей потрібно два контролера. Дані про відхилення підвісу від заданого положення надходять в контролер від стандартного трьохкоординатної датчика MPU6050 (містить гіроскоп і акселерометр для кожної з осей x, y, z). Цей датчик клеїться прямо під камерою і відстежує її положення в просторі, яке може коригуватися безпосередньо з пульта управління через додаткові входи в контролері AlexMos.
Саме те, що нам треба.

Відносно технічної реалізації - а саме: зльоту і посадки на автомобіль, що рухається - таке не зробити штатними засобами. Максимум, що можуть здійснити польотні контролери на даний момент - це приземлити дрон в автоматичному режимі в заздалегідь заданій точці (+ - метр), при цьому точка обчислюється на момент зльоту по GPS координатам і звичайно НЕ рухається. Для посадки же на рухому ціль потрібно розміщувати маркер на даху машини і вводити модифікації в код польотного контролера, щоб він здійснював не тільки Follow me, але і посадку на рухому ціль.

Rc drone - будуємо квадрокоптер

(Фото з сторінки nissanrussia в фейсбуці)

Політ такого дрона може тривати не більше 20 хвилин, тому поїздка по пересіченій місцевості на далекі відстані, як в гонках, практично зі стовідсотковою ймовірністю бедет відбуватися без дрона - він розрядиться за перші 20 хвилин, і все. Чи не зупиняти ж машину і не міняти акумулятори в умовах гонки?

В цілому, якщо вдасться реалізувати гідні алгоритми FollowMe (переслідування автомобіля на певній висоті і по певній траєкторії - наприклад, облітаючи по колу машину, що рухається з паузами в різних точках, з можливістю змінювати алгоритм переслідування з сенсорного екрану в салоні авто), посадки на рухому ціль (можливо з захопленням дрона машиною для м'якої посадки) і швидкої зміни батарей в момент посадки, то мені цей проект подобається. Дійсно це буде високотехнологічне.

Читайте також