Нужна помощь по AeroQuad

TheGreatDom

Собираем аэроквадовский квадрокоптер, но возникла проблема. Коптер всё время крутится против часовой стрелки вокруг своей оси, даже если даем ему команду крутиться по часовой. В конфигураторе всё вполне нормально, команды идут правильно.
В чем может быть ошибка?
Помогите, пожалуйста!

sandeve
TheGreatDom:

Собираем аэроквадовский квадрокоптер, но возникла проблема. Коптер всё время крутится против часовой стрелки вокруг своей оси, даже если даем ему команду крутиться по часовой. В конфигураторе всё вполне нормально, команды идут правильно.
В чем может быть ошибка?
Помогите, пожалуйста!

Проверьте, для начала, подключение моторов и винтов:

#if defined(AeroQuadMega_v2) || defined(AeroQuadMega_Wii) || defined (AeroQuadMega_CHR6DM)
    #define FRONTMOTORPIN 2
    #define REARMOTORPIN 3
    #define RIGHTMOTORPIN 5
    #define LEFTMOTORPIN 6
    #define LASTMOTORPIN 7
  #else
    #define FRONTMOTORPIN 3
    #define REARMOTORPIN 9
    #define RIGHTMOTORPIN 10
    #define LEFTMOTORPIN 11
    #define LASTMOTORPIN 12
  #endif

FRONT, REAR - винт по часовой
RIGHT, LEFT - против

TheGreatDom

Это мы проверили сразу, всё правильно.
На все остальные команды он реагирует более менее нормально, т.е. если на небольшом газу на земле двигать его вправо-влево, вперед-назад, всё хорошо, да и взлетает он ровно, только крутится всё время.

benamur

Какое у вас железо и прошивка?
Да, верно как пишут (основное внимание на Yaw channel)но бывает из за вибрации и не сбалансированных винтов.
Приходилось трим на передатчике.И в софте была ошибка кажется 2.01.(но для моего железа)

sulaex

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

sandeve
TheGreatDom:

Это мы проверили сразу, всё правильно.
На все остальные команды он реагирует более менее нормально, т.е. если на небольшом газу на земле двигать его вправо-влево, вперед-назад, всё хорошо, да и взлетает он ровно, только крутится всё время.

Если откалибровали все регули и трансмитер и делали инициализацию в конфигураторе, то на закладке Transmiter Adjustement оттримируйте все каналы (основное внимание на Yaw channel). Нужно чтобы бегунки (Yaw, Pitch, Roll) крутились вокруг 1500, при включенном передатчике ес-но.
Лучше, конечно, все это делать без винтов!!!

TheGreatDom
benamur:

Какое у вас железо и прошивка?
Да, верно как пишут (основное внимание на Yaw channel)но бывает из за вибрации и не сбалансированных винтов.
Приходилось трим на передатчике.И в софте была ошибка кажется 2.01.(но для моего железа)

железо аналогичное shield v2, прошивка v2.4.2

