ArduCopter Mega: порт на обычную Arduino (тестим)

Сергей_Вертолетов

Просто смущают сообщения о внезапных крашах на новой прошивке…

А высота… Ты же сам видел, как он по струнке летит на 30 метрах - держит прекрасно (и во время выполнения миссии и в режиме возврата домой) Или теперь альт холд использует аксель для супер-удержания высоты, как хвалятся Мультивиевцы?

DVE

Ну, это неизбежно, чем сложнее система тем больше вероятность каких-то багов. А кода в современных контроллерах дофига.

Вот почитай что в соседней ветке творится, и это при цене в 2.5 килобакса:
rcopen.com/forum/f123/topic285043/161

После этого падение платы ценой в 90$ кажется не таким уж трагичным 😃

EduardNN

Гекса ,регули прошитые, моторы XXD A2212 1000KV, контроллер Mega MWC 2560 прошивка 2.7R4, винты 11х4.7.
Хорошая виброразвязка (хотя вибраций нет - рама тяжелая получилась).
Аппа турнига, приемник от нее же.
Проблема в том не могу ее оттримировать.
Уровень выставлял по уровню (калибровка гиры и акселя), компас откалиброван в планере уровень по центрам.
При взлете коптер тащит вправо - приходится парировать стиком(тримеров аппы не хватает), в течении полета( стаб мод) стик приходится двигать все дальше и дальше.
Если приземлиться и снова взлететь, то какое то время коптер ведет себя нормально - висит на месте при стиках крена и тангажа по центру, но спустя 10…20сек снова начинает “уползать”.
В чем может быть причина?
Вроде натыкался на подобную проблему у кого то но пролистав около 30 страниц топа - не нашел…

Sir_Alex
DVE:

Вот почитай что в соседней ветке творится, и это при цене в 2.5 килобакса:

У меня бы инфаркт случился… и супруга добила бы потом…

EduardNN:

В чем может быть причина?

Попробуйте посмотреть как себя ведут показания гиры и акселя на земле, не уплывают ли в течении пары минут? Можно еще запустить двигатели до момента отрыва от земли (ну что бы не взлетела, но вибрации уже были) - то же последите за значениями акселя (скорее всего в нем проблема).

EduardNN
Sir_Alex:

Попробуйте посмотреть как себя ведут показания гиры

Когда запускаешь двигатели, то сразу, на земле правая сторона вращается левая нет(выше неправильно написал - коптер уводит влево ), даешь стик в право начинают вращаться и с левой стороны.

Sir_Alex
EduardNN:

Когда запускаешь двигатели, то сразу, на земле правая сторона вращается левая нет(выше неправильно написал - коптер уводит влево ), даешь стик в право начинают вращаться и с левой стороны.

Подключите планнер и посмотрите на показания датчиков.
Либо у вас регули неоткалиброваны либо скорее всего уровень выставлен неправильно. Ну и как вариант аппа оттриммирована слишком сильно. Трим на аппе лучше вообще не делать, а найти местечко безветренное, взлететь в режиме калибровки уровня (арминг держать секунд 15-20) и удерживать коптер на месте секунд 20-30, потом посадка.

atumis
Sir_Alex:

Трим на аппе лучше вообще не делать

Ардукоптер пишет вааще не делать трим с аппы !!!
я триммировал а планнере , когда спалил регуль (и запасной сгорел) и тыкнул китайский непонятный - добился таки нормального висения.

EduardNN
Sir_Alex:

взлететь в режиме калибровки уровня (арминг держать секунд 15-20)

Видимо в этом режиме у меня он и летает.

  1. Коннект к планеру - крен по горизонту ~5 градусов, калибрую, через планер, уровень в “нулях”.
  2. Включаю арм - горизонт опять ~ градусов, моторы еще не стартовали .
  3. Опять калибрую . После арма горизонт в “нулях”.
  4. Поднимаю коптер - “тянет” влево,парирую стиком, через 20…30сек секунд 10 коптер висит при положениях стиках в “нулях”, далее начинает ползти в право.
  5. Сажаю , взлетаю сек. через 3…10, тянет снова влево…
    Такое впечатление что коптер находится в режиме калибровки…
    Можно по подробнее о этом режиме?
EduardNN

Тримы аппы в нулях, т.к. нет смысла в тримировании потому что смещение не постоянно и уползает в процессе полета.
Как должны вести себя светодиоды в арме при нормальном режиме и при режиме авто калибровки?

EduardNN

Графики с акселя и гиры на при низких оборотах двигателей ( с левой стороны не вращаются) , коптер на ровной поверхности.

atumis
EduardNN:

Как должны вести себя светодиоды в арме при нормальном режиме и при режиме авто калибровки?

При нормальном арминге - красный светодиод горит постоянно, при дизарминге - мигает . Про режим автокалибровки пока не знаю - полез смотреть код…

