MultiWii

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
zvuk_Irkutsk

Наткнулся тут на просторах тырнета.
После просмотра пять раз пересматривал, думаю здесь ссылку дать уместно будет? Издевательство просто! Над коптером! Но так круто!

После такого видео хочется завести себе такого-вот зверька с FreeFlight IMU

Covax

ну тут гира img3200 и bma180 участвуют, так что можно и без ff imu так полетать 😃

mahowik

кто нить пробовал этот патч или все дружно сказали спасиба и забыли?! 😃

Alex27111972

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