Как собрать квадрокоптер своими руками чертежи. Как собрать дешевый квадрокоптер Arduino Uno своими руками

Введение

Теперь, когда вы выбрали или спроектировали раму БПЛА, выбрали моторы, несущие винты, ESC и батарею, можно приступить к выбору полётного контроллера. Полётный контроллер для мультироторного беспилотного летательного аппарата представляет собой интегральную схему, обычно состоящую из микропроцессора, датчиков и входных/выходных контактов. После распаковки контроллер полёта не знает какой конкретный тип или конфигурацию БПЛА вы используете, поэтому изначально необходимо будет установить определенные параметры в программном обеспечении, после чего заданная конфигурация загружается на борт. Вместо того, чтобы просто сравнивать доступные в настоящее время полётные контроллеры, подход, который мы здесь использовали, перечисляет, какие элементы ПК отвечают за какие функции, а также аспекты, на которые необходимо обратить внимание.

Основной процессор

8051 vs AVR vs PIC vs ARM: Семейство микроконтроллеров составляющее основу большинства современных контроллеров полёта. Arduino основан на AVR (ATmel), и сообщество, похоже, сосредоточено на MultiWii, как на предпочтительном коде. Microchip является основным производителем чипов PIC. Трудно утверждать, что одно лучше другого, всё сводится к тому, что может делать программное обеспечение. ARM (например, STM32) использует 16/32-битную архитектуру, при этом десятки используют 8/16-битные AVR и PIC. Поскольку одноплатные компьютеры становятся все менее и менее дорогостоящими, ожидается появление полётных контроллеров нового поколения, которые могут работать с полноценными операционными системами, такими как Linux, или Android.

ЦП: Обычно их разрядность кратна 8 (8-бит, 16-бит, 32-бит, 64-бит), что в свою очередь указывает на размер первичных регистров в ЦП. Микропроцессоры могут обрабатывать только установленное (максимальное) количество бит в памяти за один раз (такт). Чем больше бит может обработать микропроцессор, тем более точной (и более быстрой) будет обработка. Например, обработка 16-битной переменной на 8-битном процессоре происходит куда медленней, чем на 32-битном. Обратите внимание, что код также должен работать с правильным количеством бит, а на момент написания этой статьи лишь немногие программы используют код, оптимизированный для 32 бит.

Рабочая частота: Частота, на которой работает основной процессор. Также по умолчанию её называют «тактовой частотой». Частота измеряется в герцах (циклов в секунду). Чем выше рабочая частота, тем быстрее процессор может обрабатывать данные.

Программная память/Флэш: Флэш-память — это место, где хранится основной код. Если программа сложная, она может занимать много места. Очевидно, что чем больше память, тем больше информации она может хранить. Память также актуальна при хранении данных в полёте, таких как координаты GPS, планы полёта, автоматическое движение камеры и т.д. Код, загруженный на флэш-память, остается на чипе даже после отключения питания.

SRAM: SRAM расшифровывается как «Статическая память с произвольным доступом» и представляет собой пространство на чипе, которое задействуется при выполнении расчетов. Данные, хранящиеся в оперативной памяти, теряются при отключении питания. Чем выше объём оперативной памяти, тем больше информации будет «легко доступно» для расчетов в любой момент времени.

EEPROM: электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ) обычно используется для хранения информации, которая не изменяется во время полёта, например настройки, в отличие от данных, хранящихся на SRAM, к которым могут относиться показания датчика и т.д.

Дополнительные порты Ввода/Вывода: большинство микроконтроллеров имеют большое количество цифровых и аналоговых портов ввода и вывода, на контроллере полёта некоторые используются под датчики, другие для связи, либо для общего ввода и вывода. К этим дополнительным портам могут быть подключены RC сервоприводы, системы подвеса, зуммеры и многое другое.

Аналого-цифровой преобразователь (A/D converter/АЦП): Если датчики используют бортовое аналоговое напряжение (обычно 0-3.3В или 0-5В), аналого-цифровой преобразователь должен преобразовать эти показания в цифровые данные. Как и в случае с процессором, количество бит, которое может быть обработано АЦП, предопределяет максимальную точность. С этим связана тактовая частота, с которой микропроцессор может считывать данные (количество раз в секунду), чтобы убедиться, что информация не потеряна. Тем не менее, трудно не потерять часть данных во время такого преобразования, поэтому чем выше разрядность АЦП, тем более точными будут показания, но при этом важно, чтобы процессор смог справиться с той скоростью, с которой отправляются данные.

