ArduCopter Mega: порт на обычную Arduino (тестим)

SovGVD
tusik:

Я ж написал, в два раза

я имел в виду с точки зрения физики - 2 разные частоты то - одна сотовых сетей, другая wifi сетей - не думал что они как то могут влиять друг на друга

tusik:

файл сейв что?

нету =) кстатии в мультивие то вроде он есть - может от туда код передернуть? попробую на досуге, если до сих пор не реализовано

iBat:

Слон в вообще не рекомендует летать с частотой РУ выше, чем видео

и где найти дешевую РУ ниже 0.9ггц, или дешевое видео выше 2.4ггц - тем более если память не изменяет, то чем выше частота, тем больше подвержен канал помехам в виде препятствий (железобетонные здания например =)))

tusik
SovGVD:

не думал что они как то могут влиять друг на друга

Если бы были чистые частоты - тогда да, а тут, судя по всему, срач идет почти по всему спектру. Где-то на форуме читал, что даже сервы дергаются при включении передатчика. В пешкотесте после ста ментов небыло прямой видимости. Были гаражи деревья. Но с включеным передатчиком ФПВ управление пропало до них.

SovGVD

посмотрел чего есть в multiwii

алгоритм Failsafe: постоянно плюсуем failsafe (внтури заведомо известного по времени блока), в либе работы с аппой обнуляем счетчик failsafe, если на газу есть прерывание/сигнал, когда счетчик доходит до определенного значения (мы же знаем сколько по времени уже нет сигнала) - врубаем дефолтный код - типа RTL

    #if defined(FAILSAFE)
      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

аппы: spectrum и sbus (хз че такое)

в общем думаю стоит код передрать =)

tusik

А ППМ_СУМ этот код будет видеть? А то я свой коптер перевел. Вместо шести проводов - один. Спасибо Сэру Алексу 😃

RA4ASN

Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?

Sir_Alex
RA4ASN:

Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?

Да, а вот 8 канальный - нет.

tusik:

А ППМ_СУМ этот код будет видеть? А то я свой коптер перевел. Вместо шести проводов - один. Спасибо Сэру Алексу

Если я правильно понимаю, то Failsafe не будет работать в мегапирате. Т.к. переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет. Если допилить код, то будет работать.

tusik
RA4ASN:

этот приемник поддерживает ppm_sum?

Да. Уменя такой работает. На разъеме БАТ сигнал.

Sir_Alex:

то Failsafe не будет работать в мегапирате

Обидно, конечно…

SovGVD
Sir_Alex:

переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет

дык вот я и предлагаю это строку добавить… APM_RC вроде почти 1 к 1 передернута с мультивия, хотя могу ошибаться =)

код работы с газом в вие:

if (mask & 1<<0)
        if (!(pin & 1<<0)) {
          dTime = cTime-edgeTime[0]; if (900<dTime && dTime<2200) rcValue[0] = dTime;
        } else edgeTime[0] = cTime;

код работы с газом в пирате:

if (mask & 1<<0)
    if (!(pin & 1<<0)) {
      dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) rcPinValue[0] = dTime>>1;
    } else edgeTime[0] = cTime;

код работы с фейлсейфом в мультивие (THROTTLEPIN=0)

 if (mask & 1<<0) {    // If pulse present on THROTTLE pin (independent from ardu version), clear FailSafe counter  - added by MIS
        if(failsafeCnt > 20) failsafeCnt -= 20; else failsafeCnt = 0; }

между основным кодом и библиотекой одно пространство имен? или надо как то хитро задавать?, например в массив значений добавить еще знаечение флаг fail или не fail =)

т.е. имхо что-то вроде

rcPinValue[FAILINDEX]++; // где то постоянно плюсовать
...
// внутри ISR(PCINT2_vect)
if (mask & 1<<0)
    if (!(pin & 1<<0)) {
      dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) {rcPinValue[0] = dTime>>1;rcPinValue[FAILINDEX] = 0;}
    } else edgeTime[0] = cTime;

а уже внтури основного кода смотреть (или чего там вместо readRawRC надо)

if (readRawRC(FAILINDEX)>FAILDELAY) WARNING_ПЫЩ_ПЫЩЬ_АЛЯРМ
Sir_Alex

У кого нибудь уже есть живой MS5611 баро? Я нашкодил версию с его поддержкой, надо бы потестить.
Кстати, автор FreeIMU, возможно сможет мне выделить один из прототипов новой платки с MS5611 и новым сенсором MPU-6050. Фишка в том, что просчет координат делается прямо в датчике Ж)

Musgravehill
Sir_Alex:

уже есть живой MS5611 баро?

Заказал, жду. Надеюсь, в начале декабря подключу.

Sir_Alex:

просчет координат делается прямо в датчике

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

mahowik

привет пираты! 😃

добавил “симпл” мод к вию rcopen.com/forum/f123/topic221574/3677

Т.к. ардукод не подсматривал 😃, скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
Если в момент включения двигателей, то можно использовать мод как хэээлп. К примеру, если зарулился… врубил симпл мод и точно зная где нос, можно спастись от крэша…
Плюс второго варианта (текущая имплеметация) в том что, то что можно изменить азимут в полете… Залетел за голову, развернул как надо, перещелкнул тумблер и “псевдо нос” смотрит куда надо…

tusik

Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают? Включил на высоте метров 10 и еле поймал в стаб моде в метре от земли. Ощущения, как если бы в руку дали двухметровую палку, а на верхний конец поставили коптер и заставили держать равновесие 😃 . Но за то при включении стаб мода коптер сам железно стал в горизонт. Правда летал в акро с замерзшими руками. Может в тепле и по-проще будет, весной попробую еще раз 😃

mahowik
tusik:

Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают?

ПИДы помягче поставь и не так страшно будет 😃
В вие вообще с высоким “Д” (не классик и отвечет за скорость реакции системы) легко летать. Но в пирате это не поможет, там “Д” другой 😃

iBat
mahowik:

привет пираты! 😃

скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?

Если не ошибаюсь - в момент первого включения мода.

Sir_Alex
mahowik:

Т.к. ардукод не подсматривал , скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?

В момент активации двигателей (Arming)

Covax

Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.

Sir_Alex
Covax:

Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.

Это надо Jason Short’у писать. Я написал как оно сейчас есть, функция init_simple_bearing выполняется при арминге моторов.

Covax

Я слышал Алексей Харланов способен любую прошивку сделать так как надо, а не как есть 😃 Есть такое? 😃

Sir_Alex

От жеж… 😃
У меня пока мало опыта в коптерах, мегапират - это клон Ардукоптера под другое железо, т.е. вся логика остается от AC. Поэтому я старался минимизировать изменения в прошивках. Да и вообще, на данный момент, моя цель вылизать работу датчиков, GPS, и т.д., что бы к ним не было вопросов, а дальше можно будет с режимами поиграться 😃

Covax

Ну тут дохрена помошников всегда) Арду написан очень читабельно) Так что кто-то и в режимах сможет покопаться)