MultiWii

YAN=

Некоторые, делают проточку дремелем.

Wishnu
Wishnu:

Значит отчитываюсь за 2 дня “полетов”.
Сломано 4 пропа, погнуто 2 вала у моторов (кстати если кто знает где купить вал 3.17х45мм в Москве - буду оч благодарен).
Итого: висит нормально, но как только начинается движение в любую стоорну - начинаются какие-то провалы, это даже не осциляции, а что-то другое. Видео выложу вечером.

Образовалась вторая проблема, из-за нее я скорее всего откажусь от продолжения работы с мультиви. 2 раза коптер просто падал замертво (в следствии чего и было поломано 2 мотора). Выглядит это так - коптер перестает реагировать на стики и падает как кирпич. Причем это как на 100кгц там и на 400кгц.

Собственно вот так оно летает:

www.youtube.com/watch?v=mS8Lwpg10x4

Падения к сожалению не засняли

Covax

Ну купи ты ж себе нормальные датчики то уже, ну понятно жеж что вимоушен 3205 глючное железо, нервы свои и наши дороже 😃 кстати на seeedstudio.com вышла серия датчиков twig, там и itg3200 есть и акселерометры, при заказе на $50 доставка с треком бесплатная.

HATUUL
Wishnu:

просто падал замертво

Игрался с “файл сэйвом”?

Всётаки установил Блютус на квадрик.Ляпота,квадрик на полу без проводов,а графики бегут.😁

Wishnu
HATUUL:

Игрался с “файл сэйвом”?

А он бы не сработал, это i2c шина висла

HATUUL

А как ты знаешь,что это по й2с проблемма?Гиру питаеш 12д?
Кста.А сами луичи надо заземлять на общий минус?как никак статика от трения винтов с восдухом хорошо заряжает.В вертолётах заземляют,правда там там ремень с бумом динамят.

Wishnu

Нет, питание было от 3.3вольт статичное, в том и проблема.
А что это еще может быть кроме зависания i2c?
Вчера вечером запитал плату от 5в 12ого пина, оставил на ночь. Утром смотрю гуи - циферки цикла бегут, но вот как плату ни тряс - графики стояли на месте. Это что может быть?
Еще у меня есть подозрение, что когда коптер падал замертво это мог быть катофф по питанию, что есть достаточно странно, потому что использую баззер и судя по нему с питанием все было ок

HATUUL

Ну не знаю даже,может ещё и приёмник ,гдето был разговор,про зависание 3200 гиры даже кусок проги Олег собрал.
А вот как с блютозом работает.

Блин микроноут джаву не тянет прога включается,а граф и цыфры исчезают,как лечить???

Covax

Саша, супер! а ты где и какой блютуз модуль купил и подключил? Можешь дать ссылку и написать краткое howto о том, как подключить (и видимо в скетч добавить строчки кода).

Cerberus
SovGVD:

снова фиг найдешь, как пилить:
вот такой датчик:
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.

YAN=
Covax:

Можешь дать ссылку и написать краткое howto

Во-во. А когда я искал человека, который токое делал, так мне кто-то сказал, мол на фиг тебе енто надо?

vtumane
SovGVD:

снова фиг найдешь, как пилить:
вот такой датчик:
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 В.

HATUUL
Covax:

краткое 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 никто не хочет.😦

Musgravehill
SovGVD:

фиг найдешь, как пилить

вид снизу. На эту площадку кинуть землю!!! Фото старое, еще без земляного провода для кондера. Из этого земляного поля идет металлизированная дырочка на лицевую часть с кондером. - в общем, вначале прозвоните низ платы, найдите землю. После отпиливания верните туда землю проводком.

2.8В - возникают, если не пилить плату, а питать в штатные пины. Тогда внутренний регулятор даст 2.8В там для питания нунчака. Если отпили - туда подаете 3.3В. Два резистора на этой шине - подтяжки для scl и sda.

HATUUL:

брал ВТ

goodLuckbuy BT - такой?

Wishnu

А кто-то купил себе FreeFlight IMU 1.22L?
Стоит взять или в нем есть какие то косяки?

SovGVD

стоит, к нему можно пихнуть мегу и gps и летать на ArduPirates по точкам =)

Wishnu

Чето не могу заказать с viacopter’а
Error: Please select another Shipping Method.
Error: Please select another Shipping Method.
там 2 варианта доставки - письмом и посылкой, оба выдают такую ошибку, ни у кого не было такого?

mahowik
SovGVD:

пришел пульт: все стики кроме throttle отрабатывают почти идеальные RAW значения 1000-2000, а вот газ чето от 1100 до 1880 примерно - это нормально или перемапить придется в прошивке? и чето как то значения не идеально стоят, а ±10, хотя в прошивке потом сглаживается такое поведение немного… после идеально цифрового кода - немного настораживает =)

Syberian:

Если кто-то хочет поправить это безобразие, сделайте так:
В конце проедуры 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