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

Інструменти і матеріали:-ардуіно нано;-квадрокоптер з підтримкою протоколів ppm і betaflight;-радіопередавач і приймач;-акумулятор для дрона;-двигун постійного струму;-драйвер двигуна l293d;-друкована плата;-шнурок;-2 кубика лего на 4 слота;-сполучна муфта lego technic;-вісь lego technic (розмір 4);-паяльні приналежності;-інструмент для зачистки проводів;-дроти;-мультиметр;-електроізоляційна стрічка;-двосторонній скотч;програмне забезпечення:-arduino uno ide;-конфігуратор betaflight;крок перший: теорія та ідеяв цьому проекті використовується теорія з попереднього проекту майстра, де він керував дроном виключно з arduino uno без використання звичайного передавача або приймача. Замість передавача він керував дроном зі свого телефону по bluetooth. Ідея проекту полягає в тому, щоб зробити дрон-доставник, у якого є механізм лебідки, який може опускатися і забирати посилки, поки дрон висить в повітрі. Лебідка буде управлятися тим же передавачем, який використовується для управління дроном.можна відправляти команди з плати arduino на дрон, але для цього проекту потрібно використовувати як передавач, так і приймач. Взаємодія відбувається наступним чином: передавач відправить сигнал від оператора на приймач.потім приймач перетворює вхідний сигнал передавача в сигнал ppm, і відправить його на плату arduino.плата arduino зчитує сигнал ppm і розбиває його на значення окремих каналів.потім плата arduino перетворює, всі значення окремих каналів в один сигнал ppm і відправляє його на дрон.як тільки дрон отримає сигнал ppm, він відреагує відповідним чином.

Крок другий: налаштування дронадальше потрібно налаштувати дрон так, щоб він обмінювався даними по протоколу ppm. Більшість дронів в даний час за замовчуванням налаштовані на використання протоколів s-bus або i-bus, тому що це набагато ефективніше і надійніше, ніж ppm. Але для забезпечення зв’язку між arduino і дроном протокол ppm-кращий варіант.підключіть контролер польоту вашого дрона до комп’ютера.відкрийте betaflight і знайдіть вкладку configuration tab”.прокрутіть вниз, поки не знайдете параметр “receiver mode”..змініть “receiver mode”на” ppm rx input”..натисніть “save and reboot” у нижньому правому куті екрана.тепер, коли квадрокоптер налаштований, перейдемо до наступного кроку.

Крок третій: електронікана цьому етапі потрібно підключити всю електроніку.спочатку потрібно знайти контакти 5v, ground і ppm на контролері польоту. Щоб знайти їх, потрібно використовувати схему терморегулятори від виробників, вона виглядає приблизно так. Вона повинна бути доступна, якщо знайти свій конкретний контролер польоту в інтернеті і перейти на офіційний сайт виробника.насамперед необхідно підключити драйвер двигуна l293d до друкованої плати. Припаюємо всі дроти до драйверу мотора l293d. См. Фото 1.потім підключаємо сигнальний контакт контролера польоту (fc) до контакту 2 плати arduino, контакт заземлення (gnd) fc – до контакту плати arduino, а контакт 5v fc – до контакту на платі arduino. Всі 3 цих контакту зазвичай розташовані поруч один з одним. Контакти 5v і gnd будуть використовуватися для зовнішнього живлення плати arduino.підключаємо контакт 5v і gnd друкованої плати до контактів 5v і gnd на платі arduino відповідно.потім потрібно виконати всі підключення до приймача дрона. Необхідно підключити 3 дроти. Це земля (чорний), 5в (червоний) і сигнальний (жовтий). Підключаємо провід 5 в до контактної майданчику 5 в на fc, провід заземлення до контакту gnd на fc, а сигнальний провід до контакту 3 на платі arduino.тепер, коли перша частина пайки завершена, переходимо до виконання всіх необхідних підключень драйвера двигуна l293d до плати fc і arduino.підключаємо контакт 1 драйвера двигуна до контактної майданчику 5v fc.підключаємо контакт 2 драйвера двигуна до контакту 6 плати arduino.підключаємо контакт 3 драйвера двигуна до одного з контактів двигуна постійного струму.підключаємо контакт 4 драйвера двигуна до контакту gnd fc.підключаємо контакт 6 драйвера двигуна до іншого контакту двигуна постійного струму.підключаємо контакт 7 драйвера двигуна до контакту 7 плати arduino.підключаємо контакт 8 драйвера двигуна до клеми 5 в на fc.після перевіряємо його правильність за допомогою мультиметра.як тільки все запрацює нормально, переходимо до наступного кроку.

