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

Sir_Alex
iBat:

Пришел сегодня сонар. Поставил - работает в test/sonar и altitude. Вышел в поле, включаю alt hold на высоте 150-200см, а коптер легкими перегазовками начинает набирать высоту. На высоте метров 7-8 его ловил, пробовал еще - то же самое. Без сонара и то лучше было - просто плавал +/- пару метров. Версия 49 (та, которая без фикса GPS).

ALT-HOLD последние несколько версий правят (видимо есть глюки), в 50й версии будет много исправлений в нем.

zkarust

Добрый вечер, извините что не в тему, но где можно купить 10" пропеллеры в Москве ?

Syberian
Musgravehill:

попытался интегрировать MARG Олега из самолетного МегаПирата.

В коде надо переделать много вещей:

dcm.get_gyro и dcm.get_accel заменить на просто gyro и accel
imu.get_gyro и imu.get_accel заменить на просто gyro и accel

dcm.roll_sensor заменить на roll_sensor
dcm.pitch_sensor заменить на pitch_sensor
dcm.yaw_sensor заменить на yaw_sensor
compass.heading на yaw_sensor

то же самое с dcm.roll,pitch,yaw

убрать полностью вызовы compass.null_offsets, compass.offsets.set_and_save и compass.calculate

Вместо dcm.update поставить compute_MARG()

Содрать из моего кода ручную калибровку компаса setup_mag()

И вот тогда будет вам щааастье

LeonVS

Есть ли смысл в коптер встраивать МАРГ? В отличие от самуля там практически не бывает затяжных виражей когда может уплывать вектор гравитации, в общем для виселки вполне хорошо работает и ДЦМ 😃 Если только для спортивного интереса 😃

Syberian
LeonVS:

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

хе 😃 помнишь видео со стаканом воды на квадрике, делающем петли? Полет квадрика - это один сплошной скоординированный поворот, когда центр тяжести всегда смотрит в “пол”, и только сопротивление воздуха на что-то влияет.

YAN=
Syberian:

Содрать из моего кода ручную калибровку компаса

😃

Syberian

Ткните меня носом в последнюю наиболее “летабельную” пиратку, попробую ее “маргнуть” 😃

Sir_Alex
Syberian:

Ткните меня носом в последнюю наиболее “летабельную” пиратку, попробую ее “маргнуть”

code.google.com/p/megapirateng/downloads/detail?na…

В SVN, в папке trunk лежит 2.0.50, но в ней, Ардукоптеровцы все еще правят код AltHold, так что я пока решил не выкладывать ее.

Syberian

а я уже 49 для вортекса скачал 😃
его не стоит переделывать, что ли?

ууу, как все запущено, не компиляется! И куча либ лишних…

Sir_Alex
Syberian:

а я уже 49 для вортекса скачал его не стоит переделывать, что ли?

Это CSG_EU сделал версию, где взял старые либы GPS (хотя они и не отличаются практически)

Syberian:

ууу, как все запущено, не компиляется! И куча либ лишних…

Только что перепроверил, версия Beta3 по моей ссылке, отлично компиляется 😃 И кстати, она то же совместима с BV.
У меня есть версия 2.0.49, в которой код инициализации GPS BlackVortex вынесен в отдельную NMEA либу. Может ты ее и проверишь? У меня то нету BV.

Musgravehill
Syberian:

попробую ее “маргнуть”

Уже несколько раз бился, все компилируется, но в Планнере тишина.
Олег, благодарю за подсказки.
Сейчас привез 2 ардуинки и аллИнван, хочу на одной сделать быстрое ИМУ, накапливать данные и отдавать во вторую Ардуинку с пиратом.

Sir_Alex:

Ардукоптеровцы все еще правят код AltHold

Я так и не понял, почему они не исправят код барометра в sensors.pde - там рассчет высоты по давлению странный. Я делал, как в даташите написано - все отлично работало. И один Ардукоптеревец сам писал в багтрекере, что надо считать высоту как в даташите. В нем формула стандартная, общепринятая: давление Па ~ высота.

Sir_Alex

Олег (или те, у кого есть BlackVortex), если не трудно, проверь пожалуйста вот эту версию на BV. Протокол GPS надо выбрать GPS_PROTOCOL_BLACKVORTEX. Проверить надо работу GPS.

Virgiux
Sir_Alex:

Олег (или те, у кого есть BlackVortex), если не трудно, проверь пожалуйста вот эту версию на BV. Протокол GPS надо выбрать GPS_PROTOCOL_BLACKVORTEX. Проверить надо работу GPS.

Проверил.

Syberian

Ну пипец наворотили в этом треклятом новом коптере. Преобразования DCM раскиданы по всему коду. Нафиг такое щастье, тут черт ногу сломит. Проще все порушить и заново написать. Еще и alt_hold не работает как всегда…

mahowik
Syberian:

хе помнишь видео со стаканом воды на квадрике, делающем петли? Полет квадрика - это один сплошной скоординированный поворот, когда центр тяжести всегда смотрит в “пол”, и только сопротивление воздуха на что-то влияет.

нука поподробней и не cложно (если не сложно 😃) про отличие ДЦМ от МАРГ… я вот думал что марг урезанная версия ДЦМ 😃

Musgravehill
Musgravehill:

2 ардуинки и аллИнван

Загрузил в Нано328 IMU - все работает. На 115200 отдает. Хочу попробовать добавить туда непосредственно DCM и отдавать его переменные в serial. На основной Ардино2560 будет работать пират, но в DCM будет вычищен и дополнен парсером сообщений из Serial3 115200. Только с GPS затык.
Или это бред? На отдельной Нано328 только IMU запускать, буферизовать и отдавать в парсер на Ардуино 2560 Пират?

Alex_from_Israel
Musgravehill:

Загрузил в Нано328 IMU - все работает. На 115200 отдает. Хочу попробовать добавить туда непосредственно DCM и отдавать его переменные в serial. На основной Ардино2560 будет работать пират, но в DCM будет вычищен и дополнен парсером сообщений из Serial3 115200. Только с GPS затык.
Или это бред? На отдельной Нано328 только IMU запускать, буферизовать и отдавать в парсер на Ардуино 2560 Пират?

А поподробнее можно? Какие части кода и библиотеки работают в 328 Ардуинке и как организована связь между платами? Заканчиваю переделку в хексу своего Y6, сляпал агрегатный отсек с отстегивающимися лучами. Собираюсь закрыть его наглухо от пыли и для обтекаемости. Места много, присобачил туда 2 ардуинки. Но я практически никакой программер, хотел бы попробовать Ваш код для раздельных мозгов.

iBat
LeonVS:

А кто на такой подвиг замахнется 😉