Activity

Квадрокоптер на Arduino DUE
LampGraph:

калибровку с помощью контроллера, т.е. при подключении с ардуине с залитой прошивкой мультивий

не делали… я даже до сих пор не уверен, что регули надо подключать к 3,5,6,2

LampGraph:

например, от калибровки компаса

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

LampGraph:

калибровка регуляторов - от правильности подключения

что подразумевается под “правильностью?”

LampGraph:

вы разобрались каким образом управляется регулятор? Как регулируется скорость вращения моторов?

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

Квадрокоптер на Arduino DUE
LampGraph:

Инициализирующий звук - это какой именно?

Сначала такой мелодичный, потом 3 коротких пиков (это вроде как кол-во банок), потом один длинный и замолкают

LampGraph:

Регуляторы с помощью контроллера калибровали?

подключали регуль к 3-му каналу приемника и подавали мин-маск с пульта, они откалибровались, ибо 1 из них (до калибровки) стартовал с 40%, теперь с 0%, т.е калибровка помогла

LampGraph:

читать даташит

ну вот такие там пины
при этом ШИМ: выводы с 2 по 13
На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
(так на сайте написано)

Квадрокоптер на Arduino DUE

Добрый вечер! Ответьте, кто - нибудь на мои вопросы выше! Очень срочно нужна ваша помощь! Буду благодарен за любую подсказку по поводу “что сделать, что бы аппарат взлетел?”.

Квадрокоптер на Arduino DUE

я был спросил конкретные, выделенные жирным, вопросы, на которые хотел получить конкретные ответы

LampGraph:

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

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

LampGraph:

займетесь наконец вашей задачей - управление коптером с компьютера

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

Квадрокоптер на Arduino DUE

Здравствуйте! В общем, соблюдая все вышеописанные рекомендации, мы все же собрали квадрокоптер… проводка идеальна, вибраций почти нет.
Но, к сожалению, конструкция не взлетела. Теперь опишу все по порядку

  1. Мы сконфигурировали MultiWii_for_DUE вот вся прошивка
    в config.h выбрано только датчики, в файле Output.cpp написано о моторах
#if defined(ARDUINO_DUE)
  uint8_t PWM_PIN[8] = {3,5,6,2,7,8,9,10};      //for a quad+: rear,right,left,front   //+ for y6: 7:under right  8:under left
#endif

а немного ниже

#if defined (ARDUINO_DUE)
   /* Thanks to  */
  #if (NUMBER_MOTOR > 0)
   setPWMpin(34); //PWM L0
   PWMC_DisableChannel(PWM, 0);
  #endif
  #if (NUMBER_MOTOR > 1)
   setPWMpin(36); //PWM L1
   PWMC_DisableChannel(PWM, 1);
  #endif
  #if (NUMBER_MOTOR > 2)
   setPWMpin(38); //PWM L2
   PWMC_DisableChannel(PWM, 2);
  #endif
  #if (NUMBER_MOTOR > 3)
   setPWMpin(40); //PWM L3
   PWMC_DisableChannel(PWM, 3);
  #endif

но мы, почему-то использовали не 3,5,6,2 (ШИМ), а 34,36,38,40 (цифровые) (только в них моторы после подачи питания издавали инициализирующий звук) и переставали пищать каждую секунду.
Так куда нужно втыкать пины мотора?
А так же как понять какой мотор по очереди втыкать: верхний левый, верхний правый, нижний левый, нижний правый?
Теперь в def.h написано

  #define THROTTLEPIN                0  //PIN 62 =  PIN A8
  #define ROLLPIN                    1  //PIN 63 =  PIN A9
  #define PITCHPIN                   2  //PIN 64 =  PIN A10
  #define YAWPIN                     3  //PIN 65 =  PIN A11
  #define AUX1PIN                    4  //PIN 66 =  PIN A12 (DAC0)
  #define AUX2PIN                    5  //PIN 67 =  PIN A13 (DAC1)

это, как я понимаю пины куда втыкать каналы приемника
Опять же: как понять в какой очередности вставлять каналы? По-очереди? С 1 по 6 в А8 по А13?
В общем при подключении нижеописанным образом аппарат не взлетел, даже не ввелся в режим Arming опустив левый стик пульта в нижний правый угол на 2 секунды вот так:

Подключали так:
Приемника R6B 5v. - 5v.
Приемника R6B GND - GND
THR: PIN 62 - A8
ALE: PIN 63 - A9
ELE: PIN 64 - A10
RUD: PIN 65 - A11
AUX1: PIN 66 -DAC0
AUX2: PIN 67 - DAC1

Motor 1: PIN 34 (digital)
Motor 2: PIN 36 (digital)
Motor 3: PIN 38 (digital)
Motor 4: PIN 40 (digital)

MPU6050, BMP085, HMC5883: SCL - SCL
MPU6050, BMP085, HMC5883: SDA - SDA
MPU6050, HMC5883 5v. - 5v.
BMP085 3.3v. - 3.3v.
MPU6050, BMP085, HMC5883 GND - GND

Питание Arduino DUE от BEC Motor 1
Все это показано на картинке:

Пульт настраивали по видео:

Прошу помощи у всех вас! Пожалуйста, помогите разобраться и запустить коптер! Буду благодарен за любую помощь!

еще забыл добавить, что программа Windows GUI for MultiWii версии 2.3 (совпадает с версией для коптера) не смогла соединиться с прошивкой на Arduino, подключенной по USB, при выборе ком порта, и нажатия Connect, оно написало “Connecting MavLink”, затем еще что-то с отсчетом в 24 сек., по истечению которых выдало ошибку

а так же в config.h какой выбрать SERIAL_SUM_PPM в секции 3 - RC SYSTEM SETUP ?
Мы выбирали последний

#define SERIAL_SUM_PPM         PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For some Hitec/Sanwa/Others
Квадрокоптер на Arduino DUE

спасибо всем за ответы! буду пробовать все вышеописанное
отдельное спасибо Samer за то, что я всегда искал…
хотелось бы обсудить где - нибудь детальнее эту конструкцию, но несколько позже, надо хотя бы с нормальным научится
но я не хочу потерять человека, который сделал то, что я хотел, если можно, Samer, оставьте свою почту мне в ЛС

Jade_Penetrate:

инициализацию и настройки под свое железо менять придется в любом случае

возможно, это нужно проверить, но есть предположение, что в той версии Multiwii для Due это все продумано, ибо разработчик писал, что все что там написано работает на DUE
брал тут

Квадрокоптер на Arduino DUE

Добрый вечер всем! Все-таки хочется узнать ответ на предыдущий вопрос, я хочу собрать БЛА, но уж простите, не могу найти в том коде где подключение пинов расписано… помогите кто нибудь! не закидывайте помидорами(( заранее спасибо!

Квадрокоптер на Arduino DUE

В секции радиоуправления есть такое:
//#define SERIAL_SUM_PPM PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Graupner/Spektrum
//#define SERIAL_SUM_PPM ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Robe/Hitec/Futaba
//#define SERIAL_SUM_PPM ROLL,PITCH,YAW,THROTTLE,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Multiplex
#define SERIAL_SUM_PPM PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For some Hitec/Sanwa/Others
но у меня FlySky, и я выбрал последний, т.к там написано “Others”
судя по всему 8,9,10,11 это сигнальные пины для приемника
но тогда в какие пины втыкать сигналы от ESC? я ведь туда ранее хотел втыкать…

Квадрокоптер на Arduino DUE
Jade_Penetrate:

Лучше свяжите все 4 и подключите к земле контроллера.

все, значит так и будет,

Jade_Penetrate:

iic шину, на нее можно повесить много устройств, если пропускной способности будет достаточно

хорошо, попробую, там видно будет,

питать плату он BEC регуля все равно какого?

теперь о прошивке: я буду использовать MultiWii, заточенную под DUE (Multiwii_DUE называется), кто - то тут говорил, что надо смотреть к каким пинам подключать приемник. По этому несколько вопросов:

  1. У приемника надо использовать 4 канала, в каждом по 3 пина. Надо использовать только сигнальные? или +5v и gnd тоже надо использовать?
  2. как питать приемник? там у него на самой верхушке есть что-то про питание… +в комплекте был черный дугообразный провод для соединения чего-то… как его использовать?
  3. в каком файле Multiwii глядеть в какие пины подключать
    3_1) каналы приемника
    3_2) сигнальные пины от регулей
    P.S кто-то из вас говорил, что не знает о DUE, она почти как Mega2560, так что можно отталкиваться от ее данных о расположении пинов
Квадрокоптер на Arduino DUE
rual:

Компас и МПУ можно на одной И2Ц шине держать, но можно и так, земляные концы с регулей не нужны, кроме питающего(!).

спасибо вам за ответ! но в последствии мнения разделились… так все-таки, как лучше? земля только от 1 питающего регулятора (на схеме самый левый) или связать все земли 4 регулей?
второй вопрос: про I2C шину: то есть на схеме я собрался подключать компас к А5 А4, а вы предлагаете его (компас), как и MPU и как барометр подключать в SDA SCL ? (если так, то хорошо, что я еще не сделал тройники)

есть еще проблема с самим пультом, вернее с его конфигурацией, но об этом позже, надо все по-порядку

Квадрокоптер на Arduino DUE

Здравствуйте! Прислушался ко всем вашим советам, отказался от беспультового управления, купил пульт. Пришло время подключить и установить всю аппаратуру на коптер. Но есть вопрос по подключению. И так, компоненты следующие:
мозги: Arduino DUE
двигатели + регуляторы: A2212 1000KV + 30A ESC
гироскоп + акселерометр: MPU-6050
барометр: GY-68 BMP180
компас (магнитометр): Gy-273 HMC5883L
аккумулятор 3S 11.1В 5200 мАч 30C
аппаратура управления 6-канальная FlySky FS-CT6B 2.4GHz с приёмником R6B ( FS-CT6B+R6B )
Ультразвуковой датчик HC-SR04 (даже не знаю есть ли его применение в MultiWii)
ни GPS, ни OSD, ничего другого, кроме вышеописанного нету
теперь проблема: я понятия не имею как подключать FlySky R6B… я создал схему… прошу помощи: просмотрите схему на ошибки и добавьте подключение приемника…

Заранее спасибо!

Квадрокоптер на Arduino DUE
Bulldog:

мда…
Посмотри характеристики регуляторов. Особенно обрати внимание на напряжение питания и ток. Оно соответствут “такой штуке”?
Хотя бы почитал теорию, ей Богу…

я в курсе что нужно тем регуляторам, меня ввело в заблуждение то, что какой-то человек писал, что он запитал мотор от аккумулятора от мобильно телефона, он был липо 4,2 вольт, он говорил, что у него слабо вращался двигатель, но списывал он это на малую мощьность, так как такое было возможно?

и все-таки, мне нужно проверить двигатели, как мне это сделать без настоящего липошного аккумулятора с большим током?

Квадрокоптер на Arduino DUE

привет всем! это опять я)) наверное вопрос глупый, но все же:
пришли сегодня двигатели Turnigy А2212 1000kv и регули 30А (ссылка на двиг)
а аккумулятор еще не заказал, но очень захотел проверить, поэтому попробовал запитать от такой штуки
вроде вышло, оно издало звук инициализации, попробовал засунуть такой код
в результате я получаю лишь писк мотора и попытки его двигатся
и почему так? то ли ему аккумул не подходит, то ли нужно снять защиту от случайного нажатия (послав сигнал)

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

Квадрокоптер на Arduino DUE

ладно, тогда нету смысла во всем этом… ну возьму я пульт, ну вбухаю 40-50$ и получу дальность аж ЦЕЛЫХ 100-200 метров!! (ничего себе!!!)
я хотел что-то получше создать, чем просто игрушку, которая летает в радиусе видимости человека…
ладно, тема себя исчерпала
обломали все что можно 😦

Квадрокоптер на Arduino DUE
WWL:

как это сделать на кнопках - я плохо представляю

да, пожалуй, вы правы, ну просто очень не хочется покупать пульт за 50$, а возможно сделать свой пульт, например из таких 2-х JoyStick’ов? вернее не сам пульт, а только управление, лишь для удобства, а отправлять данные все-равно через телеметрию
такой вариант получше?
на подобии такого

Квадрокоптер на Arduino DUE
Jade_Penetrate:

