MultiWii
как только заливаю 1.8 p2 отключается itg3200
Смотря что за платка. У меня помогла смена адреса 0x80 на 0x82 датчика на I2C шине (в 1.7 также менял ручками)
Попробуй в def.h
#define MOTOR_ORDER 3,5,6,2,7,8,9,10
Поменять местами 3 и 8
(проша 1.8)
А, да, учти - там эта строчка почти два раза - для Мега и Мини, причём мини идёт раньше и там всего 6 чисел.
Немного не то имелось ввиду. Хотел поменять местами BUZZERPIN (8, OUTPUT) PORTB с PIN (3,OUTPUT) PORTD.
Вроде все поменял,т.е PORTD и PORTB,последнюю циферку в таких скобках &= ~(1<<3);чтобы соответствовало.Компилируется,зашивается,но не работает.Есть подозрения,что где-то надо еще подправить.
Платка allinone пока прижилась на пирате. А руки чешутся… 😃
На маленьком коптере стояла плата с гириками от wii. Поставил аксель adxl335 rcopen.com/forum/f123/topic246336/2
Квадрик стал очень резким. Думаю, что надо загрубить гиры. Найти это в прошивке 1.8 не могу.
А может не в этом причина?
Хотел поменять местами BUZZERPIN (8, OUTPUT) PORTB с PIN (3,OUTPUT) PORTD.
Вообщем ничего так и не получается.Вопрос,где в коде описывается какой пин на какой мотор,кроме строки MOTOR_ORDER?
Предполагаю,что где-то должно назначаться мотор_намбер_аут,ну или типа того.
Смотря что за платка. У меня помогла смена адреса 0x80 на 0x82 датчика на I2C шине (в 1.7 также менял ручками)
Алексей спасибо! Вы были правы.
Только
#if !defined(ITG3200_ADDRESS)
// #define ITG3200_ADDRESS 0XD0
#define ITG3200_ADDRESS 0XD2
#endif
Только теперь другая фигня вылезла - похоже датчики в зеркальном режиме как бы работать стали. В 1.7 все нормально было…
Я и так и так пробовал, только предварительноя в def.h в секции описания ALLINONE адрес ВМА180 прописал напрямую. Акселерометр вроде как работает, а гироскоп нет. в GUI все цифры на графиках GYRO ROLL, PITCH, YAW - все по нулям. магнитометр вроде тоже работает, но иногда вдруг у него “крышу сносит” и он начинает выдавать хаотические цыфры типа -5000,8000 и прочее. весь экран в вертикальных полосках. я его пока отключил, как и барометр
можно просто пин CLK Gyro кинуть на землю, адрес гиры поменять на
#define ITG3200_ADDRESS 0XD2
Кстати обрати внимание на дребез контактов между аливан и мозгами иногда из-за этого глючит сильно.
и еще надо инвертировать орентацию гиры в коде, но это в зависимости от прошивки какая версия?
У меня 1.8 тоже баро и компас пляшут, хз как их завести нормально
инвертировать орентацию гиры
в 1.8 это где меняется?
У меня 1.8 тоже баро и компас пляшут, хз как их завести нормально
Баро сразу работает. А компас 5883L - жуть! Пришлось сделать табличку и перебирать комбинации ±X±Y±Z, пока не стал адекватно показывать в конфигураторе.
в 1.8 это где меняется?
в файле Sensors.pde в самом верху
// ************************************************************************************************************
// board orientation and setup
// ************************************************************************************************************
//default board orientation
#if !defined(ACC_ORIENTATION)
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#endif
#if !defined(GYRO_ORIENTATION)
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#endif
#if !defined(MAG_ORIENTATION)
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}
#endif
А как здесь инвертировать действие по одной оси? Просто у меня ощущение, что после перепрошивки перед стал задом…
И еще отклик на изменение положения какой то вялый стал - резко наклоняешь а положение аппарата в гуи меняется очень медленно… и так же восстанавливается в исходное положение. Не может ли это быть связано с изменением адреса гиро на 0xd2?
И еще отклик на изменение положения какой то вялый стал - резко наклоняешь а положение аппарата в гуи меняется очень медленно… и так же восстанавливается в исходное положение.
100% problema v nepravilnoy orientacii osey… tut eto eje pisali mnogo raz, t.e. esli medlenno doplivaet smotrite osi
А как здесь инвертировать действие по одной оси?
esli nado k primeru X/ROLL os invertirovat, to tak: accADC[ROLL] = -X
a esli mestami X i Y osi to tak: accADC[ROLL] = Y; accADC[PITCH] = X;
Может конечно, ALLINONE разные бывают, но у меня помогли вот такие строки для 1.8:
Sensors.pde:
#if !defined(BMA180_ADDRESS)
//#define BMA180_ADDRESS 0x80
#define BMA180_ADDRESS 0x82
#endif
config.h:
#define YAW_DIRECTION 1 // if you want to reverse the yaw correction direction
…
#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;}
Адрес гиры не менял. Чтобы компас не показывал погоду, важно точно согласовать его ориентацию с гирой и акселерометром. Ну и калибровать компас в ГУИ.
Поменял ориентацию гиры по 2м осям - насчет Z не уверен, что она в реверсе поэтому оставил как есть. Коптер полетел гораздо уверенней. Хотя конечно чуток потряхивает один фиг.
Надо еще с пидами поковыряться и с механической частью в плане вибраций итд. А еще у меня один регулятор 30а и 3 по 18а может изза этого тоже колбасит.
Залил 1.8, все настройки и пиды выставил точ точ как были в 1.7, попробовал, снес нафиг и вернул 1.7
Во первых стал оч резкий, ну это не главное и поправимо через RC RATE и RC EXPO, во вторых после активных движений стиками во время полета в режиме стаб левел сильно уходит горизонт, т.е. если после этого его завесить и отпустить стики - сильно тянет влево и в перед, достаточно сесть , включить - выключить движки и горизонт выравнивается. Компаса и баро нет, стоят только ITG3200 и BMA020.
В 1.7 с этими же настройками летает мегастабильно 😃
Там перелопатили код стабилизации, врятли ПИДЫ от 1.7 подойдут 1.8, я лично P (в 1.5 раза) и D чуточку убавлял, летает лучше на 1.8 в итоге, так как там фильтр на вибрацию ввели.
Летает лучше на ALLINONE, или на “гира + аксель”, ну в смысле мне интересно почему у меня тады горизонт плывет?
Может 1.8 заточен под платы типа ALLINONE, где на борту еще есть компас , баро и тд.
Врятли заточен, компас и баро работает там как и работало, не аккуратно, с ними хуже летает помоему.
Горизонт ли уходит? Или у регулей плывет кривая? У меня ничего не уходит, ну или я уже не замечаю этого.
Не, точно не регули, т.к. после 1.8 через 5 мин. залил 1.7 и все стало ОК.
Не заметить трудно, уводит сильно.
И у меня BMA020 лучше BMA180 работал всегда, надо разбираться что там и где не так.
Единственное что приходит в голову - накапливается ошибка т.к. полет в режиме стаб левел на 1.8 более агрессивный и резкий ( если не менять пиды в сравнении с 1.7 ) в следствии чего возможно ведет горизонт.
Если сесть и вырубить движки а потом сразу включить - с горизонтом становится все ОК, т.е. надо смотреть прошивку, видимо в этот момент ( Motor Disarm/Motor Arm ) обнуляется гира либо аксель.
обнуляется гира при включении батареи, аксель обнуляется только при калибровке