Ультразвуковой радар на Arduino и Processing.

Чтоб сделать Ультразвуковой радар нам понадобится:

Arduino uno : https://ali.pub/1th4sk

Ультразвуковой дальномер HC-SR04: https://ali.pub/22b4n1

Servo: https://ali.pub/22b4xq

Среда разработки Processing: https://www.processing.org/download/

Ультразвуковой радар – это радар который с помощью ультразвука, в данном случае с помощью датчика ультразвука hs-sr04, может определить какой – либо объект.

Работает данный проект таким образом: Ультразвуковой дальномер крепится на сервомашинку, и начинает поворачиваться на 90 градусов. В свою очередь программа написанная в среде Processing это демонстрирует визуально в виде радара. Как только объект или препятствие ближе чем 40 см на радаре это все визуально показывается в виде красных линий. выгляди это вот так:

Скетч для среды разработки Processing:

import processing.serial.*; import java.awt.event.KeyEvent; import java.io.IOException; Serial myPort; String angle=»»; String distance=»»; String data=»»; String noObject; float pixsDistance; int iAngle, iDistance; int index1=0; int index2=0; PFont orcFont; void setup() { size (1366, 700); smooth(); myPort = new Serial(this,»COM3″, 9600); myPort.bufferUntil(‘.’); } void draw() { fill(98,245,31); noStroke(); fill(0,4); rect(0, 0, width, 1010); fill(98,245,31); drawRadar(); drawLine(); drawObject(); drawText(); } void serialEvent (Serial myPort) { data = myPort.readStringUntil(‘.’); data = data.substring(0,data.length()-1); index1 = data.indexOf(«,»); angle= data.substring(0, index1); distance= data.substring(index1+1, data.length()); iAngle = int(angle); iDistance = int(distance); } void drawRadar() { pushMatrix(); translate(683,700); noFill(); strokeWeight(2); stroke(98,245,31); arc(0,0,1300,1300,PI,TWO_PI); arc(0,0,1000,1000,PI,TWO_PI); arc(0,0,700,700,PI,TWO_PI); arc(0,0,400,400,PI,TWO_PI); line(-700,0,700,0); line(0,0,-700*cos(radians(30)),-700*sin(radians(30))); line(0,0,-700*cos(radians(60)),-700*sin(radians(60))); line(0,0,-700*cos(radians(90)),-700*sin(radians(90))); line(0,0,-700*cos(radians(120)),-700*sin(radians(120))); line(0,0,-700*cos(radians(150)),-700*sin(radians(150))); line(-700*cos(radians(30)),0,700,0); popMatrix(); } void drawObject() { pushMatrix(); translate(683,700); strokeWeight(9); stroke(255,10,10); pixsDistance = iDistance*22.5; // 40 cm if(iDistance<40){ line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),700*cos(radians(iAngle)),-700*sin(radians(iAngle))); } popMatrix(); } void drawLine() { pushMatrix(); strokeWeight(9); stroke(30,250,60); translate(683,700); line(0,0,700*cos(radians(iAngle)),-700*sin(radians(iAngle))); popMatrix(); } void drawText() { pushMatrix(); if(iDistance>40) { noObject = «Out of Range»; } else { noObject = «In Range»; } fill(0,0,0); noStroke(); rect(0, 1010, width, 1080); fill(98,245,31); textSize(25); text(«10cm»,800,690); text(«20cm»,950,690); text(«30cm»,1100,690); text(«40cm»,1250,690); textSize(40); text(«Object: » + noObject, 240, 1050); text(«Angle: » + iAngle +» °», 1050, 1050); text(«Distance: «, 1380, 1050); if(iDistance<40) { text(» » + iDistance +» cm», 1400, 1050); } textSize(25); fill(98,245,60); translate(390+960*cos(radians(30)),780-960*sin(radians(30))); rotate(-radians(-60)); text(«30°»,0,0); resetMatrix(); translate(490+960*cos(radians(60)),920-960*sin(radians(60))); rotate(-radians(-30)); text(«60°»,0,0); resetMatrix(); translate(630+960*cos(radians(90)),990-960*sin(radians(90))); rotate(radians(0)); text(«90°»,0,0); resetMatrix(); translate(760+960*cos(radians(120)),1000-960*sin(radians(120))); rotate(radians(-38)); text(«120°»,0,0); resetMatrix(); translate(840+900*cos(radians(150)),920-960*sin(radians(150))); rotate(radians(-60)); text(«150°»,0,0); popMatrix(); }

Здесь главная строчка это ” myPort = new Serial(this,”COM3″, 9600);” здесь нужно указать номер ком порта к которому подключена ардуино, чтоб брать из ком порта информацию посылаемую ардуинкой.

Ссылка на скетч processing: https://yadi.sk/d/43u3Uwki3Q7gGA

Ультразвуковой датчик нужно подключать к 10 и 11 пинам ардуино. А серву к 12 пину ардуино.

После подключения всех компонентов необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.

#include . const int trigPin = 10; const int echoPin = 11; long duration; int distance; Servo myServo; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); myServo.attach(12); // Servo pin } void loop() { // 1 for(int i=15;i<=165;i++){ myServo.write(i); delay(30); distance = calculateDistance(); Serial.print(i); Serial.print(«,»); Serial.print(distance); Serial.print(«.»); } for(int i=165;i>15;i—){ myServo.write(i); delay(30); distance = calculateDistance(); Serial.print(i); Serial.print(«,»); Serial.print(distance); Serial.print(«.»); } } int calculateDistance(){ digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance= duration*0.034/2; return distance; }

Здесь серво подключается к 12 пину ардуино. Пин Tring ультразвукового дальномера подключается к 10 пину, а Пин echo к 11 пину.

Скетч: https://yadi.sk/d/JQ7QhOWy3Q7gna

Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.

Питание

Часто в спецификации полётного контроллера описываются два диапазона напряжений, первый из которых представляет собой диапазон входного напряжения самого контроллера полёта (большинство работает при номинальном напряжении 5В), а второй — диапазон входного напряжения основного микропроцессора (3.3В или 5В). Поскольку контроллер полёта является встраиваемым устройством, вам необходимо обратить внимание только на входящий диапазон напряжения контроллера. Большинство контроллеров полёта мультироторных БЛА работают при напряжении 5В, так как это напряжение вырабатывает BEC (для получения дополнительной информации см. раздел «Силовая установка»).

Повторим. В идеале не нужно запитывать контроллер полёта отдельно от основной батареи. Единственное исключение — если вам нужна резервная АКБ на случай, когда основная батарея отдаёт столько энергии, что BEC не может вырабатывать достаточно тока/ напряжения, вызывая тем самым отключение питания/сброс. Но, в таком случае вместо резервной батареи часто используют конденсаторы.

Джойстик схема подключения к Ардуино

Аналоговый джойстик представляет собой ручку, которая крепится на шарнире с двумя потенциометрами, определяющими положение джойстика по оси X и Y, и кнопкой Z. Наклон ручки вращает потенциометры и изменяет выходное напряжение, позволяя отследить степень отклонения ручки от центральной точки. При отпускании ручки джойстика, она плавно возвращается в центральное (нулевое) положение.

Как подключить джойстик к Arduino

У модуля джойстика KY-023 есть свои недостатки. Дело в том, что ручка джойстика не всегда точно возвращается в центральное положение, поэтому следует учитывать в программе центральное положение ручки, как некоторый диапазон значений, а не точное значение. То есть, при положении ручки джойстика в центре, значение X и Y координат может находиться в диапазоне от 490 до 530, вместо 512.

Сенсоры

С точки зрения аппаратного обеспечения, контроллер полёта по сути является обычным программируемым микроконтроллером, только со специальными датчиками на борту. Как минимум, контроллер полёта будет включать в себя 3-осевой гироскоп, но без автовыравнивания. Не все контроллеры полёта оснащаются указанными ниже сенсорами, но они также могут включать их комбинацию:

  • Акселерометр: Как следует из названия, акселерометры измеряют линейное ускорение по трем осям (назовём их: X, Y и Z). Обычно измеряется в «G (на рус. Же)». Стандартное (нормальное) значение, составляет g = 9.80665 м/с². Для определения положения, выход акселерометра может быть интегрирован дважды, правда из-за потерь на выходе объект может быть подвержен дрейфу. Самой значимой характеристикой трёхосевых акселерометров является то, что они регистрируют гравитацию, и как таковые, могут знать, в каком направлении «спуск». Это играет главную роль в обеспечении стабильности многороторного БЛА. Акселерометр должен быть установлен на контроллере полёта так, чтобы линейные оси совпадали с основными осями беспилотника.

  • Гироскоп: Гироскоп измеряет скорость изменения углов по трём угловым осям (назовём их: альфа, бета и гамма). Обычно измеряется в градусах в секунду. Обратите внимание, что гироскоп не измеряет абсолютные углы напрямую, но вы можете выполнить итерацию, чтобы получить угол, который, как и у акселерометра, способствует дрейфу. Выход реального гироскопа имеет тенденцию быть аналоговым или I2C, но в большинстве случаев вам не нужно беспокоиться об этом, так как все поступающие данные обрабатываются кодом контроллера полёта. Гироскоп должен быть установлен так, чтобы его оси вращения совпадали с осями БПЛА.

  • Инерционный измерительный блок (IMU): IMU — по сути, это небольшая плата, которая содержит как акселерометр, так и гироскоп (обычно многоосевые). Большинство из них включают трёхосевой акселерометр и трёхосевой гироскоп, другие могут включать дополнительные сенсоры, например трёхосевой магнитометр, обеспечивающий в общей сложности 9 осей измерения.

  • Компас/Магнитометр: Электронный магнитный компас способный определять магнитное поле Земли и использовать эти данные для определения направления компаса беспилотника (относительно северного магнитного полюса). Этот сенсор почти всегда присутствует, если система имеет GPS вход и доступно от одной до трех осей.

  • Давление/Барометр: Так как атмосферное давление изменяется по мере удаления от уровня моря, можно использовать сенсор давления, чтобы получить довольно точные показания высоты БПЛА. Для расчёта максимально точной высоты, большинство контроллеров полёта получают данные одновременно от сенсора давления и спутниковой системы навигации (GPS). При сборке обратите внимание, что предпочтительнее, чтобы отверстие в корпусе барометра было накрыто куском поролона, это уменьшить отрицательное влияние ветра на чип.

  • GPS: Система глобального позиционирования (GPS) чтобы определить своё конкретное географическое местоположение, использует сигналы, посылаемые несколькими спутниками обращающимися по орбите вокруг Земли. Контроллер полёта может иметь как встроенный GPS модуль, так и подключаемый посредством кабеля. GPS антенну не следует путать с самим GPS модулем, которая может выглядеть и как маленький черный ящик, и как обычная «Duck» антенна. Чтобы получить точные данные местоположения, модуль GPS должен принимать данные от нескольких спутников, и чем их больше, тем лучше.

  • Расстояние: Датчики расстояния все чаще используются на беспилотниках, поскольку GPS-координаты и датчики давления не могут рассказать вам, насколько далеко вы находитесь от земли (холма, горы или здания), либо столкнётесь ли вы с объектом или нет. Датчик расстояния, обращенный вниз, может быть основан на ультразвуковой, лазерной или лидарной технологии (ИК-сенсоры могут испытывать проблемы в работе при солнечном свете). Датчики расстояния редко входят в стандартный комплект полётного контроллера.

Настройка акселерометра-гироскопа (I2C)

В этом примере использовалась плата MPU6050 от SparkFun . На Amazon она стоит около $10, работает хорошо. Аналогичный Китай на Aliexpress или Ebay предлагает подобные платы по цене до 5 долларов. Тоже отлично работает.

Что такое I2C?

На простых платах акселерометра все логично и понятно: на ней предусмотрены отдельные аналоговые выходы для осей X, Y и Z. Каждый выход соответствует отдельной оси акселерометра. Если вы теперь взглянете на плату с I2C, поймете, что тут все несколько запутаннее. I2C — это стандарт обмена данными, при котором большие объемы информации передаются с помощью цифровых логических импульсов вместо аналоговых выходов. MPU6050 предоставляет вам 6 контролируемых осей (3 для гироскопа и 3 для акселерометра). Если бы они все были аналоговыми, нам пришлось бы задействовать все аналоговые порты на Arduino Uno. С протоколом I2C мы задействует гораздо меньше контактов для подключения.

Режимы полёта

Ниже приведён список самых популярных режимов полёта, тем не менее не все из них могут быть доступны в полётных контроллерах. «Режим полёта» — это способ, посредством которого полётный контроллер использует сенсоры и входящие радиокоманды для обеспечения стабилизации и полёта БПЛА. Если используемая аппаратура управления имеет пять и более каналов, пользователь может настроить программное обеспечение, что позволит ему изменять режимы через 5 канал (вспомогательным переключателем) непосредственно во время полёта.

  • ACRO — обычно режим по умолчанию, из всех имеющихся сенсоров, контроллером полёта задействуется только гироскоп (беспилотник не может автоматически выравниваться). Актуален для спортивного (акробатического) полёта.
  • ANGLE — стабильный режим; из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп и акселерометр. Углы ограничены. Будет удерживать беспилотник в горизонтальном положении (но без удержания позиции).
  • HORIZON — сочетает в себе стабильность режима «ANGLE», когда стики находятся вблизи центра и перемещаются медленно, и акробатику режима «ACRO», когда стики находятся в крайних положениях и перемещаются быстро. Контроллером полёта задействуется только гироскоп.
  • BARO (Altitude Hold) — стабильный режим; из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и барометр. Углы ограничены. Барометр используется для удержания определенной (фиксированной) высоты, когда с аппаратуры управления не подаются никакие команды.
  • MAG (Heading Hold) — режим блокировки курса (направления компаса), беспилотник будет сохранять Yaw ориентацию. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и компас.
  • HEADFREE (CareFree, Headless, Безголовый) — исключает отслеживание ориентации (Yaw) дрона и тем самым позволяет перемещаться в 2D направлении согласно перемещению стика управления ROLL/PITCH. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр и компас.
  • GPS/Return to Home — автоматически использует компас и GPS, чтобы вернуться к месту взлёта. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.
  • GPS/Waypoint — позволяет беспилотнику автономно следовать по предварительно установленным GPS точкам. Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.
  • GPS/Position Hold — удерживает текущую позицию с помощью GPS и барометра (если доступен). Из всех имеющихся сенсоров, контроллером полёта задействуются гироскоп, акселерометр, компас, и модуль GPS.
  • Failsafe (аварийный/отказоустойчивый режим) — если другие режимы полёта заданы не были, беспилотник переходит в режим Acro. Из всех имеющихся сенсоров, контроллером полёта задействуется только гироскоп. Актуален при сбоях в программном обеспечении беспилотника, позволяет восстановить контроль над БЛА посредством ранее предустановленных команд.

Программное обеспечение

ПИД-регулятор (назначение и настройка)

Proportional Integral Derivate (PID) или Пропорционально-интегрально-дифференцирующий регулятор (ПИД) — часть программного обеспечения полётного контроллера, которое считывает данные с сенсоров и вычисляет, как быстро должны вращаться моторы, чтобы сохранить желаемую скорость перемещения БЛА.

Разработчики готовых к полёту БЛА как правило оптимально настраивают параметры ПИД-регулятора, поэтому большинство RTF беспилотников отлично пилотируются прямо из коробки. Чего не скажешь про кастомные сборки БЛА, где актуально использование универсального полётного контроллера подходящего для любой мультироторной сборки, с возможностью регулировки значений PID до тех пор, пока они не будут соответствовать требуемым характеристикам полёта конечного пользователя.

GUI

Graphical User Interface (GUI) или Графический интерфейс пользователя — это то, что используется для визуального редактирования кода (при помощи компьютера), который будет загружен в полётный контроллер. Программное обеспечение, поставляемое с контроллерами полёта, продолжает становиться все лучше и лучше; первые контроллеры полёта использовали в основном текстовые интерфейсы, которые требовали, чтобы пользователи понимали почти весь код и меняли определенные разделы в соответствии с проектом. В последнее время в GUI применяются интерактивные графические интерфейсы, с целью облегчить пользователю настройку необходимых параметров.

Дополнительные возможности

Программное обеспечение, используемое на некоторых контроллерах полёта, может иметь дополнительные функции, которые недоступны для других. Выбор конкретного контроллера полёта может в конечном итоге зависеть от того, какие дополнительные функции/функциональные возможности предлагаются разработчиком. В список таких функций могут входить:

  • Автономная навигация по путевым точкам — позволяет пользователю устанавливать путевые GPS точки, по которым беспилотник будет следовать автономно.
  • Oribiting — перемещение беспилотника вокруг заданной GPS-координаты, где передняя часть дрона всегда направлена в сторону заданной координаты (актуально для съёмки).
  • Follow me — многие БЛА имеют функцию «Follow Me/Следуй за мной», которая может быть основана на спутниковом позиционировании (например, отслеживание GPS-координат смартфона, либо встроенного в аппаратуру управления модуля GPS).
  • 3D-изображение — большая часть 3D-изображений выполняется после полёта при помощи изображений и GPS данных полученных во время полёта.
  • Открытый код — программное обеспечение некоторых полётных контроллеров, не может быть изменено/настроено. Продукты с открытым исходным кодом, как правило, позволяют опытным пользователям изменять код в соответствии с их конкретными потребностями.

Дополнительные соображения

Функциональность: Производители полётных контроллеров, обычно, стараются предоставить как можно больше функций — либо включены по умолчанию, либо приобретаются отдельно в качестве опций/дополнений. Ниже приведены лишь некоторые из множества дополнительных функций, на которые вы, возможно, захотите взглянуть при сравнении контроллеров полёта.

Демпфирование: даже небольшие вибрации в раме, обычно вызываемые несбалансированными несущими винтами и/или моторами, могут быть выявлены встроенным акселерометром, который, в свою очередь, отправит соответствующие сигналы на главный процессор, который предпримет корректирующие действия. Эти незначительные исправления не нужны или не желательны для стабильного полёта, и лучше всего, чтобы контроллер полёта вибрировал как можно меньше. По этой причине между контроллером полёта и рамой часто используются виброгасители/демпферы.

Корпус: защитный корпус вокруг контроллера полёта может помочь в различных ситуациях. Помимо того, что корпус выглядит более эстетично, чем голая печатная плата, корпус часто обеспечивает некоторый уровень защиты элект. элементов, а также дополнительную защиту в случае краша.

Монтаж: Существуют различные способы установки контроллера полёта на раму, и не все контроллеры полёта имеют одинаковые варианты монтажа:

  1. Четыре отверстия на расстоянии 30.5мм или 45мм друг от друга в квадрате.
  2. Плоская нижняя часть для использования с наклейкой.
  3. Четыре отверстия в прямоугольнике (стандарт не установлен).

Сообщество: поскольку вы создаете кастомный дрон, участие в онлайн-сообществе может значительно помочь, особенно, если вы столкнулись с проблемами или хотите получить совет. Получение рекомендаций от сообщества или просмотр отзывов пользователей, касательно качества и простоты использования различных контроллеров полёта, может также быть полезным.

Аксессуары: Для полноценного использования продукта, помимо самого контроллера полёта, могут потребоваться сопутствующие элементы (аксессуары или опции). Такие аксессуары могут включать, но не ограничиваются ими: модуль GPS и/или GPS антенна; кабели; монтажные принадлежности; экран (LCD/OLED);

Детали самодельного квадрокоптера

Двигатели для квадрокоптера, 4 шт — D2822/14 1450kv

Конечно, дополнительная покупка мелкого квадрокоптера немного накладна, но, летая на таком вы научитесь управлять и сможете летать на большом квадрокоптере с камерой без падений! А мелкую игрушку всегда можно будет подарить ребенку.

Ну и на последок, небольшое видео полета на квадрокоптере, запись с камеры.

В этой статье мы рассмтрели основные прнципы изготовления самодельных квадрокоптеров. Если вы хотите узнать больше — смотрите раздел

iskra комментирует:

как сделать квадракоптер чтобы он летал в радиусе 500 метров с камерой реального времени которая выводит изображение на экран

chelovek комментирует:

Ребят помогите! хочу собрать квардрик на платформе ардуино мега с использованием вот этох компонентов:

Сейчас в интернете можно найти несколько полезных туториалов (все ссылки в конце статьи) на тему того, как самому собрать дрон на 250 раме. Но, собирая свой первый квадрик по этим статьям, я столкнулся с проблемами, которые не были никак освещены. А именно: я не нашел полный лист деталей и дополнительного оборудования, который мне нужен, цену полной сборки, а также некоторые практические и теоретические вопросы. Именно поэтому было решено сделать данную статью
в виде обобщения моего личного опыта и опыта других людей
, дабы помочь новичкам (таким как я) как можно продуктивнее построить свой первый дрон.

1 часть будет посвящена подбору деталей, оборудования, сборке и подключению всех узлов коптера. Программная сторона будет рассмотрена во 2 части.

Сразу отчет о том, что у меня получилось:

На видео заметно, что во время полета у дрона пропали ножки, но об этом позже

Список часто задаваемых вопросов:

В

: Не проще ли купить готовый квадрик и летать?
О
: Проще, только если вы не собираетесь продолжать улучшать свой дрон и строить другие. То есть хотите просто полетать, а не ломать себе голову и тратить дорогое время. Магазинный дрон в любом случае легче в освоении и проще в эксплуатации. В качестве альтернативы могу предложить MJX Bugs 3 . Обзор на него . Цена от
~120$.
В

: Нужно ли паять?
О
: Да, нужно!

В

: Собрать квадрик самому дешевле, чем купить в магазине?
О
: Нет! Считаю это заблуждением. Если вы новичок, а раз вы читаете эту статью, скорее всего так оно и есть, то кроме деталей для квадрокоптера вам понадобится еще уйма всего. Прилагаю список ниже.

Список к покупке:

Для того, чтобы не заморачиваться с подбором основных компонентов, вижу отличную альтернативу в покупке готового набора. Не теряя времени на подбор деталей, вы получите все, что вам нужно.
Все, что вы получите в комплекте. На картинке не

показаны соединительные провода от контроллера к передатчику

3) Как минимум 2 дополнительных комплекта пропеллеров (в комплекте 4 шт: 2 левых, 2 правых) ~0-100 руб.

