MultiWii - обсуждаем и отлаживаем Alt Hold

alexmos
Mihbay:

Ребят пожалуйста если есть у кого наработки под сонар sr04 под прошивку 2.0. выкинете пожалуйста, либо прошивку, либо код с описание

Михаил, прошивка и код есть выше в ссылках. Работает на криусе и с HC-SR04 и основана на 2.0. Не понял, чего вам не хватат 😉

Mihbay
alexmos:

Михаил, прошивка и код есть выше в ссылках. Работает на криусе и с HC-SR04 и основана на 2.0. Не понял, чего вам не хватат 😉

Ребят вы меня ради бога простите, может это тот сайт где на английском, я просто совсем не понимаю инглиш. Помогите, может у кого уже есть в сборе прошива, просто скиньте.

alex_f73
Mihbay:

Ребят вы меня ради бога простите, может это тот сайт где на английском, я просто совсем не понимаю инглиш. Помогите, может у кого уже есть в сборе прошива, просто скиньте.

Вот тут:
code.google.com/p/multiwii-alexmos/…/list

skyrider

Алексей, в r23 пиды ставить те же что в r18?

alexmos
skyrider:

Алексей, в r23 пиды ставить те же что в r18?

Честно говоря не помню уже. Я там по мелочи подкручивал алгоритм, так что можно поставить страые пиды, но запустить осторожно (быть готовым выключить alt hold) и подобрать заново. Но то что на скриншоте - вполне нормально для первого старта.

9 days later
gorbln

Алексей, а можно прояснить относительно 6-точечной калибровки акселя?
Калибрую аксель таким образом: Первый раз - в нормальном положении. Значения по Х и У устанавливаются в 0, по Z - 256.
Далее переворачиваю плату, жму калибровать - опять то же самое (изначально цыфирка была -300, устанавливается в 256). Теперь, когда я переворачиваю плату обратно в нормальное положение - значения акселя становится около 600-700. Остальные оси калибруются без эксцессов - сначала ничего не происходит, после калибровки в противоположном положении значения по осям в экстремальных положениях принимают значения -256 и 256.
Таким образом, откалибровать коптер по 6 точкам не получается ну никак. максимум по 5. Что мне посмотреть, куда копнуть?

alexmos

Хм, а что за аксель? По идее, при первой (классической) калибровке по Z -255, а по осталным осям (в том числе и перевернутой), даже без точной калибровки 255 ± 5-10, не больше. А у вас при переворачивании аж 300 вылазит. Очень похоже, что ACC_1G в коде для акселя неверно выставлен. Он может быть разный и определяется платой (или дефайнами в конфиге)

gorbln
alexmos:

а что за аксель

Аксель ADXL345, относительно гиры не повёрнут (точки на микрухах в одну сторону смотрят). При первой калибровке ускорение по Z = 256. если перевернуть, то ускорение показывается -310. Если поменять знак ускорения по Z и откалибровать в 2 положениях, то всё с точностью до отрицательного знака (т.е. -256 и -700), значок коптера в гуях перевёрнут.

acc_1G = 256

Вот ещё что хотел спросить - а гуи какие-то конкретные надо, или стандартные сойдут? Я юзаю MultiWii Win GUI, им не надо яву, а с ней почему-то не дружит ноут на работе.

alexmos

Я с ADXL345 не сталкивался, но если одна ось сильно отличается от остальных - с ним что-то не то. Я так понимаю, такая же ситуация и с оригинальной мульивийной прошивкой? Возможно, сенсор бракованный.

Возможность ГУИ сильно зависит от протокола. В каждой версии (в т.ч. и промежуточныХ) слегка меняют протокол, так что работать будет именно с тем гуи, которй был на момент совмещения кодов. Смержился я с первой официальной 2.0, с его гуи и будет работать.

gorbln

