CRIUS ALL IN ONE PRO Flight Controller

Dreddix
Sir_Alex:

Виталий, залейте MPNG и проверьте на ней. 99.999% тот кто портировал код пирата под самолет, не учел того момента, что MPU6050 обязан быть проинициализирован до компаса. У меня в прошивке этот вопрос решен (по сравнению с Ардукоптером (там компас не подключен через MPU6000) а в самолетной похоже что нет.

Сделаю!

Leon11t

12 ,6 вольт много, там стоит слабинький стабилизатор. А вот задействовать розьем балансера можна, взять из него 7,2 вольт.

Dreddix
Sir_Alex:

Виталий, залейте MPNG и проверьте на ней. 99.999% тот кто портировал код пирата под самолет, не учел того момента, что MPU6050 обязан быть проинициализирован до компаса. У меня в прошивке этот вопрос решен (по сравнению с Ардукоптером (там компас не подключен через MPU6000) а в самолетной похоже что нет.

Похоже что именно так дела и обстоят! На вашей прошивке компас работает железно, я задолбался питание передёргивать, ни одного отказа ни через синезуб, ни через УСБ!!! Прошивку залил быстро, опыта уже море…
Отсюда следует что я прав тут -

Dreddix:

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

Только я не смог правильные слова подобрать! Теперь всё логично!

Отсюда следствие… Сир Алекс, Алесей… ради всего хорошего в жизни… Скажите, что и куда дописать в код ардупилота, пожалуйста! Если это, конечно, не означает 2х дневного гемора…

mahowik
Leon11t:

12 ,6 вольт много, там стоит слабинький стабилизатор. А вот задействовать розьем балансера можна, взять из него 7,2 вольт.

я смотрю вы просто кладеЗь полеЗных советов 😃
расход батареи должен быть равномерным по банкам…

Dreddix
Leon11t:

взять из него 7,2 вольт.

вообще не вариант. Потому что -

mahowik:

расход батареи должен быть равномерным по банкам…

Полностью согласен с Александром. Даже если плата и не потребляет практически ничего. Не вариант. мне проще на работе линейник сваять, 2 мин делов. Но только проблема уже найдена. Не в питании дело.

Sir_Alex
Dreddix:

Отсюда следствие… Сир Алекс, Алесей… ради всего хорошего в жизни… Скажите, что и куда дописать в код ардупилота, пожалуйста! Если это, конечно, не означает 2х дневного гемора…

Сложно сказать, код довольно сильно отличается, попробуйте в файле system.pde перенести код:

    if(g.compass_enabled)
        init_compass();

после строчки:

imu.init(IMU::COLD_START, mavlink_delay, flash_leds, &timer_scheduler);
Dreddix

Там такая строчка-

#if HIL_MODE != HIL_MODE_ATTITUDE
imu.init(IMU::WARM_START, mavlink_delay, flash_leds, &timer_scheduler);
ahrs.set_centripetal(1);
#endif

Сделать так?

#if HIL_MODE != HIL_MODE_ATTITUDE
imu.init(IMU::WARM_START, mavlink_delay, flash_leds, &timer_scheduler);
if(g.compass_enabled)
init_compass();
ahrs.set_centripetal(1);
#endif
?

Dreddix

Там ещё есть такое место, строчка такая же, этот кусок немного ниже первого куска -

 #if HIL_MODE != HIL_MODE_ATTITUDE
    gcs_send_text_P(SEVERITY_MEDIUM, PSTR("Warming up ADC..."));
 	mavlink_delay(500);

	// Makes the servos wiggle twice - about to begin IMU calibration - HOLD LEVEL AND STILL!!
	// -----------------------
	demo_servos(2);
    gcs_send_text_P(SEVERITY_MEDIUM, PSTR("Beginning IMU calibration; do not move plane"));
	mavlink_delay(1000);

	imu.init(IMU::COLD_START, mavlink_delay, flash_leds, &timer_scheduler);
    if (force_accel_level || g.manual_level == 0) {
        // when MANUAL_LEVEL is set to 1 we don't do accelerometer
        // levelling on each boot, and instead rely on the user to do
        // it once via the ground station
        imu.init_accel(mavlink_delay, flash_leds);
    }
	ahrs.set_centripetal(1);
    ahrs.reset();

	// read Baro pressure at ground
	//-----------------------------
	init_barometer();

Похоже что сюда надо писать, а не в том, первом месте? И сразу под барометром, вроде как
if(g.compass_enabled)
        init_compass();

    if (g.airspeed_enabled == true) {
        // initialize airspeed sensor
        // --------------------------
        zero_airspeed();
        gcs_send_text_P(SEVERITY_LOW,PSTR("<startup_ground> zero airspeed calibrated"));
    } else {
        gcs_send_text_P(SEVERITY_LOW,PSTR("<startup_ground> NO airspeed"));
    }
#endif // HIL_MODE_ATTITUDE 
mahowik

Виталий, есть замечательный тег [CODE] что бы не генерить полосы-посты 😉

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

Dreddix
Dreddix:

Там ещё есть такое место, строчка такая же, этот кусок немного ниже первого куска -

Вставил строчку во второй кусок, под барометр сразу-
первые 2 запуска отлично
3й компаса нет
4й компаса нет
5й плата повисла
6й плата повисла
7-20 всё отлично!
По перемигиванию диодов видно запустился компас или нет.

И того второй кусок выглядит так-

#if HIL_MODE != HIL_MODE_ATTITUDE
    gcs_send_text_P(SEVERITY_MEDIUM, PSTR("Warming up ADC..."));
 	mavlink_delay(500);

	// Makes the servos wiggle twice - about to begin IMU calibration - HOLD LEVEL AND STILL!!
	// -----------------------
	demo_servos(2);
    gcs_send_text_P(SEVERITY_MEDIUM, PSTR("Beginning IMU calibration; do not move plane"));
	mavlink_delay(1000);

	imu.init(IMU::COLD_START, mavlink_delay, flash_leds, &timer_scheduler);
    if (force_accel_level || g.manual_level == 0) {
        // when MANUAL_LEVEL is set to 1 we don't do accelerometer
        // levelling on each boot, and instead rely on the user to do
        // it once via the ground station
        imu.init_accel(mavlink_delay, flash_leds);
    }
	ahrs.set_centripetal(1);
    ahrs.reset();

	// read Baro pressure at ground
	//-----------------------------
	init_barometer();

        if(g.compass_enabled)
        init_compass();

    if (g.airspeed_enabled == true) {
        // initialize airspeed sensor
        // --------------------------
        zero_airspeed();
        gcs_send_text_P(SEVERITY_LOW,PSTR("<startup_ground> zero airspeed calibrated"));
    } else {
        gcs_send_text_P(SEVERITY_LOW,PSTR("<startup_ground> NO airspeed"));
    }
#endif // HIL_MODE_ATTITUDE

Прогресс заметен! Уже намного лучше! Но иногда не включается всё же…
Может я не туда вставил всё таки? Или не хватает ещё чего?

пысы ещё 10 запусков, 3й-4й разы компас не заработал.

Sir_Alex

Вот подправленная версия АрдуПланеНГ: www.siralex.info/files/ArduPlaneNG2xR5.zip

Я правда проверял только на коленке, как оно будет летать без понятия 😃

P.S. Там правки и в библиотеках и в основном коде, так что менять надо все.

Leon11t
mahowik:

я смотрю вы просто кладеЗь полеЗных советов 😃
расход батареи должен быть равномерным по банкам…

Вот про это не подумал, так и батарею угробить можно

Dreddix:

Линейника нет, жалко, попробовать. От батареи его можно 3S питать? Extend Power стоит 5-12в, а 12.6 выдержит? Если питать от акка, джампер желтенький снимать надо?

Я тут статейку накатал был http://forum.rcdesign.ru/f4/th про преобразователь.

Dreddix
Sir_Alex:

Вот подправленная версия АрдуПланеНГ: www.siralex.info/files/ArduPlaneNG2xR5.zip

Я правда проверял только на коленке, как оно будет летать без понятия

Для проверок полётных качеств есть кролики, например я! 😃
Огромное спасибо!
По полёту- до этого он летал хорошо. Если правки затронули только инициализацию, то не вижу причин, почему он должен перестать летать! 😃

Sir_Alex
Dreddix:

По полёту- до этого он летал хорошо. Если правки затронули только инициализацию, то не вижу причин, почему он должен перестать летать!

Ну по идее - да… 😃

P.S. Пока копал его код (Жана Луиса) оказалось он вырезал все упоминания про МегапиратНГ и упоминания разработчиков… как то некрасиво он поступил, с учетом того, что там 80% кода от Пирата…

Dreddix
Sir_Alex:

P.S. Пока копал его код (Жана Луиса) оказалось он вырезал все упоминания про МегапиратНГ и упоминания разработчиков… как то некрасиво он поступил, с учетом того, что там 80% кода от Пирата…

Экономия места? Пару байт освобождено? 😃) Проще в коде копаться? И так все знают что это и откуда…

По теме: порядка 20ти передёргиваний питания, в первый или 2й раз компаса не было, остальные все разы компас был на месте! Глюк 1го или 2го раза можно смело списывать на глюки первого запуска. Дальше всё красиво. Установлю снова всё в самик, облетаю, отпишу.
В любом случае огромное спасибо и нужно переименовать данную версию прошивки в “ArduPlaneNG2xR 6 by SIR ALEX” или в "ArduPlaneNG2x SA6 "

Dreddix

Ещё вопрос.
Друг купил AIOP для квадра. Вчера настраивали MPNG. У него камера висит на 2х сервах, Так вот эти сервы заставить работать не получилось. Хотя бы одну нужно- питч серву, с возможностью управления с крутилки и стабилизацией.
Серва подключена на контакт управления подвеса. С пульта 1 канал подключен к пину управления подвесом. И ничего вообще не происходит.
В мишшен планнере есть закладка “гимбал” Там можно выбрать канал “РС 5-12” выходной, можно задать мин и макс канала и всё. Выбрать канал управления в том меню нельзя. Это меню серого цвета- не доступно.
Тут в теме есть пост-

kergo:

Переверните плату. Там написано Cam pitch и Cam Roll - это есть порты для управления 2-мя осями. Эти контакты являются входными сигнальными.
В прошивке раскоменьте #define SERVO_TILT.
Чтобы работала стабилизация в конфигураторе подключите Camstab на AUX если надо сделать отключаемой стабилизацию.
Если постоянная стабилизация, то отметьте Camstab всеми 3-ми квадратиками на AUX1

Я так понимаю это относится к мультивии? Т.К. в мишшен планнере нет ничего похожего на “Чтобы работала стабилизация в конфигураторе подключите Camstab на AUX если надо сделать отключаемой стабилизацию.
Если постоянная стабилизация, то отметьте Camstab всеми 3-ми квадратиками на AUX1”.
#define SERVO_TILT - это я сделал. Толку мало. Похоже это не для MPNG.

По всей теме есть неоднократные вопросы на эту тему и ни одного ответа.
Так всё же, неужели никто не устанавливал гимбал или подвес? Или эта функция не доступна?

Sir_Alex
Dreddix:

Я так понимаю это относится к мультивии? Т.К. в мишшен планнере нет ничего похожего на “Чтобы работала стабилизация в конфигураторе подключите Camstab на AUX если надо сделать отключаемой стабилизацию. Если постоянная стабилизация, то отметьте Camstab всеми 3-ми квадратиками на AUX1”. #define SERVO_TILT - это я сделал. Толку мало. Похоже это не для MPNG.

Да, это про Мультивий. Я сейчас портирую 2.8.1, постараюсь проверить на ней Подвес (правда подвеса у меня нету, ну хоть сервы подключу)

Dreddix
Sir_Alex:

Я сейчас портирую 2.8.1, постараюсь проверить на ней Подвес

Т.Е. на данной версии это не работает и можно расслабить булки?

Sir_Alex
Dreddix:

Т.Е. на данной версии это не работает и можно расслабить булки?

Я понятия не имею. У меня нет подвеса и соответственно я не проверяю как работает Gimbal.

gorbln
Sir_Alex:

Да, это про Мультивий

В мультивие - не работают входы Cam pitch и cam roll. По крайней мере, у меня ничего не работало. Подвес управляется по входам AUX3 и AUX4. Причём, даже если на эти входы что-то настроено =)
Вот здесь про это говорил:
rcopen.com/forum/f123/topic221574/6638