MultiWii

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 (на заметку - судя по всему эта фирма делает пищалки уже с генератором внутри).

mahowik

из описания:
3, active low, can direct connect with single-chip IO control

т.е. по идее он активен при подаче логического “0”-ля… потому просто попробуйте поменяйть в коде это

      #define BUZZERPIN_ON               PORTB |= 1;
      #define BUZZERPIN_OFF              PORTB &= ~1;

на это

      #define BUZZERPIN_ON             PORTB &= ~1;
      #define BUZZERPIN_OFF            PORTB |= 1;

т.е. инвертировать…

upd: исправил, а то не тот код сунул сперва 😃

dROb
mahowik:

из описания:
3, active low, can direct connect with single-chip IO control

т.е. по идее он активен при подаче логического “0”-ля… потому просто попробуйте поменяйть в коде это

     #define BUZZERPIN_ON               PORTB |= 1;
     #define BUZZERPIN_OFF              PORTB &= ~1;

на это

     #define BUZZERPIN_ON             PORTB &= ~1;
     #define BUZZERPIN_OFF            PORTB |= 1;

т.е. инвертировать…

upd: исправил, а то не тот код сунул сперва 😃

Изящное решение - завтра попробую!!

mahowik
dROb:

завтра попробую

ну и в догонку… уверен что все ок, но я надеюсь вы vcc базера не к ноге D8 подключали, а его вход (in)? 😉

Mgsy:

Брал пищалку здесь www.ebay.com/itm/5pc-Tone-Ala...item5ae37cef87

громко орет? за моторами слышно? на каком растоянии?

dROb
mahowik:

ну и в догонку… уверен что все ок, но я надеюсь вы vcc базера не к ноге D8 подключали, а его вход (in)?

Именно! Именно VCC!😃 In, до вашего решения был бесполезен
но ведь 20мА всего;-)

Mgsy

громко орет? за моторами слышно? на каком растоянии?

Орет как бузер в простейшем тестере для батарей.

mahowik
dROb:

до вашего решения был бесполезен

только предположение, но к этому решению возможно понадобится еще init на старте, т.е. т.к. ваш базер отключает лог. 1-ца, то на старте контроллера надо ее подать, т.е. вызвать BUZZERPIN_OFF…