Пропеллеры действительно расходный материал при первых полетах, так что лучше взять с запасом. Как ни странно, но с Китая заказывать дороже, да и ждать долго. Максимальный диаметр 5 дюймов. Я купил .

Аккумуляторы с Aliexpress. Оба вышли из строя. У левого отказала вторая банка, у правого — третья.

Слева: аккумулятор для пульта радиоуправления с JR разъемом (черная головка). Справа: аккумулятор для питания квадрокоптера

Крайне не советую приобретать аккумуляторы из Китая: оба аккумулятора, заказанные мной, вышли из строя, то есть перестали выдавать требуемое напряжение (отказало по одной банке). Да, возможно, дело случая, но с другими аккумуляторами таких проблем не было, да и экономия в 150 руб. не стоит риска.

Turnigy 9X c аккумулятором. Сидит очень плотно, крышка закрывается

10) Паяльник само-собой.

Общая стоимость ~11878 — 13217 руб.

Если вы удивлены списком, то стоит заметить, что большая часть всего, что вы купите, послужит вам еще ни один раз.

Также хочу отметить, что цены постоянно меняются, поэтому гарантировать минимальную стоимость по ссылкам я не могу. Уверен, что можно найти дешевле. Я лишь поделился источниками один в один совпадающими с моими.

