MultiWii

Sevick
dROb:

Я проверял - у меня проблема не в PPM-SUM. У меня то же самое, и в случае по-канальной передаче сигнала… Зависает кстати на 1-1.5 секунды…

Маленькая поправка. При двух каналах >1900 (а не >2000)

В коде особых граблей не видно. Сейчас буду проверять своей ppm-читалкой и ppm-генерилкой…

HATUUL

Народ чего вы гадаете?Поставте уже себе на фриску прошивку с увеличеным PPM кадром с 18 до 27 милисек.
Я лично зашил на свой D8R-II прошивку от D8R-XP и всё отлично работает.При замыкании 3 и 4 каналов на первом канале появляется 27мс РРМ,а на втором рсси.Без перемычки приёмник работает в обычном режиме.

Вот адрес прошивки.
frsky-rc.com/DownloadItem.asp

А вот сылка на прошивку.
frsky-rc.com/uploadfile/…/20121010020017621.zip

Sevick
HATUUL:

Народ чего вы гадаете?Поставте уже себе на фриску прошивку с увеличеным PPM кадром с 18 до 27 милисек.
Я лично зашил на свой D8R-II прошивку от D8R-XP и всё отлично работает.При замыкании 3 и 4 каналов на первом канале появляется 27мс РРМ,а на втором рсси.Без перемычки приёмник работает в обычном режиме.

Вот адрес прошивки.
frsky-rc.com/DownloadItem.asp

А вот сылка на прошивку.
frsky-rc.com/uploadfile/…/20121010020017621.zip

Для моего ресивера update’а нету, да и сомневаюсь что в этом дело. Не любые два канала >1900, а именно при thr>1900 + еще один канал. В коде mwii тротл (но не ппм) также используется для отсечки по failsafe…

И вот еще - зависание - это зависание mwii, а не ресивера. При зависании WinGui начинает показывать отрицательный loop time (видимо переполняясь)

alexmos
Sevick:

Маленькая поправка. При двух каналах >1900 (а не >2000) В коде особых граблей не видно. Сейчас буду проверять своей ppm-читалкой и ppm-генерилкой…

А какая прошивка у вас? Какое доп. оборудование или режимы включены?
Я провел небольшое исследование - приемник не при чем, после зависания я перетыкаю приемник, и ничего не меняется. Зависает совершенно спонтанно, иногда даже просто оставляю приемник в покое в центральных положениях стиков, через 5 минут смотрю - завис цикл чтения. Все остальное работает в GUI. Очень похоже, что проблема только в моей модифицированной прошивке, т.к. раньше ничего подобного не было. Но что я там менял в последний раз - не помню 😦

Sevick

Бага в коде.

Комментируем в MultiWii_2_1.ino строчки с

----------------
// end of failsave routine - next change is made with RcOptions setting
if (rcData[THROTTLE] < MINCHECK) {
----------------

(у меня это ~626 строка) и до

----------------
#if defined(INFLIGHT_ACC_CALIBRATION)
if (AccInflightCalibrationArmed && f.ARMED && rcData[THROTTLE] > MINCHECK && !rcOptions[BOXARM] ){ // Copter is airborne and you are turning it off via boxarm : start measurement
InflightcalibratingA = 50;
AccInflightCalibrationArmed = 0;
}
if (rcOptions[BOXPASSTHRU]) { // Use the Passthru Option to activate : Passthru = TRUE Meausrement started, Land and passtrhu = 0 measurement stored
if (!AccInflightCalibrationActive && !AccInflightCalibrationMeasurementDone){
InflightcalibratingA = 50;
}
}else if(AccInflightCalibrationMeasurementDone && !f.ARMED){
AccInflightCalibrationMeasurementDone = 0;
AccInflightCalibrationSavetoEEProm = 1;
}
#endif
----------------

(у меня это 775 строка). Включительно.

После чего проблемы в WinGui не наблюдается. Очевидно, проблема все-таки не в ppm-sum frsky, а в коде Mwii…
Летать не пробовал - надо смотреть внимательно код - я мог и что лишнее закомментить -)

ps. hatuul - проверьте, пожалуйста, что у вас проблема при выкрученном thr действительно отсутствует

alexmos:

А какая прошивка у вас? Какое доп. оборудование или режимы включены?
Я провел небольшое исследование - приемник не при чем, после зависания я перетыкаю приемник, и ничего не меняется. Зависает совершенно спонтанно, иногда даже просто оставляю приемник в покое в центральных положениях стиков, через 5 минут смотрю - завис цикл чтения. Все остальное работает в GUI. Очень похоже, что проблема только в моей модифицированной прошивке, т.к. раньше ничего подобного не было. Но что я там менял в последний раз - не помню 😦

2.1- #TRI
тестюсь на самой простой - без gps, баро, магнита
последовательно вырубил все что можно - не помогало

