Специальные цены   новые товары
+ Ответить в теме
Страница 241 из 327 ПерваяПервая ... 231 239 240 241 242 243 251 ... ПоследняяПоследняя
Показано с 9,601 по 9,640 из 13065

MultiWii

Тема раздела Коптеры. Комплектующие, сборка, настройка. в категории Квадрокоптеры и мультироторы; Ну то что код подшаманить можно это понятно, а это был ответ на Сообщение от mataor так задействуйте... в конфиге ...

  1. #9601
    Давно не был
    Регистрация
    11.04.2012
    Адрес
    Воронеж
    Возраст
    34
    Сообщений
    2,539
    Записей в дневнике
    4
    Ну то что код подшаманить можно это понятно, а это был ответ на
    Цитата Сообщение от mataor Посмотреть сообщение
    так задействуйте... в конфиге есть все для этого

  2.  
  3. #9602

    Регистрация
    23.12.2010
    Адрес
    Москва
    Возраст
    32
    Сообщений
    121
    Цитата Сообщение от mataor Посмотреть сообщение
    хех... кто тебе такое сказал?

    я уже делал подобное, жертвуеш ненужной сейчас ногой, небольшая добавка кода - и вуаля все 4 аукса


    кстати тут же если сделать одну мааааленькую правку - уже получаем работающий аукс 3
    Благодарю. Сейчас попробую реализовать... Отпишусь как получится. Ведь явно не хватает двух ауксов...

    PS Блин, как же тяжело без отладки что-либо делать ((
    Последний раз редактировалось romeo84; 12.11.2013 в 21:30.

  4. #9603

    Регистрация
    23.12.2010
    Адрес
    Москва
    Возраст
    32
    Сообщений
    121
    Итак, если кому надо,

    добавляем каналы AUX2, AUX3, AUX4 в прошивку MultiWii 2.3, Плата Crius multiwii se

    1. Раскомментить в config.h (строка 388)
    Код:
    #define RCAUXPIN8
    #define RCAUXPIN12
    так как иначе эти пины настроятся будут работать не на вход, а на выход на всякие там BUZZERы и т.д.

    2. В RX.cpp разрешаем прерывания от нужных нам пинов
    Код:
    /*************    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); PCMSK0 |= (1 << 3); PCMSK0 |= (1 << 4);
            #endif
            #if defined(RCAUXPIN12)
              
            #endif
          #endif
        #endif
    3. В RX.cpp настраиваем обработку прерываний от этих же пинов и формируем значения в ауксах от приёмника
    Код:
    /*********************      atmega328P's Aux2 Pins      *************************/
      #if defined(PROMINI)
        #if defined(RCAUXPIN)
        /* this ISR is a simplification of the previous one for PROMINI on port D
           it's simplier because we know the interruption deals only with one PIN:
           bit 0 of PORT B, ie Arduino PIN 8
           or bit 4 of PORTB, ie Arduino PIN 12
         => no need to check which PIN has changed */
        ISR(PCINT0_vect) {
          uint8_t pin;
          uint16_t cTime,dTime;
          static uint16_t edgeTime;
          static uint16_t edgeTimeAux[4]; // 0 не используется, 1 для aux2, 2 для aux3, 3 - резерв
          static uint8_t auxIntLast; // сохранённое состояние битов порта B после предыдущего прерывания
          uint8_t auxMask; // маска для определения изменённого входа порта B
        
          pin = PINB;
          auxMask = pin ^ auxIntLast;   // doing a ^ between the current interruption and the last one indicates wich pin changed
          cTime = micros();
          sei();
          auxIntLast = pin;          // we memorize the current state of all PINs [B0-B7]
    
          if (auxMask & 1<<0) { // если меняется бит 0 порта B (выход D08 на плате), то формируем aux2
            if (!(pin & 1<<0)) {     //indicates if the bit 4 of the arduino port [B0-B7] is not at a high state (so that we match here only descending PPM pulse)
              dTime = cTime-edgeTimeAux[1]; if (900<dTime && dTime<2200) rcValue[0] = dTime; // just a verification: the value must be in the range [1000;2000] + some margin
            } else edgeTimeAux[1] = cTime;    // if the bit 2 is at a high state (ascending PPM pulse), we memorize the time
          }
          
          if (auxMask & 1<<4) { // если меняется бит 4 порта B (выход D12 на плате), то формируем aux3
            if (!(pin & 1<<4)) {     //indicates if the bit 4 of the arduino port [B0-B7] is not at a high state (so that we match here only descending PPM pulse)
              dTime = cTime-edgeTimeAux[2]; if (900<dTime && dTime<2200) rcValue[1] = dTime; // just a verification: the value must be in the range [1000;2000] + some margin
            } else edgeTimeAux[2] = cTime;    // if the bit 2 is at a high state (ascending PPM pulse), we memorize the time
          }
          
          if (auxMask & 1<<3) { // если меняется бит 3 порта B (выход D11 на плате), то формируем aux4
            if (!(pin & 1<<3)) {     //indicates if the bit 4 of the arduino port [B0-B7] is not at a high state (so that we match here only descending PPM pulse)
              dTime = cTime-edgeTimeAux[2]; if (900<dTime && dTime<2200) rcValue[3] = dTime; // just a verification: the value must be in the range [1000;2000] + some margin
            } else edgeTimeAux[2] = cTime;    // if the bit 2 is at a high state (ascending PPM pulse), we memorize the time
          }
          
    
        }
        #endif
      #endif
    Работает замечательно. Единственное, если выдернуть из платы провода всех ауксов, то вновь добавленные принимают хаотичные значения (то есть все, кроме aux1). Видать, где-то надо добавить дефолтное значение, если сигнала на пин не поступает. Где это делается - искать уже оочень в лом.

    Вот итоги 3-х часового мучения и поиска багов в собственном коде... Подскажите, кто как отлаживает код? ...перепрошивать девайс по 10 раз для того, чтобы фиг знает как угадать, что не ту переменную подставил это анреал мучения ))

  5. #9604

    Регистрация
    25.05.2012
    Адрес
    Санкт-Петербург
    Возраст
    34
    Сообщений
    1,635
    Народ, попробовал в Криус 2.0 SE залить base 2.1 от Маховика . Все работает кроме бародатчика. Чего не так могу делать ?

    Или она изначально со старыми платами нефунциклирует ?

    PS При этом обычная 2.2 работает...

  6.  
  7. #9605

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    Цитата Сообщение от flygreen Посмотреть сообщение
    Народ, попробовал в Криус 2.0 SE залить base 2.1 от Маховика
    А вы прочтите пару последних абзацов и все станет понятно )

  8. #9606

    Регистрация
    19.04.2012
    Адрес
    Москва
    Возраст
    40
    Сообщений
    1,023
    Цитата Сообщение от flygreen Посмотреть сообщение
    Или она изначально со старыми платами нефунциклирует ?
    Гриш, Саша ваял свою прошивку под All in One, а там иной баро, нежели в SE.
    И спецыяльно отмечено, что с иными вариациями MultiWii прошивка может работать криво, например.

    Хотя - работает ))

    Если охота поиметь все плюшки, то надлежит брать AOIP.

  9. #9607

    Регистрация
    25.05.2012
    Адрес
    Санкт-Петербург
    Возраст
    34
    Сообщений
    1,635
    Понятно. Так и думал. Пасиб.

  10.  
  11. #9608

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    для старого баро есть файлик ИМУ с пометкой бмп085, но такого резултата как с мс5611 недобьетесь, будет в пределах метра-полутора бултыхаться
    там разница и в коде, и в пидах

    ну и оба варианта на мпу6050 рассчитаны соответственно

  12. #9609

    Регистрация
    15.09.2012
    Адрес
    Москва -> Краснодар
    Возраст
    40
    Сообщений
    491
    Собрал лёгкий квадрик на AIOP, залил туда MultiWii 2.3. Включил Horizont, а Baro вынес на переключатель пульта. Пробовал поднять квадрик с выключенным Baro - никакого намёка на стабилизацию высоты, резкие подъёмы и падения. Что, собственно логично.

    Включить Baro? Мне не нужны ни удержание высоты "как в mahowii", не нужен Naza-стиль полёта (газ в роли управления высотой, а не газом собственно), нужно как в старой MultiWii 2.1 - использование барометра для плавности высоты. Это уже нереально с новыми прошивками?

    Завтра попробую на улице запустить жука, в комнате страшно включать Baro. Помню давныыым-давно, когда только-только mahowii отделялся от mw, включение этого удержания уносило мой коптер высокооооо в небо , возможно из-за недогрузки - давно было.

    Поянисните, пожалуйста, как используется барометр в официальном MultiWii 2.2 (я так понимаю, по 2.3 пока мало информации, так как он вышел несколько дней назад)?
    Смотрю changelog между 2.2 и 2.3, по барометру нашёл только одно изменение - калибровка на земле с учётом температуры.

    Мощность висения не точно 50%, помню это тоже имело значение... На назе в последнее время летал , но решил мелкий квадрик на мультике собрать.

  13. #9610

    Регистрация
    18.03.2012
    Адрес
    Новая Каховка, Украина
    Возраст
    26
    Сообщений
    2,359
    Записей в дневнике
    6
    по идее баро нужно включать в полете, т.к. при его включении запоминается положение стика газа и это положение и является точкой удержания высоты. лично делаю так и в штиль у меня на 2.2 у меня высота скачит где то на сантиметров 20 - не больше

  14. #9611

    Регистрация
    15.09.2012
    Адрес
    Москва -> Краснодар
    Возраст
    40
    Сообщений
    491
    Цитата Сообщение от kostya-tin Посмотреть сообщение
    по идее баро нужно включать в полете, т.к. при его включении запоминается положение стика газа и это положение и является точкой удержания высоты. лично делаю так и в штиль у меня на 2.2 у меня высота скачит где то на сантиметров 20 - не больше
    Понятно.
    Поднял сегодня во дворе, переключил в баро. Скачет жутко. Но у меня мотор один разбит и паралоном не закрывал барометр ещё. Идея ясна, буду доделывать. Спасибо.

  15. #9612

    Регистрация
    14.07.2008
    Адрес
    Рига, Латвия
    Возраст
    49
    Сообщений
    37
    Здраствуйте, поставил NanoWii на GAUI 330. Пытаюсь подсоединить по SBUS приёмник futaba r7008sb. Пока никакие танцы с бубном не помогают. Ставили другой приёмник, тоже futaba, но предыдущую модель на такую же конфигурацию все получилось с первой попытки. На зарубежных форумах пишут что вроде на этом приёмнике futaba изменила протокол SBUS. Может у кого получилось соединить их?

  16. #9613

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    Коллеги, написал тут небольшую прогу для прощета магнитного склонения для мультивия. Прошу потестить под себя, ну и критика также приветствуется. http://digiua.com/multiwii-mag-declination-calc/ Коменты можете оставлять, прямо там на сайте или здесь.

  17. #9614

    Регистрация
    21.07.2012
    Адрес
    Донецк, Украина
    Возраст
    28
    Сообщений
    499
    Записей в дневнике
    4
    За проведенный труд 5ка. Но в самом коментарии к дефайну есть эта супер сложная формула на 3 математических действия.
    Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
    Note the sign on declination it could be negative or positive (WEST or EAST)
    Быстрее посчитать чем скачивать и запускать посторонний экзешник с подозрительно толстым размером 0.5мб

  18. #9615

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    Сама прога весит 12кб, все остальное иконка )) В маховии я етой формулы не заметил.

  19. #9616

    Регистрация
    22.09.2013
    Адрес
    Красноярск
    Возраст
    54
    Сообщений
    291
    сегодня обкатывал прошивку 2.3 на плате MULTIWII microWII c GPS по I2C .( влезла в при тык ) 5 минут полет был достаточно стабильный - висел на баро хорошо, удержание и возврат домой отрабатывал на ура . Потом на высоте 8 метров резкий останов движков всех сразу и результат - воткнулся в землю. электронику спасла банка пластиковая сама в вдребезги а контроллер целый. Очень спасает уже не первое падение и всегда электроника целая. Склоняюсь к тому что завис контроллер. У меня по шине I2C самодельная плата на модуль GPS стоит - I2C GPS NAV . возможно из-за неё.

  20. #9617

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19
    Цитата Сообщение от Leon11t Посмотреть сообщение
    Сама прога весит 12кб, все остальное иконка )) В маховии я етой формулы не заметил.
    Все там есть... это мультивийное... смотрите около дефайна магнитного склонения
    Последний раз редактировалось mahowik; 16.11.2013 в 22:09.

  21. #9618

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    Цитата Сообщение от mahowik Посмотреть сообщение
    Всетам есть... это мультивийное... смотрите около дефайна магнитного склонения
    Get your magnetic decliniation from here : http://magnetic-declination.com/
    Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
    Note the sign on declination it could be negative or positive (WEST or EAST) */
    Но оно не обясняет как конвертнуть градусы в минути.
    Да и вообще, это школьная программа за седьмой клас
    Не сильно вникая в текст написаного, я понял что нужно градуси додать к минутам, а потом умножить на результат 1/60

  22. #9619

    Регистрация
    21.07.2012
    Адрес
    Донецк, Украина
    Возраст
    28
    Сообщений
    499
    Записей в дневнике
    4
    Цитата Сообщение от Leon11t Посмотреть сообщение
    Да и вообще, это школьная программа за седьмой клас
    Не сильно вникая в текст написаного, я понял что нужно градуси додать к минутам, а потом умножить на результат 1/60
    Вот именно что школьная программа Умножение и деление имеют приоритет перед сложением/вычитанием.

  23. #9620

    Регистрация
    28.12.2010
    Адрес
    Oulu, Finland
    Возраст
    53
    Сообщений
    587
    Джентльмены, которые пытаются мучиться с версией 2.3 - если хотите запустить i2c_gps с малтивием - поправьте сначала багу в коде http://www.multiwii.com/forum/viewto...p=43393#p43393

    Какого ... автор полез в тот кусок кода, который прекрасно работал в предыдущей версии?

  24. #9621

    Регистрация
    22.09.2013
    Адрес
    Красноярск
    Возраст
    54
    Сообщений
    291
    Цитата Сообщение от varvar Посмотреть сообщение
    Джентльмены, которые пытаются мучиться с версией 2.3 - если хотите запустить i2c_gps с малтивием - поправьте сначала багу в коде http://www.multiwii.com/forum/viewto...p=43393#p43393

    Какого ... автор полез в тот кусок кода, который прекрасно работал в предыдущей версии?
    спасибо за подсказку. три ошибки которые выскакивали при инсталляции после правки исчезли. осталось проверить в полете.

  25. #9622

    Регистрация
    15.08.2006
    Адрес
    Ukrain
    Возраст
    37
    Сообщений
    475
    Вопрос по калибровке акселей и гироскопов перед каждым вылетом: иногда в поле параллельной земле поверхности нет. А что будет если калибрануть их, а коптер не идеально параллельно земле будет? Он так "криво" и летать будет? Я думаю что его будет "тянуть" вбок.
    Или по уровню площадку выставлять? Или лучше откалибровать на заведомо параллельной плоскости (допустим дома), а перед вылетом не калиброваться?

  26. #9623

    Регистрация
    25.05.2012
    Адрес
    Санкт-Петербург
    Возраст
    34
    Сообщений
    1,635
    Вроде он и на кривой поверхности нормально инициализируется. Думается мне что это не калибровка...что-то другое. ИМХО. Еще не разу не включал на идеально ровном месте. Все вроде ровно летает....

  27. #9624
    Давно не был
    Регистрация
    11.04.2012
    Адрес
    Воронеж
    Возраст
    34
    Сообщений
    2,539
    Записей в дневнике
    4
    Цитата Сообщение от fleshget Посмотреть сообщение
    Или лучше откалибровать на заведомо параллельной плоскости (допустим дома), а перед вылетом не калиброваться?
    Да, таким образом калибруется аксель. Гирик калибруется каждый раз при включении, и ему пофиг горизонт, главное не трясти.

  28. #9625

    Регистрация
    15.01.2011
    Адрес
    Горловка
    Возраст
    42
    Сообщений
    366
    Цитата Сообщение от serenya Посмотреть сообщение
    Да, таким образом калибруется аксель. Гирик калибруется каждый раз при включении, и ему пофиг горизонт, главное не трясти.
    Я уже задавал вопрос-но у меня при каждом включени калиибруется и гирик,и и аксель.
    Плата MultiWii 328P Flight Controller w/FTDI & DSM2 Port.
    Глюк платы,или в прошивке что-то пропустил?

  29. #9626
    Давно не был
    Регистрация
    11.04.2012
    Адрес
    Воронеж
    Возраст
    34
    Сообщений
    2,539
    Записей в дневнике
    4
    Я хз, написал как должно быть.

  30. #9627

    Регистрация
    15.01.2011
    Адрес
    Горловка
    Возраст
    42
    Сообщений
    366
    Цитата Сообщение от serenya Посмотреть сообщение
    Я хз, написал как должно быть.
    Ну так у не у всех,так у вас,
    я написалкак есть-

  31. #9628

    Регистрация
    13.03.2011
    Адрес
    Montreal, Canada
    Возраст
    38
    Сообщений
    2,290
    Записей в дневнике
    19

  32. #9629

    Регистрация
    28.12.2010
    Адрес
    Oulu, Finland
    Возраст
    53
    Сообщений
    587
    Господа-товарищи, я опять туплю или как? У Multiwii RTH по Failsafe не наблюдается? Судя по коду, при потере сигнала он просто сбрасывает газ, садит мультикоптер и пищит.
    С другой стороны, через AUX включить возврат домой вполне можно. Как бы это соединить в одну кучу, учитывая, что в приемнике, кроме суммарного PPM и RSSI ничего нет?
    Может, кто уже сделал и все описал, или опять велосипед изобретать надо?

  33. #9630

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    делалось.
    но проще приемник норм взять с фейлсейвом

  34. #9631

    Регистрация
    28.12.2010
    Адрес
    Oulu, Finland
    Возраст
    53
    Сообщений
    587
    Цитата Сообщение от mataor Посмотреть сообщение
    но проще приемник норм взять с фейлсейвом
    ЭЭЭ... а это как? Куда этот сигнал затолкать и что он из себя представляет? У меня по жизни все приемники самодельные с самописным программным обеспечением, сейчас, правда, "ленивый вариант" ардуино с прикрученной платкой с si4432 и программное от KHA.

  35. #9632

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    Цитата Сообщение от varvar Посмотреть сообщение
    самодельные с самописным программным обеспечением
    тады проще - подправить прошу чтобы выдавать записанную заранее (по кнопке) последовательность при потере сигнала

  36. #9633

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    А для прийомников типа Турниги, что в коде нужно подправить?

  37. #9634

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    а для приемников типа турниги есть темка соответствующая PPM SUM - это просто (очередное простое решение проблемы)

    одновременно и фейлсейв и ппмсум

  38. #9635

    Регистрация
    23.11.2011
    Адрес
    Львов, Украина
    Возраст
    30
    Сообщений
    177
    Видел эту доработку. Но можна и код вия подправить и замутить активацию rth. Там же реализован код фейлсейфа для приемников типа турниги.

  39. #9636

    Регистрация
    28.12.2010
    Адрес
    Oulu, Finland
    Возраст
    53
    Сообщений
    587
    Цитата Сообщение от mataor Посмотреть сообщение
    тады проще - подправить прошу чтобы выдавать записанную заранее (по кнопке) последовательность при потере сигнала
    блин, даже делать ничего, оказывается, не надо - если в OpenLRSng нажать на кнопку забиндюривания - положение кнопок на передатчике запоминается и используется при пропадании сигнала. Вместо того, чтобы прочитать инструкцию, лазил по коду, пока не дошло, что все уже сделано - пользуйся, дорогОй! (правда, кнопка за ненадобностью оказалось не припаяной)

  40. #9637

    Регистрация
    07.04.2012
    Адрес
    Брянск
    Возраст
    29
    Сообщений
    1,674
    Записей в дневнике
    6
    Цитата Сообщение от varvar Посмотреть сообщение
    Вместо того, чтобы прочитать инструкцию, лазил по коду, пока не дошло, что все уже сделано - пользуйся, дорогОй!
    бывает

  41. #9638

    Регистрация
    22.09.2013
    Адрес
    Красноярск
    Возраст
    54
    Сообщений
    291
    только что облетал прошивку 2.3 (плата MULTIWII MicroWII) с GPS- модуль Ublox -6M V2 подключен по I2c через самодельную плату GPS Nav (прошивка I2C GPS NAV V2.2 beta1 r62 ) . пришлось подправить код в 2.3 - здесь написано где http://www.multiwii.com/forum/viewto...p=43393#p43393
    Первое впечатление хорошее. Погодные условия - температура -4С ветер 6-8 м\с. При 6 метрах висел в квадрате 3*3 при порывах 8 м мотало 6*6. По GUI видно 11 спутников. Заметил что если первым включить постхолд то его сносило метров на 10 потом он как бы возвращался к точке фиксации. Если сразу включить возврат домой дождаться когда он развернется мордой к точке взлета а потом включить на постхолд то точку держит хорошо.

  42. #9639

    Регистрация
    23.12.2010
    Адрес
    Москва
    Возраст
    32
    Сообщений
    121
    Пробовал прошивку 2.3 с платой crius multiwii se на 600 вертолёте - у меня летает не очень. Пришлось сильно уменьшать стандартные PIDы, особенно пропорциональную составляющую, после чего отклик на движения стика roll pitch стал ну оооочень маленький, т.е. беру roll до упора в сторону, верт еле-еле отклоняется. Где можно в коде исправить это?

    Стал пробовать режим удержания горизонта - так и не получилось. Верт сначала сильно раскачался, потом воткнулся в землю, выровнять стиками не успел ((

  43. #9640

    Регистрация
    22.04.2012
    Адрес
    Москва
    Возраст
    43
    Сообщений
    101
    Господа гуру, помогите! Собираю свой первый квадрик на этой плате (http://www.*************/product/689627/). Включаю, запускаю моторы, проверяю реакцию на наклоны и замечаю, что один из движков "не тянет". Запускаю MultiWiiConf_2_2.exe и вижу, что на левый задний движок сигнал управления почти не идёт. Значение колеблется около 1150, чуть подскакивая на "виражах", при этом у других движков сигнал на покачивание идет адекватный и это чувствуется рукой. Такое ощущение, что это не квадро, а трикоптер. При этом в окне MultiWiiConf изображается квадрик Х (как у меня). Подскажите как с асфальта на лыжню выехать?
    Думал мож прошивку в контроллере сменить, но по запросу в яндексе "как препрошить MultiWii" ссылки ведут на скачку MultiWiiConf (вот и сюда привели), а как заливать не понятно. Подскажите куда копать?

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

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

Ваши права

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