Сборка

Сборка рамы
Есть вероятность, что комплект деталей вам придет без инструкции по сборке рамы. Так было у меня. Если так и произошло, то собираем по картинке или видео. На данной стадии не стоит затягивать все винты в «боевой режим», возможно, придется разобрать раму еще не раз. Верхнюю часть на данном этапе прикручивать вообще не стоит, без нее работать с внутренностями коптера удобнее. Также не стоит забывать про шайбочки, о которых я писал выше.

Не забываем про шайбы. У вас конечно же белой пластины нет — это те самые остатки от 3D напечатанных ножек

Установка моторов

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

Обратите внимание на расположение двигателей

Крепление двигателей

Пайка

Пайка распределительной платы
Итак, вы уже примерились и решили, как у вас все будет установлено. Время паять. При пайке платы самое главное соблюдать полярность!

На какие места паять провода не важно, все зависит от того, как вы собираетесь установить плату.

Припаиваем регуляторы и силовые провода. Соблюдаем полярность. (Мой вариант)
Припаиваем регуляторы и силовые провода. Соблюдаем полярность. (Другой вариант)
Припаиваем регуляторы к моторам

Первым делом снимаем с регуляторов стандартную красную теромоусадку. Для того, чтобы моторы вращались в нужную нам сторону, регуляторы к моторам следует припаять вот так:
Подключение регуляторов к моторам
Думаю, что у вас возник вопрос: куда деть длинные провода от регуляторов. Их можно отпаять и убрать совсем, а можно обрезать под нужную длину. Второй способ для начинающих предпочтительнее, так как меньше шансов перегреть регулятор при пайке.
Полностью отпаянные штатные провода регулятора. Так делать не советую, лучше просто укоротить провода (не обращайте внимание на расположение проводов, картинка взята, чтобы показать другое. Правильная схема сверху )
Припаиваем T-коннектор. Полярность важна!

