MultiWii

nemo61
SovGVD:

ничего не паял - работает с обоими мозгами, только в вие надо поменять адрес акселя
в sensors.pde

#if !defined(BMA180_ADDRESS)
 //#define BMA180_ADDRESS 0x80
 #define BMA180_ADDRESS 0x82
#endif

Спасибо. А это в какой прошивке?

juniorluck
Siorinex:

Я брал с GPS просто “про запас” - мультивий пока GPS не тянет, а Пирата - не тяну я.
5 или 3.3 - вопрос в том, что за Ардуинка, т.к. не на всех ардуинах есть выход на 3.3 вольта. Бери пятивольтовку - её-то точно можно хоть от BEC запитать!

И, да, что-бы не искал - где-то там рекомендуется на барометр прилепить какую-нить пористую фигню, что-бы с одной стороны - и пропускало давление воздуха, и с другой стороны - не колбасило от случайных потоков…

По поводу всетаки питания не очень понятно… если 5V то от вот этого регуля я смело запитаюсь?
Но тут возникает момент: если BEC будет линейный, а он линейный, то тут где-то на форуме писали что могут возникнуть помехи по питанию(( И надо использовать импульсный…

Boev_Dmitry
juniorluck:

если BEC будет линейный, а он линейный, то тут где-то на форуме писали что могут возникнуть помехи по питанию(( И надо использовать импульсный

помехи от импульсного обычно.

пс. всем здрасти =)
Довольно давно уже наткнулся на этот раздел форума, и зацепило. сегодня уже пойду на почту забирать прилетевшую платку ALLINONE (первую версию заказал, так как ГПС модуль остался от прошлых опытов с ардуиной) и 2560-ю мегу (до этого нано в основном пользовался)
ну и раму строгаю неспешно =)

Ar2r

Вчера настраивал MultiWii 1.8
Выбрал в конфиге QuadX. Min/max настроил. Но смущает то, что не от тротла может только завестись моторы (светодиод на 13 pin горит), а остановитсья от тротла не может.

А самое забавное то, что соседним стиком (pitch) можно завести и остановить. Это нормально, что двумя разными стиками в режиме QuadX такоен вытворять можно?

leprud
Ar2r:

а остановитсья от тротла не может

ищите строки

/* motors will not spin when the throttle command is in low position
this is an alternative method to stop immediately the motors */
//#define MOTOR_STOP

Ar2r

leprud, нет… не так меня поняли… тротл влево вниз делаю, но светодиод от 13 контакта не гаснет. а если pitch вниз и влево - диод гаснет.

leprud

Оу, действительно неправильно понял.
Тогда можно попробовать триммернуть газ немного вниз, обычно помогает
Сейчас какие конечные точки у канала газа?

Covax

Это надо не триммернуть а увеличить end points, скорее всего не хватает по руддеру, раз не выключается руддеров, а по roll выключается нормально, pitch тут не причем. моторы выключаются/включаются или руддером или роллом когда троттл внизу. а троттла судя по всему хватает.

Ar2r
Covax:

Это надо не триммернуть а увеличить end points, скорее всего не хватает по руддеру,

Да, спасибо.
#define MINTHROTTLE 1150
#define TILT_ROLL_MIN 1050
#define TILT_PITCH_MIN 1120
#define MINCHECK 1170 - вот я его выставлял равным MINTHROTTLE, а нужно было побольше
Моторы включатся и выключатся только при условии: if (rcData[THROTTLE] < MINCHECK)

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х крутилок