pps. у меня при этом залипании он начинает мигать синим диодиком. Ощущение что пытается в какую-нибудь настройку зайти…

Sevick

Ложная тревога -)

Зависание имеет место быть только в disarm состоянии - действительно настройки. В Arm - все ок, не виснет

erohin

Вечер добрый, подскажите как в прошивке MultiWii_2_1_b3 переназначить сумарный PPM с входа RX на THROTTLE, плата контроллера crius ALL IN ONE PRO v1.0 на меге 2560

mahowik
HATUUL:

При замыкании 3 и 4 каналов на первом канале появляется 27мс РРМ,а на втором рсси.

О! свежак (10/10/2012)!
ты кстати RSSI (PWM) не пробовал мобидрону кормить? или ему только аналоговый RSSI подойдет, которого в D8R-II(XP) нет похоже… хотя из ШИМ-а в аналог не трудно перегнать… не гугля по идее обычный RC фильтр прокатит…

erohin:

Вечер добрый, подскажите как в прошивке MultiWii_2_1_b3 переназначить сумарный PPM с входа RX на THROTTLE, плата контроллера crius ALL IN ONE PRO v1.0 на меге 2560

поищите тут… вроде было…

upd: rcopen.com/forum/f123/topic283798/128

HATUUL
mahowik:

мобидрону кормить

Уже третий месяц кормиться посмотри на мои видео.Кстати рсси почти аналоговый (ШИМ) мобидрон их хорошо принимает через резюк и кандёр запитаный на землю.Силу сигнала отображает почти такую-же как на пульте ±10%.

mahowik
HATUUL:

мобидрон их хорошо принимает через резюк и кандёр запитаный на землю.

mahowik:

не гугля по идее обычный RC фильтр прокатит…

так про то и писал 😃
подскажи плз. параметры фильтра, т.е. какой кондер и резюк?

HATUUL

Уже не помну,брал,что под руку попалось.
Если не ошибаюсь кандер 10 нФ запаралелен с резюком 1к.
В обрыв кажетса 100 или 50 ом ставил.

erohin
erohin:

Вечер добрый, подскажите как в прошивке MultiWii_2_1_b3 переназначить сумарный PPM с входа RX на THROTTLE, плата контроллера crius ALL IN ONE PRO v1.0 на меге 2560

отвечу на свой вопрос, разобрался такая возможность появилась в MultiWii dev version r1143 (2012/09/27)
необходимо отредактировать в
RX.ino после
/**************************************************************************************/
/*************** PPM SUM RX Pin reading ********************/
/**************************************************************************************/
// attachInterrupt fix for promicro
#if defined(PROMICRO) && defined(SERIAL_SUM_PPM)
ISR(INT6_vect){rxInt();}
#endif

вписать

#if defined(PPM_ON_THROTTLE) && defined(MEGA) && defined(SERIAL_SUM_PPM)
ISR(PCINT2_vect) { if(PINK & (1<<0)) rxInt(); }
#endif

затем в def.h в
/************************** all the Mega types ***********************************/
найти #define PPM_PIN_INTERRUPT attachInterrupt(4, rxInt, RISING); //PIN 19, also used for Spektrum satellite option
и заменить на
#if defined(PPM_ON_THROTTLE)
//configure THROTTLE PIN (A8 pin) as input witch pullup and enabled PCINT interrupt
#define PPM_PIN_INTERRUPT DDRK &= ~(1<<0); PORTK |= (1<<0); PCMSK2 |= (1<<0); PCICR |= (1<<2);
#else
#define PPM_PIN_INTERRUPT attachInterrupt(4, rxInt, RISING); //PIN 19, also used for Spektrum satellite option
#endif

и последнее в config.h после раскоменченного желаемого PPM дописать #define PPM_ON_THROTTLE

например так

/**************************************************************************************/
/******** special receiver types ********************/
/**************************************************************************************/
/**************************** PPM Sum Reciver ***********************************/
/* The following lines apply only for specific receiver with only one PPM sum signal, on digital PIN 2
Select the right line depending on your radio brand. Feel free to modify the order in your PPM order is different */
//#define SERIAL_SUM_PPM PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4 //For Graupner/Spektrum
//#define SERIAL_SUM_PPM ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4 //For Robe/Hitec/Futaba
#define SERIAL_SUM_PPM PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4 //For some Hitec/Sanwa/Others
#define PPM_ON_THROTTLE

проверил работает.
ну както так…

HATUUL

Пробигал по настройкам передатчика с Эразовской прошивкой.,и обнаружил две не совсем понятные сторки.

PPM Frame Length для нашего случая лучше 27?
РРМ пауза-это пауза между пакетами?
😵

gorbln