Крепим плату питания, регуляторы оборотов

Время крепить. Помните, что рама коптера проводит ток, поэтому плата должна быть изолирована от нее. Я посадил ее на два слоя двухстороннего скотча, с одного края притянул хомутом, а после закрепил резинкой.
Крепим плату. Два слоя двухстороннего скотча + хомут + резинка

Регуляторы оборотов я спрятал в термоусадку, посадил на двухсторонний скотч, затянул хомутами и для уверенности затянул резинкой. Выглядит более чем надежно

Крепим регуляторы. Термоусадка + двухсторонний скотч + хомуты + резинка

Крепим полетный контроллер, приемник

В дело опять вступают двухсторонний скотч и резинки. Опять же, чем жестче вы закрепит, тем лучше.
У меня это сделано следующим образом:

Крепим полетный контроллер (1). Трава осталась после краша

Крепим полетный контроллер (2)

Крепим приемник. Торцом он тоже сидит на двухстороннем скотче

Соединяем все проводами

Регуляторы к полетному контроллеру
От каждого из регуляторов у нас идет по 3 провода. Сделать нужно следующее: на трех из четырех регуляторах нужно вытащить из разъема красный провод. Подсоединять провода к контроллеру нужно в определенном порядке, об этом будет рассказано в следующей части.