Что значит в каком месте? Ну и говорил я не совсем про мультиви, но не важно. Посмотрите на временные характеристики сигнала, который выходит с приемника. Контроллер считает длительность импульса и затем заносит ее в память, а уже исходя из полученных переменных и показаний датчиков уже высчитывает газ на каждый мотор. Контроллер может данные управления получать не с приемника, а через модемы телеметрии, принципиальной разницы никакой нет (разве что в скорости). Также, контроллер может сам высчитывать газ, наклоны и поворот коптера в автоматических режимах.
Исходный код там достаточно лаконичен и все ifdefы описаны, это позволяет без особых усилий, путем правки нескольких комментариев, быстро скомпилировать код под любой набор датчиков и пониманию мешать не должно.

большое спасибо за ответ! сегодня пробовал сконфигурировать config.h, были проблемы с выбором параметров секции 3-4
не могли бы вы проглядеть конфигурацию, и если что надо подправить? (особенно секцию 3, так как там RC System… и что там мне выставить прямо не знаю 😦 , пульта ведь нету и не должно быть)
напомню: плата Ard DUE, акселе-гиро MPU6050, баро BMP085, комас HMC5883, пульт… а пульта не будет, будет телеметрия 3DR Robotics, и… точно… сонар… у меня сонар HC-SR04, а там
//#define SRF08
//#define SRF10
//#define SRF23
что там выбрать?

P.S GPS пока тоже нету и не скоро будет

P.P.S сервомоторчиков тоже нету, и камеры нету, а в конфиге, не знаю почему поставил что то связанное с серво

config.rar

Квадрокоптер на Arduino DUE
Jade_Penetrate:

можно вывести виртуальные стики.

если можно, скажите, в каком месте кода MULTIWII реализована данная функция? я скачал исходник, и там черт ногу сломит, они понапихивали туда все возможные датчики и засорили код своими #ifdef’ами

Квадрокоптер на Arduino DUE
SovGVD:

PWM/ШИМ

вот, это уже ближе к теме, получается, что на ESC посылают значение от 0 до 255, да?
раз так то, в формуле U = K * ( Err + (1/Ti)*Int + Td*dErr) значение переменной U равно от 0 до 255 соответственно?
и, например, если я хочу послать 75% газа, то я должен слать на 2 ESC analogWrite(191), а на остальные 2 analogWrite(64), я правильно понял смысл?

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

Квадрокоптер на Arduino DUE
Covax:

Так, объясните модератору для чего создан этот топик?

  1. спросить конфигруацию (моторы, регули, батарейки), поставить в эту ардуину multiwii - удаляю как дубль существующих тем, где можно спросить
  2. написать свою систему стабилизации на ардуине с этим набором датчиков, отличную от multowii? ok, тогда в нем обсуждается только код и формулы расчета, а не конкретные комплектующие

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

Квадрокоптер на Arduino DUE
5yoda5:

Есть подозрение, что акк хилый по токоотдаче…

10С может оказаться мало для таких простеньких моторов?

SovGVD:

купите px4/pixhawk (если уж ARM нужен и AVR-ки не хватает)

ага, здоровую махину, за кучу долларов? нет, спасибо, так как AVR не хватило, мы уже купили Arduino DUE, на котором благополучно располагается ARM 32bit

и раз уж так все пошло, то работать будем или с таким кодом, или с таким

SovGVD:

расфигачете всё в хлам в первый же полет без пульта с геймпада

ну это смотря как настроить и какие руки

Квадрокоптер на Arduino DUE
maloi333:

А смысл от этого всего при полете в 10 минут???

не понимаю чего все так говорят, значит логика такая: коптеры, что строят большинство людей на 2200 mAh летают 10 мин и значит на 10 000 тоже? (как то мало в это верится)

еще вопрос:
на регулятор посылается значение мощности, которое рассчитывается по формуле U = K * ( Err + (1/Ti)*Int + Td*dErr ) ?

  1. как рассчитать коэффициенты, нужные для нахождения U?
  2. каким образом связаны уже стабилизированные углы акселя и гиро+компаса с вышеуказанной формулой?
    как же связать данные управления с этой формулой?
Квадрокоптер на Arduino DUE
maloi333:

Подкиньте джойстик к компу и все

хм… хотелось бы для начала клавиатуру, но раз вы это советуете, то расскажите, как реализовать обработку стороннего джойстика и передать (самое главное - какой же сигнал??)
еще раз - меня именно и интересует: вот двинули мы ручку газа на 75% что должен передавать Arduino к ESC ? передает то он мощность, но при расчете мощности используется данные будь то с джойстика или с клавиш, но в каком виде должны быть эти самые 75% газа?