Крок четвертий: кодниже знаходиться основний код прошивки. Завантажуємо файли і обов’язково зберігаємо всі 5 файлів в одному каталозі. Як тільки все буде збережено, відкриваємо ” delivery_drone.ino ” в arduino ide. Якщо ” ppmencoder.cpp» , «ppmencoder.h» , «ppmreader.cpp ” або ” ppmreader.h “ще не додані в файл, натискаємо “ескіз” ->” додати файл …”і додаємо необхідні файли. Можливо в нього, буде потрібно внести деякі зміни, щоб дрон міг літати плавно.майстер зробив коментарі в коді, але ось основні речі, на які потрібно звернути увагу: після відкриття ppmencoder.h, можна побачити, що є наступні змінні, які можуть потребувати зміни: ppm_default_channels – це кількість каналів, які ми хочемо мати на дроні.ppm_pulse_length_us-це довжина імпульсу. Можливо, доведеться змінити значення. Найбільш поширені значення-0,5 або 0,3.ppm_frame_length_us-це довжина паузи поділу. Чим більше значення, тим стабільніше показання і вище затримка, але чим нижче значення, тим менш стабільні показання, і менша затримка.

Показати / приховати текст

При відкритті “ppmencoder.cpp”, може знадобитися змінити це значення: err-це значення допоможе скоротити коливання показань, які можна отримати на betaflight.

Показати / приховати текст

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

Показати / приховати текст

Як уже згадувалося, в «основному» розділі коду arduino мало що відбувається. Код, який відповідає за керування шківом, знаходиться у файлі ” ppmreader.cpp”, який відповідає за прийом і збереження значень кожного каналу після того, як приймач отримав ці значення від передавача. Причина, по якій код знаходиться в цьому розділі, полягає в тому, що, оскільки цей розділ коду працює з висновком переривання, при зміні стану двигуна шківа менше затримка і більше надійність.нижче код ” ppmreader.cpp ”

Показати / приховати текст

Всі п’ять фрагментів можна завантажити нижче і не забудьте вносити зміни відповідно до свого квадрокоптера.delivery_drone.inoppmencoder.cppppmencoder.hppmreader.cpp

ppmreader.крок п’ятий: збірка для цього проекту майстер використовував arduino uno, але незабаром замінив його на arduino nano через економію місця. Перший крок-покрити всі відкриті контакти будь-яким ізолятором. Корпус деяких дронів зроблений з струмопровідних матеріалів, і цей захід запобіжить замикання.обов’язково потрібно прокласти дроти двигуна через раму дрона до його нижньої частини. Тут буде знаходитися лебідка.наступним кроком є встановлення плати arduino і драйвера двигуна l293d в дрон. Останній крок-встановити приймач на дрон.крок шостий: лебідкадля механізму лебідки майстер використовував кілька деталей lego, старий шнурок і моторедуктор.спочатку вирізаємо в кубику lego паз для шківа двигуна.припаюємо дроти двигуна до arduino і завадимо його в кубик lego.фіксуємо його за допомогою ізоляційної стрічки і двостороннього скотча.на вал двигуна надягаємо з’єднувач осі lego technic (або можна використовувати відповідну трубку). Потім потрібно закріпити на валу один кінець шнурка, а решта намотати.ця конструкція витримує максимум 1 кг ваги.крок сьомий: управління дроном і лебідкою основною перевагою цього дрона є його здатність скидати і забирати посилки, перебуваючи в повітрі.на зображенні показаний тип передавача, який майстер використовує для управління дроном. Він використовує трипозиційний тумблер, щоб контролювати стан валу двигуна. Нижче можливі дії двигуна в залежності від того, в якому положенні знаходиться тумблер: положення-1:Двигун лебідки вимкненположеніе-2: вал двигуна обертається за годинниковою стрілкою, опускаючи пакетположеніе-3: вал двигуна обертається проти годинникової стрілки, піднімаючи пакет вгору.оскільки управління двигуном лебідки залежить від стану тумблера, можна продовжувати керувати дроном, перемикаючись між різними станами двигуна.що стосується управління дроном, то елементи управління залишилися колишніми. Єдине доповнення-це функціональність трипозиційного перемикача.крок восьмий: льотні випробуванняпо словами майстра, квадрокоптер непогано літав під час тестових польотів і практично доставив посилку прямо до позначки «х» . Єдине, на що слід звернути увагу, це те, що чим довше мотузка, тим складніше управляти дроном. На відео видно, як коптер доставляє посилку і відчіплює вантаж без втручання людини.це можливо, якщо не закріплювати кінець мотузки на валу двигуна, а просто намотати її. Тоді при опусканні вантажу мотузка зісковзне з валу. Правда в цьому випадку є ризик втратити вантаж по дорозі. Джерело (source)