Столкнулся с такой фигнёй:
Если включить управление подвесом - то каналы AUX3 и AUX4 - автоматом мапятся на поворот камеры по питчу и роллу соответственно. (вообще, на AIOP есть специальные пины под это дело, но они походу не используются). У меня на AUX3 висит переключение режимов. Соответственно, при щелчке переключателем камера поворачивается хрен-те-куда.
Мне это не понравилось, сделал вот такое решение, может быть кому-то окажется полезно:
config.h

  /*  Camstab pitch control only by one channel, uncomment only one option. Roll control is disabled.
        E.g. CAM_STAB_AUX4_ONLY means that signal from AUX4 used to control pitch of the gimbal and AUX3 is ignored.
        === affects Output.ino - Cam stabilize Sevos section === */
  //  #define CAM_STAB_AUX3_ONLY
    #define CAM_STAB_AUX4_ONLY

output.ino
сначала надо удалить кусок

S_PITCH = TILT_PITCH_MIDDLE + rcData[AUX3]-1500;
    S_ROLL  = TILT_ROLL_MIDDLE  + rcData[AUX4]-1500;

и потом добавить

 #if defined(CAM_STAB_AUX3_ONLY)
     S_PITCH = TILT_PITCH_MIDDLE + rcData[AUX3]-1500;
     S_ROLL  = TILT_ROLL_MIDDLE;
   #endif
   #if defined(CAM_STAB_AUX4_ONLY)
     S_PITCH = TILT_PITCH_MIDDLE + rcData[AUX4]-1500;
     S_ROLL  = TILT_ROLL_MIDDLE;
   #endif
   #if !defined(CAM_STAB_AUX3_ONLY) && !defined(CAM_STAB_AUX4_ONLY)
    S_PITCH = TILT_PITCH_MIDDLE + rcData[AUX3]-1500;
    S_ROLL  = TILT_ROLL_MIDDLE  + rcData[AUX4]-1500;
   #endif
dROb

Подскажите - подключил тут BUZZER - так вот он непрерывно пищит. Что это за фигня?
P.S. Алярм по батарейке (VBAT) отключен.

mahowik

какая прошивка? какой контроллер? на какой пин повесили?
и где купили пищалку? мне ссылку так толком и не дал ни кто… 😃

dROb
mahowik:

какая прошивка? какой контроллер? на какой пин повесили?
и где купили пищалку? мне ссылку так толком и не дал ни кто… 😃

Прошивка 2.1. Плата - с хоббикинга, вот эта - MultiWii 328P Flight Controller w/FTDI & DSM2 Port
Пин там отдельный, спецом для Буззера, сейчас прозвоню куда идёт…

Пищалку, что досадно, ждал 3 недели с ебея, вот отсюда, но судя по всему Активная Пищалка (то есть с генератором тона) мультивию уже не нужна. Хватает обычной пищалки/динамика/etc от чего угодно!! Щас вот например просто от компа подключена …

UPDATE:
В общем оказалось что я слушал PPM сигнал, т.к. китайцы, кто разводил плату - BUZZER на пин D9 повесили, а там собсно один из моторов висит

Так к какому пину этот баззер вообще подключать? TX чтоли? 32ой пин Атмеги?

mahowik
dROb:

но судя по всему Активная Пищалка (то есть с генератором тона) мультивию уже не нужна

нужна… отлистайте страницу-две… я как раз с этим столкнулся

dROb:

Так к какому пину этот баззер вообще подключать?

/**************************   atmega328P (Promini)  ************************************/
#if defined(PROMINI)
  #if !defined(MONGOOSE1_0)
    #define LEDPIN_PINMODE             pinMode (13, OUTPUT);
    #define LEDPIN_TOGGLE              PINB |= 1<<5;     //switch LEDPIN state (digital PIN 13)
    #define LEDPIN_OFF                 PORTB &= ~(1<<5);
    #define LEDPIN_ON                  PORTB |= (1<<5);
  #endif
  #if !defined(RCAUXPIN8)
    #if !defined(MONGOOSE1_0)
      #define BUZZERPIN_PINMODE          pinMode (8, OUTPUT);
      #define BUZZERPIN_ON               PORTB |= 1;
      #define BUZZERPIN_OFF              PORTB &= ~1;
    #endif
  #else
    #define BUZZERPIN_PINMODE          ;
    #define BUZZERPIN_ON               ;
    #define BUZZERPIN_OFF              ;
    #define RCAUXPIN
  #endif

по идее для 328-й меги будет D8…

dROb
mahowik:

нужна… отлистайте страницу-две… я как раз с этим столкнулся

по идее для 328-й меги будет D8…

Ещё раз спасибо! Проверил на другой платке - мой Активный Баззер с ebay работает. Правда придётся его немного модифицировать - по умолчанию он задуман включаться когда отдельную ножку замыкаем на землю. Повесил его напрямую к ноге Атмеги - потребляет 20мА…
Завтра отпилю от него схемку активации ножкой на землю, либо выпаяю, останется один Активный Баззер фирмы HYDZ (на заметку - судя по всему эта фирма делает пищалки уже с генератором внутри).