Проверил в оригинальной 2.0 релизной прошивке. Такая же фигня после калибровки - по оси Z 256 в нормальном положении, в остальных экстремальных точках - 300…310 по питчу и роллу, вверх ногами по Z -320. Может, у меня какой “не такой” аксель? Может значение 1G изменить на 300? =)

9 days later
gorbln

Ещё один вопрос появился. Допустим, получится у меня с 1G=300. а как калибровка на поле происходит? Ну то есть стиками пульта? Выполняется стандартная калибровка и остальные калибровочные параметры стираются? Или как?

alexmos

Точно также можно по всем осям калибровать со стиков. Эта команда равносильна нажатию кнопки в ГУИ

skyrider

Давно летаю FPV на самолетах, на коптерах не складывалось, как то все по другому, основная проблема отсутствие чувства высоты. Так вот к чему это я, решаю эту проблему (привыкаю к FPV на коптере) с помощью сонара, рекомендую всем кто не может пересесть с самолета на коптер по FPV, подключаете сонар, заливаете прошивку от alexmos, завешиваете коптер на высоте 1 метр, одеваете очки и наслаждаетесь спокойным полетом по периметру стадиона. Прошивка alexmos_r23, вчера отлетал 2 пака в очках, высоту держит отлично, полет не напрягает вообще, хочу сегодня подняться метра на 4 и попробовать по баро, если будет падать ниже 2 метров - сонар должен подхватить.

gorbln

Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?

skyrider

Летал на футбольном поле, трава 0 - 10 см, полет нормальный.

офтоп,

skyrider:

хочу сегодня подняться метра на 4 и попробовать по баро

винты 12х4.5 с rctimer гуано, не рекомендую если вес коптера более 1.5 кг, отстрел одной лопасти в полете, хорошо летал по очкам на сонаре 0.5 метра от земли, повреждений 0% 😃

Uvis

Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен 😦 Какой лючше подойдет для квадро?

alexmos
gorbln:

Хотел спросить такую вещь - скошенный газон для сонара - это нежелательная поверхность? Или вполне “летабельная”?

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

Uvis:

Взял пару HCSR04, погонял их для теста и обнаружил такой эффект - один сонар когда теряет поверхность, выдает дистанцию что-то типа 35м, второй наоборот - 0. Игрался питанием и пинами, результат стабилен Какой лючше подойдет для квадро?

придется оба попробовать… У меня тоже какая-то глючная разовидность этих сонаров - при потере сигнала выдают вполне нормальные 1-2метра. Но при этом существенно увеличивается время отклика - таким образом и отлавливаю ошибки. Проверьте время отклика у своих и гляньте пороговые настройки в Sonar.pde

gorbln

Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256 =). Поставить 288 что ли?
А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?

alexmos
gorbln:

Поменял в настройках Sensors.ino параметр acc_1G, сделал его равным 320. Теперь при переворачивании коптера по оси Z -256

Для моей прошивки, калибруйте по 6-ти точкам - как раз для таких случаев, поможет выровнять. Но это только при условии линейности, то есть если на концах 255, -255 - то при отсутвии ускорения в центре 0. Иначе, лучше поменять датчик.

gorbln:

А ещё хотел уточнить - при наличии незатухающих осцилляций по высоте, периодом примерно 2-3 секунды и амплитудой около полутора метров (сонар есть) - что изменять? уменьшать P? А в каком из регуляторов, их там три - Altitude, Velocity и Level?

Для высоты только Altitude P, I, D крутите. Если осцилляции - уменьшить I (можно в 0), уменьшить P и/или увеличить D (можно даже до больших значений типа 30-40). И проверьте как при наклонах себе ведет. при плохо откалиброванном акселе при наклонах будет очень плохо 😦

1 month later
skyrider

Вынужден перейти на 2.1 для работы GPS, вмерживать в 2.1 поддержку сонара планируется? 😃

alexmos

Да, начал, но все руки не дойдут закончить. В отличие от 2.0, в 2.1 поменяли очень много и автоматический мержинг средствми SVN не прошел, так что все вручную.