На трех из четырех регуляторах нужно вытащить из разъема красный провод

Приемник к полетному контроллеру

А вот здесь порядок подсоединения проводов к каждому каналу не важен. Нужно лишь правильно подключить провод питания — белый провод ближе к стороне с наклейкой.

Соединяем приемник с полетным контроллером. Провод питания должен быть расположен белым ближе к стороне с наклейкой

Прикручиваем верхнюю часть рамы, смотрим, что получилось

Я также добавил «крепление для камеры».
«Крепление для камеры»

Итого:

Пример

Итак, учитывая все эти различные сравнительные характеристики, какую информацию вы можете получить о контроллере полёта и что может включать контроллер полета? В качестве примера мы выбрали

Главный процессор

Используемый на борту ATMel ATMega2560 является одним из наиболее мощных Arduino-совместимых чипов ATMel. Хотя он имеет в общей сложности 100 выводов, включая 16 аналогово-цифровых каналов и пять портов SPI, из-за его небольшого размера и предполагаемого использования в качестве контроллера полёта, на плате присутствуют только некоторые из них.

  • AVR vs PIC: AVR
  • Процессор: 8-бит
  • Рабочая частота: 16МГц
  • Программная память/Flash: 256Кбайт
  • SRAM: 8Кбайт
  • EEPROM: 4Кбайт
  • Дополнительные контакты ввода/вывода: 3 × I2C; 1 × UART; 2 × 10-контактных GPIO; Серво с 5 × выходами; OLED порт
  • Аналого-цифровой преобразователь: 10-бит

