ArduCopter Mega: порт на обычную Arduino (тестим)
обычный турниговый приемник не зависает на старых значениях, насколько мне известно
Да, ты прав, сам серву воткнул, она в том же положении остается после выключения пульта, но ее рукой можно повернуть, соответственно сигнала нет.
Мои проблемы с самолетом не удачный пример, на нем газ не сбрасывается, но видимо это уже регуль виноват.
На свой страх и риск - версия 2.7r4, с FS, которые roll/pitch/yaw выставляет в центр (1500) при пропаже сигнала с турниги
Сам пират (принудительный FS) direct.nekaka.com/XW8PGLVIeU/Cxgn
либы (как обычно удаляем старые и ставим новые) direct.nekaka.com/tCYTYhXsGh/n3iC
если лениво все либы перезаливать то вот этот файлик в APM_RC пихнуть direct.nekaka.com/zlQ2AJxqfJ/sQTs
там одна единственная правка:
uint16_t APM_RC_PIRATES::InputCh(uint8_t ch)
{
uint16_t result;
uint16_t result2;
// Because servo pulse variables are 16 bits and the interrupts are running values could be corrupted.
// We dont want to stop interrupts to read radio channels so we have to do two readings to be sure that the value is correct...
result=readRawRC(ch);
// Limit values to a valid range
result = constrain(result,MIN_PULSEWIDTH,MAX_PULSEWIDTH);
if(failsafeCnt >= 20 && ch!=2 && ch<=3) {
result=1500; // можно было и красивее
}
radio_status=1; // Radio channel read
return(result);
}
проверка:
- заходим в планер, выводим raw sensors вкладка radio,
- заводим коптер (без винтов конечно, как бы виртуально), стик roll/pitch в любую сторону
- вырубаем пульт - должен переключится в RTL (наличие GPS fix обязательно, чтобы увидеть RTL, иначе можно глянуть в radio, как себя стики ведут) и в rawsernsor->radio roll/pitch/yaw должны быть по центру
ВНИМАНИЕ нельзя при этом использовать FS с rctimer
кстаии с газом не потятно что делать - он остается на максимуме:
www.youtube.com/watch?v=6PFCcOHfL-o
и при RTL получается будет набирать высоту
На свой страх и риск - версия 2.7r4, с FS, которые roll/pitch/yaw выставляет в центр (1500) при пропаже сигнала с турниги
Проверил, работает, 1, 2 и 4 каналы выставляются в 1500, при Failsafe без GPS газ постепенно снижается до 1200, то есть Land срабатывает.
кстаии с газом не потятно что делать - он остается на максимуме:
и при RTL получается будет набирать высоту
Ну он и должен набирать на величину ALT_HOLD_RTL а потом с постоянным газом идти домой.
короче надо тестить в реальности, а реальность холодная очень, но вроде бы как бы всё работает =)
Sir Alex, предлагаю ввести 2 варианта FAILSAFE, один multiwii-шный, другой через железку с rctimer
Что за железка?
другой через железку с rctimer
Он же для нормальных приемников, на которых уровни при Failsafe выставить можно, типа Фриски.
И, по моему, железка лишняя, она же на остальных каналах уровни не выставит, если только 4 штуки ставить.
Что за железка?
rctimer.com/index.php?gOo=goods_details.dwt&goodsi…
при пропаже сигнала с throttle канала выдает заранее выставленное значение, в случае с ардукоптеров это менее 975 - тогда будет срабатывать оригинальный FS, а без этой железки только multiwii вариант или приемник, который делает аналогично этой железки
при пропаже сигнала с throttle канала выдает заранее выставленное значение, в случае с ардукоптеров это менее 975 - тогда будет срабатывать оригинальный FS, а без этой железки только multiwii вариант или приемник, который делает аналогично этой железки
Вопрос: Почему железка знает что пропал сигнал, а мы нет? Значит и мы можем таки определить пропажу сигнала…
Значит и мы можем таки определить пропажу сигнала…
дык мы и определеяем, с мультивишным FS
А пробовал кто-нибудь джойстик подключать?
У меня джойстик определился, на кнопки реагирует, режимы переключает, а на ручки не реагирует, заармить не могу, и из Планера не армится, пишет Error: Arm message rejected by MAV
заармить не могу,
Если подключены по кабелю, то так и должно быть
Если подключены по кабелю, то так и должно быть
Через модем тоже не могу.
Вопрос: Почему железка знает что пропал сигнал, а мы нет? Значит и мы можем таки определить пропажу сигнала…
Приемник турниговский убогий! Даже железка от рцтаймера не на всех каналах может определить пропажу сигнала. Например на 5-и канале не может определить. А на 3-м и 6-м может.
У меня джойстик определился, на кнопки реагирует, режимы переключает, а на ручки не реагирует, заармить не могу, и из Планера не армится, пишет Error: Arm message rejected by MAV
Точно не знаю, но кто то уже писал, что только джойстиком нельзя заармить. Надо с пульта.
P.S. Я тут вчера глянул на 2.9 - едрид мадрид… работки они подкинули дофига. 2.9 уже использует модель драйверов HAL - что как бы означает что она сможет работать на разных платформах (PX4 в том числе) - но и мне придется колхозить драйвера по новой для этой модели…
кто то уже писал, что только джойстиком нельзя заармить. Надо с пульта.
Пробовал с пульта, но на стики джойстика все равно не реагирует, хотя в окне привязки каналов к джойстику полоски бегают.
У мну родился сын! Так что у меня сейчас хлопот полный… Но потиху дорабатываю прошивку…
Поздравляю с наследником! Пускай хлопоты будут не в тягость )
едрид мадрид…
пора завязывать с портированием? =)
Сначала нужно взрастить преемников 😃 научите меня, а? 😃
Завел себе такую табличку для тестирования, а то сумбур в голове. Что еще стоит в нее добавить?
Stabilize + Работает
Alt Hold - Плавает, надо попробовать без паралона
Land - Слишком быстро садиться, после посадки тащит влево
Simple + Работает, но надо проверить еще раз, не понятно, нужно ли активировать в коде
SuperSimple
Loiter + Работает
RTL + Работает
Auto + Работает, но надо разбираться с командами
TAKEOFF - После взлета не идет на маршрут
Circle
Guided
Failsafe +/- Работает, но есть баг
Модем + Работает
Подвес + Работает
AttoPilot 90A - Не правильно показывает напряжение
RTL при просадке батареи
Follow Me
GeoFence
FPV
В 2.8 R3 добавил поддержку PPM_SUM через пин PL1(ICP5) - Пропала дерготня по входным каналам… а я то всегда думал, что это Турниджи 9x фигово работает…
PL1 пин вывели на новой платке CRIUS AIOP v2, но те кто использует обычную Ардуину, так же могут воспользоваться им (вроде бы Digital48 пин)