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

Serj=
Serj=:

Failsafe +/- Работает, но есть баг

Без ГПС, при срабатывании FS сохраняется последний уровень газа и если после посадки выключить пульт без предварительного дизарма, то FS опять включается с последнем, сохраненным, уровнем газа, движки работают 10 - 15 сек., а потом коптер автоматически дизармится.
Если первый FS сработает при полном газе, коптер сядет, а вы выключите пульт не дизармив коптер, он пульнет в верх на полном газу, взлетит сколько успеет за 15 сек. и там дизармится. Сегодня так получил коптером по рукам 😃

SkyAK

Есть такая проблема:

Откалибровал пульт в АПМ планере, все стики соответствуют своим названиям.
Включаю питание, выполняю арминг, движки на стик газа хорошо откликаются и вращаются, взлетает ровно, НО НЕ реагирует ни на какие движения стиков кроме газа!
Проверил режим - включен stabilize

Плата CRIUS ALL IN ONE PRO v1.1
регули Turnigy TY-P1 25Amp
передатчик Turingy 9x
Залил Megapirate NG_2.8_R2

kren-DEL
Serj=:

Без ГПС, при срабатывании FS сохраняется последний уровень газа и если после посадки выключить пульт без предварительного дизарма, то FS опять включается с последнем, сохраненным, уровнем газа, движки работают 10 - 15 сек., а потом коптер автоматически дизармится. Если первый FS сработает при полном газе, коптер сядет, а вы выключите пульт не дизармив коптер, он пульнет в верх на полном газу, взлетит сколько успеет за 15 сек. и там дизармится. Сегодня так получил коптером по рукам

прискорбно 😦
Есть несколько вопросов:

  1. Для использования FS на D8R-IIPlus что надо настроить в планере и приёмыше?
  2. Как заставить коптер при арминге работать на заранее заданных оборотах, так сказать на “холостых”?
  3. В последней прошивке появилась возможность передавать телеметрию, которая есть на мегапирате (ГПС координаты, бортовое питание, ампераж и т.д.) через телеметрийный модуль в аппу через RX3/TX3… что необходимо настроить на аппе (прошивка er9x-r777 FRSKY NHT) для отображения этих данных
    спасибо
Serj=
kren-DEL:

Для использования FS на D8R-IIPlus что надо настроить в планере и приёмыше?

D8R-IIPlus правильный приемыш,в нем при FS на канале газа надо настроит сигнал в 960 - 970 mS, на остальных каналах управления 1500 mS, в планере уровень срабатывания FS по умолчанию 975 mS на третьем канале и поставить две галочки ниже.
Второй вопрос уже поднимался раньше, вроде решили что никак.

Serj=

Удалось кому-то подружить датчик тока и напряжения с последними версиями прошивки?
У меня с 2.7R4 и AttoPilot90A такая фигня:


И напряжение не меняется при изменении напряжения на аккумуляторе.

SovGVD
Serj=:

в нем при FS на канале газа надо настроит сигнал в 960 - 970 mS

только прошивку надо соответствующую (проскакивала N страниц назад), где такой вариант FS активирован, т.к. с multiwii вариантом это всё не сработает

kren-DEL
SovGVD:

только прошивку надо соответствующую (проскакивала N страниц назад), где такой вариант FS активирован, т.к. с multiwii вариантом это всё не сработает

Спасибо, буду пробовать на текущей, а потом отпишусь:) Когда эксперементировал вчера - выяснил что включается РТЛ именно при падении сигнала меньше 975, осталось настроить сигнал на фс меньше, чем 975…

Sir_Alex
SovGVD:

только прошивку надо соответствующую (проскакивала N страниц назад), где такой вариант FS активирован, т.к. с multiwii вариантом это всё не сработает

В 2.8 это штатный режим FS. Разумеется для этого нужен приемыш с данной функцией.
FS от мультивии надо немного переделать, что бы при потере сигнала, он начинал выдавать на канале Throttle значение ниже 975

Serj=
Sir_Alex:

что бы при потере сигнала, он начинал выдавать на канале Throttle значение ниже 975

и устанавливал 1500 по всем управляющим каналам, у многих еще тупые приемыши.

