MultiWii
Подскажите у меня nunchuck включен или нет. Если нет, не подскажите как его включить? Начинаю поднимать коптер, он переворачивается. Калибровки все сделал.
Включен то включен, но на графике не видно ничего. Потряси, если нет графиков относящихся к акселю, значит не работает аксель.
Включен то включен, но на графике не видно ничего. Потряси, если нет графиков относящихся к акселю, значит не работает аксель.
Всплески есть. Забрал сегодня OpenPilot, пока откладываю wii.
Здравствуйте,вопрос к Гуру кодонаписания. Есть необходимость поменять местами пин D3 c D8 (вывода PD3 и PB0 на 328 Меге).
Мои ковыряния в коде результата не принесли,подозреваю что надо править во многих местах.
Буду признателен за информацию по этому вопросу.
На днях получил запчасти к своему мультикоптеру…
Собственно основное - РУ на 9-8 каналов (ну не хватает мне 5.5 на старой! Ни пуск-стоп приделать, ни что-либо ещё!) и 5 штук мотор-контроллер…
Сейчас думаю над апгрейдом, ради которого и затевалось: увеличить грузоподъёмность числом моторов, благо МультиВий до окто- дошёл…
Собственно варианты:
- 4+4, или квадро-8
- Гекс
- Окто “классический”
Плюсы-минусы:
- Почти без переделок, но стрёмно запускать…
2-3. Раму придётся делать с нуля. Зато винты торчат вверх и садиться может почти на брюхо.
Собственно нужен совет с точки зрения живучести аппаратов разных схем.
В идеале, наверное, схема квадро-8, но хитрая, когда верхние и нижние моторы питаются от разных акков и щелчком пульта можно переключить схему между “4-верх - 4+4 - 4-низ” - тогда, по идее, при отказе части моторов аппарат хоть как-то можно посадить, а не просто уронить…
Здравствуйте,вопрос к Гуру кодонаписания. Есть необходимость поменять местами пин D3 c D8 (вывода PD3 и PB0 на 328 Меге).
Мои ковыряния в коде результата не принесли,подозреваю что надо править во многих местах.
Буду признателен за информацию по этому вопросу.
Не уверен, это моторные пины?
Попробуй в def.h
#define MOTOR_ORDER 3,5,6,2,7,8,9,10
Поменять местами 3 и 8
(проша 1.8)
А, да, учти - там эта строчка почти два раза - для Мега и Мини, причём мини идёт раньше и там всего 6 чисел.
Друзья, подскажите в чем может быть проблема - с прошивкой 1.7 все более менее работает, как только заливаю 1.8 p2 отключается itg3200 😃.
В гуи молчит, и по ощущениям тоже не работает… платка которую Covax на фото выше постил.
как только заливаю 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 с этими же настройками летает мегастабильно 😃