MultiWii на самолете

kostya-tin

может оси датчиков не правельно выставлены. у меня было, что самопроизвольно рудер разворачивало постепенно, как раз из-за датчиков

fat_hamster

Руддер понемногу поворачивается -это известная “фича” вроде, уменьшением I до 0 лечится

А калибровка акселерометра и должна же учесть кривизну установки датчика?

Похоже openpilot раньше приедет, чем я поборю эту фигню 😦

Uxus

Здравствуйте, уважаемые.

Прошу потом рассказать о поборении “этой фигни”, ибо имею её же в точности. Спаял два аппарата на ардуино мини. Один работает безупречно (датчики 9DOF 9axis degree of freedom IMU sensor ITG3200/ITG3205 ADXL345 HMC5883L Module), другой занимается вышеописанной фигнёй (датчики 10DOF Module 9-axis Attitude Indicator L3G4200D ADXL345 HMC5883L BMP085 Module). Причём иногда всё нормально, иногда - опаньки… Перезагружаешь, вроде работает. Заморковил самолётку. Но я, конечно, сам был неаккуратен в построении схемы: 3,3в для питания блютуски взял с платки датчиков. Может, она датчикам в линию 3,3в накакала? Без блютуски пока летать не пробовал.

fat_hamster
Uxus:

Может, она датчикам в линию 3,3в накакала

или мощности встроенного в датчик стабилизатора 3.3 не хватило для платы с блутузом? я бы на это грешил скорее

Uxus:

Прошу потом рассказать о поборении “этой фигни”

ох чтото мне кажется, я скорее забью на это в конце концов…

но есть мысли - 1) к датчику акселерометра подпаян и датчик компаса, но в прошивке он выключен в config.h - может из-за него? проверить проверю - отпаяю все и присоединю только датчик акселя 2) плата с акселерометром стоит неправильно и “поворачивается” дефайном в config.h - вдруг при этом из-за округлений каких-то накапливается ошибка?..

Uxus
fat_hamster:
  1. к датчику акселерометра подпаян и датчик компаса, но в прошивке он выключен в config.h - может из-за него? проверить проверю - отпаяю все и присоединю только датчик акселя

Но у меня-то он не выключен, а фигня та же, в точности.

fat_hamster:
  1. плата с акселерометром стоит неправильно и “поворачивается” дефайном в config.h - вдруг при этом из-за округлений каких-то накапливается ошибка?..

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

fat_hamster:

мощности встроенного в датчик стабилизатора 3.3 не хватило для платы с блутузом?

А вот это вполне может быть. Безблютусовый полет покажет. Кстати, тут из Кетая пришёл другой такой же датчик. Надо попробовать с ним тоже будет. Интересно же разобраться, где собака зарыта.

GS810

Всем привет,прошу не пинать особо,я начинающий перешедший с вертолётного спорта.Есть на руках Полетный микрокотроллер MultiWii NanoWii USB/GYRO/ACC с процессором ATmega32U4 и собрал крыло (зефир 2).Помогите настроить этот контролер …

gena_g
GS810:

Всем привет,прошу не пинать особо,я начинающий перешедший с вертолётного спорта.Есть на руках Полетный микрокотроллер MultiWii NanoWii USB/GYRO/ACC с процессором ATmega32U4 и собрал крыло (зефир 2).Помогите настроить этот контролер …

На крыло планируется ставить ЖПС ?

GS810

Пока без него,но через месяц планирую

GS810

Эта прошивка без модуля GPS станет?Я пробовал её поставить ,бёт ошибку лог выложу когда дома буду,что то связано с моделью и двигателем.

streethanter

Ребяты, не могу разобраться с реверсом серв. Гуи у меня какой-то новый, красивый. Внем не нашел возможность реверсировать сервоприводы, а в самой прошивке не могу понять какие значения за какую серву отвечают, и где именно нужно поставить единичку. если кому не сложно, дайте ссыль на старый гуи, где сервы можно реверсировать, или растолкуйте на примере:
//#define SERVO_MIN {900, 900, 900, 900, 900, 900, 900, 900}
//#define SERVO_MAX {1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900}
//#define SERVO_MID {1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500} // (*)
//#define FORCE_SERVO_RATES {30,30,100,100,100,100,100,100} // 0 = normal, 1= reverse
Допустим мне нужно реверснуть серву элерона (подключены каждый в свой канал, хотя контроллер планируется использовать на самолете). Так вот где единичку поставить? Или для любой другой рулевой поверхности. есть какой-то алгоритм выбора, или только методом научного тыка?

Uxus

Там для реверсирования надо не 1 ставить, а -100. У меня нормально работает вот с такой строкой:

#define FORCE_SERVO_RATES {30,30,100,100,-100,-100,100,100} // 0 = normal, 1= reverse

Где какая серва, описано в www.multiwii.com/wiki/index.php?title=Config.h#Ser…

Вот выдержка оттуда: Airplane : 4-left wing, 5-right wing, 6-rudder, 7-elevator. Таким образом, у меня реверснуты правое крыло и руль направления. Но удобнее, конечно, из гуя это делать. А что за гуй у тебя?

djsatan

Если мне не изменяет память, то для того что бы можно было менять реверсность серв нужно все эти 4 строчки раскоментировать, и тогда в гуи будет примерно так

streethanter
djsatan:

Если мне не изменяет память, то для того что бы можно было менять реверсность серв нужно все эти 4 строчки раскоментировать, и тогда в гуи будет примерно так

Гуй у меня такой же. сейчас попробую расскаментить, ибо такой вкладки у меня просто нет

djsatan

Обновите гуй, в предыдущих версиях не было такой вкладки, было только в явавской гуйке.

Uxus
djsatan:

Обновите гуй, в предыдущих версиях не было такой вкладки, было только в явавской гуйке.

Точно, начиная с 2.3 появилась. Могу ошибаться, но по-моему наличие этой вкладки и чекбоксов включения реверса серв зависит лишь от версии гуя, и не зависит от раскомментирования чего-либо.

Uxus
fat_hamster:

ох чтото мне кажется, я скорее забью на это в конце концов…

Нет новостей? Я сегодня облетал своего. Перед этим развязал питание датчиков и блютуски (впаял навесным монтажом какой-то стабилизатор на 3,3 в с конденсатором и залил всё китайскими соплями). Крутил-вертел на земле, всё вроде бы отрабатывало в нужную сторону, а однажды поймал “фигню”: элероны плавно ушли в предельное положение, и Вий впал в полный затуп. Вылечилось ресетом. Повторения не было, в воздухе тоже как по рельсам.

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

gena_g

При включении нету калибровки акселя. Только из гуи или комбинацией стиков. Может при резких манипуляция серва дала присадку по напряжению и подвесила контроллер. У меня на свободных выводах гребенки рядом с сервами включен конденсатор 3300 мкф х 10в.
Положение тоже не важно главное не дергать самолет, а если включен #define GYROCALIBRATIONFAILSAFE то можно и дергать. Самолет не откалибрует гироскоп пока самолет не будет лежать спокойно.