нашел:
В режиме автотрим - все три лампочки должны мигать попеременно )))

EduardNN:

при низких оборотах двигателей ( с левой стороны не вращаются

я вчера перебрасывал статью о калибровке регулей в нашу Wiki - это перевод (не мой) из официальной вики ардукоптера, там есть фраза что все моторы должны стартовать и крутиться синхронно.
Я не знаю причины , по которой так происходит у тебя, но
как бы я начал рыть в твоем случае :
возможные варианты

  • сенсоры
  • регули
    пожалуй начал бы с регуляторов. Первое что бы я сделал - это специательно переставил бы местами сигнальные провода на контроллере. и дал бы чуть чуть газу(не взлетая но с винтами - так нагляднее)
    Если те же 2 регуля стартуют позднее, то дело в них. тогда бы копал дальше… перепрограммирование… калибровка…
    по сенсорам пока ниче умного сказать не могу - особо в коде не ковырялся, тут а нас SirAlex специалист.

Зы… а длинна сигнальных проводов у всех регулей одинакова? или к этим двум самые длинные ?

EduardNN

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

EduardNN

В общем видимо я всегда летал в режиме авто трима…
Включение арма у меня происходило через 10…20 сек.
Судя по описанию на ардукоптер, включение арма -газ в ноль, направление вправо ~4сек,если держим ~10…15 - режим калибровки акселя, если ~20…25сек автотрим.
Не понял как должны вести себя светодиоды в этих режимах.
Я стартовал когда они все тухли , после этого включался арм.

Sir_Alex
EduardNN:

Я стартовал когда они все тухли , после этого включался арм.

Арминг 2-3 сек, не больше. При первом арминге происходит калибровка датчиков, поэтому прошивке надо дать 5-10 сек на это. Собственно вы всю калибровку и держали арминг и тем самым включали процедуру автокалибровки уровня 😃

EduardNN

Млин, эпопея продолжается…
Зашел в ГУИ (планер) и увидел такую картину(прик.рис. - коптер на земле в горизонт положении) при этом стартуют все моторы стразу и коптер относительно нормально(нужно подстроить пиды) летает.
Может с датчиками чего???
Если запустить калибровку с планера горизонт встает в ноль, но моторы опять стартуют с правой стороны раньше.

EduardNN

Возможно не правильно выбрана плата?
Я поставил FREEIMU.
Какую нужно выбрать для FreeIMU 0.3.5_BMP
Для чего на плате перемычки?

Alexsiv

создаётся впечатление, что это “FFIMU”

EduardNN

Где узнать какие датчики входят в состав “FFIMU” ?

С “FFIMU” не компилируется прошивка - вываливает кучу ошибок…

Freepooh
EduardNN:

Регуляторы перешитые и по описанию прошивки калибровка не нужна,

Калибровка нужна

EduardNN
Voldemaar:

Может, спросить у гугла?

Эт ты поумничал ? Или подсказал чего ?
Спроси у гугла какие датчики входят в состав “FFIMU” в MegaPirateNG_2.7_R4…

Freepooh:

Калибровка нужна

Не нужна!!! Повторю в режиме калибровки регулей при полном газе моторы работают на полную.
Залил Wii - летает, но в Wii эта плата присутствует в конфиге:
/* if you use a specific sensor board:
please submit any correction to this list.
Note from Alex: I only own some boards, for other boards, I’m not sure, the info was gathered via rc forums, be cautious */
//#define FFIMUv1 // first 9DOF+baro board from Jussi, with HMC5843 <- confirmed by Alex
//#define FFIMUv2 // second version of 9DOF+baro board from Jussi, with HMC5883 <- confirmed by Alex
//#define FREEIMUv1 // v0.1 & v0.2 & v0.3 version of 9DOF board from Fabio
//#define FREEIMUv03 // FreeIMU v0.3 and v0.3.1
//#define FREEIMUv035 // FreeIMU v0.3.5 no baro
//#define FREEIMUv035_MS // FreeIMU v0.3.5_MS <- confirmed by Alex
#define FREEIMUv035_BMP // FreeIMU v0.3.5_BMP
//#define FREEIMUv04 // FreeIMU v0.4 with MPU6050, HMC5883L, MS561101BA <- confirmed by Alex
//#define FREEIMUv043 // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
//#define NANOWII

Так же видно с какими датчиками работает плата (FREEIMUv035)

#if defined(FREEIMUv035) || defined(FREEIMUv035_MS) || defined(FREEIMUv035_BMP)
#define ITG3200
#define BMA180
#define HMC5883
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = -Z;}
#undef INTERNAL_I2C_PULLUPS
#if defined(FREEIMUv035_MS)
#define MS561101BA
#elif defined(FREEIMUv035_BMP)
#define BMP085
#endif
#endif

в MegaPirateNG_2.7_R4 я не нашел что входит в состав “FFIMU”