MultiWii

mahowik

Норберт суппер!

18-го оплатил сегодня уже получил bma020!!!

nemo61
Siorinex:

В AllInOne датчик BMA180 висит не на 0x80 адресе, а на 0x82. Так что если адрес не поменять - работать не будет…

Подскажите, в каком месте прошивки 1.7 надо менять адрес? Попробовал здесь:
#if defined(BMA180)
static uint8_t rawADC_BMA180[6];

void i2c_ACC_init () {
delay(10);
i2c_rep_start(0x82+0); // I2C write direction
i2c_write(0x0D); // ctrl_reg0
i2c_write(1<<4); // Set bit 4 to 1 to enable writing
i2c_rep_start(0x82+0);
i2c_write(0x35); //
i2c_write(3<<1); // range set to 3. 2730 1G raw data. With /10 divisor on acc_ADC, more in line with other sensors and works with the GUI
i2c_rep_start(0x82+0);
i2c_write(0x20); // bw_tcs reg: bits 4-7 to set bw
i2c_write(0<<4); // bw to 10Hz (low pass filter)

acc_1G = 273;
acc_25deg = 113; // = acc_1G * sin(25 deg)
accPresent = 1;
}

void i2c_ACC_getADC () {
TWBR = ((16000000L / 400000L) - 16) / 2; // Optional line. Sensor is good for it in the spec.
i2c_rep_start(0x82); // I2C write direction
i2c_write(0x02); // Start multiple read at reg 0x02 acc_x_lsb
i2c_rep_start(0x82 +1); // I2C read direction => 1
for(uint8_t i = 0; i < 5; i++) {
rawADC_BMA180[i]=i2c_readAck();}
rawADC_BMA180[5]= i2c_readNak();

accADC[ROLL] = - (((rawADC_BMA180[1]<<8) | (rawADC_BMA180[0]))>>2)/10; // opie settings: + ; FFIMU: -
accADC[PITCH] = - (((rawADC_BMA180[3]<<8) | (rawADC_BMA180[2]))>>2)/10;
accADC[YAW] = - (((rawADC_BMA180[5]<<8) | (rawADC_BMA180[4]))>>2)/10;
}
#endif
Не помогло.

juniorluck

Не удержался и заказал 2 платы 😃 Одну с GPS 5V другую без но 3V… ждемс…

drozd79

Подскажите кто знает, читаю тему, пока всю не осилил. В Нунчаке есть акселерометр, который многие используют, а как можно использовать джойстик и кнопки от того же нунчака? Я так понял там шина I2C у джойстика и у кнопок свои адреса так? Джойстик это же насколько я понимаю реализуется через АЦП и на выходе идет цифровой код в шину. Нельзя туда еще какие-нибудь датчики подцепить вместо джойстика, там два потенциометра ведь. Сорри если, глупая затея, я пока еще не совсем в теме!

Covax

Fmkit использует нунчак как джойстик к пульту, управляет аппаратом. Поищи по форуму.

Boev_Dmitry

Подскажите, MultiWii без приемника заведется? Подключил плату с датчиками AllInOne к 2560-й меге по I2C четырьмя проводами. Отдельными скетчами проверил датчики - работают. А вот мультивий не заводится…

п.с. прошивка 1.8
дефайн с платой ALLINONE раскомментировал, адрес ВМА180 прописал, тип платы выбрал MEGA, LCD_CONF закомментировал

в конфигураторе выбираю компорт, нажимаю старт - ничего не происходит. цикл нулевой показывает

Может дело в отсутствующем приемнике?

сам себе отвечаю - все дело в спешке.

  1. Start Configurator
  2. wait a few seconds
  3. click “start”
  4. wait

слишком быстро кнопки тыкал =)

графики ползут, цикл прыгает на уровне 4300… продолжаем эксперименты

nemo61
nemo61:

Подскажите, в каком месте прошивки 1.7 надо менять адрес?

Олег писал, что надо менять в 5 местах. Вроде сходится. После заливки прошивки на ардуинке постоянно мигает светодиод. В GUI цикл примерно 3600. Рисунок квадрика меняет свое положение.
При этом значение ACC_ROLL меняет свое значение от -4000 до +4000. Типа синусоиды рисует. В чем проблема?
Спасибо.

Covax

а что в ней такого оригинального чтобы было плохо или хорошо? 😃 нормальная платка

Саша_пилот

оригинально тем что, чуйка настраивается как ККУК с крутилок, и имеет выход для стабилизации подвеса.