передатчик откалиброван, все каналы отриммированы
пробовали на разных винтах, одно и тоже(

sandeve
TheGreatDom:

железо аналогичное shield v2, прошивка v2.4.2

передатчик откалиброван, все каналы отриммированы
пробовали на разных винтах, одно и тоже(

Не поленитесь, откалибруйте регули еще раз. Один может пропустили, бывает.
Если турниги или хоббивинды - прямо в конфигураторе.

Вот вы даете газку, он начинает на земле крутиться против часовой. Вы прибавляетет постепенно Yaw вправо, он что делает? Перестает крутится против часовой и заворачивает по часовой? Или игнорирует вашу команду?

TheGreatDom
sandeve:

Вот вы даете газку, он начинает на земле крутиться против часовой. Вы прибавляетет постепенно Yaw вправо, он что делает? Перестает крутится против часовой и заворачивает по часовой? Или игнорирует вашу команду?

игнорирует команду, крутится также против часовой, но медленнее

sandeve

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

TheGreatDom
sandeve:

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

команды идут правильные, судя по графикам, моторы прибавляют одинаково, но на деле он всё равно крутится

benamur

Попробуйте поставить на ровную поверхность и заново датчики откалибровать.
А если держать в руках и в разные стороны он сопративляется пытается назад вернуться или продолжает крутить?
У меня было именно так я в конфигураторе где pid Yaw поставил знак -
И все вращаться перестал но у меня шелд 1.7 и датчики другие.

sandeve

Ну значит, в сухом остатке что: электроника + софт отрабатывают нормально, и если в контроллерах и пропах вы уверены - остаются моторы.
Меняйте местами, пытайтесь найти паршивца.
Но честно говоря, имхо, наиболее вероятные причины такого поведения:

  • не откалиброванные регули
  • не оттримированный Yaw

Видео можете сделать?

aleksas

А не пробовали прошивку залить от multiwii?

sandeve

Поведение конечно абсолютно не адекватное. Вы говорите, что сигналы на моторы идут пропорциональные по всем моторам, но на видео полный расколбас сразу. Как установлен шилд, демпферы есть?

Попробуйте так и скажите что изменится:

  • Yaw PID (P=150, I=3, D=0)
  • Heading hold отключите, если включен

Проверяйте в стаб-моде.

Все остальные настройки оставьте по дефолту. У вас судя по длине луча (около 28) и весу должны нормально работать деф. настройки.

И еще, когда софт заливали дефайны правильно указали?

TheGreatDom

Вот поведение с Yaw PID (P=150, I=3, D=0)

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

Залил в него новую прошивку AeroQuad_v2.5_Beta1. Изменений никаких. Yaw PID по ощущениям никак не влияет.

sandeve

Картинка из конфига, имхо, идеальная. Если это с работающими моторами, то просто лучше не бывает. На середине газа почти прямые линии - класс. Значит от моторов нет дребезга, уже хорошо.
Ну что остается проверить?

  • поясните по шилду, он все-таки есть? ну и проверить, конечно, не перепутали ли подключение каналов!
  • уменьшите пиды
    roll accel (2; 0.3)
    pitch accel (2; 0.3)
    roll rate (50; -300)
    pitch rate (50; -300)
    yaw(50; 2; 0)
    ну и включите Heading hold, пид (3; 0.1; 0)

И дефайны ваши покажите, что установлено.

Еще вот что, мега ваша перевенутая белым кругом смотрит на фронт (должна, если с шилдом работает). И у вас она точно по лучу, значит у вас + конфиг. Но когда вы roll даете влево, очень похоже что отрабатывают и Right и Rear мотор. Проверьте у вас д.б. define plusConfig

TheGreatDom

Картинка конфигуратора с выключенными моторами, показывает просто сигналы на контроллеры. Завтра сделаем с работающими движками и будем пробовать запускать с предложными пидами.

Самого шилда нету, датчики соединены на макетной плате.

В прошивке стоит плюс.

sandeve
TheGreatDom:

Картинка конфигуратора с выключенными моторами, показывает просто сигналы на контроллеры. Завтра сделаем с работающими движками и будем пробовать запускать с предложными пидами.

Самого шилда нету, датчики соединены на макетной плате.

В прошивке стоит плюс.

Понятно)
Зря вы дефайны не выкладываете, так можно долго гадать.

Если у вас есть 5843, ну его на фиг пока, закройте HeadingMagHold и FlightAngleMARG, определите только FlightAngleARG.

Сейчас, пока не полетите, только эти оставьте:
#define AeroQuadMega_v2
#define plusConfig
#define FlightAngleARG

TheGreatDom

оставили только это
#define AeroQuadMega_v2
#define plusConfig
#define FlightAngleARG

включенные моторы с пропеллерами:

команды вправо-влево:

поставили такие пиды:

sandeve:

roll accel (2; 0.3)
pitch accel (2; 0.3)
roll rate (50; -300)
pitch rate (50; -300)
yaw(50; 2; 0)

команды вправо-влево (влево крутится, вправо не крутится вообще):

слегка увеличенный газ, вертолет крутится влево: