MultiWii
Некоторые, делают проточку дремелем.
Значит отчитываюсь за 2 дня “полетов”.
Сломано 4 пропа, погнуто 2 вала у моторов (кстати если кто знает где купить вал 3.17х45мм в Москве - буду оч благодарен).
Итого: висит нормально, но как только начинается движение в любую стоорну - начинаются какие-то провалы, это даже не осциляции, а что-то другое. Видео выложу вечером.Образовалась вторая проблема, из-за нее я скорее всего откажусь от продолжения работы с мультиви. 2 раза коптер просто падал замертво (в следствии чего и было поломано 2 мотора). Выглядит это так - коптер перестает реагировать на стики и падает как кирпич. Причем это как на 100кгц там и на 400кгц.
Собственно вот так оно летает:
www.youtube.com/watch?v=mS8Lwpg10x4
Падения к сожалению не засняли
Ну купи ты ж себе нормальные датчики то уже, ну понятно жеж что вимоушен 3205 глючное железо, нервы свои и наши дороже 😃 кстати на seeedstudio.com вышла серия датчиков twig, там и itg3200 есть и акселерометры, при заказе на $50 доставка с треком бесплатная.
просто падал замертво
Игрался с “файл сэйвом”?
Всётаки установил Блютус на квадрик.Ляпота,квадрик на полу без проводов,а графики бегут.😁
Игрался с “файл сэйвом”?
А он бы не сработал, это i2c шина висла
А как ты знаешь,что это по й2с проблемма?Гиру питаеш 12д?
Кста.А сами луичи надо заземлять на общий минус?как никак статика от трения винтов с восдухом хорошо заряжает.В вертолётах заземляют,правда там там ремень с бумом динамят.
Нет, питание было от 3.3вольт статичное, в том и проблема.
А что это еще может быть кроме зависания i2c?
Вчера вечером запитал плату от 5в 12ого пина, оставил на ночь. Утром смотрю гуи - циферки цикла бегут, но вот как плату ни тряс - графики стояли на месте. Это что может быть?
Еще у меня есть подозрение, что когда коптер падал замертво это мог быть катофф по питанию, что есть достаточно странно, потому что использую баззер и судя по нему с питанием все было ок
Ну не знаю даже,может ещё и приёмник ,гдето был разговор,про зависание 3200 гиры даже кусок проги Олег собрал.
А вот как с блютозом работает.
Блин микроноут джаву не тянет прога включается,а граф и цыфры исчезают,как лечить???
Саша, супер! а ты где и какой блютуз модуль купил и подключил? Можешь дать ссылку и написать краткое howto о том, как подключить (и видимо в скетч добавить строчки кода).
снова фиг найдешь, как пилить:
вот такой датчик:
img845.imageshack.us/img845/3084/itg3205.png (1814 Kb)
заодно с инструкцией и всё такое wbb.multiwii.com/viewtopic.php?f=6&t=27&start=20
смущает то что +2.8в… делитель мутить? или 3.3в подать?
снова фиг найдешь, как пилить:
вот такой датчик:
img845.imageshack.us/img845/3084/itg3205.png (1814 Kb)
заодно с инструкцией и всё такое wbb.multiwii.com/viewtopic.php?f=6&t=27&start=20
смущает то что +2.8в… делитель мутить? или 3.3в подать?
Если есть возможность не пилить то можно подать питание на стандартные пины +5V, а сигнальные линии подцепить к резисторам как на картинке. По такой схеме на R6 как раз и будет 2,8V.
Можешь дать ссылку и написать краткое howto
Во-во. А когда я искал человека, который токое делал, так мне кто-то сказал, мол на фиг тебе енто надо?
снова фиг найдешь, как пилить:
вот такой датчик:
img845.imageshack.us/img845/3084/itg3205.png (1814 Kb)
заодно с инструкцией и всё такое wbb.multiwii.com/viewtopic.php?f=6&t=27&start=20
смущает то что +2.8в… делитель мутить? или 3.3в подать?
Резать так. Правда выпадает один конденсатор между землей и питанием на 10 нФ, но думаю и без него работать будет. Подавать 3.3 В.
краткое howto о том, как подключить
ВТ Покупал тут.
В ардуине ничего не прописывал,а вот в блютусе поменял скорость проёмопередачи с 9600 на 115200,это обязательно иначе не заработает,думаю можно перевести и в ардуине на 9600 ,только я не пробовал.Если у вас ВТ обнаружывает под именем “linvo r”,значит нижеописанная процедура подойдет,остальным не гарантирую.
Для того что-бы прописать БТ,нужно закоротить 24 ногу на +3.3V,подключить к ком портуx-tx,
FTDI -->BT Module
GND —> GND
5V --> +5V
RX --> TX
TX --> RX
запустить sscom32E ,выбрать ком порт и отправить команду AT, если ответит ОК,значит,всё подключено правильно,дальше комануем AT+BAUD8 переводим прогу на 115200OK ,и если хочется,можно переименовать ВТ,при помощи команды AT+NAMEХХХХ…
Устанавливаем на компе TOSHIBA Bluetooth Stack , устанавливать обязательно,другие проги такие как блюсолейд не подходят.
Подключаем к ардуине.
Arduino --> BT Module
GND —> GND
VCC --> +5V
RX --> TX
TX --> RX
Находим ВТ чезез TOSHIBA Bluetooth Stack включаем MultiWiiConf,наслаждаемся.😃
Описание на англ.
П.С. Уф.Написал😒,а вот помочь подружить микроноут с MultiWiiConf никто не хочет.😦
фиг найдешь, как пилить
вид снизу. На эту площадку кинуть землю!!! Фото старое, еще без земляного провода для кондера. Из этого земляного поля идет металлизированная дырочка на лицевую часть с кондером. - в общем, вначале прозвоните низ платы, найдите землю. После отпиливания верните туда землю проводком.
2.8В - возникают, если не пилить плату, а питать в штатные пины. Тогда внутренний регулятор даст 2.8В там для питания нунчака. Если отпили - туда подаете 3.3В. Два резистора на этой шине - подтяжки для scl и sda.
брал ВТ
goodLuckbuy BT - такой?
Он самый.
А кто-то купил себе FreeFlight IMU 1.22L?
Стоит взять или в нем есть какие то косяки?
стоит, к нему можно пихнуть мегу и gps и летать на ArduPirates по точкам =)
Чето не могу заказать с viacopter’а
Error: Please select another Shipping Method.
Error: Please select another Shipping Method.
там 2 варианта доставки - письмом и посылкой, оба выдают такую ошибку, ни у кого не было такого?
не могу заказать с viacopter’а
rcopen.com/forum/f134/topic219701/368
rcopen.com/forum/f134/topic219701/370
пришел пульт: все стики кроме throttle отрабатывают почти идеальные RAW значения 1000-2000, а вот газ чето от 1100 до 1880 примерно - это нормально или перемапить придется в прошивке? и чето как то значения не идеально стоят, а ±10, хотя в прошивке потом сглаживается такое поведение немного… после идеально цифрового кода - немного настораживает =)
Если кто-то хочет поправить это безобразие, сделайте так:
В конце проедуры configure receiver дописать:TCCR4A =0; //standard mode with overflow no ints
TCCR4B = (1<<CS11); //Prescaler set to 8, that give us a resolution of 0.5us, read page 134 of data sheetНиже по тексту найти
cTime = micros(); // micros() return a uint32_t, but it is not usefull to keep the whole bits => we keep only 16 bits
и заменить на
cTime = TCNT4>>1; // micros() return a uint32_t, but it is not usefull to keep the whole bits => we keep only 16 bits
применил этот патч, в итоге rear left перестал выдавать ШИМ (6-й PWM пин ардуины на atmega1280). Пробовал ипользовать 7-й, 8-й пины…тотже результат…
При чем патч применил давно и забыл, а тут уже с движками начал играться и начались танцы с бубном… уж было подумал что пины попалил, т.к. 2,3,5-й PWM работали отлично и с патчем… Убрал патч все заработало…
вот код… возможно я не так пропатчил
// Configure each rc pin for PCINT
void configureReceiver() {
#ifndef SERIAL_SUM_PPM
for (uint8_t chan = 0; chan < 8; chan++)
for (uint8_t a = 0; a < 4; a++)
rcData4Values[chan][a] = 1500; //we initiate the default value of each channel. If there is no RC receiver connected, we will see those values
#if defined(PROMINI)
// PCINT activated only for specific pin inside [D0-D7] , [D2 D4 D5 D6 D7] for this multicopter
PORTD = (1<<2) | (1<<4) | (1<<5) | (1<<6) | (1<<7); //enable internal pull ups on the PINs of PORTD (no high impedence PINs)
PCMSK2 |= (1<<2) | (1<<4) | (1<<5) | (1<<6) | (1<<7);
PCICR = 1<<2; // PCINT activated only for the port dealing with [D0-D7] PINs
#endif
#if defined(MEGA)
// PCINT activated only for specific pin inside [A8-A15]
DDRK = 0; // defined PORTK as a digital port ([A8-A15] are consired as digital PINs and not analogical)
PORTK = (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7); //enable internal pull ups on the PINs of PORTK
PCMSK2 |= (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7);
PCICR = 1<<2; // PCINT activated only for PORTK dealing with [A8-A15] PINs
#endif
#else
PPM_PIN_INTERRUPT
#endif
TCCR4A =0; //standard mode with overflow no ints
TCCR4B = (1<<CS11); //Prescaler set to 8, that give us a resolution of 0.5us, read page 134 of data sheet
}
#ifndef SERIAL_SUM_PPM
ISR(PCINT2_vect) { //this ISR is common to every receiver channel, it is call everytime a change state occurs on a digital pin [D2-D7]
uint8_t mask;
uint8_t pin;
uint16_t cTime,dTime;
static uint16_t edgeTime[8];
static uint8_t PCintLast;
#if defined(PROMINI)
pin = PIND; // PIND indicates the state of each PIN for the arduino port dealing with [D0-D7] digital pins (8 bits variable)
#endif
#if defined(MEGA)
pin = PINK; // PINK indicates the state of each PIN for the arduino port dealing with [A8-A15] digital pins (8 bits variable)
#endif
mask = pin ^ PCintLast; // doing a ^ between the current interruption and the last one indicates wich pin changed
sei(); // re enable other interrupts at this point, the rest of this interrupt is not so time critical and can be interrupted safely
PCintLast = pin; // we memorize the current state of all PINs [D0-D7]
//cTime = micros(); // micros() return a uint32_t, but it is not usefull to keep the whole bits => we keep only 16 bits
cTime = TCNT4>>1; // micros() return a uint32_t, but it is not usefull to keep the whole bits => we keep only 16 bits