Квадрокоптер на Arduino DUE
Простите, но разве ваши фразы
вот двинули мы ручку газа на 75% что должен передавать Arduino к ESC
стабилизация написана
не противоречат друг другу?
Полноценное (насколько это возможно) управление с компьютера уже реализовано в проекте ardupilot. Можно указывать точку, к которой должен лететь коптер и все параметры маршрута, можно вывести виртуальные стики аппаратуры на сенсорный экран телефона/планшета, можно подключить видео с устройства захвата и наложить на нее все полетные данные. И это на простом 8битном ядре в сочетании с наземной станцией, 32х битный проект pixhawk, помимо этих функций, может в удержание позиции/навигации по камере (optical flow).
У вас явно отсутствует понимание принципов работы полетного контроллера, об этом много где написано и за вас это никто не прочитает. А проект делать не будет тем более, разве что за материальное вознаграждение.
еще раз - меня именно и интересует: вот двинули мы ручку газа на 75% что должен передавать Arduino к ESC ? передает то он мощность, но при расчете мощности используется данные будь то с джойстика или с клавиш, но в каком виде должны быть эти самые 75% газа?
Скачиваем:
- Ардуино ИДЕ
- Исходники MultiWii (чем старее версия, тем будет проще)
Запускаем Ардуино ИДЕ, Открываем MultiWii. Смотрим на экран и разбираемся в чужом коде.
Оу, весна чтоли пришла уже?
По теме - берем APM, заливаем Arducopter и рулим с компа и/или по MAVLink протоколу хоть с кофеварки… ну или хотя бы его код глянуть и немного теории почитать, чтобы не было такого что не знаем про PWM, но уже хотим автономного дрона и завоевание мира.
отсутствие пульта управления, в место него мы планируем управлять с ноутбука клавишами, а со временем добавить функцию управление и гейпадом.
не вы первые, не вы последние 😉 расфигачете всё в хлам в первый же полет без пульта с геймпада, хорошо если в больницу или морг при этом никто не попадет
честно слово, послушайте человека, которые такой же фигней занимался, попробуйте сперва просто взлететь с обычным пультом, а уже потом думать о кнопках и прочих извращениях
зы: баро в топку, как и все эти горы деталек на соплях, купите px4/pixhawk (если уж ARM нужен и AVR-ки не хватает), он хотя бы уже летает и поддерживает не мало штук, а в ВУЗе всеравно вам чего нибудь поставят даже за бумажный самолетик
а в ВУЗе всеравно вам чего нибудь поставят даже за бумажный самолетик
И то правда ))) у меня на 6-м чертеже (плакат), как раз был бумажный самолётик нарисован с обозначенными осями курса, крена и тангажа ))) и все дивились на него как на диво-дивное, и пофиг схемы, сборочные и т.п…)))
Есть подозрение, что акк хилый по токоотдаче…
Есть подозрение, что акк хилый по токоотдаче…
10С может оказаться мало для таких простеньких моторов?
купите px4/pixhawk (если уж ARM нужен и AVR-ки не хватает)
ага, здоровую махину, за кучу долларов? нет, спасибо, так как AVR не хватило, мы уже купили Arduino DUE, на котором благополучно располагается ARM 32bit
и раз уж так все пошло, то работать будем или с таким кодом, или с таким
расфигачете всё в хлам в первый же полет без пульта с геймпада
ну это смотря как настроить и какие руки
Так, объясните модератору для чего создан этот топик?
- спросить конфигруацию (моторы, регули, батарейки), поставить в эту ардуину multiwii - удаляю как дубль существующих тем, где можно спросить
- написать свою систему стабилизации на ардуине с этим набором датчиков, отличную от multowii? ok, тогда в нем обсуждается только код и формулы расчета, а не конкретные комплектующие
ну это смотря как настроить и какие руки
это конечно да, но видимо у вас опыта в настройке коптеров много, раз сразу начали с такого проекта… скажу только что у геймпадов стики так себе в плане разрешения (у ps-ных помойму всего 255 значений и то расположены не равномерно, у аппы грубо говоря 1000 значений, расположеных примерно равномерно)… ну да ладно =) удачно полетать на кнопках с первого раза, присылайте фотки разрушений и порезаных друзей в соседнюю тему
Так, объясните модератору для чего создан этот топик?
- спросить конфигруацию (моторы, регули, батарейки), поставить в эту ардуину multiwii - удаляю как дубль существующих тем, где можно спросить
- написать свою систему стабилизации на ардуине с этим набором датчиков, отличную от multowii? ok, тогда в нем обсуждается только код и формулы расчета, а не конкретные комплектующие
так я и спрашивал конкретный вопрос: как происходит передача команд с пульта для того что бы смоделировать их без пульта на ПК, а тут пытаются убедить, что это нерационально, и смысла в этом нет
как происходит передача команд с пульта для того что бы смоделировать их без пульта на ПК
немного не понятный вопрос, но видимо вопрос про PWM/ШИМ, о которой выше писал arduino.cc/en/Tutorial/PWM
PWM/ШИМ
вот, это уже ближе к теме, получается, что на ESC посылают значение от 0 до 255, да?
раз так то, в формуле U = K * ( Err + (1/Ti)*Int + Td*dErr) значение переменной U равно от 0 до 255 соответственно?
и, например, если я хочу послать 75% газа, то я должен слать на 2 ESC analogWrite(191), а на остальные 2 analogWrite(64), я правильно понял смысл?
…кстати выше писал вопрос про эту формулу, никто не ответил, продолжая говорить, что это бесполезно
получается, что на ESC посылают значение от 0 до 255, да?
если очень грубо подходить к этому то да, но все же если есть желание написать свою прошивку со всеми плюшками, стоит узнать что такое ШИМ не на уровне analogWrite(191), да и это далеко не самая затейливая штука о которой придется узнать по пути велосипедостроения
ага, здоровую махину, за кучу долларов? нет, спасибо, так как AVR не хватило, мы уже купили Arduino DUE, на котором благополучно располагается ARM 32bit и раз уж так все пошло, то работать будем или с таким кодом, или с таким
– ARM
®
Cortex
®
-M3 revision 2.0 running at up to 84 MHz
– Memory Protection Unit (MPU)
–Thumb
®
-2 instruction set
– 24-bit SysTick Counter
– Nested Vector Interrupt Controller
•
Memories
–
From 256 to 512 Kbytes embedded Flash, 128-
bit wide access, memory accelerator, dual bank
– From 32 to 100 Kbytes embedded SRAM with dual banks
– 16 Kbytes ROM with embedded bootloader routines (UART, USB) and IAP routines
– Static Memory Controller (SMC):
SRAM, NOR, NAND support. NAND Flash
controller with 4-kbyt
e RAM buffer and ECC
ну и так далее…
не интересно…
купите вот эту малышку и будет всё тоже самое, и wii и ARM -CORTEX M3… и японское и тема есть соответствующая rcopen.com/forum/f123/topic267086
и среда не кривая и неудобная arduino, а Keil или eclipse с отладкой через jtag
так что всё придумано до нас…
вот, это уже ближе к теме, получается, что на ESC посылают значение от 0 до 255, да? раз так то, в формуле U = K * ( Err + (1/Ti)*Int + Td*dErr) значение переменной U равно от 0 до 255 соответственно? и, например, если я хочу послать 75% газа, то я должен слать на 2 ESC analogWrite(191), а на остальные 2 analogWrite(64), я правильно понял смысл?
если не понимаете что за формула - забейте на проект 😦
ТС, начните с изучения этой темы rcopen.com/forum/f134/topic224458
можно вывести виртуальные стики.
если можно, скажите, в каком месте кода MULTIWII реализована данная функция? я скачал исходник, и там черт ногу сломит, они понапихивали туда все возможные датчики и засорили код своими #ifdef’ами
в Multiwii трудно не заметить code.google.com/p/multiwii/source/…/RX.cpp
а если ещё в этот код заглянуть то можно увидеть ppm, ppm-summ, s.bus, OPENLRS и т.д.
Ах сколько нам открытий чудных
Готовит этот Multiwii…
Да кстати самая лёгкая для понимания платформа, а если ещё и коментарии к коду читать… ммм… сказка…
если можно, скажите, в каком месте кода MULTIWII реализована данная функция
Что значит в каком месте? Ну и говорил я не совсем про мультиви, но не важно. Посмотрите на временные характеристики сигнала, который выходит с приемника. Контроллер считает длительность импульса и затем заносит ее в память, а уже исходя из полученных переменных и показаний датчиков уже высчитывает газ на каждый мотор. Контроллер может данные управления получать не с приемника, а через модемы телеметрии, принципиальной разницы никакой нет (разве что в скорости). Также, контроллер может сам высчитывать газ, наклоны и поворот коптера в автоматических режимах.
Исходный код там достаточно лаконичен и все ifdefы описаны, это позволяет без особых усилий, путем правки нескольких комментариев, быстро скомпилировать код под любой набор датчиков и пониманию мешать не должно.
Что значит в каком месте? Ну и говорил я не совсем про мультиви, но не важно. Посмотрите на временные характеристики сигнала, который выходит с приемника. Контроллер считает длительность импульса и затем заносит ее в память, а уже исходя из полученных переменных и показаний датчиков уже высчитывает газ на каждый мотор. Контроллер может данные управления получать не с приемника, а через модемы телеметрии, принципиальной разницы никакой нет (разве что в скорости). Также, контроллер может сам высчитывать газ, наклоны и поворот коптера в автоматических режимах.
Исходный код там достаточно лаконичен и все 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 сервомоторчиков тоже нету, и камеры нету, а в конфиге, не знаю почему поставил что то связанное с серво
я удивлен что тема до сих пор жива =)
а вопросы по multiwii задаются в соответвующей ветке форума
а пульта не будет
тоска тоскливая будет… ну вот, Дим, как бы тебе объяснить, у меня были в машинах разные магнитофоны… и с кнопками громкости и с крутилками… Так вот крутилками можно быстро убавить и прибавить громкости, а вот кнопками - нажал и жди, пока прокрутится до нужного уровня.
Так же и с управлением - кнопками будет не то, что неудобно - кнопками будет никак… на аппе я могу двинуть стик из одного крайнего положения в другое меньше, чем за секунду (а это примерно 1000 логических едениц), а потом просто отпустить его и он станет в ноль… как это сделать на кнопках - я плохо представляю, хотя программирую с 90-х годов прошлого века…
Так что очень рекомендую подумать над тем, чтобы пульт “был” - иначе будут дрова. 😉
как это сделать на кнопках - я плохо представляю
да, пожалуй, вы правы, ну просто очень не хочется покупать пульт за 50$, а возможно сделать свой пульт, например из таких 2-х JoyStick’ов? вернее не сам пульт, а только управление, лишь для удобства, а отправлять данные все-равно через телеметрию
такой вариант получше?
на подобии такого