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

blind_oracle
Antarius:

Подскажите, хочу облететь вокруг дерева, чтобы нос коптера смотрел на дерево. Это возможно в мишнпланере?

Не проще врубить circle?

SovGVD
Antarius:

а нос куда будет?

copter.ardupilot.com/wiki/ac2_circlemode/

Circle is similar to Loiter, but automatic Yaw control always points the copter towards the center of the orbit.

т.е. нос будет смотреть в центр окружности

Antarius

О как. Все придумано до нас.
Немного только непонятно, а как радиус задавать, ведь центром окружности будет точка, где включился режим. А радиус как указать?
Руками отогнать на нужное расстояние? Но он же начнет уже кружить?

SovGVD

Вроде бы где то в настройках надо задавать радиус (ну и наверняка на крутилку выводится, как и многие другие параметры) + pitch/roll можно сдвигать точку облета

blind_oracle
Antarius:

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

CIRCLE_RADIUS вроде параметр.

devv
Antarius:

хочу облететь вокруг дерева,

Antarius:

ведь центром окружности будет точка, где включился режим.

не выйдет включить режим когда коптер на елке.

В момент включения коптер уже как бы на окружности. нужно быть от объекта на расстоянии радиуса из планера

commy_s
commy_s:

Помогите переключиться на внешний компас. Как то в сети скудно по этому вопросу. Знаю, что то нужно раскомментировать в AP_InertialSensor_MPU6000_I2C.cpp , хелп.

Сам себе: //#define DISABLE_AUX_COMPASS 1
Вынес на стойке на 15 см, может я погорячился, но теперь у меня работает лойтер, УРА! На полных оборотах отклонений нет.

Такой неординарный вопрос. Какой максимальной длинны можно делать провод до компаса по I2C ?

ReM
devv:

не выйдет включить режим когда коптер на елке.

В момент включения коптер уже как бы на окружности. нужно быть от объекта на расстоянии радиуса из планера

Это если 3.0.1. А если 2.9.1, то коптер начинает Circle с центра.

pilot01
commy_s:

Сам себе: //#define DISABLE_AUX_COMPASS 1
Вынес на стойке на 15 см, может я погорячился, но теперь у меня работает лойтер, УРА! На полных оборотах отклонений нет.

Такой неординарный вопрос. Какой максимальной длинны можно делать провод до компаса по I2C ?

limon_spb
commy_s:

Сам себе: //#define DISABLE_AUX_COMPASS 1
Вынес на стойке на 15 см, может я погорячился, но теперь у меня работает лойтер, УРА! На полных оборотах отклонений нет.

Круто! Т.е. вы только закомментировали строку, подключили компас к I2C, пират автоматом его съел и даже адресов никаких нигде писать не надо - все заработало?

Решил наконец прикрутить вот такой OSD - давно лежит…
www.aliexpress.com/snapshot/239713080.html
В инструкции по криусу рисуют такую схему
monosnap.com/image/xOGoWSGWfFalNE7Mmo0XH7BNS/
на вики схема другая
code.google.com/p/arducam-osd/wiki/minimosd
как понять, какой версии у меня OSD и какую схему юзать? Какие еще танцы с бубном нужны чтобы все работало? Какие-то настройки в планере?
Заранее спасибо!

Shuricus

По вашей ссылке на алиэкспресс, внизу все суперподробно описано. С картинками. Что там конкретно непонятно?
Осд подключается по любой схеме и сразу работает.

Отличие только в том, питается вся плата от 5ти вольт, или от 5ти и 12ти.
Там написано зачем это сделано. Решайте как вам больше нравится.
У меня при питании 12В, на видео шли полосы. Ушел только на 5.

limon_spb
Shuricus:

Что там конкретно непонятно?

Честно говоря вообще мало что понятно 😃
Почему тут схема такая, а в инструкции криуса она перечеркнута красным 😃 К каким rx и tx подключаться то. Слышал надо при этом что-то в планере поколдовать… В каких случаях нужно скачивать доп программу для настройки OSD. Что за загадочные джамперы с заклинаниями DVDD и AVDD, DGND, AGND.

Mark_Kharkov
blind_oracle:

Я вставил стальную пластинку 0.2~0.5мм между моздами и регулями, при газе коптер всё равно проворачивает в сторону градусов на 10-15 в сторону.

От наводок - спасет.
От магнитного поля, на которое реагирует компас - никак. Только расстояние. На то оно и магнитное поле, ему похер, что там у вас, оно все равно проходит.

kren-DEL
Mark_Kharkov:

На то оно и магнитное поле, ему похер, что там у вас, оно все равно проходит.

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

Mark_Kharkov
kren-DEL:

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

