MultiWii
Всем привет!
Рад поделиться новостью. Облетал сегодня MultiWii_dev_20111017. Наконецто стаб. мод. стал менее чувствительным к вибрациям и вполне (очень!!!) летабельным. Ура!!! 😃
Вопрос к Гуру в области характеристик датчиков. Для гироскопа L3G4200D есть таблица
Table 22. DR and BW configuration setting
Сам спросил-сам отвечу. ODR [Hz] Частота опроса датчика.Величина Cut-Off пока загадка.Пробовал разные для одинаковой частоты,разници не заметил.
250 dps оказался самый чувствительный вариант.
Величина Cut-Off пока загадка
это частота среза НЧ фильтра… чем ниже тем лучше - меньше чувствителность к вибрациям…
к примеру для бма180 - 10гц, для бма020 - 25гц (т.к. это нижнее значение для этого датчика) + потом в ИМУ еще цифровым фильтром подрезается, т.е. реално на аксель в сумме частота среза 2-5гц (в последних дев прошивках).
держатели балки на раме , на мотормаунтах
А подскажите под какой диаметр эти держатели балки?
Может кто укажет направление где почитать/посмотреть подробную схему подключения платки AllInOne к Arduino и настройки MultiWii ?
Да они все одинаково подключаются на разных платформах
Ардино - AllinOne
GND -> CLK Gyro
A4 -> SDA
A5 -> SCL
5V -> 5V
GND -> GND
только это для платы Allinone c LLC (5v) если без LLC (3.3v) то его надо отдельно цеплять
Да они все одинаково подключаются на разных платформах
спасибо
меня больше интересовало обозначение контактов на платке
нашел вот схемку
успокоился на время. Перечитываю тему с 1 стр. дошел пока до 76
Многое прояснилось. Есть вопросы по GUI и вкл/выкл стабилизации но думаю разберусь как скидаю железо.
GND -> CLK Gyro
А это зачем ?
На фото виденные в инете первый разъем не трогает народ
Насчет платки ALLINONE - припаял вывод гиры к земле сразу как рекомендовали на её страничке.
кто рекомендует и на какой страничке ?
это частота среза НЧ фильтра… чем ниже тем лучше - меньше чувствителность к вибрациям…
Спасибо,теперь понятно. Пробовал разные значения ODR и Сut-Off. Чисто субъективно особой разницы не чувствуется,вероятно надо настраивать и значения ПИД,но ИМХО лучше всего ODR100 Cut-Off 12.5 и ODR400 Cut-Off20(дефолтное значение).
Вот код,если кто-то использует такой гироскоп и хочет попробовать.В принципе в даташите есть таблица,пункт 7.2, какие биты для какой частоты выставлять в CTRL_REG1(20h)
#if defined(L3G4200D)
void Gyro_init() {
delay(100);
i2c_writeReg(0XD2+0 ,0x20 ,0x8F ); // CTRL_REG1 10001111(0x8F) 400Hz ODR, 20hz filter,00001111(0x0F) 200Hz ODR 12.5hz filter
delay(5);
i2c_writeReg(0XD2+0 ,0x23 ,0x80 ); // CTRL_REG4 10000000 Fuii Scale 250dps
}
void Gyro_getADC () {
TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz
i2c_getSixRawADC(0XD2,0x28+0x80); // Start multiple read
GYRO_ORIENTATION( ((rawADC[1]<<8) | rawADC[0])/20 ,
((rawADC[3]<<8) | rawADC[2])/20 ,
-((rawADC[5]<<8) | rawADC[4])/20 );
GYRO_Common();
}
#endif
ПС Как правильно,красиво,вставлять код в пост?
[.code.] [./code.]
без точек
кто рекомендует и на какой страничке ?
диалог на эту тему тут rcopen.com/forum/f123/topic221574/3103 , если не запаять в один прекрасный момент самопроивзольно меняется адрес и привет, коптер могЁт упасть
Чисто субъективно особой разницы не чувствуется
это на стенде, т.е. не в полете 😃
а вот если коптер “с вибрациями” то НЧ фильтры оч. даже могут помочь 😉
кто нить компас HMC5883 подключал (отдельный или из оллИнВан, ФФиму)… чет не выходит откалибровать его толком… оси все правильно вроде указаны, проверял по факам www.multiwii.com/faq#How_should_be_the_sensor_axis… … калибровал, вертел каждую ось на 360гр (в течении 30сек)…
- юг тож вроде правильно показывает, a поворачиваешь на север - врет на 10-20гр
- если плату ровно погоризонту держaть то Ролл и Питч компаса не ноль. Так должно быть? Мот в Канаде поля магнитные не как у всех? 😃
кто нить компас HMC5883 подключал
Отдельный от Иванова. Все летает.
В Программе оставляете только Roll - все графики должны совпадать по выбросам.
Потом Pitch и Yaw аналогично.
Все соосно.
В Канаде вектор маг. поля должен уходить в землю под некоторым углом.
Я на оси вообще не смотрю, у меня плата самодельная с коннекторами под датчики, воткнул покомпактнее и все.
Оси легко поочередно правятся в коде.
юг тож вроде правильно показывает, a поворачиваешь на север - врет на 10-20гр
Компасс не очень точный прибор. Любой металл вблизи или проводник с током могут давать такую погрешность.
Магнитное поле не параллельно горзонту, так что это нормально. Главное от компаса в multiwii - это получение ориентации в горизонтальной плоскости. При рассчете учитывается акселерометр. Если все оси настроены правильно, то heading должен точно соответствовать поворотам вокруг YAW и не меняться при небольших наклонах.
поворотам вокруг YAW
Ради этого нужен компас. Крен-тангаж корректируется по акселям. А курс отслеживается только по гире, которая плывет. Поэтому YAW компаса спасает ситуацию.
Мне не страшно, что квадрик немного крутится. Важно, чтобы он все 10 минут полета мог держать примерный курс и не сбивал с толку.
Ради этого нужен компас. Крен-тангаж корректируется по акселям. А курс отслеживается только по гире, которая плывет. Поэтому YAW компаса спасает ситуацию.
Мне не страшно, что квадрик немного крутится. Важно, чтобы он все 10 минут полета мог держать примерный курс и не сбивал с толку.
Так самое смешное, что без компаса мультивий летает прямее 😃 С компасом все время норовит повернуть гадина такая.
А это зачем ? На фото виденные в инете первый разъем не трогает народ
Если не вдаваться в детали то платки немного отличаются разводкой, люди кидают сполю на контактные площадки около гиры тем самым делают тоже самое, да еще забыл там может альтернативный порт у гиры ITG3200 использоваться 0x69 (7Bit) или 0x68 (7Bit) . Для BMA180 акселя использовать 0x41 (7Bit) но может и 0x40 (7Bit) работать, все зависит от того как плата разведена. Спрашивайте у продавца платы он вам расскажет какой порт использовать.
Есть вопросы по GUI и вкл/выкл стабилизации но думаю разберусь как скидаю железо.
Да гуи в мультивии жесть самый плохой из всех, напоменает поделку из 90ностых =)
люди кидают сполю на контактные площадки около гиры тем самым делают тоже самое
Что делают люди я так и не понял 😃
Меняют адрес гиры ? Фиксируют чтоб не менялся? А как он может в воздухе смениться ? не понимаю 😃
Что делают люди я так и не понял 😃 Меняют адрес гиры ? Фиксируют чтоб не менялся? А как он может в воздухе смениться ? не понимаю 😃
Они уже соединяют на самой плате клок с землей, но не на всех платах это нужно делать, в воздухе порты не меняются они настраиваются первый раз при подлкючении платы, уточняйте у продавца какие порты вам прописать чтоб заработали датчики.
Не в воздухе, а при включении питания, случаи были
С компасом все время норовит повернуть гадина такая.
В мультвие компасс примитивно сделан, сейчас глянул код - он будет хорош работать только пр идеальной триммировке по YAW (сигнал с пульта ровно 1500). Возможно, у вас YAW с пульта не попадает в 1500 ± 70 (что может быть при сильной триммировке или даже просто небоших случайных движений ручкой), и компасс то включается то выключается. Как следствие, он постоянно сбрасывает собственную коррекцию. Подумаю как лчше переписать код, чтобы он не сильно зависел от триммировки по YAW и от периодических задействований ручки.
С одной стороны, лучше вообще не сбрасывать зафиксированный азимут - тогда при любых движениях коптера он всегда будет возвращаться обратно. С другой, иногда хочется его развернуть и так зафиксировать. В общем есть над чем подумать.
Спрашивайте у продавца платы он вам расскажет какой порт использовать.
Можно просто попробовать 2 адреса. Или запустить сканер i2c. Я бросал на землю или подтягивал к питанию ногу, чтобы быть уверенным.
Да гуи в мультивии жесть самый плохой из всех, напоменает поделку из 90ностых =)
А мне нравится. Кто не согласен - может написать свой “красивый” интерфейс абсолютно бесплатно и порадовать людей.