Crius Hobby MultiWii
выдает ошибку компиляции
Баян, нужна ардуина 0023, а не 1.0
Все получилось. Спасибо!!! Не думал что прошивки чувствительны к версии ардуины!!!
И еще вопросик, если я правильно понял то мы (как обычные пользователи) лазим только в файле config.h, меняем в нем все что считаем нужным и заливаем в плату ???
Верно все, основные настройки именно там. Глубже пока лезть не нужно, только если есть полное понимание, как именно работает прошивка
Ребят может все таки подскажет кто? магнитометр при завалах чуть ли не перекручивает на 360гр в программе. откалибровать не получается, кручу по 5 заходов, Как быть? когда квадрик в горизонте то работает отлично, на многих прошивках тоже самое, только на одной нормально смотрит на север, хоть в перевернутом состоянии!
Ребят может все таки подскажет кто? магнитометр при завалах чуть ли не перекручивает на 360гр в программе. откалибровать не получается, кручу по 5 заходов, Как быть? когда квадрик в горизонте то работает отлично, на многих прошивках тоже самое, только на одной нормально смотрит на север, хоть в перевернутом состоянии!
это направление осей может быть перепутано
Ребят может все таки подскажет кто? магнитометр при завалах чуть ли не перекручивает на 360гр в программе. откалибровать не получается, кручу по 5 заходов, Как быть? когда квадрик в горизонте то работает отлично, на многих прошивках тоже самое, только на одной нормально смотрит на север, хоть в перевернутом состоянии!
Неправильно сконфигурированы датчики по осям. В начале ветки был дан верный define с которым больше ничего крутить не надо: rcopen.com/forum/f123/topic258132/21
т.е. у меня в прошивке сразу правильно заработал вот этот:
#define FREEIMUv035_BMP // FreeIMU v0.3.5_BMP
Да всем спасибо! особенно leprud! разобрался, действительно по осям не было сконфигурировано, кроме всего прочего в def.h напрочь отсутствовали этот блок строк
#if defined(CRIUS_SE)
#define ITG3200
#define BMA180
#define HMC5883
#define BMP085
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = Z;}
#define INTERNAL_I2C_PULLUPS
#endif
Я их вставил, и добавил строку в Config.h
#define CRIUS_SE // Crius MultiWii SE board AIO
Сейчас компас отлично показывает, настроил аппу и прошивку для баро и альт. скоро испытания! тока от балансирую всё, а то один лучь как струна)), хотя сам квадрик в полете не трясет.
Я тоже сегодня полетел, на стоковых пидах с отбалансированными винтами коптер висит как влитой! 😃 Хорошая платка, намного удобнее ковыряний с ардуиной и датчиками.
Поставил крайнюю прошивку (dev_20120225), в ней уже есть headfree mode (когда плата смотрит на компас и “вперед”/“назад”/“вправо”/“влево” делает не по изначальному расположению платы, а по магнетометру. Сиречь можно пустить коптер волчком и продолжать адекватно летать, не думая о реальном положении коптера). Но пришлось выносить плату выше моторов и подальше от силовых проводов (у меня мелкий коптер, расстояния были мизерными - от кончиков пропеллеров до стоек крепежа платы меньше сантиметра), иначе магнетометр начинал врать и дрейфовать.
Также значительно улучшена работа с нашим BMA180, теперь у меня отлично заработал level mode.
Добавлен уже #define CRIUS_SE, и выбирать надо именно его, т.к. положение осей немного поменялось и ручное добавление блока #if defined(CRIUS_SE) не даст желаемого результата. Ну да уже не важно, дефайн есть готовый.
Леонид, если не сложно подскажите плз, что закоментили, а что разкоментили в этой (dev_20120225) прошивке.
И еще вопрос:
- калибровка акселей это: установить все на горизонтальную поверхность и нажать кнопку калибровки. ???
- калибровка компаса это: нажимаем кнопку и крутим все по всем осям пока диод моргать не перестанет. ???
Достаточно раскомментить только #define CRIUS_SE, в принципе.
Остальное - дело вкуса и привычек
(например, я поставил motor_stop, itg3200 lpf=42hz, deadband=10)
Спасибо, а на счет калибровок я правильные выводы сделал (читая форум)?
Леонид а чем прошиваете у меня ардруина 023 почему то даже открывать не хочет???
Михаил, эт у меня сегодня такая проблема была почитайте чуть выше
нужна ардуина 1.0, а не 0023
а на счет калибровок
Там все просто…
Гироскопы калибруются сами при включении (поэтому важно включая питание не дергать аппарат)
Акселерометр калибруется единожды, выставив коптер ровно
Магнетометр чтоб откалибровать - нажать кнопочку в гуи, да пока светодиод мигает - покрутить по всем осям на 360 градусов.
у меня ардруина 023 почему то даже открывать не хочет
файл .ino переименуйте в .pde , и его уже открывайте
Либо уже можно качать 1.0 ардуину для него, не принципиально
При компиляции когда раскомментируешь #define RCAUXPIN12 вылетает ошибка!
MultiWii_dev_20120225.cpp: In function ‘void i2c_init()’:
Sensors:121: error: ‘I2C_PULLUPS_ENABLE’ was not declared in this scope
что это?
при #define RCAUXPIN8 нормально,
Ну и кроме этой ошибки
Я тащююсь от HEEDFREE просто суперская функция для FPV без стабилизации камеры по роллу
когда раскомментируешь #define RCAUXPIN12
Да, чет там ошибка
В def.h
замените
#if !defined(RCAUXPIN12)
#define POWERPIN_PINMODE pinMode (12, OUTPUT);
#define POWERPIN_ON PORTB |= 1<<4;
#define POWERPIN_OFF PORTB &= ~(1<<4); //switch OFF WMP, digital PIN 12
#define I2C_PULLUPS_ENABLE PORTC |= 1<<4; PORTC |= 1<<5; // PIN A4&A5 (SDA&SCL)
#else
#define POWERPIN_PINMODE ;
#define POWERPIN_ON ;
#define POWERPIN_OFF ;
#define RCAUXPIN
#endif
#define I2C_PULLUPS_DISABLE PORTC &= ~(1<<4); PORTC &= ~(1<<5);
на
#if !defined(RCAUXPIN12)
#define POWERPIN_PINMODE pinMode (12, OUTPUT);
#define POWERPIN_ON PORTB |= 1<<4;
#define POWERPIN_OFF PORTB &= ~(1<<4); //switch OFF WMP, digital PIN 12
//#define I2C_PULLUPS_ENABLE PORTC |= 1<<4; PORTC |= 1<<5; // PIN A4&A5 (SDA&SCL)
#else
#define POWERPIN_PINMODE ;
#define POWERPIN_ON ;
#define POWERPIN_OFF ;
#define RCAUXPIN
#endif
#define I2C_PULLUPS_DISABLE PORTC &= ~(1<<4); PORTC &= ~(1<<5);#define I2C_PULLUPS_ENABLE PORTC |= 1<<4; PORTC |= 1<<5; // PIN A4&A5 (SDA&SCL)
Аккуратно, не проверял код
Спасибо заработал порт, я проверил !
Кстати тут появились AUX 3 - 4 а на какие порты назначались ктонить проверял?
а вот нашел в прошивке
AUX3 = PIN A14
AUX4 = PIN A15
Тут вообще проблема, в прошивке то они прописаны но на плате их нет!!!
Переходите на sum ppm - всего один провод от приемнику к контроллеру, да никакой головной боли от выбора разъема 😃
Ну и вес сократится немного, понятное дело
А как это на стабильности связи сказывается, просто никогда не пробовал?
И еще тут какая то проблема с баро, на гравике он реагирует на изменение высоты а в практике не реагирует на изменение высоты, в прошивки в А2 когда я коптер рукой поднимал он сбрасывал обороты. а тут нивкакую крутит как крутил, может конечно просто нужно зависание выставить?
в дев прошивке нет THROTTLE_HOVER значит выставлять нечего, мне так и не удалось запустить баро, так что высоту вообще не держит!
Ребят, а можно мне к вам с глупыми вопросами? Может подскажите?
Почитал описание разных систем и остановился на Crius MultiWii, вроде бы в ней всё нужное есть, даже режим удержания высоты (прочел ветку и не понял - работает нормально или нет). А вопросы у меня такие…
Правильно ли я понял, что режимом можно управлять с пульта, есть три режима - без участия/гиро/гиро+аксели? Посмотрел видео-туториал, правильно понял, что можно использовать два управляющих канала и на втором включать/выключать удержание высоты?
У меня нет опыта программирования вообще, даже подобных девайсов. Самое большое достижение в похожей области - я настроил свою Expert LRS и более-менее в ней разобрался 😃 поэтому вопрос, есть у меня шанс разобраться с мультивии?
Ну и самое главное… я её вообще думаю на вертолет поставить, в трикоптерной прошивке должно заработать, руддер и газ не подключать, только элерон, элеватор и шаг (в канал газа). Может быть отговорите сразу или есть шансы? Вертолет Гауи 550, с флайбаром. Может быть еще и флайбар откручу, если эта система сможет заменить флайбарлесс, но это не цель, моя цель - система, которая будет возвращать вертолет в горизонт, когда отпущу стик.
ПС. до рц_групс еще не добрался, осилил только общее описание системы и эту тему, если что - пинайте, я не против, только обоснуйте 😉