MultiWii на самолете

kostya-tin

GPS цепляется через переходник i2s-serial, а ОСД цепляется на серийный порт, через который и прошивается ардуинка, только необходимо выставить нужную под ОСД скорость порта

Иван

спасибо!
Возврат работает в таком виде?
пробовал ли кто осд Олега Siberian цеплять? жпс при этом так же через I2C ?

Ринго

Построил нового вжика ( сделал легче тоньше старого ), жесткость конструкции упала .
теперь тряска самолета со стабилизацией стала начинаться совсем на маленьких скоростях !
Думаю из за чего и как решить .
такие мысли : 1. добавить жесткости
2. перенести плату стабилизации в правильное место !
сейчас плата стабилизации ближе к носу .
Измениться ли что то если ее в центр модели например перенести ?

STRIMSS

Не зря же на коптерах посередине ставят платы, даже на “Н” образных

fat_hamster

Физика подсказывает, что лучше если контроллер в центре - вибрации будут какие то по любому и чем дальше от центра тяжести, тем амплитуда колебаний датчика больше, а вибрации акселерометр не любит… Можно посмотреть значения акселерометра в гуе после включения мотора, если вибрации сильные - иногда там “зашкаливают” цифры… Понятно, что усредняются и прочая математика, но все равно лучше “тишина и покой” чтоб у датчиков были

Так что надо бороться с вибрацией в любом случае ; ну и плату ближе к центру

С “мягким” самолетам то же самое, если его изгибает, то чем дальше, тем амплитуда больше и соотв. контроллер сильнее чудит

Ринго

Меня не влияние вибрации пока интересовало .
Вопрос в другом : где контроллер лучше видит наклоны самолета ?
имеет ли значение места установки в этом смысле ?
может быть нос модели допустим сильнее наклоняется , а ее центр имеет меньший угол ? вот этот момент для меня загадка

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

Scott_Tiger

Теоретически, гироскоп и акселерометр лучше размещать в районе фокуса, магнетометр (при наличии) - в любом месте подальше ото всех проводов/батарей/электроники. Это, кстати, довод против использования шибко интегрированных плат на самолетах (на коптерах наиболее мешающая магнетометру силовая электроника часто размещается на лучах). Фактически, все датчики, расположенные на крыле на 1/2 размаха и 1/3 хорды (китайская плата GY-86) работают с достаточной степенью достоверности для корректного решения задачи определения пространственного положения планера.

fat_hamster

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

Хотя математика это решает, читал, что в модных назах вроде как настройка даже есть - расстояние от ЦТ, и потом это обсчитывается/учитывается…

soliada

Здравствуйте.А какая на данный момент самая актуальная прошивка И2Ц ЖПС?

Scott_Tiger
soliada:

Здравствуйте.А какая на данный момент самая актуальная прошивка И2Ц ЖПС?

2.2 beta 1 r62

см. code.google.com/p/i2c-gps-nav/

Но этот проект автором заброшен, текущий код MultiWii (начиная с апдейта r1666) все вычисления производит на основной плате, с I2C-GPS тянутся только координаты, скорость, направление и количество спутников.

soliada
Scott_Tiger:

текущий код MultiWii (начиная с апдейта r1666)

Это специальный самолетный вариант? Вроде последний апдейт r1648…

Scott_Tiger
soliada:

Это специальный самолетный вариант? Вроде последний апдейт r1648…

Последний - r1685, на прошлой неделе закоммичен. А самолётный вариант от PatrikE есть только в виде архива в его ветке. Бардак страшный.

soliada

Спасибо за наводку))) Нашел все что надо.

fat_hamster

кстате отпишу тут свои впечатления/сравнения: бикслер мой же летал последнее время с мультивием, летал очень здорово, из коробки настройки емнип - ровненько и плавненько; правда жпс так и не поставил на него

а в прошлые выходные поменял на ардупланер, летаю: “из коробки” опять же результат мне меньше нравится - то слишком вялый был, пиды покалибровал, стал слишком резвый теперь, надо еще понастраивать

правда с жпс испытал сегодня утром полеты по точкам - это конечно круто

но мультивий маладец 😉 я его на крыло новое переставлю, жпс с видео (даже места в крыле повырезал заранее под всю электронику) - и буду сравнивать, “кто круче”

stspartak
gena_g:

Я добавил в multiwii.cpp

#if defined(FIXEDWING)
if ((rcData[THROTTLE] < MINCHECK) && (calibratingG == 0) && f.ACC_CALIBRATED) go_arm();
#endif

Добавил этот код. После загрузки контроллера мотор сразу армится и начинает крутиться. Как сделать что бы арм остался но мотор запускался по движению стика газа?

fat_hamster

define motor_stop (или как-то так)?

а вообще я другой код использовал

	  // zv:
	  #if defined(AIRPLANE)
		if ((rcData[THROTTLE] > MINCOMMAND) && !f.ARMED && f.OK_TO_ARM) {
			go_arm();
		}
	  #endif

в multiwii.cpp вставил в 830 строку

смысл в том, что после включения арм НЕ включен, можно в гуе настройки делать (некоторые настройки нельзя делать, когда армлен мотор)

а когда двигаем стик газа вверх 0 (и соблюдены все условия для арма) то арм включается

соблюсти “все условия для арма” имхо важно: к примеру если включен бародатчик и принудительно включить арм, то самолет может попытаться с ходу удерживать какую-то высоту (и пальцы порубить)

вот как-то так должно получится

Scott_Tiger

ИМХО, сама идея арминга-дизарминга для самолётов не нужна и даже вредна. А ну как сдуру задизармится на эшелоне? В своем мультвие вынес всю эту логику нафиг, заодно вместе с настройками стиками. Контроллер стартует в passthrough, переключение режимов будет только после явной такой команды с РУ, т.ч. пальцы не порубит. Конечно, не нужно запускать калибровку акселерометра в полёте 😃

stspartak
Scott_Tiger:

Конечно, не нужно запускать калибровку акселерометра в полёте

А вот здесь поподробнее, это как?

Scott_Tiger

Калибровка акселерометра в мультивие запускается только в незаармленном состоянии:

Protocol.cpp:

case MSP_ACC_CALIBRATION:
if(!f.ARMED) calibratingA=512;
headSerialReply(0);
break;
case MSP_MAG_CALIBRATION:
if(!f.ARMED) f.CALIBRATE_MAG = 1;
headSerialReply(0);
break;

В то же время:

MultiWii.cpp

if ( (f.ARMED) || ((!calibratingG) && (!calibratingA)) ) writeServos();

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

stspartak

Вопрос по крыльям.
wing1 wing2 - какой из них какой элерон?
wing1 - левый
wing2 - правый
если смотреть сзади, правильно понимаю?

fat_hamster

сидя в кабине пилота смотреть влево-вправо 😃

левая консоль (разговариваем как профессионалы 😉 ) - серва #1, справа - #2

а вообще метод тыка рулит 😃