CRIUS ALL IN ONE PRO Flight Controller
Скиньте человеку кто небуть hex файл своей робочей прошивки. Может где то у него чтото заглючило в компиляторе ардуиновском.
Сразу после заливки арду, строчки компаса были живы. Я загрузил в плату настройки, отключил от УСБ, подключил синезуб- всё, и через синезуб и через усб- строчки компаса по нулям. Залил снова и2цшпийона, компас жив, после заливки арду, строчка компаса по нулям. Настройки залитые в плоату не стираются. Их надо как-то сбросить, возможно там проблема.
ПЫСЫ
отключаю, подключаю он 1 раз даже заработал и откалибровался. Отключил-подключил… не работает. Что за бред. ковыряю дальше.
Нет такого эффекта, как с Розе, что после застывания - чип можно пальцами оторвать? Типа, не липнет нифига?
Держит отлично. И еще свойство классное - капля этого припоя делает легкоплавким и соединение, припаянное чем-нибудь “дубовым”
отключаю, подключаю он 1 раз даже заработал и откалибровался. Отключил-подключил… не работает. Что за бред. ковыряю дальше.
ничего с ушами не напоминает, где компас и баро отваливались, если передернуть питание, не подождав более минуты?
Шой-то у меня ощущение…
А вы тип платы в ардуине правильно выставляете? А то если не правильно - оно заливается, но потом подвисает при попытке прицепиться конфигуратором - всё работает, но данные не идут.
Держит отлично
Спасибо за инфу, закуплюсь завтра =)
ВСЁ!!! РАЗОБРАЛСЯ!!!
Это похоже особенности прошивки… БАГИ…
На плате есть кнопка ресет. Пока её не нажмёшь компас не работает. Иногда при одиночном нажатии плата не запускается, остаётся гореть “А”(красный) лед, но повторное нажатие РЕСЕТ оживляет плату. При подключении через УСБ, плата всегда перезагружается, поэтому иногда компас работает, и никогда не работает от синезуба без ресета. После ресета компас работает ВСЕГДА!!! А я ещё думал… нахрена тут ресет… а вон оно как… очень даже надо!
Спасибо всем откликнувшимся! Я тут собирался компас менять, а оно вон как…
А вы тип платы в ардуине правильно выставляете?
Вы про это?
#define PIRATES_SENSOR_BOARD PIRATES_CRIUS_AIO_PRO_V1
Проша для самика сразу собрана для AIOP контроллера, ничего менять не надо.
Сама плата у меня версии 2, но там нет никаких отличий, кроме цвета пластика и усиленный усб
А то если не правильно - оно заливается, но потом подвисает при попытке прицепиться конфигуратором - всё работает, но данные не идут.
Вот именно это у меня и происходит! Но после ресета отпускает! Причина?
Причина?
ну я ж говорю - тип платы надо выставить в ардуине. В смысле - в настройках САМОЙ ардуины, среды программирования. У вас походу плата Pro Mini установлена. А надо Mega256. Сам с такой фигнёй сталкивался, и где-то здесь прочитал, что так бывает.
Вы про это?
#define PIRATES_SENSOR_BOARD PIRATES_CRIUS_AIO_PRO_V1
Нет. Это дефайн, определяющий тип платы для программы, в данном случае - пирата.
Распишу поподробнее. В среде ардуино делаете “сервис” -> “плата” -> Mega 2560
После чего пересобираете и перезаливаете прошивку. Должно попустить =)
Или ещё как вариант, на этой прошивке при подаче питания и первичной загрузки платы, не инициализируется компас, или проц не может его просчитать, но когда питание подано и сделать сброс, проц просчитывает компас как надо.
Кстати, иногда, 1й ресет не помогает, тогда точно помогает 2й ресет. Короче без компа на поле ехать нельзя. Без уверенности что компас в порядке- это самоубийственно
В смысле - в настройках САМОЙ ардуины, среды программирования. У вас походу плата Pro Mini установлена. А надо Mega256. Сам с такой фигнёй сталкивался, и где-то здесь прочитал, что так бывает.
выбрано Arduino mega 2560 or mega ADK
Если бы была выбрана не та плата, то какая связь с нажатием РЕСЕТ? я так понимаю никогда не будет подхватываться?
Тут в прошивке скорее дело. Её тут никто не пробовал. а мне позарез нужен автопилот для самика. Дистанции стали уже не 1 км, ссыкотна очень… Вот и решил попробовать. Всё вроде ок, кроме глюка с компасом.
Я мучаю дальше плату. Одиночный ресет не всегда помогает, иногда нужно даже 4-5 раз нажать ресет, чтобы заработал компас. И у меня появилась мысль. А что, если питание виновато? Рег в самике СБЕК, на столе я его питаю СБЕКом. Может шумные источники очень? Линейника нет, жалко, попробовать. От батареи его можно 3S питать? Extend Power стоит 5-12в, а 12.6 выдержит? Если питать от акка, джампер желтенький снимать надо?
Виталий, залейте MPNG и проверьте на ней. 99.999% тот кто портировал код пирата под самолет, не учел того момента, что MPU6050 обязан быть проинициализирован до компаса. У меня в прошивке этот вопрос решен (по сравнению с Ардукоптером (там компас не подключен через MPU6000) а в самолетной похоже что нет.
Виталий, залейте MPNG и проверьте на ней. 99.999% тот кто портировал код пирата под самолет, не учел того момента, что MPU6050 обязан быть проинициализирован до компаса. У меня в прошивке этот вопрос решен (по сравнению с Ардукоптером (там компас не подключен через MPU6000) а в самолетной похоже что нет.
Сделаю!
12 ,6 вольт много, там стоит слабинький стабилизатор. А вот задействовать розьем балансера можна, взять из него 7,2 вольт.
Виталий, залейте MPNG и проверьте на ней. 99.999% тот кто портировал код пирата под самолет, не учел того момента, что MPU6050 обязан быть проинициализирован до компаса. У меня в прошивке этот вопрос решен (по сравнению с Ардукоптером (там компас не подключен через MPU6000) а в самолетной похоже что нет.
Похоже что именно так дела и обстоят! На вашей прошивке компас работает железно, я задолбался питание передёргивать, ни одного отказа ни через синезуб, ни через УСБ!!! Прошивку залил быстро, опыта уже море…
Отсюда следует что я прав тут -
Или ещё как вариант, на этой прошивке при подаче питания и первичной загрузки платы, не инициализируется компас, или проц не может его просчитать, но когда питание подано и сделать сброс, проц просчитывает компас как надо.
Только я не смог правильные слова подобрать! Теперь всё логично!
Отсюда следствие… Сир Алекс, Алесей… ради всего хорошего в жизни… Скажите, что и куда дописать в код ардупилота, пожалуйста! Если это, конечно, не означает 2х дневного гемора…
12 ,6 вольт много, там стоит слабинький стабилизатор. А вот задействовать розьем балансера можна, взять из него 7,2 вольт.
я смотрю вы просто кладеЗь полеЗных советов 😃
расход батареи должен быть равномерным по банкам…
взять из него 7,2 вольт.
вообще не вариант. Потому что -
расход батареи должен быть равномерным по банкам…
Полностью согласен с Александром. Даже если плата и не потребляет практически ничего. Не вариант. мне проще на работе линейник сваять, 2 мин делов. Но только проблема уже найдена. Не в питании дело.
Отсюда следствие… Сир Алекс, Алесей… ради всего хорошего в жизни… Скажите, что и куда дописать в код ардупилота, пожалуйста! Если это, конечно, не означает 2х дневного гемора…
Сложно сказать, код довольно сильно отличается, попробуйте в файле system.pde перенести код:
if(g.compass_enabled)
init_compass();
после строчки:
imu.init(IMU::COLD_START, mavlink_delay, flash_leds, &timer_scheduler);
Там такая строчка-
#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
?
да
Там ещё есть такое место, строчка такая же, этот кусок немного ниже первого куска -
#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
Виталий, есть замечательный тег [CODE] что бы не генерить полосы-посты 😉
подправьте плз., т.к. через час вроде уже не сможете отредактировать…
Там ещё есть такое место, строчка такая же, этот кусок немного ниже первого куска -
Вставил строчку во второй кусок, под барометр сразу-
первые 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й разы компас не заработал.
Вот подправленная версия АрдуПланеНГ: www.siralex.info/files/ArduPlaneNG2xR5.zip
Я правда проверял только на коленке, как оно будет летать без понятия 😃
P.S. Там правки и в библиотеках и в основном коде, так что менять надо все.
я смотрю вы просто кладеЗь полеЗных советов 😃
расход батареи должен быть равномерным по банкам…
Вот про это не подумал, так и батарею угробить можно
Линейника нет, жалко, попробовать. От батареи его можно 3S питать? Extend Power стоит 5-12в, а 12.6 выдержит? Если питать от акка, джампер желтенький снимать надо?
Я тут статейку накатал был http://forum.rcdesign.ru/f4/th про преобразователь.
Вот подправленная версия АрдуПланеНГ: www.siralex.info/files/ArduPlaneNG2xR5.zip
Я правда проверял только на коленке, как оно будет летать без понятия
Для проверок полётных качеств есть кролики, например я! 😃
Огромное спасибо!
По полёту- до этого он летал хорошо. Если правки затронули только инициализацию, то не вижу причин, почему он должен перестать летать! 😃
По полёту- до этого он летал хорошо. Если правки затронули только инициализацию, то не вижу причин, почему он должен перестать летать!
Ну по идее - да… 😃
P.S. Пока копал его код (Жана Луиса) оказалось он вырезал все упоминания про МегапиратНГ и упоминания разработчиков… как то некрасиво он поступил, с учетом того, что там 80% кода от Пирата…
P.S. Пока копал его код (Жана Луиса) оказалось он вырезал все упоминания про МегапиратНГ и упоминания разработчиков… как то некрасиво он поступил, с учетом того, что там 80% кода от Пирата…
Экономия места? Пару байт освобождено? 😃) Проще в коде копаться? И так все знают что это и откуда…
По теме: порядка 20ти передёргиваний питания, в первый или 2й раз компаса не было, остальные все разы компас был на месте! Глюк 1го или 2го раза можно смело списывать на глюки первого запуска. Дальше всё красиво. Установлю снова всё в самик, облетаю, отпишу.
В любом случае огромное спасибо и нужно переименовать данную версию прошивки в “ArduPlaneNG2xR 6 by SIR ALEX” или в "ArduPlaneNG2x SA6 "
Ещё вопрос.
Друг купил AIOP для квадра. Вчера настраивали MPNG. У него камера висит на 2х сервах, Так вот эти сервы заставить работать не получилось. Хотя бы одну нужно- питч серву, с возможностью управления с крутилки и стабилизацией.
Серва подключена на контакт управления подвеса. С пульта 1 канал подключен к пину управления подвесом. И ничего вообще не происходит.
В мишшен планнере есть закладка “гимбал” Там можно выбрать канал “РС 5-12” выходной, можно задать мин и макс канала и всё. Выбрать канал управления в том меню нельзя. Это меню серого цвета- не доступно.
Тут в теме есть пост-
Переверните плату. Там написано Cam pitch и Cam Roll - это есть порты для управления 2-мя осями. Эти контакты являются входными сигнальными.
В прошивке раскоменьте #define SERVO_TILT.
Чтобы работала стабилизация в конфигураторе подключите Camstab на AUX если надо сделать отключаемой стабилизацию.
Если постоянная стабилизация, то отметьте Camstab всеми 3-ми квадратиками на AUX1
Я так понимаю это относится к мультивии? Т.К. в мишшен планнере нет ничего похожего на “Чтобы работала стабилизация в конфигураторе подключите Camstab на AUX если надо сделать отключаемой стабилизацию.
Если постоянная стабилизация, то отметьте Camstab всеми 3-ми квадратиками на AUX1”.
#define SERVO_TILT - это я сделал. Толку мало. Похоже это не для MPNG.
По всей теме есть неоднократные вопросы на эту тему и ни одного ответа.
Так всё же, неужели никто не устанавливал гимбал или подвес? Или эта функция не доступна?