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

Sir_Alex

Я себе брал вот такую батарейку banned link - влезла. А вообще, предлагаю такие вопросы перенести в ветку “Закупаемся для…”

Sir_Alex

Вчера решил проверить, есть ли дрифт у датчиков. Дул феном (100гр) на плату с датчиками, горизонт при этом заметно начинал уплывать, по мере остывания, горизонт возвращался обратно.
Второй тест - оставил коптер включенным на всю ночь, на утро показания не изменились. Вывод: температура имеет заметное влияние на дрифт показаний датчиков. Следовательно, не рекомендую запечатывать плату c датчиками в герметичный бокс и уж темболее вместе с регулями 😃

SovGVD

еще вариант - брать температуру с датчика и корректировать значения, но гемор и зависимость наверняка не линейная

Ar2r
meln1k:

Не могли бы вы сказать чего не хватает / что лишнее ?

Аккумулятора на 8000mAh 😃

AntonPO

Скажите, есть ли возможность подключить саттелит спектрумовский к мегапирату?

Sir_Alex
AntonPO:

Скажите, есть ли возможность подключить саттелит спектрумовский к мегапирату?

Вроде нет. Можете подключить его к одному из свободных Serial портов и переделать под это либу APM_RC.cpp.
На DIYDrones есть информация по переходнику Spektrum -> PPM_SUM, но ИМХО, нам проще поддержать подключение Спектрума напрямую.

Sir_Alex
AntonPO:

а ардупилот вроде умет спектрум саттелиты store.diydrones.com/product_p...m-apmadptr.htm

Через эту платку и мы сможем 😃 Как я уже писал, это и есть конвертер Spektrum -> PPM_SUM, а sum сигнал мы поддерживаем 😉

AntonPO
Sir_Alex:

Через эту платку и мы сможем Как я уже писал, это и есть конвертер Spektrum -> PPM_SUM, а sum сигнал мы поддерживаем

Да не, это не PPM_SUM. Это тупо платка LLC, т.к. саттелиты работают от 3.3вольт. Но, народ подключает сателлиты и напрямую, только питают от 3.3 есс-но.

PPM_SUM это вот: store.diydrones.com/product_p/br-ppme.htm

Sir_Alex

Ну в любом случае, надо допиливать APM_RC что бы принимать и декодировать значения с Serial порта. Ну и LLC понадобится, хотя его конечно можно сделать просто на резисторах… питание 3.3В взять с ардуины.

AntonPO:

Не, это другая штука, она преобразует PWM в PPM. А нам надо UART в PPM 😃

tusik

Так есть на пирате файл сейв или нет? Сегодня пешкотестом проверил дальность действия своей Турниги. В городе со вкюченым ФПВ передатчиком (ХК 900 Мгц, 0,8 Вт) дальность 100м, с выключенным ФПВ - 200м. Хочется летать дальше, метров на 800-1000 по камере. Надо что-то менять. Первое, что приходит на ум - разнести на коптере приемник и передатчик. Но на коптере не так уж много места, чтоб это сделать. Второе - стандартный ВЧ модуль заменить на фрскай. Третье - чет думать с антенами. Ну и хочется, чтоб после потери сигнала включался РТЛ.

SovGVD

200 метров в городе это имхо не плохо для 2.4ггц (считай wifi)… но надо на поле проверять имхо
а кстатии как фпв на 0.9ггц влияет на аппу на 2.4ггц
зы: хкшная 6 каналка на 300 метров пробивала у меня, пока коптер не попал в какую то аномалию, когда отрубилось видеи и управление сразу и всё рухнуло на дерево =)

tusik
SovGVD:

хкшная 6 каналка на 300 метров пробивала

Я на такой сейчас летаю. А Турнигу взял на “вырост”. Выбор режимов, подсветка, авто трим и тд. Кстати, приемник в тесте был ХК.

SovGVD:

а кстатии как фпв на 0.9ггц влияет на аппу на 2.4ггц

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

tusik:

вкюченым ФПВ передатчиком (ХК 900 Мгц, 0,8 Вт) дальность 100м, с выключенным ФПВ - 200м

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

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

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