Covax
Саша_пилот:

чуйка настраивается как ККУК с крутилок

не понятно как можно реализовать 15 параметров мультивия с 3х крутилок

Boev_Dmitry

Владельцы плат AllInOne, подскажите, вы запаивали перемычку на плате для выбора адреса ITG3200? Я вчера столкнулся с тем, что гироскоп работает крайне нестабильно. в тестовых скетчах он иногда инициализируется, иногда нет, а в мультивие воообще ни разу не удалось его подцепить. вчера не смог разобраться, а сейчас вот глянул на фото платы, глянул в даташит, и закрались во мне сомнения, что в этом все проблемы могут быть…

gena_g
Covax:

не понятно как можно реализовать 15 параметров мультивия с 3х крутилок

Крутилки влияют только на настройку подвеса камеры

Covax
Саша_пилот:

реализовал както, и отлично летает, судя по видео.

Так любой мультивий летает с нормальными датчиками (itg3200, bma180), кстати у Джакуба такая платка стоит около 150 толи евро толи долларей. Эа эти деньги можно купить ардуину и плату с компасом и баро впридачу.

nemo61
Boev_Dmitry:

Владельцы плат AllInOne, подскажите, вы запаивали перемычку на плате для выбора адреса ITG3200? Я вчера столкнулся с тем, что гироскоп работает крайне нестабильно. в тестовых скетчах он иногда инициализируется, иногда нет, а в мультивие воообще ни разу не удалось его подцепить. вчера не смог разобраться, а сейчас вот глянул на фото платы, глянул в даташит, и закрались во мне сомнения, что в этом все проблемы могут быть…

На всякий случай спаял две перемычки. Там где три - среднюю запаял на корпус.(На всякий случай.) Сначала не смог запустить плату в прошивке 1.8. Потом в настройках не стал выбирать AllInOne, а выбрал гироскоп и акселерометр. Но пока не взлетал. Графики вроде нормально себя ведут.

Covax

Глеб тут писал: ЗАПАИВАЙТЕ перемычку на AllInOne для гиры (центр на землю) - иначе будет внезапно менять адрес при включении

Boev_Dmitry

Я и так и так пробовал, только предварительноя в def.h в секции описания ALLINONE адрес ВМА180 прописал напрямую. Акселерометр вроде как работает, а гироскоп нет. в GUI все цифры на графиках GYRO ROLL, PITCH, YAW - все по нулям.
магнитометр вроде тоже работает, но иногда вдруг у него “крышу сносит” и он начинает выдавать хаотические цыфры типа -5000,8000 и прочее. весь экран в вертикальных полосках. я его пока отключил, как и барометр.

Covax

пиши производителю , пусть разьяснит

Boev_Dmitry

Я подозреваю, что это, возможно, какие-то программные грабли. В тестовых скетчах все более-менее пристойно.
В любом случае до первого полета мне еще пока далеко, ни моторов еще не куплено, ни пропеллеров. Так что время разобраться в работе прошивки у меня еще есть =)

Boev_Dmitry


вроде все работает. модель коптера движется вполне адекватно.
что сделано:

напаял перемычку для установки адреса 0xD0 (AD0 подтянул к земле)
прошивка 1.8
в def.h чуть изменил дефайн для ALLINONE - прописал адреса для гиры и акселя

#if defined(ALLINONE)
  #define ITG3200
  #define ITG3200_ADDRESS 0XD0
  #define BMA180
  #define BMA180_ADDRESS 0x82
  #define BMP085
  #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] =  X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
  #define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = -Y; magADC[PITCH]  = X; magADC[YAW]  = Z;}
#endif

на барометр приклеил на толстый 2-х сторонний скотч (предварительно пробойником сделав в середине отверстие 2 мм) кусочек паралона.

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

SovGVD

попробовал multiwii 1.8 на крыле

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

Adekamer
SovGVD:

попробовал multiwii 1.8 на крыле

ППЦ! слов нет!
ужас!

gena_g
SovGVD:

попробовал multiwii 1.8 на крыле

Сегодня тоже летал на крыле с multiwii 1.8. Шикарно стабилизируется и выравниваеться в горизонт.Правда я немного подретактировал код. Я могу в полете тримировать программно аксель, для точного выставления горизонта.
А у вас может не подходит микс элевонов прописаный в 1.8, я его тоже поменял

mahowik
Adekamer:

ППЦ! слов нет! ужас!

свой сперва покажите, а то тут хватает критков 😃