ArduCopter Mega: порт на обычную Arduino (тестим)

Mark_Kharkov
Sir_Alex:

Разработчиков ArduCopter’a тут отродясь не было. 😉 Ищите их на DIYDrones

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

Ага, т.е. Ваше творение - это как раз уте либы, которые в стандартной ардуине мы заменяем на Мегапиратовские? А грубо говоря исходники в папке arducopter = 100% совпадение с самим ардукоптером?
Тогда вопрос: если взять скажем последний ArduCopter, и откомпилить с Вашими либами - должно получится? Или все-таки какие-то изменения в Ardu вносятся, и могут быть какие-то баги которые проявятся потом?
Интересно было бы попробовать. Просто сам по образованию программист, хотя и в совершенно другой области (веб).

Sir_Alex
Mark_Kharkov:

А грубо говоря исходники в папке arducopter = 100% совпадение с самим ардукоптером?

Не 100% но близко. Взять и просто слить не получится. В пирате например другая последовательность инициализации датчиков. Но все что отвечает за полет (AHRS, режимы полета и т.п.) все совпадает на 100%.

nikr

Подключил двухосевой подвес. При включении питания в процессе инициализации контроллера его перекашивает по обоим осям до упора. После инициализации выравнивается и отрабатывает наклоны как положено. Контроллер AIOP 1.0 прошивка R300. С этими перекосами можно что нибудь поделать?

Sir_Alex

нельзя, т.к. при инициализации на PWM выходы идет минимальный сигнал.

ReM
ssh1:

Я думаю что в Stabilize коптер должен работать так:
При попадании стика YAW в область около нуля коптер должен запоминать текущий курс. Далле в алгоритм коррекции YAW вносится поправка пропорциональная отклонению от запомненного курса, которая и возвращает его всегда к курсу.

Именно так. Так есть в Multiwii например.
В Loiter он должен держать позицию. Что и делает весьма неплохо. Никакой разницы куда вы его повернёте рукой.

Mark_Kharkov
nikr:

Подключил двухосевой подвес. При включении питания в процессе инициализации контроллера его перекашивает по обоим осям до упора. После инициализации выравнивается и отрабатывает наклоны как положено. Контроллер AIOP 1.0 прошивка R300. С этими перекосами можно что нибудь поделать?

Если не секрет - а зачем с этим что-то делать? В воздухе подвес врядли кто будет включать/выключать. А то, что до арминга еще его чуть переклинит - совершенно безразлично как-бы…

ssh1

В loiter он тоже должен держать курс? Тогда после поворота рукой он должен возвращаться - чего не происходит.

ReM
ssh1:

В loiter он тоже должен держать курс? Тогда после поворота рукой он должен возвращаться - чего не происходит.

Я не знаю должен ли. Но в Loiter в этом нет необходимости.

ssh1
ReM:

Именно так. Так есть в Multiwii например.

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

ReM
ssh1:

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

Я и говорю - так есть в Multiwii например. Но в Megapirate не так почемуто…

ReM

AHRS_YAW_P пробовал от 0.1 до 1 - никакой разницы не вижу… 😦

nikr
Mark_Kharkov:

Если не секрет - а зачем с этим что-то делать?

По конструкции подвеса получается, что при включении серва по roll тянет подвес до упора в балку. Серву жалко.

Compage

Залил прошивку MegaPirateNG 2.9 R7 (ArduCopter 2.9.1), плата AIO v1.1, Mission Planner 1.2.45

  1. как производить установку горизонта? при подключении через юсб все калибруется нормально, наклоняем коптер по инструкциям планнера.
    через телеметрию(3ДР), в отличие от старых версий прошивок и планнеров, теперь выставить горизонт не удается - плата зависает. что делать

  2. Не работает сонар…

ssh1

А подскажите пожалуйста как можно изменить дефолтные лимиты отклонения в 45 градусов в стаб режиме? Хочу понизить чувствительность стиков. Или это можно сделать как-то по другому?

Vadimus_ca
ssh1:

Хочу понизить чувствительность стиков.

А не проще на аппаратуре? Хоть расходами, хоть кривыми, хоть экспонентами.

Mark_Kharkov

Народ, кто-нить сталкивался с такой штукой:

  1. На плате AIOP v1 настроил - летало (stabilize/alt hold/loiter). Что бы летало нормально - уменьшал P до 0,0937
  2. Поставил пришедшую ко мне плату AIOP v2 (от rctimer) + новый GPS (с eeprom) + 3dr radio. Зашил точно с такими же настройками (Y6 hexa), только поставил #define на датчики AIOPV2. Прошивал той же Megapirate 2.8R3.
    После этого точно так же калибранул радио, компас, аксель. Все вроде ок, в мишен планере все нормально определяло где низ, где верх, восток/север и т.д. Настроил полетные режимы как и на старой плате. Поставил новую плату вместо старой, на то же место, точно так же подключил движки и т.д.
    Поставил в новой плате P на такую же величину 0,0937 (по дефолту было 0,175). Больше ничего не менял в ПИДах.
    При попытке взлететь - переворот “вверх тормашками”. Попытка еще раз взлететь - еще раз переворот и -1 пропеллер. Такое впечатление было (взлетал в stabilize, как обычно) - что плата не выравнивала особо аппарат при взлете. На старой плате - все было ок. Перепроверил потом еще раз подключение моторов - все нормально.
    Вопрос: что за нафиг? Оно что, для каждой платы совершенно разные ПИДы могут быть? Конструкция аппарата не менялась, только электроника. Версия прошивки - из той же папки…
ssh1
Vadimus_ca:

А не проще на аппаратуре? Хоть расходами, хоть кривыми, хоть экспонентами.

На аппаратуре можно, но правильнее мне кажется задать это в мегапирате. Что самое интересное даже в простеньком KK2.0 это есть(stick scaling), а в мегапирате нету получается?

Mark_Kharkov:

Вопрос: что за нафиг? Оно что, для каждой платы совершенно разные ПИДы могут быть? Конструкция аппарата не менялась, только электроника. Версия прошивки - из той же папки…

Как сопротивляется наклонам\поворотам проверял?

Mark_Kharkov
ssh1:

На аппаратуре можно, но правильнее мне кажется задать это в мегапирате. Что самое интересное даже в простеньком KK2.0 это есть(stick scaling), а в мегапирате нету получается?

Всегда делал это на аппе. Имею 2ве модели, одну RTF и собственно Y6 гексу, очень удобно, переключился на аппе между моделями и норм. Все равно для y6 есть другие настройки, те же переключения полетных режимов и т.д, чего там нету. КК2.0 тоже есть, но и там не пользовался этой настройкой, и не совсем понимаю, зачем она вообще есть, на аппе - удобней, можно всегда поменять с меню, и аппа всегда в руках. 😃
Зачем это делать в полетном контроллере - мне даже в голову не приходило…

ssh1:

Как сопротивляется наклонам\поворотам проверял?

  • с винтами не пробовал (стремно как-то попасть под 12" острые APC, да и вес аппарата 3кг). Без винтов такое ощущение что сопротивляется (по звуку) намного более вяло, чем на старой плате. Но 2ва Y6 нету, что бы рядом их сразу включить. Странно как-то…
AlexAndr=

Имеется квадр Х нестандартной конструкции - два луча по 300мм, два по 330(сделано чтоб пропы в кадр не лезли), подскажите как скорректировать прошивку под такую геометрию(по аналогии с MY_PRIVATE_MIXING в мультивие)?
MegaPirateNG 2.9 R7 на AIOP v2.

ssh1
Mark_Kharkov:

с винтами не пробовал (стремно как-то попасть под 12" острые APC, да и вес аппарата 3кг).

Можно вдвоем. Один держит над собой за центр.
Другой газку дает немножко, если чо - убирает в ноль )

Mark_Kharkov
ssh1:

Можно вдвоем. Один держит над собой за центр.
Другой газку дает немножко, если чо - убирает в ноль )

Да наверное так и попробую. Но вообще очень странная штука получается…