Магнитное поле проходит всегда (если не брать случай с сверхпроводниками, но это не про коптеры), его только можно ослабить в той или иной степени специальными экранами. Физику Вы не обманите никак.
Да, есть такое понятие как магнитное экранирование. Наберите в гугле. Почитать можно об этом например тут:
www.femto.com.ua/articles/part_1/2064.html
И вообще тема магнитного экранирования довольно сложная, забираться в такие дебри не рекомендую, уж поверьте, что разместить по-другому компоненты или вынести компас в любом случае будет не только проще, но и легче.
Что в коптере является источниками сильных магнитных помех? -

  1. силовые провода от регулей к движкам. При чем магнитное поле испульсное (т.к. работает ШИМ).
  2. силовые провода от аккумулятора к регулям.
  3. Сами регули (в них же есть проводники тока и большие силы тока - значит есть и сильное магнитное поле).
  4. Сам аккумулятор. Почему? Все просто - в нем тоже есть внутри проводники и токи очень большие под нагрузкой коптера.
    Да, даже в тех же компьютерных колонках делается “магнитное экранирование” (что на деле означает что магниты накрыты хорошо проводящем магнитное поле проводником, поэтому очень небольшая часть магнитного поля выходит “наружу”). Такой способ действительно довольно эффективен. В винчестерах принцип экранирования похожий.
    А теперь в реалиях коптера: заэкранировать от магнитного поля сам мозг - нельзя, т.к. магнитометр же должен “чуять” поле земли.
    Заэкранировать все силовые провода + регули + аккумулятор = вес экранов будет больше самого коптера. Оно такое надо? Нет.
    Поставить 1 ну пластинку и думать что это сильно поможет - не поможет. Не верите? Возьмите листик бумаги, нарисуйте в нем в масштабе 1:5 силовую проводку коптера, откройте учебник физики, посмотрите как должны проходить “силовые линии” магнитного поля от проводки, нарисуйте их на бумаге. А теперь добавьте туда на рисунок пластинку, и посмотрите, какое количество этих линий она будет пересекать и сколько линий останется. Останется либо бОльшая часть, либо вес будет саавсем не приличным.
    Думаете почему многие выносят компасы “подальше”? Это самый простой, проверенный и действенный способ избавиться от этого влияния. Все остальное - полумеры. А где полумеры - там будут рано или поздно глюки. А потом в очередной раз думать “из-за чего коптер упал в лойтере?”.

P.S. Это как раз тот случай, когда “обчинка не стоит выделки” и пытаться изобретать велосипед - неблагодарное занятие. На своих коптерах всегда взял за правило не ближе 10см силовая проводка от магнитометра мозгов коптера при токах до 30А (на 1н регуль/двиг) и не ближе 15см при токах в 100 и более ампер. Пока-что нормально и глюков не наблюдалось.
P.P.S. Есть еще много разных полумер: например специальным образом прокладывать и скручивать проводку, что бы создаваемое магнитное поле от каждого проводника гасило друг друга, и результирующее поле было слабым. Можете погуглить и попробовать. Собственно сам от этого отказался, чем проще способ - тем надежней.

masteryoda

2 Sir Alex:

Вопрос по 3.0.1, как сейчас в UserCode использовать Serial1? Суть в том, что мне нужно на Serial1 выводить определенную строку с частотой 10Гц. Как я понимаю в инициализации раньше достаточно было написать Serial1.begin(38400). Сейчас ошибка: error: ‘Serial1’ was not declared in this scope
Как быть?

TRAHOMOTO
limon_spb:


Почему тут схема такая, а в инструкции криуса она перечеркнута красным 😃

В первой версии (1.0, 0.1 …) плат на ней стоял линейный стабилизатор, который очень сильно грелся и горел делая из 12В -> 5В (кажется) … поэтому и приводятся разные схемы подключения.

limon_spb:


К каким rx и tx подключаться то.

Подключаться к тому Serial на который у Вас подлючен 3DRadio modem, при этом:

  • Если у Вас есть модем - объединяете rx модема и rx MinimOSD, а tx osd вынимаете из колодки совсем
  • Если у Вас нет модема - rx MinimOSD к tx контроллера, tx контроллера к rx OSD
limon_spb:


Слышал надо при этом что-то в планере поколдовать

Ничего не нужно

limon_spb:


В каких случаях нужно скачивать доп программу для настройки OSD.

В любом случае ее качать, дня заливки свежей прошивки, заливки шрифтов (т.к. почти все китайские клоны прошиты чина-шрифтом) и настройки выводимых данных

limon_spb:


Что за загадочные джамперы с заклинаниями DVDD и AVDD, DGND, AGND.

Т.к. плата по сути состоит из двух частей, аналоговой на MAX и цифровой Mega 328, то дабы исключить помехи они разделены и:

  • DVDD - (digital vdd) питание цифровой части
  • AVDD - (analogue vdd) питание аналоговой части
  • DGND - (digital ground) земля (минус если хотите) цифровой части
  • AGND - (analogue ground) земля аналоговой части

Как правило (судя по сообщениям на форуме) практически все моделисты запаивают эти джамперы и питают всю OSD 5В и не кашляют. Я сделал так же.

SovGVD
TRAHOMOTO:

Ничего не нужно

писали давно, что чето нужно, иначе данные пропадают периодически, да и к rx можно будет не подключать
мне всё лень было, но при полетах периодически “картинка” OSD пропадает и написано о том что ждет данных, при этом значек “сердцебиения” протокола мыргает стабильно
прошивка дефолтная, ибо extra упорно не хочет работать у меня почему то

DVE
Mark_Kharkov:

P.S. Это как раз тот случай, когда “обчинка не стоит выделки” и пытаться изобретать велосипед - неблагодарное занятие. На своих коптерах всегда взял за правило не ближе 10см силовая проводка от магнитометра мозгов коптера при токах до 30А (на 1н регуль/двиг) и не ближе 15см при токах в 100 и более ампер. Пока-что нормально и глюков не наблюдалось.

+100.

Сколько ни возился с проводкой, скруткой и пр, эффект минимален, возня того не стоит. Контроллер выносим вверх на стойках, и все, никаких проблем, дешево и сердито.