MultiWii

Aleksei_D

Вот осваиваю данную тему, собрал tricopter на Arduino NANO ATMEGA328 + Wii Motion Plus +nunchuk, в GUI серва отрабатывает, наклоны тоже, а вот как заставить чтобы отрабатывали моторы, подскажите.

mahowik
Covax:

0,030 поставь смело))

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

я тут расстарался… прикрутил НЧ фильтр людской на АСС в ИМУ… к примеру на гиру (3205) он есть хардварный в широком диаппазоне, а для акселя дело хуже обстоит:

  • ADXL345: no
  • nunchak: no
  • bma020: 25Hz минимум (хотелось 10 Hz хотябы)
    исключение bma180: 10Hz - very good!!!

от тут кроче все написана, если проблемы будут понять… переведу…
также там есть возможность крутить полосу пропускания фильтра из ГУИ, т.е. в рантайме… потом соот-но подставить лучшее найденное значение в прошивку как константу, обычное число т.е.

mahowik
Aleksei_D:

Вот осваиваю данную тему, собрал tricopter на Arduino NANO ATMEGA328 + Wii Motion Plus +nunchuk, в GUI серва отрабатывает, наклоны тоже, а вот как заставить чтобы отрабатывали моторы, подскажите.

приемник подключить и стартануть движки (тротл вниз + яв вправо)
осильте полностью www.multiwii.com/faq и много проясниться…

skyrider
mahowik:

приемник подключить и стартануть движки (тротл вниз + яв вправо)
осильте полностью www.multiwii.com/faq и много проясниться…

если винты одеты и здоровые , а хвостовая серва в обе стороны по расходам 100%, то движки лучше на трикоптере стартавать питч вниз + рол вправо 😃

Siorinex
skyrider:

если винты одеты и здоровые , а хвостовая серва в обе стороны по расходам 100%, то движки лучше на трикоптере стартавать питч вниз + рол вправо 😃

Не знаю - ИМХО, но по-любому старт с “газ-вниз” - это какая-никакая, но гарантия, что при старте движков газ будет в минимуме: а вдруг случайно перед стартом умудрился его в максимум поставить? Стартуешь по питч-ролл, и… “Привет, потолок! Давно не виделись!”

Aleksei_D

А можно по подробней объяснить как стартовать, а то попробовал, не получается, приемник подключил.

Aleksei_D
Aleksei_D:

А можно по подробней объяснить как стартовать, а то попробовал, не получается, приемник подключил.

Вроде заработало, надо только порядок навести с отработкой по осям

kergo
Covax:

Смотрите какая нямка продается у китайского “Александра Иванова”
item.taobao.com/item.htm?id=1...&cm_id=&pm_id=
заказать можно через посредников, работающих с таобао

Сегодня написал знакомому китайцу чтобы он купил для меня эту платку, но сейчас ее не продают. Вот ответ.
Hi Alexandr,we checked and they said that item is in the testing and may available in November,please note.
$129.03/pc for now,may be higher in November due to exchange rate changed.

Covax

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

soliada
mahowik:

от тут кроче все написана, если проблемы будут понять… переведу…

Вопрос.Как и куда правильно вставить в код этот фильтр?

wmasta

Приехал нанчак, на KXSC4, он работать будет?)
Съездил сегодня в терраэлектронику, купил L3G4200D, спаял платку, подключил - на удивление работает) Даже, вроде, хорошо работает) Только развел на этой же платке место для ADXL345, ибо откуда то взял что он будет в этом нанчаке… Как я понял с KXSC4 по i2c напрямую multiwii работать не умеет?
И еще вопрос… У меня в режиме плей мультивииконф все время падает, просто вырубается программа или зависает на серый экран. От чего это? И как с этим бороться?

gena_g

У меня вопрос к грамотным программистам . Как ввести в код multiwii в режиме гироскопа режим удержания (аналогичный вертолетному гироскопу) или хотябы подскажите математику вычислений. Я понимаю что надо накапливать I (или отнимать в зависимости от направления поворота гироскопа) а в коде multiwii это значение сбрасывается.Заранее благодарен

Aleksei_D

Решил попробовать подключить аксел MMA7260 к А1,А2,А3, изменил строку #define ADCACC, при попытке перепрошить ругается void ACC_init(){
Подскажите что именно надо указать вот тут
// *************
// ADC ACC
// ***************
#if defined(ADCACC)
void ACC_init(){
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
acc_1G = 75;
}

void ACC_getADC() {
ACC_ORIENTATION( -analogRead(A1) ,
-analogRead(A2) ,
analogRead(A3) );
ACC_Common();
}
#endif

sulaex
Aleksei_D:

Решил попробовать подключить аксел MMA7260 к А1,А2,А3, изменил строку #define ADCACC, при попытке перепрошить ругается void ACC_init(){
Подскажите что именно надо указать вот тут
// *************
// ADC ACC
// ***************
#if defined(ADCACC)
void ACC_init(){
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
acc_1G = 75;
}

void ACC_getADC() {
ACC_ORIENTATION( -analogRead(A1) ,
-analogRead(A2) ,
analogRead(A3) );
ACC_Common();
}
#endif

ничего не надо там трогать
вам следует отключить аксели I2C:

/* I2C accelerometer */
//#define ADXL345
//#define BMA020
//#define BMA180
//#define NUNCHACK // if you want to use the nunckuk as a standalone I2C ACC without WMP
//#define LIS3LV02

на стенде аксель MMA6331L работает как часики
как только ставим на коптер, от вибрации сходит с ума
кто посоветует что сделать?
уменьшение вибрации не предлагать, так как до выпиливания этот аксель ведет себя нормально

Aleksei_D
sulaex:

/* I2C accelerometer */
//#define ADXL345
//#define BMA020
//#define BMA180
//#define NUNCHACK // if you want to use the nunckuk as a standalone I2C ACC without WMP
//#define LIS3LV02
на стенде аксель MMA6331L работает как часики
как только ставим на коптер, от вибрации сходит с ума
кто посоветует что сделать?
уменьшение вибрации не предлагать, так как до выпиливания этот аксель ведет себя нормально

Спасибо, заработала
Но возник другой вопрос как можно уменьшить чувствительность акселя в этом случае.

gensek

Коллеги, кто нибудь прикрутил Ultra Sonic, есть возможность использовать на MultiWii сонар?

Covax

Наш коллега, Гена Грабовский, выложив в ветке про Кук разведенную платку под мультивий в Lay5, которую можно сделать самостоятельно rcopen.com/forum/f123/topic229200/594 за что ему огромное спасибо!
Сразу задам вопрос ему вопрос, чтобы не править прошивку, надо видимо поменять направление датчиков?

gena_g

А чего проще X поменять c Y местами и еще подправить код для номеров каналов . Править все равно прийдется так как у меня на плате выход buzzer portb.0 задействован под aux2. Прошивку для этой платы я выложу ,не проблема
На моей плате таке расположение выводов

gena_g

Тут небольшая ошибочка . Гироскоп L3G4200D.

Covax
gena_g:

Прошивку для этой платы я выложу ,не проблема

Гена, ждем. Ну поидее лучше сразу поменять расположение датчика чтобы каждый раз прошивку не менять, так как прошивка меняется переодически.