Сенсоры

Quadrino Nano включает микросхему MPU9150 IMU, которая включает в себя 3-осевой гироскоп, 3-осевой акселерометр и 3-осевой магнитометр. Это помогает сделать плату достаточно маленькой, не жертвуя качеством датчика. Барометр MS5611 предоставляет данные о давлении и покрыт кусочком пены. Интегрированный Venus 838FLPx GPS с внешней GPS антенной (в комплекте).

Программное обеспечение

Quadrino Nano был создан специально для использования новейшего программного обеспечения MultiWii (на базе Arduino). Вместо того, чтобы изменять код Arduino напрямую, было создано отдельное, более графическое программное обеспечение.

Связь

  • Прямой ввод от стандартного RC приёмника.
  • Порт выделенного спутникового ресивера Spektrum
  • Последовательный (SBus и/или Bluetooth или 3DR радиосвязи)

Выбираем тип и размер квадрокоптера

При сборке квадрокоптера выберите подходящий размер аппарата. Бывают такие:

  • Мини квадрокоптер – маленькая модель, с небольшим радиусом действия. Помещается в ладонь, подходит для полетов в помещениях.
  • Трикоптер — модель беспилотника,у которого только три пропеллера. Это делает его легче и маневреннее, однако теряется крутящий момент. Вместо этого используется механизм наклона заднего ротора. Сложно сделать своими руками.
  • Обычный квадрокоптер – простой и недорогой беспилотник. Диагональный размер в среднем 35 см (без пропеллеров). Состоит из минимального набота деталей с целью уменьшения веса устройства. Характеризуется большой скоростью передвижения и маневренностью.
  • Складной квадрокоптер берут в поездки, путешествия, когда важен размер и вес устройства. Складная рама облегчает транспортировку устройства. В самостоятельном изготовлении сложен.
  • Большой квадрокоптер – самый дорогой и тяжелый тип беспилотника. Способен летать на дальние расстояния, оборудован емким аккумулятором, несет сложное фото- и видеооборудование. Делайте самостоятельно только если уже владеете навыками изготовления подобных устройств.

Смотрите про коптеры: Квадрокоптер DJI Spark купить в Москве по выгодной цене

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями: