CRIUS ALL IN ONE PRO Flight Controller

jekmv
mahowik:

почитайте тут комменты

читал конечно и сам же каменты там оставлял) просто подумал почему то, что только в B4 это появилось, переклинило на морозе наверное…

mahowik:

обождали перед стартом 10-15 сек

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

mahowik:

прыжки либо от вибраций

конфиг одинаков с немцем, так что тоже отпадает, либо надо еще больше пиды крутить.

mahowik:
  • в ветер: 3-10 метров

пока печально, но думается мне все будет нормально)

mahowik
akira:

С прошивкой MegaPirates он запускается только с раскоментированным протоколом ublox

т.е. у вас именно этот борд с U-blox LEA-6H GPS модулем на борту, а не этот у которого u-blox NEO-6M GPS?

mahowik

так! попробовал выдрать гпс код из dev версий… вроде скомпилилось… и так как этот код уже облетан на оф. форуме, то в след-й прошивке, скорее всего будет поддержка ublox 😉

Лёшич

Тоже портнул код из devа r1240 в прошивку b3. Работает без проблем. Только мой UBLOX всё равно заводится только со второго раза 😃. Но это по светодиодам видно. Если жёлтый после подачи питания молчит, значит стоит “переткнуть”, если заморгал, то всё супер, скоро спутники найдёт.
И ещё я бы рекомендовал EEPROM почистить перед заливкой новой прошивки.

mahowik
Лёшич:

Только мой UBLOX всё равно заводится только со второго раза

по идее эту строчку надо не просто закомментить, а добавить паузу побольше + закрывать порт, т.е. этот (в двух местах)

while(!SerialTXfree(GPS_SERIAL)) delay(10); 

поменять на

SerialEnd(GPS_SERIAL);
delay(200);

попробуйте отпишитесь, т.к. у меня нет ublox… а с nmea 99% должно пахать…

Лёшич
mahowik:

попробуйте отпишитесь, т.к. у меня нет ublox… а с nmea 99% должно пахать…

Прошился, вроде действительно заработало с первого включения (ublox на 115200). Сейчас на балконе уже 4 спутника поймал.
А с чем связанно, что предыдущая версия не работала? Вроде всё вполне логично, ну разве что повторное открытие порта 2-мя строчками ниже смущает.

akira
Лёшич:

Тоже портнул код из devа r1240 в прошивку b3. Работает без проблем. Только мой UBLOX всё равно заводится только со второго раза 😃. Но это по светодиодам видно. Если жёлтый после подачи питания молчит, значит стоит “переткнуть”, если заморгал, то всё супер, скоро спутники найдёт.
И ещё я бы рекомендовал EEPROM почистить перед заливкой новой прошивки.

Объясните пожалуйста подробнее про портирование кода, что от куда брать и куда вписывать

Leon11t

Скажите, а чем отличается последний бранч Александра на гугл коде от b3???
Смотрю люди тут что то портируют.

SMaks

Добрый день,
Собрал вот свой первый коптер на Cirrus All-in-One, поставил на стол без пропеллеров, прошил miltiwii, откалибровал ESC, аксель и магнитометр, заармил, завожу:

  • если заводить плавно, сначала включаются два мотора, потом еще один (где-то на 25% газа), потом, на 50% последний…
  • если заводить резко, включаются все 4, но через пару секунд обороты двух моторов начинают падать, и один останавливается, если газ меньше 50%.
    В конфигураторе multiwii все так и показывает - то есть проблемы не в моторах и не в регулях, это контроллер так управляет 😦
    Подскажите, что делаю не так ??
gorbln
SMaks:

Подскажите, что делаю не так ??

Всё так. Контроллер управляет двигателями. Если он наклонён - двигатели будут стараться компенсировать это дело. А так как пропеллеров нету - то и компенсировать им нечем, поэтому скорость и не меняется. Подёргайте рамой в руках с включенными движками - должно по-разному выть моторчиками.

Ну и в любом случае - к плате это не имеет никакого отношения, при косяках прошивки Mwii - в тему multiwii.

penkerton
Лёшич:

