MultiWii
Павел! Огромное спасибо, сейчас буду изучать…
Если выбирать между:
HMC5883L BMA180 BMP085 ITG3200 Ublox NEO-6Q/M GPS 5V
и
HMC5883L BMA180 BMP085 ITG3200 sensors board 3.3V
Есть смысл вообще переплачивать? Получается только за GPS…
Касаемо первого варианта с GPS есть платки 5V и 3.3V я так понимаю лучше брать 3.3??
Я брал с GPS просто “про запас” - мультивий пока GPS не тянет, а Пирата - не тяну я.
5 или 3.3 - вопрос в том, что за Ардуинка, т.к. не на всех ардуинах есть выход на 3.3 вольта. Бери пятивольтовку - её-то точно можно хоть от BEC запитать!
И, да, что-бы не искал - где-то там рекомендуется на барометр прилепить какую-нить пористую фигню, что-бы с одной стороны - и пропускало давление воздуха, и с другой стороны - не колбасило от случайных потоков…
Буду переделывать тилт, дребезжит не нравится.
Нужна серва с пластиковыми или карбонитовыми шестернями! Мне это больше всего не понравилось в трикоптере
У меня есть микросерва HXT900, с пластиковыми шестернями, для трикоптера микро сервы - достаточно. Если что, то готов ее презентовать!
Алил, а как ты делал сам тилт? у меня просто мотор висит на валу сервы, скорее всего поэтому и трясется. Давай полетаем как нибудь на боровке, там часто приятная компания собирается я смотрю. У меня такая серва стоит на подвесе гоупрошки, чуть перевес центра тяжести и ее также начинает колбасить…
у меня просто мотор висит на валу сервы
это жесткач!!!
У меня была простейшая конструкция от пана Джакуба qudaframe.com, посмотри, может увидишь!
Да понял я понял 😃) У меня серва мини, 27 грамм, ей вообще все пофигу, но трясется… 😃
Павел? Беру вот эту платку и не парюсь тогда 😃 Так, на rcgroups помоему видел как подключать к фрдуино (у меня фридвино нано мини)… Большое спасибо!
Хочу пока отдохнуть от пирата. За это время появилась плата ALLINONE. Не смог найти внятной информации по использованию этой платы. Паять перемычки, не паять, если паять, то какие… 😦 Подскажите…
Если использовать прошивку 1.7 - где править?
А если 1.8?
Спасибо… 😃
появилась плата ALLINONE
ничего не паял - работает с обоими мозгами, только в вие надо поменять адрес акселя
в sensors.pde
#if !defined(BMA180_ADDRESS)
//#define BMA180_ADDRESS 0x80
#define BMA180_ADDRESS 0x82
#endif
ничего не паял - работает с обоими мозгами, только в вие надо поменять адрес акселя
в sensors.pde#if !defined(BMA180_ADDRESS) //#define BMA180_ADDRESS 0x80 #define BMA180_ADDRESS 0x82 #endif
Спасибо. А это в какой прошивке?
А это в какой прошивке?
1.8
Я брал с GPS просто “про запас” - мультивий пока GPS не тянет, а Пирата - не тяну я.
5 или 3.3 - вопрос в том, что за Ардуинка, т.к. не на всех ардуинах есть выход на 3.3 вольта. Бери пятивольтовку - её-то точно можно хоть от BEC запитать!И, да, что-бы не искал - где-то там рекомендуется на барометр прилепить какую-нить пористую фигню, что-бы с одной стороны - и пропускало давление воздуха, и с другой стороны - не колбасило от случайных потоков…
По поводу всетаки питания не очень понятно… если 5V то от вот этого регуля я смело запитаюсь?
Но тут возникает момент: если BEC будет линейный, а он линейный, то тут где-то на форуме писали что могут возникнуть помехи по питанию(( И надо использовать импульсный…
если BEC будет линейный, а он линейный, то тут где-то на форуме писали что могут возникнуть помехи по питанию(( И надо использовать импульсный
помехи от импульсного обычно.
пс. всем здрасти =)
Довольно давно уже наткнулся на этот раздел форума, и зацепило. сегодня уже пойду на почту забирать прилетевшую платку ALLINONE (первую версию заказал, так как ГПС модуль остался от прошлых опытов с ардуиной) и 2560-ю мегу (до этого нано в основном пользовался)
ну и раму строгаю неспешно =)
Вчера настраивал MultiWii 1.8
Выбрал в конфиге QuadX. Min/max настроил. Но смущает то, что не от тротла может только завестись моторы (светодиод на 13 pin горит), а остановитсья от тротла не может.
А самое забавное то, что соседним стиком (pitch) можно завести и остановить. Это нормально, что двумя разными стиками в режиме QuadX такоен вытворять можно?
а остановитсья от тротла не может
ищите строки
/* 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
leprud, нет… не так меня поняли… тротл влево вниз делаю, но светодиод от 13 контакта не гаснет. а если pitch вниз и влево - диод гаснет.
Оу, действительно неправильно понял.
Тогда можно попробовать триммернуть газ немного вниз, обычно помогает
Сейчас какие конечные точки у канала газа?
Это надо не триммернуть а увеличить end points, скорее всего не хватает по руддеру, раз не выключается руддеров, а по roll выключается нормально, pitch тут не причем. моторы выключаются/включаются или руддером или роллом когда троттл внизу. а троттла судя по всему хватает.
Это надо не триммернуть а увеличить end points, скорее всего не хватает по руддеру,
Да, спасибо.
#define MINTHROTTLE 1150
#define TILT_ROLL_MIN 1050
#define TILT_PITCH_MIN 1120
#define MINCHECK 1170 - вот я его выставлял равным MINTHROTTLE, а нужно было побольше
Моторы включатся и выключатся только при условии: if (rcData[THROTTLE] < MINCHECK)
Норберт суппер!
18-го оплатил сегодня уже получил bma020!!!
В 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
Не помогло.