Sir_Alex
Serj=:

и устанавливал 1500 по всем управляющим каналам, у многих еще тупые приемыши.

Проблема в том, что у меня уже FrSky…

kren-DEL

Провёл серию испытаний на приёмнике D8R-IIPlus:
срабатывание FS по газу был настроен на 990, затем с помощью кривых газа был поднят сигнал до 1000, т.е. при включённой аппе подаётся сигнал по 3 каналу 1000 при выключенной 986 (так забиндил FS)
Результат:

  1. при отключении аппы включается РТЛ режим, канал 3 выдаёт 986
  2. при включении аппы (появляется сигнал) РТЛ режим продолжает работать, но режим остаётся РТЛ, ессно коптер несётся домой
  3. для переключения в управляемый режим достаточно переключить коптер на любой другой режим и он устанавливается (например стаб)
  4. при отключении аппы, когда коптер заармирован он улетает согласно п.1

Пы.сы.
Обнаружил тоже багу:
при появлении сигнала если поставить газ на 0(в самый низ), то независимо оттого, что работает РТЛ все двигатели отключаются 😦, но стоит чуть двинуть стик - всё нормально начинает работать…
это всё проведено виртуально 😃 на компе по показаниям сенсоров

Serj=
Sir_Alex:

Проблема в том, что у меня уже FrSky…

Глеб сделал эту фишку.
У меня работает.
Только нашелся один баг в FS без GPS.

kren-DEL:

затем с помощью кривых газа был поднят сигнал до 1000

Проще оттримировать газ вниз, установить FS и вернуть газ обратно.

kren-DEL
Serj=:

Проще оттримировать газ вниз, установить FS и вернуть газ обратно.

завтра попробую 😃 спсибо

Sir_Alex
Serj=:

Глеб сделал эту фишку.

Что то вылетело из головы. 😒

Так может тогда проще сделать так:

uint16_t APM_RC_PIRATES::InputCh(uint8_t ch)
{
  uint16_t result;
  uint16_t result2;

  result=readRawRC(ch);

  // Limit values to a valid range
  if(failsafeCnt >= 20 && ch==2) {
result=950;
 }
 result = constrain(result,MIN_PULSEWIDTH,MAX_PULSEWIDTH);
  radio_status=1; // Radio channel read
  return(result);
}

В этом случае будет врубаться штатный FS, по каналу Throttle…

SovGVD
Sir_Alex:

В этом случае будет врубаться штатный FS, по каналу Throttle…

угу, НО НАДО на 0 1 3 каналах 1500 ставить - иначе коптер будет эти стики “слушать” и отлетать от нужной точки

upd: а constrain(result,MIN_PULSEWIDTH,MAX_PULSEWIDTH); не зарежут 950?

как то вот так

uint16_t APM_RC_PIRATES::InputCh(uint8_t ch)
{
  uint16_t result;
  uint16_t result2;
  	result=readRawRC(ch);

  result = constrain(result,MIN_PULSEWIDTH,MAX_PULSEWIDTH);
  if(failsafeCnt >= 20 && ch!=2 && ch<=3) {
	result=1500;
  } else if(failsafeCnt >= 20 && ch==2) {
	result=950;
  }
  radio_status=1; // Radio channel read
  return(result);
}

тут и резаться ничего не будет и FS штатный будет работать (для turnigy 9x)

Sir_Alex
SovGVD:

upd: а constrain(result,MIN_PULSEWIDTH,MAX_PULSEWIDTH); не зарежут 950?

#define MIN_PULSEWIDTH 900

SovGVD:

угу, НО НАДО на 0 1 3 каналах 1500 ставить - иначе коптер будет эти стики “слушать” и отлетать от нужной точки

Странно, разве на RTL влияют стики?

SovGVD
Sir_Alex:

Странно, разве на RTL влияют стики?

не знаю, но кто-то писал что при отваливании пульта (FS) стики зависают и коптер летит непонятно как, к тому же там не только RTL может быть, а еще LAND

Sir_Alex

У меня всё руки не доходят до просто полетать (уже пол года не взлетал), не говоря уже о авторежимах… так что не знаю, как влияют стики на них 😃