MultiWii
Достаточно сделать нормальный Build Log и народ потянется
Это квест! Если человек смог пройти нулевой уровень - добро пожаловать в игру!
Это квест! Если человек смог пройти нулевой уровень - добро пожаловать в игру!
Да не квест это, а дурдом. Или кому-то что-то жмет, видимо асилили с трудом. Раз уж народ в этой теме не хочет спрашивать, а спрашивают у меня в личке, например. Мне-то ответить не жалко…
фигня это все…, просто структурированной информации нет.
И радовацца и гардицца тут не чем.
Разобраться можно. 92 стр на русском это не тысячи как на англ. написано.
Но всё таки лучше с нормальными датчиками делать, а не пиленными из фиг знает чего и как.
Но всё таки лучше с нормальными датчиками делать, а не пиленными из фиг знает чего и как.
Гиры дорогие. Itg3200 где-то от $40…
при условии, что аурдинка от $8, моушен плюс(последнее время все с itg3205) $8 - разница 😃.
а аксели и так не дорогие, да и в чаках не съедобные в последнее время.
Получаются вполне съедобные датчики за 3 копейки в базарный день.
Разобраться можно. 92 стр на русском это не тысячи как на англ. написано.
Да можно конечно, но сильно зависит от базовых знаний. По началу сложно понять от куда рыть 😃)
а где ты ардуину по 8 баксов нашол? как-то дешевле 13 без усб или за 16 с усб не вижу
а где ты ардуину по 8 баксов нашол? как-то дешевле 13 без усб или за 16 с усб не вижу
Писал по памяти, сори - $10
www.ebay.com/itm/280601525492
мне именно маленькая и лехкая нужна была, для комнатного мелколета
в любом случае еще регули 4х12, моторы 4х14, батарейка 17, зарядка для батарейки 20, пульт 30. итого от 200 баксов. стоимость датчиков на фоне становится не такой уж большой.
у меня все по 9 😃) регули 4х9, моторы 4х9, батарейка 9, приемник 9 это из того что может улететь своей дорогой 😃
Все остальное останется 😃
Да и пульты зарядки и т.п. уже есть обычно.
На фоне 100, все же стоимость мозга заметна.
Хотя конечно согласен, просто если ужЕ разобрался, зачем платить больше? 😃
Помоните подключить напрямую LCD на базе HD44780 к Arduino для Multiwii по такому принципу robocraft.ru/blog/arduino/503.html
Помогите пожалуйста с кодом в Multiwii. (т.к. на меге выходов пока хватает!)
Прошу ответить на банальный вопрос. С акселерометра идут три выхода: x, y, z.
Я считал, что соответственно отвечают за крен, тангаж и курс, но судя по ГУИ все совсем не так.
Научите, как правильно. Прошу сильно не пинать.
С акселерометра идут три выхода: x, y, z.
Я считал, что соответственно отвечают за крен, тангаж и курс
На оси x, y, z выполняется проекция суммарного вектора всех сил, действующих на датчик.
Когда датчик горизонтально расположен, на него действует только сила тяжести. По осям Х,У проекция этой силы = 0, по оси Z - будет некое число.
При наклоне датчика или появлении дополнительных сил (центростремительная, например) суммарный вектор всех сил проецируется на оси x, y, z в виде некоторых чисел.
В свободном падении по осям будет 0.
В свободном падении по осям будет 0.
Спасибо.
Это что же получается, что МультиВии высоту тоже отслеживает?
Спасибо.
Это что же получается, что МультиВии высоту тоже отслеживает?
При помощи баро датчика или жпс,или же совмесно для большей точности
МультиВии высоту тоже отслеживает?
Только проекции сил по осям. Именно так предлагается дополнить бародатчик для удержания высоты: ПИД по давлению воздуха, ПИД по оси Z: проекция F=m*(g-a). Коптер сваливается или взмывает вверх - идет возмущение по давлению воздуха, и по ускорению (g-a) по оси Z.
курс
Курс определяется только гироскопом (ДУС) и магнитометром.
Для компенсации наклона магнитометра нужен акселерометр.
Еще вопрос назрел. Скачал MultiWii_1_9.
Но вот не пойму, это какая то урезанная версия? или это заплатка?
Внутри нет выбора вида коптера и пр.
Искал по теме ничего по этому поводу не нашел.
Объясните, может я не то скачал или куда это вставить, чтобы получилась полная прошивка.
Работал с файлом MultiWii_1_9.pde
включили в прошивку мой мод 😃 правда называтся будет HEAD FREE
www.multiwii.com/forum/viewtopic.php?f=8&t=872&sta…
code.google.com/p/multiwii/source/diff?spec=svn406…
Работал с файлом
Неверно не в той папке открываете
если в MultiWiiConf_1_9 то там только MultiWiiConf_1_9.pde размером всего 47 кб
А надо в папке MultiWii_1_9 открывать любой pde, там есть всё.
Спасибо, все понял, там оказывается еще куча вкладок и надо открыть вкладку config.h
Может кому нибудь будет интересно
Код для пары еще одних датчиков.Один акселерометр,другой компас-акселерометр в одном корпусе.
// ************************************************************************
// LSM303DLHC I2C Accelerometer
// ************************************************************************
#if defined(LSM303DLHC)
// I2C adress: 0x32 (8bit)
void ACC_init(){
delay(10);
i2c_writeReg(LSM303DLHC_ADDRESS ,0x20 ,0x27 );
delay(5);
i2c_writeReg(LSM303DLHC_ADDRESS ,0x23 ,0xA8 );
acc_1G = 256;
}
void ACC_getADC(){
TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz
i2c_getSixRawADC(LSM303DLHC_ADDRESS,0x28+0x80); // Start multiple read at reg 0x28
ACC_ORIENTATION( (rawADC[3]<<8 | rawADC[2])/16,
-(rawADC[1]<<8 | rawADC[0])/16,
-(rawADC[5]<<8 | rawADC[4])/16);
ACC_Common();
}
#endif
// ************************************************************************
// LIS3DH I2C Accelerometer
// 1) CS PIN must be linked to VCC to select the I2C mode
// 2) SD0 PIN must be linked to VCC to select the right I2C adress
// ************************************************************************
#if defined(LIS3DH)
// I2C adress: 0x32 (8bit)
void ACC_init(){
delay(10);
i2c_writeReg(LIS3DH_ADDRESS ,0x20 ,0x57 );
delay(5);
i2c_writeReg(LIS3DH_ADDRESS ,0x23 ,0x88 );
acc_1G = 256;
}
void ACC_getADC(){
TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz
i2c_getSixRawADC(LIS3DH_ADDRESS,0x28+0x80); // Start multiple read at reg 0x28
ACC_ORIENTATION( (rawADC[3]<<8 | rawADC[2])/64,
-(rawADC[1]<<8 | rawADC[0])/64,
-(rawADC[5]<<8 | rawADC[4])/64);
ACC_Common();
}
#endif
// ************************************************************************************************************
// I2C Compass LSM303DLHC
// ************************************************************************************************************
// I2C adress: 0x3C (8bit)
// ************************************************************************************************************
#if defined(LSM303DLHC)
void Mag_init() {
delay(100);
i2c_writeReg(0X3C ,0x02 ,0x00 ); //Start the first conversion
delay(100);
}
void Device_Mag_getADC() {
i2c_getSixRawADC(0X3C,0X03);
MAG_ORIENTATION( ((rawADC[4]<<8) | rawADC[5]) ,
-((rawADC[0]<<8) | rawADC[1]) ,
-((rawADC[2]<<8) | rawADC[3]) );
}
#endif
Может кому нибудь будет интересно Код для пары еще одних датчиков.Один акселерометр,другой компас-акселерометр в одном корпусе.
в 1.9 уже добавили LSM303…
для остальних забросьте на офф форум, а то погибнут труды 😃
// ************************************************************************************************************
// I2C Accelerometer LSM303DLx
// contribution from wektorx ()
// ************************************************************************************************************
#if defined(LSM303DLx_ACC)
void ACC_init () {
delay(10);
i2c_writeReg(0x30,0x20,0x27);
i2c_writeReg(0x30,0x23,0x30);
i2c_writeReg(0x30,0x21,0x00);
acc_1G = 256;
}
void ACC_getADC () {
TWBR = ((16000000L / 400000L) - 16) / 2;
i2c_getSixRawADC(0x30,0xA8);
ACC_ORIENTATION( - ((rawADC[3]<<8) | rawADC[2])/16 ,
((rawADC[1]<<8) | rawADC[0])/16 ,
((rawADC[5]<<8) | rawADC[4])/16 );
ACC_Common();
}
#endif