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

SergDoc
Dmitry_DM:

ага, здоровую махину, за кучу долларов? нет, спасибо, так как 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
так что всё придумано до нас…

Dmitry_DM:

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

если не понимаете что за формула - забейте на проект 😦

Dmitry_DM
Jade_Penetrate:

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

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

SergDoc

в Multiwii трудно не заметить code.google.com/p/multiwii/source/…/RX.cpp
а если ещё в этот код заглянуть то можно увидеть ppm, ppm-summ, s.bus, OPENLRS и т.д.

Ах сколько нам открытий чудных
Готовит этот Multiwii…

Да кстати самая лёгкая для понимания платформа, а если ещё и коментарии к коду читать… ммм… сказка…

Jade_Penetrate
Dmitry_DM:

если можно, скажите, в каком месте кода MULTIWII реализована данная функция

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

Dmitry_DM
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

SovGVD

я удивлен что тема до сих пор жива =)
а вопросы по multiwii задаются в соответвующей ветке форума

WWL
Dmitry_DM:

а пульта не будет

тоска тоскливая будет… ну вот, Дим, как бы тебе объяснить, у меня были в машинах разные магнитофоны… и с кнопками громкости и с крутилками… Так вот крутилками можно быстро убавить и прибавить громкости, а вот кнопками - нажал и жди, пока прокрутится до нужного уровня.
Так же и с управлением - кнопками будет не то, что неудобно - кнопками будет никак… на аппе я могу двинуть стик из одного крайнего положения в другое меньше, чем за секунду (а это примерно 1000 логических едениц), а потом просто отпустить его и он станет в ноль… как это сделать на кнопках - я плохо представляю, хотя программирую с 90-х годов прошлого века…
Так что очень рекомендую подумать над тем, чтобы пульт “был” - иначе будут дрова. 😉

Dmitry_DM
WWL:

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

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

AlexeyStn

У меня есть такой джойстик. У него ход настолько короткий, что практически не отличается от обычных дискретных кнопок вверх-вниз-влево-вправо. Промежуточных положений практически нет. Потратьте 50$ на простой авиамодельный пульт, без него никуда. Особенно, если вы хотите не по готовому пути идти, а делать эксперименты. Ну нельзя никак строить коптер с нуля и уложиться при этом в сотню баксов.

Dmitry_DM

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

SergDoc

слышь мужик, задолбал идеями… да хоть супер-пуппер джойстик воткни, передача данных как будет осуществлятся???
я уже ткнул вроде в OPENLRS !!! он есть в мультивие, это протокол!!! а у вас есть протокол? или на обум с компа через ком порт пихать? на сколько там километров? без обратной связи и проверок на ошибки???
и чего это я? я же добрый 😃
С новым Годом всех!!!

AlexeyStn

Вопрос к автору: для чего делается проект?
Для собственного удовольствия и развития? Для дипломного проекта в универе? Для коммерческой задачи?
От этого многое зависит.

Dmitry_DM

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

SergDoc

Чё идеи сдулись? Люди на 20-40 км летают вообще-то, и это в рамках хобби… да и аппараты давно в атоматическом режиме без всяого управления это могут… кстати тоже хоббийные… но это не говорит о том, что надо забить, а говорит о том, что надо саморазвиваться и двигаться дальше!!!
Как в спорте: Дальше, выше, сильнее…
хотя бы так

Dmitry_DM
SergDoc:

Чё идеи сдулись?

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

AlexeyStn

Вы хотите за 200-250 долларов собрать аппарат, который летает 30 минут и на 4 километра и рулится с компа. Так не получится. По крайней мере ни у кого на этом форуме так не получалось. Готовых решений за такие деньги тоже нет даже близко.

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

  1. Постройте простой коптер на MultiWii (с авиамодельным пультом и с готовым полётным контроллером). Придёт понимание того, как летают коптеры и как ими управлять.
  2. Соорудите со своей Arduino и джойстиком систему управления простой радиоуправляемой машиной через комп. Поставьте на неё свои датчики, GPS, телеметрию и всё остальное.
    У коптера любой глюк в радиоуправлении или ошибка пилота - сразу приводит к падению или улёту вдаль. Если экспериментировать с управлением на коптере, ремонт выйдет намого больше тех самых 50$. Машину вы не разобьёте и не потеряете.

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

okan_vitaliy
SergDoc:

Чё идеи сдулись? Люди на 20-40 км летают вообще-то, и это в рамках хобби… да и аппараты давно в атоматическом режиме без всяого управления это могут… кстати тоже хоббийные… но это не говорит о том, что надо забить, а говорит о том, что надо саморазвиваться и двигаться дальше!!!
Как в спорте: Дальше, выше, сильнее…
хотя бы так

Ну все Сергей, убил человека ! Кстати с Наступающими Праздниками!!!

SergDoc

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

ssilk
Dmitry_DM:

ну возьму я пульт, ну вбухаю 40-50$

Нифига себе…) Я бы еще понял, если бы речь о чем то таком была… Это “вбухаю”…) А полтинник за турнигу(кстати, километр она реально добьет) или даже такую игрушку, это не деньги…

Кстати, для дипломной можно и такую штуку забабахать, комиссия будет в восторге…)

SergDoc
Dmitry_DM:

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

Так быстро???

Открою страшную тайну: в 2011 году пытался я создать что-то новое - доступный (читай дешевый) мощный контроллер, ну что что-то вроде получилось )))
Но на эксперименты разбитые аппараты и т.д. ушло примерно около 4 килобаксов )))
Ну и что - это же хобби, общение… Я познакомился с множеством замечательных людей, мои летательные аппараты летят сами - магия? нет, просто опыт… большинство неполадок уже слышу по звуку моторов при тесте и т.д., глюки в коде по наитию(бабушка шепчет) в основном… краши уже воспринимаются как что-то само собой разумеющееся, потом только разбор полётов…
Люди творите, изобретайте - это прекрасно, только 2 но:

  1. готовьтесь к большим растратам и покупайте качественные (проверенные) комплектующие, датчики и т.п.
  2. за вас этого никто не сделает - подскажут, направят, а дальше читать, изучать, экспериментировать…
    С Новым Годом всех!!!

p.s. не ждите, что это окупится - в первую очередь вы это делаете для себя…