ArduCopter Mega: порт на обычную Arduino (тестим)
Легче всего переделать Y6 в гексакоптер. Добавить перекладины на лучи и разнести моторы. Но хочется довести до ума этого монстрика. Хочу все же разобраться, почему висит стабильно, а на руддер откликается дикими пируэтами. Непонятно.
Я пробую настроить ни как не получается, у меня мозги ардусоптера, единственно что нашел как правилино подключить движки, а то влетал юлой. Теперь стараюсь поднять его хотя бы в стабе. Сталкнулся с проблемой - с винтами 10х45 и акк 4S летает а с 3S нет, даже не подпрыгивает. Поставил сейчас 12х45 - утром попробую.
Что значит правильно? Нашли ошибку в подключении движков? У меня тоже такое ощущение, что что то неправильно в Вики, по которой разводил движки. Почему то задние винты странно работают. В прошивку для Y6 в коде получается, что верхний мотор работает против часовой стрелки, а нижний по часовой. Реально наоборот для задних моторов, хотя все подключено правильно, как в таблице в Вики. На рисунке там же перепутыны правый верхний и задний верхний моторы. Но с таким подключением коптер висит. Если поменять местами разъемы регулей, то винты начинают вращаться правильно, но устойчивость совсем падает. Непонятно.
Я имел в виду подключение по этому описанию:code.google.com/p/arducopter/wiki/AC2_Multi
У Вас оригинальная плата Ардукоптера?
Да, оригинальная + компасс и ГПС
Что значит правильно?
А как подключали? По этой схеме?
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)
Попробую сравнить код в прошивке оригинала и портированный. Плата датчиков у Вас тоже оригинальная?
А как подключали? По этой схеме?
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)
У меня по этой. Но такое впечатление, что есть ошибка.
У меня по этой
А какая прошивка? В арм сонфиг тип рамы выбран?
А какая прошивка? В арм сонфиг тип рамы выбран?
Конечно! Все выбрано правильно. Прошивки все пробовал.
У меня согласно рисунка:
Это понятно, но на оригинальной плате номера пинов с Ардуиной не совпадают. Хотя направление вращения винтов наоборот. Уже интересно!
Скажите, а правильно я понимаю, что AllinOne нужно размещать разъемом антенны строго вперед?
А, если не сложно, кинте фоток размещения всех платочек, можно в личку, если сюда сочтете не нужным. А то, честно, пока не знаю как закрепить AllinOne на ардуине. Иногда посещают имысли, может выпаить все разъемы из ардуины и припаяться прямо напрямую к плате
У меня ардуино 1280
Не стоит. Придется часто орудовать паяльником, то припаивать, то отпаивать. А пятачки там не слишком прочные. Лучше кусок макетной платы пристроить к Ардуине с нужными разъемами в нужных местах. Потом разместить Ардуинку с макеткой на коптере, и в самом конце плату с датчиками приделывать. На двухсторонний скотч
Вот примерно так
Сегодня отлетал 3 пака на 40 тест8. Могу сказать, что прошивка изумительная, летает отлично на стоковых пидах. Единственное, альт холд у меня не захотел работать, коптер постоянно снижается вплоть до приземления. Буду крутить пиды.
А вот режим RTL сильно напугал меня. Хотел вернуть коптер на базу модным способом по гпс, а он рванул в стратосферу, думал что потеряю. Какую высоту он должен сначала набрать для возврата домой?
PS
Сегодня пытался залить 46 бета3, хотел попробовать ACCEL_ALT_HOLD в работе. Не работает GPS на I2C и не получилось пройти сетап. Теряет связь на этапе LEVEL. Или она только для блек вортекс?
хотел попробовать ACCEL_ALT_HOLD в работе
А что это такое?
А что это такое?
Удержание высоты по акселю 😃 Не помню тока, по идее вместе с баро.
Попробую сравнить код в прошивке оригинала и портированный. Плата датчиков у Вас тоже оригинальная?
У меня есть подозрения, что в порте, кроме кода квадрика, какая то лажа с моторами…
Подключил SD карту, завтра попробую адаптировать прошивку под нее.
Прикрутил на новой раме платку Attopilot, что конкретно нужно сделать кроме BATTERY_EVENT и setup-battery 4 в cli, чтобы планнер стал показывать нормальное напряжение (и ток)? Нужно ли менять в config.h определения для battery monitoring?
На сайте про модуль сказано, что его выход подогнан под 3,3В для АЦП, т.е. для 12В на выходе будет примерно 0,8В. Сам модуль, как я понял, работает нормально и выдает то, что ему положено, но вот в планнере полная ерунда. Я конечно подобрал один из коэффициентов (input_voltage) для отображения 12В в планнере, но правильно ли это.
Удержание высоты по акселю
Тоесть? Или я чего-то не знаю про аксель?
Z на акселе дает вертикальное ускорение
На этом видео видно на сколько хорошо работает удержание высоты с включенной функцией Acc experimental alt_hold + сонар и баро.
Кстати вышла 47 прошивка 😉
Проверяю код оригинального Ардупирата и 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]);
Это не баг случайно? Вопрос назрел, потому, что в оригинальной прошивке точно так же!