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

Alex_from_Israel

Легче всего переделать Y6 в гексакоптер. Добавить перекладины на лучи и разнести моторы. Но хочется довести до ума этого монстрика. Хочу все же разобраться, почему висит стабильно, а на руддер откликается дикими пируэтами. Непонятно.

alexTAG:

Я пробую настроить ни как не получается, у меня мозги ардусоптера, единственно что нашел как правилино подключить движки, а то влетал юлой. Теперь стараюсь поднять его хотя бы в стабе. Сталкнулся с проблемой - с винтами 10х45 и акк 4S летает а с 3S нет, даже не подпрыгивает. Поставил сейчас 12х45 - утром попробую.

Что значит правильно? Нашли ошибку в подключении движков? У меня тоже такое ощущение, что что то неправильно в Вики, по которой разводил движки. Почему то задние винты странно работают. В прошивку для Y6 в коде получается, что верхний мотор работает против часовой стрелки, а нижний по часовой. Реально наоборот для задних моторов, хотя все подключено правильно, как в таблице в Вики. На рисунке там же перепутыны правый верхний и задний верхний моторы. Но с таким подключением коптер висит. Если поменять местами разъемы регулей, то винты начинают вращаться правильно, но устойчивость совсем падает. Непонятно.

tusik
Alex_from_Israel:

Что значит правильно?

А как подключали? По этой схеме?

motor mapping (maximize your text viewer or disable word wrapping to avoid line breaks)
========================================================================
Pin 2 3 5 6 7 8 11 12
========================================================================
TRI S BC RC LC - -
QuadX LFW RBW RFC LBC - -
QuadP FW BW RC LC - -
HexaP BLW FRC FW BC FLC BRW
HexaX FLW BRC RW LC FRC BLW
Y6 LDW BDW RDW LUC RUC BUC
OctoP LW BRC FW FRC BW BLC LW FLC
OctoX RRBW BBRC FFRW RRFC BBLW LLBC LLFW FFLC
=============

Motors description:
B- back
R- right
L- left
F- front
U- upper
D- lower
W- clockwise rotation
C- counter clockwise rotation (normal propeller)
S- servo (for tri)

Example: FLDW - front-left lower motor with clockwise rotation (Y6 or Y4)

Alex_from_Israel

Попробую сравнить код в прошивке оригинала и портированный. Плата датчиков у Вас тоже оригинальная?

tusik:

А как подключали? По этой схеме?

motor mapping (maximize your text viewer or disable word wrapping to avoid line breaks)
========================================================================
Pin 2 3 5 6 7 8 11 12
========================================================================
TRI S BC RC LC - -
QuadX LFW RBW RFC LBC - -
QuadP FW BW RC LC - -
HexaP BLW FRC FW BC FLC BRW
HexaX FLW BRC RW LC FRC BLW
Y6 LDW BDW RDW LUC RUC BUC
OctoP LW BRC FW FRC BW BLC LW FLC
OctoX RRBW BBRC FFRW RRFC BBLW LLBC LLFW FFLC
=============

Motors description:
B- back
R- right
L- left
F- front
U- upper
D- lower
W- clockwise rotation
C- counter clockwise rotation (normal propeller)
S- servo (for tri)

Example: FLDW - front-left lower motor with clockwise rotation (Y6 or Y4)

У меня по этой. Но такое впечатление, что есть ошибка.

tusik
Alex_from_Israel:

У меня по этой

А какая прошивка? В арм сонфиг тип рамы выбран?

Alex_from_Israel
tusik:

А какая прошивка? В арм сонфиг тип рамы выбран?

Конечно! Все выбрано правильно. Прошивки все пробовал.

alexTAG:

У меня согласно рисунка:

Это понятно, но на оригинальной плате номера пинов с Ардуиной не совпадают. Хотя направление вращения винтов наоборот. Уже интересно!

osy13

Скажите, а правильно я понимаю, что AllinOne нужно размещать разъемом антенны строго вперед?
А, если не сложно, кинте фоток размещения всех платочек, можно в личку, если сюда сочтете не нужным. А то, честно, пока не знаю как закрепить AllinOne на ардуине. Иногда посещают имысли, может выпаить все разъемы из ардуины и припаяться прямо напрямую к плате

У меня ардуино 1280

Alex_from_Israel

Не стоит. Придется часто орудовать паяльником, то припаивать, то отпаивать. А пятачки там не слишком прочные. Лучше кусок макетной платы пристроить к Ардуине с нужными разъемами в нужных местах. Потом разместить Ардуинку с макеткой на коптере, и в самом конце плату с датчиками приделывать. На двухсторонний скотч

Вот примерно так

commy_s

Сегодня отлетал 3 пака на 40 тест8. Могу сказать, что прошивка изумительная, летает отлично на стоковых пидах. Единственное, альт холд у меня не захотел работать, коптер постоянно снижается вплоть до приземления. Буду крутить пиды.
А вот режим RTL сильно напугал меня. Хотел вернуть коптер на базу модным способом по гпс, а он рванул в стратосферу, думал что потеряю. Какую высоту он должен сначала набрать для возврата домой?

PS
Сегодня пытался залить 46 бета3, хотел попробовать ACCEL_ALT_HOLD в работе. Не работает GPS на I2C и не получилось пройти сетап. Теряет связь на этапе LEVEL. Или она только для блек вортекс?

tusik
commy_s:

хотел попробовать ACCEL_ALT_HOLD в работе

А что это такое?

Sir_Alex
tusik:

А что это такое?

Удержание высоты по акселю 😃 Не помню тока, по идее вместе с баро.

Sir_Alex
Alex_from_Israel:

Попробую сравнить код в прошивке оригинала и портированный. Плата датчиков у Вас тоже оригинальная?

У меня есть подозрения, что в порте, кроме кода квадрика, какая то лажа с моторами…

Подключил SD карту, завтра попробую адаптировать прошивку под нее.

RA4ASN

Прикрутил на новой раме платку Attopilot, что конкретно нужно сделать кроме BATTERY_EVENT и setup-battery 4 в cli, чтобы планнер стал показывать нормальное напряжение (и ток)? Нужно ли менять в config.h определения для battery monitoring?
На сайте про модуль сказано, что его выход подогнан под 3,3В для АЦП, т.е. для 12В на выходе будет примерно 0,8В. Сам модуль, как я понял, работает нормально и выдает то, что ему положено, но вот в планнере полная ерунда. Я конечно подобрал один из коэффициентов (input_voltage) для отображения 12В в планнере, но правильно ли это.

tusik
Sir_Alex:

Удержание высоты по акселю

Тоесть? Или я чего-то не знаю про аксель?

commy_s

На этом видео видно на сколько хорошо работает удержание высоты с включенной функцией Acc experimental alt_hold + сонар и баро.

Кстати вышла 47 прошивка 😉

Alex_from_Israel

Проверяю код оригинального Ардупирата и 2.0.46 Beta 3 Пока в процессе и крыша начинает ехать!

Вопрос к продвинутым программерам: в самом конце motors_y6.pde

APM_RC.OutputCh(CH_1, motor_out[CH_1]);
APM_RC.OutputCh(CH_2, motor_out[CH_2]);
APM_RC.OutputCh(CH_3, motor_out[CH_4]);
APM_RC.OutputCh(CH_4, motor_out[CH_4]);

APM_RC.OutputCh(CH_7, motor_out[CH_7]);
APM_RC.OutputCh(CH_8, motor_out[CH_8]);

Это не баг случайно? Вопрос назрел, потому, что в оригинальной прошивке точно так же!