Тоже портнул код из devа r1240 в прошивку b3. Работает без проблем. Только мой UBLOX всё равно заводится только со второго раза 😃. Но это по светодиодам видно. Если жёлтый после подачи питания молчит, значит стоит “переткнуть”, если заморгал, то всё супер, скоро спутники найдёт.
И ещё я бы рекомендовал EEPROM почистить перед заливкой новой прошивки.

Алексей, а у вас UBLOX v1 или v2?

Лёшич

У меня ublox v1, ну или тот что был на рстаймере до появления второй версии. Что куда подписать расскажу сразу как дома буду. Аккурат после летных испытаний. Там не сложно.

penkerton
Лёшич:

У меня ublox v1, ну или тот что был на рстаймере до появления второй версии. Что куда подписать расскажу сразу как дома буду. Аккурат после летных испытаний. Там не сложно.

Ножки на плате не паяли? Плата работает как есть, только надо поправить код b3, как я понял?
Супер! Большое спасибо, буду очень ждать описания, что править в коде!

Лёшич

Нет, ничего не паял. Только присоединил GPS к tx2/rx2, да питание 5в с землей взял с шины i2c. Все по мануалу к плате.

mahowik
Лёшич:

Прошился, вроде действительно заработало с первого включения (ublox на 115200). Сейчас на балконе уже 4 спутника поймал.
А с чем связанно, что предыдущая версия не работала? Вроде всё вполне логично, ну разве что повторное открытие порта 2-мя строчками ниже смущает.

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

Zhenek

у меня на b4 все нормально работает.гпс модуль с рцтаймера(версия 2 который)

mahowik
Zhenek:

у меня на b4 все нормально работает.гпс модуль с рцтаймера(версия 2 который)

так с NMEA протоколом никаких проблем… т.е. вы просто поменяли скорость модуля через конфигуратор на 115200? так?
Default parameter
•Baud rate : 9600
If this GPS receiver used for I2C-GPS NAV Board, it must be changed to baud rate 115200 / update rate 5hz.

А если нужно поменять скорость модуля “на лету”, то можно использовать закоммнеченный код, который есть во всех Б-прошивках

#define GPS_INIT_BAUD 9600

    SerialOpen(GPS_SERIAL, GPS_INIT_BAUD);
    delay(400);
    // 251 PMTK_SET_NMEA_BAUDRATE
    SerialPrint(GPS_SERIAL, (String)"$PMTK251," + GPS_BAUD + "*1F\r\n");
    delay(200);
    SerialEnd(GPS_SERIAL);
    delay(400);

    SerialOpen(GPS_SERIAL, GPS_BAUD);
    delay(400);
    // 220 PMTK_SET_NMEA_UPDATERATE
    //Enable it for 10Hz mode
    SerialPrint(GPS_SERIAL, "$PMTK220,100*2F\r\n");
    delay(200);
    // 314 PMTK_API_SET_NMEA_OUTPUT (GGA, GSA and RMC frames)
    SerialPrint(GPS_SERIAL, "$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n");
    delay(200);
    // 300 PMTK_API_SET_FIX_CTL
    // This parameter controls the rate of position fixing activity.
    SerialPrint(GPS_SERIAL, "$PMTK300,100,0,0,0,0*2C\r\n");
    delay(200);

т.е. этот патч только, для NMEA соот-но…

Лёшич

В общем чую что-то у меня с моим гпсом не то. Если до предложенных изменений он стабильно инициализировался со второго раза точно, то после изменений таже фигня. Раз через раз.

Если инициализировался и нашёл спутники то работает без проблем.
Вот выкладываю “подпаченную” версию b3 Александра.
Из изменений в основном автоматическое выставление скорости для GPS и использование бинарного протокола для UBLOX.

mahowik

там явно проблема не в инициализации, а в индикации… я смотрелл статус гпс модуля, после инициализации… всегда все ок… проверял через MiniGPS тул/прогу…

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

#if !defined(GPS_LED_INDICATOR)
      if (f.ACC_MODE) {STABLEPIN_ON;} else {STABLEPIN_OFF;}
    #endif

upd: я вообще брал весь gps.ino, а не мержил 2.1 и dev… еще покапаю… что то не учел…