okan_vitaliy:

Больше смахивает на типа преддипломный проект

это уже ближе к истине, чем версия Вадимм’а

okan_vitaliy:

судя по задаваемым вопросам проект тупиковый

почему? стабилизация написана (точнее списана с готовых решений), на данный момент мы разбираем ПИДы, а именно как получать мощности для ESC, учитывая внешние факторы и главное - полученное управление

okan_vitaliy:

А вдруг мы на пороге великого открытия

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

Квадрокоптер на Arduino DUE
Вадимм:

А зачем?

объясняю, суть в том, что в конечном этоге не должно быть надобности вообще смотреть на аппарат, все действия будут выполнятся по видео с камеры, сидя за компьютером, как в любом авиасимуляторе, по этому и требуется длительное время полета+большая дальность

сейчас не особо важен выбор АКБ и расчет времени полета

сейчас меня беспокоит лишь одно - реализация управления, как я описывал выше, именно в этом я прошу помощи

Квадрокоптер на Arduino DUE

Всем доброго времени суток! Мы с другом решили сделать квадрокоптер. Хотелось бы посоветоваться на счет этого.

Начну с того, что квадрокоптер должен делать/уметь:

• Использовать стандартные датчики (акселерометр, гироскоп, барометр, компас)

• Полет вне помещения

• Дистанция связи больше 1 км, в идеале 4,7 км (без усилителя, при мин передаче данных)

• Полет более 30-60 мин (не меньше)

• Поддержка GPS

• Управление через компьютер (именно так, и не как иначе, в этом ВСЯ СУТЬ проекта)

• В будущем: установка системы фото/видео съемки

• В будущем: переем и передача звука (от и к квадрокоптеру)

Теперь поговорим, что на данный момент имеется:

• Рама. Чертеж взят отсюда. (уже готовая, вес 870 гр.)

• GY-521 MPU-6050 (Гироскоп + Акселерометр) (ссылка)

• Датчик расстояния - ультразвуковой дальномер HC-SR04 (ссылка)

• Сами мозги Arduino DUE (ссылка)
)

• Двигатели + регуляторы A2212 1000KV + 30A ESC (ссылка)

И то, что предстоит выбрать для дальнейшей покупки:

• Беспроводной модуль связи. И тут 2 варианта:

APC220 (ссылка)

или 3DRobotics 3DR (ссылка)

Какой модуль лучше удовлетворит требования? (+условие, что с ним возможно удобно работать, отсутствие проблемы с драйверами)

• GY-271 HMC5883L I2C 3-осевой электронный компас (ссылка)

• Барометр BMP085 (ссылка)

Дальше пару вопросов с выбором АКБ:

  1. подойдет ли по параметрам силы тока такой аккумулятор (ссылка)?
  2. на счет времени: очень часто встречал: АКБ 2200 mAh - время работы 6-10 мин
    я так подумал и прикинул, что если это для 4 моторов, то для 1 в 4р. больше = 24-40 мин
    а раз так, то если бы аккумулятор был не 2200 а 8800 mAh то время было бы 96-160 мин (на 1 мотор), а теперь вернемся к тому, что моторов 4, таким образом время = 24-40 мин, но выбранный мною АКБ не 8800, а 10000, могу и я рассчитывать на 30-60 минут полета?
    теперь об управлении
    самое главное в нашем проекта - отсутствие пульта управления, в место него мы планируем управлять с ноутбука клавишами, а со временем добавить функцию управление и гейпадом.
    вот собственно в чем главный на данном этапе вопрос:
    каким образом можно проэмулировать положение ручек пульта? например сделать в C# некий ползунок (4 шт) от -100 до 100,
  3. так как задать соответствие положения ручек пульта этим числам ?
  4. в каком виде должны слаться сигналы на ESC ?
  5. не возникнет ли проблемы с калибровкой ESC (ведь там надо отклонять эту заветную ручку газа до упора вниз/вверх) а ручки то нет…
    прошу Вас ответить на мои вопросы, дать советы, разъяснить возможные подводные камни", в общем все, что можете сказать по вышеизложенному
    P.S 1) не предлагать купить готовый и не мучатся
  6. не говорить, что нет необходимости в длительном времени полета