Специальные цены   новые товары
+ Ответить в теме
Страница 36 из 165 ПерваяПервая ... 26 34 35 36 37 38 46 ... ПоследняяПоследняя
Показано с 1,401 по 1,440 из 6569

Создание собственной системы стабилизации

Тема раздела Квадрокоптеры. Общие вопросы в категории Квадрокоптеры и мультироторы; Сообщение от Sir Alex У меня за окном сугробы по пояс ага наверно, у меня недавно пошел, а уже тоже ...

  1. #1401

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от Sir Alex Посмотреть сообщение
    У меня за окном сугробы по пояс
    ага наверно, у меня недавно пошел, а уже тоже по колено, с утра всё чисто было даже подсохло всё ....

  2.  
  3. #1402

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от SergDoc Посмотреть сообщение
    Naze32 на F103 все эти датчики поддерживает сразу, мультипилот есть под 103 есть под407 - но под ваши датчики всё переписывать надо, как в принципе и ОпенПилот СС, СС3D - 103, Revo -405 и BMP выкиньте сразу...

    Весна уже на дворе, какие разработки? уже летать надоооо

    Мультипилот, на мой взгляд не совсем хорошее решение, копаюсь в PWM и таймерах - бррр...
    BMP выкинуть не могу - платка 10DOF, максимум что можно - не использовать его Чем заменить?
    Naze32 - это Afrodevices? Я в них запутался уже.
    Multipilot это порт MultiWii под STM32 с эмуляцией ардуино (на хрена- непонятно), верно?
    Меня не пугает переписать, потому что доделывать чужое сложнее чем написать свое, скорее всего. Особенно когда проект вида OpenPilot. Тем более у меня пока нет задачи превзойти, мне нужна хорошая расширяемость и удаленная управляемость. Ну и разобраться что к чему.
    Летать уже летал, но сейчас продал ESC Turnigy AE-25A и заказал моторчики NX4005-650 хочу проверить их эффективность на 10х4.5 как пишут в табличках на 3S. Под мой вес коптера их тяги должно хватить и ESC BlueSeries 20A.
    В качестве "просто полетать" валяется платка Crius MultiWii SE и висит на стене еще не облетанный Clouds Fly. Но это не особо интересно.
    Все равно я сейчас в команде по разработке коптера, так что от разработки никуда не деться )

  4. #1403

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от RaJa Посмотреть сообщение
    Naze32 - это Afrodevices? Я в них запутался уже.
    да - это порт MultiWii

    Цитата Сообщение от RaJa Посмотреть сообщение
    Multipilot это порт MultiWii под STM32 с эмуляцией ардуино (на хрена- непонятно), верно?
    ArduPilot - STM32

    Цитата Сообщение от RaJa Посмотреть сообщение
    BMP выкинуть не могу - платка 10DOF, максимум что можно - не использовать его Чем заменить?
    я у себя на мелкоплате выкинул и повесил на проводках MS5611 - небо и земля...

  5. #1404

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от Sir Alex Посмотреть сообщение
    Посмотрите еще ArduCopter. Последние исходники уже написаны под разные платформы, в том числе и F4 (плата называется PX4). Правда это усложняет структуру кода, т.к. они пишут свой HAL под каждую платформу.
    Multipilot32 вроде тот же ArduCopter портированный под железо VRBrain....
    PX4 уже на заметке, да, спасибо. Вместе с AfroDevices. У меня такой список получился:
    Naze32
    AfroFlight32 (MultiWii STM32 - AfroFlight)
    OpenPilot
    STM32VLDiscovery (aeroquad.com/attachment.php?attachmentid=3632&d=1306798120)
    Flymaple
    MultiPilot32
    AeroQuad32

  6.  
  7. #1405

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от RaJa Посмотреть сообщение
    Вместе с AfroDevices
    http://code.google.com/p/afrodevices...seflight%2Fsrc интересней чем просто WII

    Цитата Сообщение от Sir Alex Посмотреть сообщение
    Посмотрите еще ArduCopter. Последние исходники уже написаны под разные платформы, в том числе и F4 (плата называется PX4). Правда это усложняет структуру кода, т.к. они пишут свой HAL под каждую платформу.
    Multipilot32 вроде тот же ArduCopter портированный под железо VRBrain....
    чёт я ничего не увидел, в мультипилоте точно есть порт Арду на PX4, о надо ещё в нём поковырятся....
    Алексей, вы со снегом накаркали - за окном метель вообще началась ничерта не видно, а я расчитывал мелкоплату потестить, все лучшие моменты жизни блин на работе, пол дня на улице в одной кофте провозился с таксометром, а тут на тебе
    Последний раз редактировалось SergDoc; 12.03.2013 в 21:22.

  8. #1406

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от SergDoc Посмотреть сообщение
    мелкоплату потестить
    Сергей, Вы не работали с Atmega-ми? Не поможете с таймером разобраться?...

  9. #1407

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    с Wii не пойдёт?
    Код:
    /**************************************************************************************/
    /***************               Standard RX Pins reading            ********************/
    /**************************************************************************************/
    #if defined(STANDARD_RX)
      // predefined PC pin block (thanks to lianj)
      #define RX_PIN_CHECK(pin_pos, rc_value_pos)                                                        \
        if (mask & PCInt_RX_Pins[pin_pos]) {                                                             \
          if (!(pin & PCInt_RX_Pins[pin_pos])) {                                                         \
            dTime = cTime-edgeTime[pin_pos]; if (900<dTime && dTime<2200) rcValue[rc_value_pos] = dTime; \
          } else edgeTime[pin_pos] = cTime;                                                              \
        }
      // port change Interrupt
      ISR(RX_PC_INTERRUPT) { //this ISR is common to every receiver channel, it is call everytime a change state occurs on a RX input pin
        uint8_t mask;
        uint8_t pin;
        uint16_t cTime,dTime;
        static uint16_t edgeTime[8];
        static uint8_t PCintLast;
      
        pin = RX_PCINT_PIN_PORT; // RX_PCINT_PIN_PORT indicates the state of each PIN for the arduino port dealing with Ports digital pins
       
        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
        
        #if (PCINT_PIN_COUNT > 0)
          RX_PIN_CHECK(0,2);
        #endif
        #if (PCINT_PIN_COUNT > 1)
          RX_PIN_CHECK(1,4);
        #endif
        #if (PCINT_PIN_COUNT > 2)
          RX_PIN_CHECK(2,5);
        #endif
        #if (PCINT_PIN_COUNT > 3)
          RX_PIN_CHECK(3,6);
        #endif
        #if (PCINT_PIN_COUNT > 4)
          RX_PIN_CHECK(4,7);
        #endif
        #if (PCINT_PIN_COUNT > 5)
          RX_PIN_CHECK(5,0);
        #endif
        #if (PCINT_PIN_COUNT > 6)
          RX_PIN_CHECK(6,1);
        #endif
        #if (PCINT_PIN_COUNT > 7)
          RX_PIN_CHECK(7,3);
        #endif
        
        #if defined(FAILSAFE) && !defined(PROMICRO)
          if (mask & 1<<THROTTLEPIN) {  // If pulse present on THROTTLE pin (independent from ardu version), clear FailSafe counter  - added by MIS
            if(failsafeCnt > 20) failsafeCnt -= 20; else failsafeCnt = 0; }
        #endif
      }

  10.  
  11. #1408

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от SergDoc Посмотреть сообщение
    с Wii не пойдёт?
    этот код с атмеги? и что такое Wii?

  12. #1409

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    328мега , атмега2560 ну и там всякие производные
    вот настройка портов
    Код:
    /**************************************************************************************/
    /***************                   RX Pin Setup                    ********************/
    /**************************************************************************************/
    void configureReceiver() {
      /******************    Configure each rc pin for PCINT    ***************************/
      #if defined(STANDARD_RX)
        #if defined(MEGA)
          DDRK = 0;  // defined PORTK as a digital port ([A8-A15] are consired as digital PINs and not analogical)
        #endif
        // PCINT activation
        for(uint8_t i = 0; i < PCINT_PIN_COUNT; i++){ // i think a for loop is ok for the init.
          PCINT_RX_PORT |= PCInt_RX_Pins[i];
          PCINT_RX_MASK |= PCInt_RX_Pins[i];
        }
        PCICR = PCIR_PORT_BIT;
        
        /*************    atmega328P's Specific Aux2 Pin Setup    *********************/
        #if defined(PROMINI)
         #if defined(RCAUXPIN)
            PCICR  |= (1 << 0) ; // PCINT activated also for PINS [D8-D13] on port B
            #if defined(RCAUXPIN8)
              PCMSK0 = (1 << 0);
            #endif
            #if defined(RCAUXPIN12)
              PCMSK0 = (1 << 4);
            #endif
          #endif
        #endif
        
        /***************   atmega32u4's Specific RX Pin Setup   **********************/
        #if defined(PROMICRO)
          //Trottle on pin 7
          DDRE &= ~(1 << 6); // pin 7 to input
          PORTE |= (1 << 6); // enable pullups
          EIMSK |= (1 << INT6); // enable interuppt
          EICRB |= (1 << ISC60);
          // Aux2 pin on PBO (D17/RXLED)
          #if defined(RCAUX2PIND17)
            DDRB &= ~(1 << 0); // set D17 to input 
          #endif
          // Aux2 pin on PD2 (RX0)
          #if defined(RCAUX2PINRXO)
            DDRD &= ~(1 << 2); // RX to input
            PORTD |= (1 << 2); // enable pullups
            EIMSK |= (1 << INT2); // enable interuppt
            EICRA |= (1 << ISC20);
          #endif
        #endif
    а вот ещё веточка есть MultiWii

  13. #1410

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от SergDoc Посмотреть сообщение
    328мега , атмега2560 ну и там всякие производные
    вот настройка портов Код:
    о_0. Вы разбираетесь в этом коде??

  14. #1411

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    есть маленький проблем, это ардуино со своими библиотеками и всеми вытекающими, но есть такой контроллер - КУК http://kkmulticopter.com/index.php?o...d=12&Itemid=65 там исходники чисто под AVRStudio есть на си, есть на ассеме, когда-то баловался переписывал порты, давно...
    Код:
    // pin change interrupt enables
    	PCICR |= (1 << PCIE0);			// PCINT0..7		
    	PCICR |= (1 << PCIE2);			// PCINT16..23
    
    	// pin change masks
    	PCMSK0 |= (1 << PCINT7);		// PB7
    	PCMSK2 |= (1 << PCINT17);		// PD1
    	// external interrupts
    	EICRA  = (1 << ISC00) | (1 << ISC10);	// Any change INT0, INT1
    	EIMSK  = (1 << INT0) | (1 << INT1);		// External Interrupt Mask Register
    	EIFR |= (1 << INTF0) | (1 << INTF1);
    
    	// timer0 (8bit) - run @ 8MHz
    	// used to control ESC/servo pulse length
    	TCCR0A = 0;						// normal operation
    	TCCR0B = (1 << CS00);			// clk/0
    	TIMSK0 = 0; 					// no interrupts
    
    	// timer1 (16bit) - run @ 1Mhz
    	// used to measure Rx Signals & control ESC/servo output rate
    	TCCR1A = 0;
    	TCCR1B = (1 << CS11);
    
    	// timer2 8bit - run @ 8MHz / 1024 = 7812.5KHz
    	// and Stick-Arming
    	TCCR2A = 0;	
    	TCCR2B = (1 << CS22) | (1 << CS21) | (1 << CS20);	// /1024
    	TIMSK2 = 0;
    	TIFR2  = 0;
    	TCNT2 = 0;		// reset counter

  15. #1412

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от SergDoc Посмотреть сообщение
    когда-то баловался переписывал порты, давно...
    спасибо за ссылку. а конкретно по таймеру в атмеге сможете что-то посоветовать? как его настроить на 0,5мкс?

  16. #1413

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от SergDoc Посмотреть сообщение
    да - это порт MultiWii
    я у себя на мелкоплате выкинул и повесил на проводках MS5611 - небо и земля...
    Он, зараза стоит около 18 баксов с обвязкой. Заказать что ли...

    Цитата Сообщение от SergDoc Посмотреть сообщение
    есть маленький проблем, это ардуино со своими библиотеками и всеми вытекающими, но есть такой контроллер - КУК http://kkmulticopter.com/index.php?o...d=12&Itemid=65 там исходники чисто под AVRStudio есть на си, есть на ассеме, когда-то баловался переписывал порты, давно...
    Кук вроде только на асме, по крайней мере на С я что-то не нашел.

  17. #1414

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Minsoo Kim писал на си

  18. #1415

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от SergDoc Посмотреть сообщение
    Minsoo Kim писал на си
    А, нашел, версия 1.5 с сырцами, там есть немножко полезного для AVR кода

  19. #1416

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    сможете что-то посоветовать? как его настроить на 0,5мкс?
    Немного не понял, что значит 0.5 мкс (частота тактирования чтоль?)
    А вообще в ATmega-х пред/делитель (от тактовой частоты) очень "дешевый"
    т.е. коэфициенты фиксированные (8/16/32/64) смотрите даташит он на 128-ю даже на русском есть.
    Если не хотите смотреть то CVavr все сам настроит (там "мастер" есть).

  20. #1417

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Для STM если что подчерпнуть http://forum.easyelectronics.ru/viewforum.php?f=35
    гы-гы на этом форуме хоть в FAQ посылают обычно, не так уж далеко, а таам, сразу в даташиты эт я так почитал мельком

  21. #1418

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от SergDoc Посмотреть сообщение
    Для STM если что подчерпнуть http://forum.easyelectronics.ru/viewforum.php?f=35
    гы-гы на этом форуме хоть в FAQ посылают обычно, не так уж далеко, а таам, сразу в даташиты эт я так почитал мельком
    Я на том форуме зареган, но там общие вопросы, а тут конкретные в приложении к коптерной тематике
    Конкретный опыт всегда лучше общего )

  22. #1419

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Да кто там про ремаппинг вопрос поднял? я ж блин три дня как в голову ужаленый ходил, remap у F103 на дополнительные функции порта, в F4 все функции являются альтернативными и выбираются по надобности
    Код:
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3;
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
      GPIO_Init(GPIOA,&GPIO_InitStructure);
    
      GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM5);
      GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_TIM5);
      GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_TIM5);
      GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_TIM5);
    и пофиг что изначально там первый таймер, а масла в огонь подкинули мултипилот

    PWM_CH3 JP1_4 PB5 TIM3_CH2 (REMAP) D36
    блин, а то что инструкция для F103 я и забыл, и думаю назачем?

  23. #1420

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от SergDoc Посмотреть сообщение
    Да кто там про ремаппинг вопрос поднял? я ж блин три дня как в голову ужаленый ходил, remap у F103 на дополнительные функции порта, в F4 все функции являются альтернативными и выбираются по надобности
    То есть у F4 можно любую функцию на любой пин назначить?

  24. #1421

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Нет там боольшая таблица с альтернативными функциями для каждого порта, вот из них можно выбирать нужное....

  25. #1422

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от SergDoc Посмотреть сообщение
    в F4 все функции являются альтернативными и выбираются по надобности
    Не знал про Ф4, думал как у Ф1. У Ф3 получается как у Ф4.

  26. #1423

    Регистрация
    06.04.2012
    Адрес
    Moscow
    Возраст
    34
    Сообщений
    202
    Цитата Сообщение от rual Посмотреть сообщение
    Не знал про Ф4, думал как у Ф1. У Ф3 получается как у Ф4.
    Да вроде все то же самое - несколько альтеранативных функций (обычно 3-5) на пин, какую надо, такую включаешь, как на 103м.

  27. #1424

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    собрал прошивку autoquad блин 430 с гаком килобайт флеши надо, ладно ещё над чемнибудь поиздеваюсь....

  28. #1425

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от oleg70 Посмотреть сообщение
    Немного не понял, что значит 0.5 мкс (частота тактирования чтоль?)
    А вообще в ATmega-х пред/делитель (от тактовой частоты) очень "дешевый"
    т.е. коэфициенты фиксированные (8/16/32/64) смотрите даташит он на 128-ю даже на русском есть.
    ну для того чтобы посчитать длительность ШИМа нужен счетчик (таймер). Чем чаще этот таймер тикает, теб точнее можно измерить шим. Сейчас у меня таймер заведен на 10мкс, т.е. длительность шима я могу измерить с точностью +-10мкс. Я правильно меряю шим, таймером?

  29. #1426

    Регистрация
    26.12.2011
    Адрес
    Киров
    Возраст
    32
    Сообщений
    156
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    ну для того чтобы посчитать длительность ШИМа нужен счетчик (таймер). Чем чаще этот таймер тикает, теб точнее можно измерить шим. Сейчас у меня таймер заведен на 10мкс, т.е. длительность шима я могу измерить с точностью +-10мкс. Я правильно меряю шим, таймером?
    Ну в принципе меряете (а точнее отсчитываете) правильно. Смотрите какие предделители у вас есть. От чего тактируете таймер?

    У меня вот какой вопрос возник по работе с I2C в stm32.
    Есть ли смысл использовать DMA вместо прерываний?
    Может кто использовал?

  30. #1427

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от Geniok Посмотреть сообщение
    Ну в принципе меряете (а точнее отсчитываете) правильно. Смотрите какие предделители у вас есть. От чего тактируете таймер?
    предделители все выключил. тактируется таймер от регистра OCR. допустим присваиваем регистру OCR = 100, тогда частота таймера будет f = Fкварца/1+OCR = 14745600/1+100 = 145996 т.е. Т=1/f = 6.85мкс. Т.е. эти 6.85 мкс и есть точность с которой я могу отсчитать шим. Но это слишком грубо, нужно хотябы 1мкс. Но когда я начинаю уменьшать значение OCR, почему то меньше 5.2 мкс период не хочет снижаться. Теоритически при OCR= 10, Т должен = 0,685мкс, а по факту он все ровно 5,2мкс. Вы наверно спросите что нахотся в самом теле таймера, для частоты эксперемента туда помещена всего дна команда на вкл/ светодиода. В чем тут дело?

  31. #1428

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    ну для того чтобы посчитать длительность ШИМа
    Правильно нужен таймер но надо сначала выбрать какой (8-ми или 16-битный), далее "понеслось"... :
    при 8-ми битах он считает макс. до 256, если устраивает Вас эта дискретность на канал (вполне неплохо) делаете расчет тактовой частоты так чтобы не было переполнения за 1м/сек (стандартная длительность импульса аппы), в данном случае 16Mhz/64=250 Khz= 4 мк/с.
    На 16-ти битном можно считать уже до 65535 и можно сделать круче..
    По моему понятно объяснил: частота такта счетчика=дискретность канала (с учетом емкости самого счетчика)
    Все зависит уже от Вашего желания...

    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    тактируется таймер от регистра OCR
    Дело в том что от OCR таймер не тактируется, это регистр сравнения (Вы вообще хотите мерять ШИМ или генерить?)
    Не пойму.....

  32. #1429

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от oleg70 Посмотреть сообщение
    Правильно нужен таймер но надо сначала выбрать какой (8-ми или 16-битный),
    конечно, таймер у меня 8-ми битный. Мне и надо считать то в идеале до 10))) я же говорю что ставлю 100 в регистр OCR, т.е. он считает до 100 и при этом выдает длительность в 6,85мкс.

    Цитата Сообщение от oleg70 Посмотреть сообщение
    делаете расчет тактовой частоты так чтобы не было переполнения за 1м/сек (стандартная длительность импульса аппы), в данном случае 16Mhz/64=250 Khz= 4 мк/с.
    а вот это не совсем понял. вы хотите сказать, что точность отсчитывания шима достаточна в 4мкс?

    Цитата Сообщение от oleg70 Посмотреть сообщение
    16Mhz/64=250
    что такое 64?

    Цитата Сообщение от oleg70 Посмотреть сообщение
    Дело в том что от OCR таймер не тактируется, это регистр сравнения (Вы вообще хотите мерять ШИМ или генерить?)
    Не пойму.....
    хочу мерить ШИМ
    Последний раз редактировалось Alexsis1109; 13.03.2013 в 23:31.

  33. #1430

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Тогда так: имеем длительность ШИМ импульса от 1 милисек. до 2-милисек. (стандарт!) итого 1 милисек.
    В одну миллисекунду "влазит" 250 импульсов по 4 микросекунды (не так ли?)
    Вот Вам и дискрет. на канал, и частота тактирования счетчика (250 кГц)
    Что значит " считать то в идеале до 10 " ? ВЫ что количество что ль посчитать хотите?

  34. #1431

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от oleg70 Посмотреть сообщение
    В одну миллисекунду "влазит" 250 импульсов по 4 микросекунды (не так ли?)
    Вот Вам и дискрет. на канал, и частота тактирования счетчика (250 кГц)
    Что значит " считать то в идеале до 10 " ? ВЫ что количество что ль посчитать хотите?
    да, если 1мс разбить на 250 импульсов то будет 4мкс. Вы считаете этого будет достаточно? сейчас у меня дискретность 10мкс, это очень грубо получается.
    если я присвою регистру сравнения OCR число 10, то по идее, по формуле, дискретность должна стать 0,68мкс.

  35. #1432

    Регистрация
    26.12.2011
    Адрес
    Киров
    Возраст
    32
    Сообщений
    156
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    предделители все выключил. тактируется таймер от регистра OCR. допустим присваиваем регистру OCR = 100, тогда частота таймера будет f = Fкварца/1+OCR = 14745600/1+100 = 145996 т.е. Т=1/f = 6.85мкс. Т.е. эти 6.85 мкс и есть точность с которой я могу отсчитать шим. Но это слишком грубо, нужно хотябы 1мкс. Но когда я начинаю уменьшать значение OCR, почему то меньше 5.2 мкс период не хочет снижаться. Теоритически при OCR= 10, Т должен = 0,685мкс, а по факту он все ровно 5,2мкс. Вы наверно спросите что нахотся в самом теле таймера, для частоты эксперемента туда помещена всего дна команда на вкл/ светодиода. В чем тут дело?
    Мне кажется вы немного плаваете в понятиях и пока плохо себе представляете как получается ШИМ.
    Таймер не может тактироваться от своего регистра, согласитесь что это глупо. Так как регистр не имеет частоты.. ))
    Тактируетесь вы от кварца, как написали ниже.
    Вы генерировать или мерить ШИМ хотите ?

    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    да, если 1мс разбить на 250 импульсов то будет 4мкс. Вы считаете этого будет достаточно? сейчас у меня дискретность 10мкс, это очень грубо получается.
    если я присвою регистру сравнения OCR число 10, то по идее, по формуле, дискретность должна стать 0,68мкс.
    Если измеряете сигнал с АППЫ, то по стандарту 1000 мкс - 0% (например газа), 2000 мкс - 100% (например газа). То есть диапазон имеем 1000 мкс.
    Если свой таймер вы тактируете с частотой 1мкс, то имеете дискетность 1000. теперь вопрос, дискресность самих осей аппы сколлько ? Нужна ли вам такая точность ?

    Тут 250 вроде должно быть за глаза...

  36. #1433

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    250 импульсов то будет 4мкс. Вы считаете этого будет достаточно?
    Это 250 положений "сервы" на ее 60 градусов (недостаточно?)
    И ни при чем тут OCR.
    Читайте про ШИМ (хотя бы в википедии), а то не поймем друг друга...

  37. #1434

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от Geniok Посмотреть сообщение
    Мне кажется вы немного плаваете в понятиях и пока плохо себе представляете как получается ШИМ.
    согласен, немного плаваю) Я хочу измерить ШИМ который поступает от RC приемника. Для этого использую счетчик (таймер). с помощью регистра сравнени "завожу" его на нужный мне период. когда регистр сравнения равен 100, таймер тикает с периодом 6,85мкс, т.е. с этой точностью я могу посчитать (измерить) ШИМ. но я хочу мерить ШИМ с точностью ну хотябы 1мкс, в идеале 0,5мкс. но таймер отказывается так быстро работать(((

  38. #1435

    Регистрация
    26.12.2011
    Адрес
    Киров
    Возраст
    32
    Сообщений
    156
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    согласен, немного плаваю) Я хочу измерить ШИМ который поступает от RC приемника. Для этого использую счетчик (таймер). с помощью регистра сравнени "завожу" его на нужный мне период. когда регистр сравнения равен 100, таймер тикает с периодом 6,85мкс, т.е. с этой точностью я могу посчитать (измерить) ШИМ. но я хочу мерить ШИМ с точностью ну хотябы 1мкс, в идеале 0,5мкс. но таймер отказывается так быстро работать(((
    Ммм...
    Для того, чтобы было чуть яснее, задам вопрос, генерировать ШИМ у вас получалось?

  39. #1436

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от Geniok Посмотреть сообщение
    Для того, чтобы было чуть яснее, задам вопрос, генерировать ШИМ у вас получалось?
    пока не дошел до генерации, хочу сперва прием наладить....

  40. #1437

    Регистрация
    26.12.2011
    Адрес
    Киров
    Возраст
    32
    Сообщений
    156
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    Для этого использую счетчик (таймер). с помощью регистра сравнени "завожу" его на нужный мне период. когда регистр сравнения равен 100, таймер тикает с периодом 6,85мкс, т.е. с этой точностью я могу посчитать (измерить) ШИМ.
    Признаюсь честно, я не очень силен в АВР, но что-то мне подсказывает, что в регистре сравнения как раз должен лежать период, это то, что вы измеряете, а не задаете.
    Например, в СТМ32 для захвата ШИМ я завожу 2 канала. Первый канал ловит фронты, второй - спады. таким образом в первом канале в регистре сравнения у меня будет значение периода, а во втором - значение заполнения.
    Это то, что вам нужно.

    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    пока не дошел до генерации, хочу сперва прием наладить....
    Советую начать с генерации, там проще тем, что нужен всего 1 канал, да и с регистрами заодно разберетесь, чтобы не путаться какой для чего.
    Заводите таймер. В регистр сравнения помещаете величину, до которой хотите чтобы таймер считал. На выходе получаете ШИМ.

  41. #1438

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от Geniok Посмотреть сообщение
    в регистре сравнения как раз должен лежать период, это то, что вы измеряете, а не задаете.
    в АВР по такой формуле счтается частота таймера: f = Fкварца/1+OCR. Где OCR это регистр сравнения. соответсвенно период будет равен 1/f.

    Цитата Сообщение от Geniok Посмотреть сообщение
    Например, в СТМ32 для захвата ШИМ я завожу 2 канала. Первый канал ловит фронты, второй - спады. таким образом в первом канале в регистре сравнения у меня будет значение периода, а во втором - значение заполнения.
    Это то, что вам нужно.
    к сожалению не перешел еще на STM32, но звучит такое измерение здорово. т.е. вы потом просто из периода вычитаете заполнение и получаете длительность ШИМа? получается вообще без всяких таймеров и подбора дискретности измерения?

  42. #1439

    Регистрация
    26.11.2012
    Адрес
    Tambov
    Возраст
    46
    Сообщений
    777
    Цитата Сообщение от Alexsis1109 Посмотреть сообщение
    хочу сперва прием наладить....
    Сделайте следующее:
    Настройте таймер на 250 Кгц (регистр TCCR)
    Запустите его в программе по нарастающему фронту.
    Остановите счет по спадающему фронту.
    Получите значение длительности из регистра TCNT.
    Обнулите TCNT для начала следующего отсчета.
    Все!

  43. #1440

    Регистрация
    18.02.2013
    Адрес
    Москва
    Возраст
    31
    Сообщений
    61
    Цитата Сообщение от oleg70 Посмотреть сообщение
    Сделайте следующее:
    Настройте таймер на 250 Кгц (регистр TCCR)
    спасибо большое за дельный совет! попробую, о результатах отпишусь)

+ Ответить в теме

Похожие темы

  1. Система стабилизации гиро+акселерометр
    от Фантомас в разделе Полеты по камере, телеметрия
    Ответов: 32
    Последнее сообщение: 25.01.2011, 14:47
  2. Продам Продам Клона Trex 450SEV2 + Аппаратура + Запчасти+ система стабилизации RTF
    от omegapraim в разделе Барахолка. Вертолеты
    Ответов: 1
    Последнее сообщение: 12.01.2011, 18:16
  3. Продам Трёхосевую систему стабилизации Turnigy V-Bar 600
    от avi@tor в разделе Барахолка. Аппаратура
    Ответов: 1
    Последнее сообщение: 08.11.2010, 13:02
  4. Продам Gaui система стабилизации GU365, дёшево.
    от avi@tor в разделе Барахолка. Вертолеты
    Ответов: 3
    Последнее сообщение: 03.08.2010, 11:13
  5. Системы стабилизации
    от max815 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 16
    Последнее сообщение: 11.03.2010, 03:14

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения