MultiWii на самолете

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

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

1 month later
John_Locke

Собственно, собрал себе стаб на arduino pro mini и mpu6050 (плата подписана gy-521). Что надо раскомментить в конфиге для того, чтобы звпустить это добро?

fat_hamster

собственно раскоментить дефайн про самолет и дефайн про gy512

“ясторазтакделал” (С)

John_Locke
fat_hamster:

собственно раскоментить дефайн про самолет и дефайн про gy512

“ясторазтакделал” (С)

Больше ничего не надо? Только эти две строки?

fat_hamster

ну да…

первая строка - научит контроллер, что он управляет самолетом (т.е. что у него в определенных каналах сервы, а не esc)
а вторая - научит, какие датчики задействованы

после этого контроллер подключаем к компу, запускаем гуй - он должен показать картинку самолета и при наклонах платы/датчика должны показываться перемещения

John_Locke
fat_hamster:

ну да…

первая строка - научит контроллер, что он управляет самолетом (т.е. что у него в определенных каналах сервы, а не esc)
а вторая - научит, какие датчики задействованы

после этого контроллер подключаем к компу, запускаем гуй - он должен показать картинку самолета и при наклонах платы/датчика должны показываться перемещения

Спасибо. Пока не пришёл usb uart переходник, так что к gui подрубиться не могу. Как придёт, и если будут вопросы, напишу

fat_hamster

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

fat_hamster
kostya-tin:

хм, а чем тогда прошивали?

ну обычный программатор же не отменили еще я думаю 😃

John_Locke
fat_hamster:

ну обычный программатор же не отменили еще я думаю 😃

именно им и прошивал

kostya-tin

а можно ссылку, а то я как то не в теме (не шутка). сам шил свою ардуину про мини через ардуино уно, и так же спокойно потом копашился в GUI через нее

John_Locke
kostya-tin:

а можно ссылку, а то я как то не в теме (не шутка). сам шил свою ардуину про мини через ардуино уно, и так же спокойно потом копашился в GUI через нее

www.ebay.com/itm/…/310506909410

АлександрSWON

Ребята, дайте плиз ссылку на последнюю прошивку для CRIUS SE, AIOP, впрочем под мультика для управления самолетом!) Спасибо заранее!