Телеметрия (часть 2)

smalltim

Жду хороших идей, коллеги. О том, чего умеет или не умеет автопилот, не думайте. У него есть на входе 5 каналов PPM, 2 логических входа-выхода и свободный канал АЦП (если подключена телеметрия). С этим всем он, считайте, умеет делать всё. Любая логика, какую пожелаете.
А, вообще, как ведут себя не-фейлсейфовые каналы при потере связи с передатчиком? Пропадает PPM на выходе? Мониторя состояние сразу всех каналов, можно отловить момент, когда каналы перестали изменяться или появилось что-то необычное в любом канале.

>Чтобы отловить разницу между фэйлсейвом и не фейлсейвом нужно хотя бы процентов 5. Но как сделать, чтобы эти 5% не раскручивали мотор?

Это ж всё идет через автопилот, поэтому изменить состояние любого канала по заранее заданному шаблону - не проблема 😃 Можно диапазон 1.2–2 мс превратить на выходе в 1–2мс, не вопрос.

Texnik

КИТы телеметрии ещё заказывать можно? To smalltim : написал в личку.

Панкратов_Сергей
smalltim:

А, вообще, как ведут себя не-фейлсейфовые каналы при потере связи с передатчиком? Пропадает PPM на выходе? Мониторя состояние сразу всех каналов, можно отловить момент, когда каналы перестали изменяться или появилось что-то необычное в любом канале.

.

На имеющихся у меня spektrum ar7000 и 6200 при пропадании сигнала
на каналах (кроме дросселя ) сохраняются сигналы соответствующие сигналам на момент пропадания.

Pavel_E
smalltim:

А, вообще, как ведут себя не-фейлсейфовые каналы при потере связи с передатчиком?

Если речь о PCM приемниках, то они обычно программируются по одному из 2-х вариантов поведения:

  1. резать до 0 (или другого заданного значения) только газ, по остальным каналам повторять последние принятые значения;
  2. устанавливать все каналы в заранее определенные значения.

Сегодня вечером попробую всесторонне погонять свой приемник JR RS10DS и расскажу о возможностях его регулировки, если интересно. А то все футаба, футаба…

smalltim:

Это ж всё идет через автопилот, поэтому изменить состояние любого канала по заранее заданному шаблону - не проблема Можно диапазон 1.2–2 мс превратить на выходе в 1–2мс, не вопрос.

Проблема только в том, что у каждого свои настройки (про разницу электро/двс вообще молчу) и под каждого править прошивку вам, коллега, будет вряд ли возможно 😃 Собственно, вся проблема сводится к определению момента включения фэйлсейва, при этом желательно, чтобы неактивный автопилот не вмешивался в управление, т.е. канальные импульсы не трогал бы.

ReGet

По уровню RSSI конечно самый правильный метод получается.
Да и вообще, небюджетное это дело - fpv, да еще и с автопилотом, можно и купить определенный приемник (подходящий)

smalltim

>Проблема только в том, что у каждого свои настройки (про разницу электро/двс вообще молчу) и под каждого править прошивку вам, коллега, будет вряд ли возможно 😃

Зачем править прошивку? Автопилот настраивается с компука, ну введите после калибровки передатчика, опять же на компуке, пороги и диапазоны какие надо и всё. Мне только надо знать, что давать настраивать.

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

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

Панкратов_Сергей
ReGet:

По уровню RSSI конечно самый правильный метод получается.
Да и вообще, небюджетное это дело - fpv, да еще и с автопилотом, можно и купить определенный приемник (подходящий)

И передатчик в придачу:) Так как к нему нет приемников с выведенным RSSI.
По мне куда проще на spektrum ar7000 и 6200 вывести сигналы с светодиодов, информирующих наличие сигнала.

Было б неплохо предусмотреть режим переключения на автопилот не только по факту соответствия импульсов на входе какому либо диапазону длительностей, но и просто по наличию или отсутствию логической единицы.

Pavel_E
smalltim:

Зачем править прошивку? Автопилот настраивается с компука, ну введите после калибровки передатчика, опять же на компуке, пороги и диапазоны какие надо и всё. Мне только надо знать, что давать настраивать.

Да, тогда все прощще 😃
Ну да ладно. Обещал результаты испытаний - выкладываю. У кого JR и приемники S-PCM, то считайте совсем повезло и автору голову можно не морочить 😃 Эти приемники (не знаю как все, но в литературе ограничений не нашел) могут настраиваться по ЛЮБОМУ каналу в 2 режима: HOLD или FAIL-SAFE. В режиме HOLD приемник при пропадании сигнала тупо повторяет последнюю принятую длительность. В режиме FAIL-SAFE приемник при пропадании сигнала выдаст по этому каналу заранее установленное значение. То есть, если включение/выключение автопилота у нас выведено на отдельную кнопку отдельного канала в передатчике, то все вообще элементарно. Этот канал настраивается в режим FAIL-SAFE в положении тумблера ВКЛ. Тогда автопилот включится либо по тумблеру, либо по пропаданию сигнала автоматически.

Pavel_E

Добавлю:
Для приемников PPM детекция пропадания сигнала - хаос в каналах с длительностью импульсов заведомо вне рамок PPM стандарта.
Для приемников JR S-PCM детекция не нужна, т.к. можно сам приемник запрограммировать на выдачу сигнала нужной длительности по любому из каналов.
Для приемников PCM других марок, которые не умеют программироваться как JR, возможны варианты:

  • по наличию нуля в канале газа,
  • по выходу RSSI,
  • по лог “1” или “0” со светодиода.

И резюме:
Чтобы иметь возможность включать/выключать автопилот по желанию и автоматически по пропаданию сигнала нужно:

  1. Предусмотреть один канал сигнала PPM на вход. Настройки: пороговой длительности импульсов, режима включения (вкл по превышению длительности, вкл по пренижению длительности).
  2. Предусмотреть включение автопилота по наличию сигнала выше/ниже определенного уровня в канале АЦП. Настройки: уровень АЦП, режим включения (вкл по высокому, вкл по низкому, не включаться по данному входу), % потерь сигнала, начиная с которого надо включаться (с усреднением, скажем, за 1с - чтобы не дергать автопилот при кратковременной разовой помехе), % потерь сигнала, начиная с которого надо выключаться ( чтобы гистерезис был).

Вроде бы в этом случае все перечисленные варианты можно реализовать.

Dikoy
blade:

…Если знать, что “Пито” должна устанавливаться вне зоны перепадов давления (недаром на нормальных самолётах- вынесена вперёд)

Еси чесна, я даже не подумал о месте установки 😃 Меня привлекла форма. Я уже видел её в своей книжке, это один из вариантов “правильного” заборника.
Эх, в тяпницу попробую отсканить её на нашем ГДРовском сканере. Хоть он и сканирует одну страницу 5 минут 😃

smalltim:

А, вообще, как ведут себя не-фейлсейфовые каналы при потере связи с передатчиком? Пропадает PPM на выходе? Мониторя состояние сразу всех каналов, можно отловить момент, когда каналы перестали изменяться или появилось что-то необычное в любом канале.

Совершенно верно. Пропадает ППМ с редкими помехами. Я сейчас завёл восьмибитный таймер и по нему мерию период между фронтами двух канальных импульсов. Если больше 2*16 мС (16 мС это период переполнения восьмибитника на 16 МГц), и таких переполнений 5 подряд, включаю автопилот. Аналогично отключаю по условию 5 принятых нормальных периодов. Работает очень чётко, ещё 9 мая с этой системой летал.

Mironov
Pavel_E:

Добавлю:Для приемников PPM детекция пропадания сигнала - хаос в каналах с длительностью импульсов заведомо вне рамок PPM стандарта.

Это верно не для всех приёмников. Современные PPM приёмники легко фильтруют “неправильные” импульсы, оставляя на выходе последнее правильное значение импульса. А при пропадании сигнала - выставляют канальные импульсы в среднее положение, газ - в ноль.

Dikoy
Pavel_E:

Для приемников PPM детекция пропадания сигнала - хаос в каналах с длительностью импульсов заведомо вне рамок PPM стандарта.

Хаос в каналах своего китайского ефлая видел только при покладывании оного на системный блок компука. Но там и сигналы передатчика ловились не чётко. В соседней комнате на выходе чистый ноль с ОЧЕНЬ редкими помехами - раз в минуту на канал.

Pavel_E
Mironov:

Это верно не для всех приёмников. Современные PPM приёмники легко фильтруют “неправильные” импульсы, оставляя на выходе последнее правильное значение импульса. А при пропадании сигнала - выставляют канальные импульсы в среднее положение, газ - в ноль

Знаю, у самого JETI REX 7 MPD. Вот это MPD почти так и делает. Но для них будет работать вариант:

Pavel_E:

Для приемников PCM других марок, которые не умеют программироваться как JR, возможны варианты: - по наличию нуля в канале газа, - по выходу RSSI, - по лог “1” или “0” со светодиода.

Dikoy
Mironov:

Современные PPM приёмники легко фильтруют “неправильные” импульсы, оставляя на выходе последнее правильное значение импульса. А при пропадании сигнала - выставляют канальные импульсы в среднее положение, газ - в ноль.

Это дополнительный функционал, о чём будет сказано в документации. Классический приёмник ничего запомнить не может в принципе - некуда ему запоминать 😃

Pavel_E
Dikoy:

комнате на выходе чистый ноль с ОЧЕНЬ редкими помехами - раз в минуту на канал.

Ну это как раз случай “с длительностью импульсов заведомо вне рамок PPM стандарта”. Т.е. просто фильтруя все, что меньше 800мкс и больше 2200 мкс мы уже получим достоверную картину наличия фигни. Хотите с запасом? Можно фильтровать меньше 500мкс и больше 2500мкс. 100%-я фигня 😃

DIM81
Панкратов_Сергей:

Да и вообще, небюджетное это дело - fpv, да еще и с автопилотом, можно и купить определенный приемник (подходящий)

Поэтому, раз ФПВ предполагает максимальную дальность управления, а ее могут предоставить только современные приемники двойного преобразования с ПСМ (либо другой цифрой в зависимости от производителя), которые имеют ФС (нужно чтобы на любой канал) то на эти приемники и нужно ориентироватся.
Если что, то к автопилоту такой приемник можно будет и докупить, главное чтобы дальность не страдала.
А в атопилоте предусмотреть корректировку длительности цифроимпульсов PPM для настройки корректного вкл автопилота при ФС, в зависимости от производителя приемника. Может даже какието шаблоны предусмотреть для ламеров (для меня например) при программировании с компука - если футаба, то циферка 1, если ЖР, то циферка 2 и т.д.?

Офф топ, приемник футаба r149 dp файл сейфит на любой канал, или только на 4 основных?

Панкратов_Сергей

А зачем мне чужие фразы приписывать?
Я этого не писал, на что вы ссылаетесь.
Кроме того Вы ошибаетесь , утверждая что PCM даст большую дальность.
Управление пропадет на том же расстоянии, возможно даже ранее.
То что трясти не будет , а пропадет почти сразу - это да.

Но то что это плюс - для кого как.
Кому то лучше что есть предупреждение (тряска пошла) , чем сразу отруб управления

Dikoy
Pavel_E:

Ну это как раз случай “с длительностью импульсов заведомо вне рамок PPM стандарта”.

ИМХО ненадёжно. Мой метод при значительно меньшем выч. ресурсе мониторит ОДНОВРЕМЕННО два канала, выявляя потрею сигнала как потерю по двум каналам одновременно. Проверка корректности измеренного периода у меня есть, индивидуально на канал, но попытки сделать монитор на них ни к чему хорошему не привели.
Измерение периода у меня инициирует прерывание. Нет импульсов на входе - нет прерываний. По любому нужен ещё один таймер, чтобы зафиксировать не только период сигнала, но и период между сигналами. + помехи могут попадать в правильный период. То есть прошёл импульс 1,5 мС и далее минуту тишина.
Я неделю размышлял над всеми вариантами и в итоге решил, что измерение периода между двумя фронтами соседних каналов по дополнительному таймеру - самый надёжный метод.

Pavel_E
Dikoy:

ИМХО ненадёжно. Мой метод при значительно меньшем выч. ресурсе мониторит ОДНОВРЕМЕННО два канала, выявляя потрею сигнала как потерю по двум каналам одновременно. Проверка корректности измеренного периода у меня есть, индивидуально на канал, но попытки сделать монитор на них ни к чему хорошему не привели.
Измерение периода у меня инициирует прерывание. Нет импульсов на входе - нет прерываний. По любому нужен ещё один таймер, чтобы зафиксировать не только период сигнала, но и период между сигналами. + помехи могут попадать в правильный период. То есть прошёл импульс 1,5 мС и далее минуту тишина.
Я неделю размышлял над всеми вариантами и в итоге решил, что измерение периода между двумя фронтами соседних каналов по дополнительному таймеру - самый надёжный метод.

Честно, не понял. Прочитал 3 раза, все равно не понял 😃 В чем заключается ваш метод детекции пропадания сигнала? Есть канал 1. Есть канал 2. Что вы измеряете и по каждому, какие сравнения делаете?

Про объем вычислений я не говорю, пока не понял сути вашего метода. Но по надежности не соглашусь, что может быть надежнее, чем 2 операции сравнения? if(ХХ<800 || XX>2200) pomeha=1; else pomeha=0; А дальше уже смотрим, как часто эта единица возникает, чтобы делать вывод об устойчивой потере связи. Или какой период между нулями этой переменной. Достаточен ли он для нормального управления или уже нет.

Dikoy
Pavel_E:

Честно, не понял. Прочитал 3 раза, все равно не понял

Я не знаю, как у тимофея, а у меня есть 2 таймера, которые считают по кругу. Они генерят ШИМ сигналы управления на аппаратном уровне, по ним же я вычисляю период канального импульса - засекаю прерывание по лапке, смотрю, фронт это или спад, и заношу в соотвествующие переменные значение таймера на фронте (начале) и спаде (конце) импульса. Причём значение таймера на спаде вовсе не обязано быть больше значения на фронте, ибо таймер может и перейти через максимум во время импульса. Это учитывается, но это детали. Не суть.
Так вот, выключили мы передатчик, прерывания застопорились в каком-то положении, а таймеры считают. Прошла помеха - прерывание дёрнулось и ба! Длина попала в допустимый предел. Но это НЕ сигнал передатчика, а помеха. Ваш метод не учитывает времени между канальным импульсом, а только его длину.
Я выбираю два любых канальных импульса (крен/тангаж) и во время фронта первого стартую восьмибитный таймер, а во время фронта второго торможу и обнуляю счётчик и флаг. Т.к. вся пачка длится 20 мС, то между импульсами не может быть больше 20 мС (я выбрал 32 мС пределом как самое близкое из ложащихся на периоды таймера). Если таймер переполнился, инкрементирую флаг. Таким образом, если флаг больше N, значит было N пропусков ПОДРЯД. Аналогично с обратным переключение в ручное.
Этот метод очень надёжен, т.к. не восприимчив к одинарным помехам, а срабатывает только на N некорректных/корректных приёмов подряд. Что и было доказано на практике.
Возможно у тима таймеры работают иначе и он может сделать по-другому. У меня только так.

ВСЕМ
Подскажите плиз кто знает, в каком году (примерно) на рынке появились футабовский PA-2 Pilot и fma co-pilot cpd-4? Шеф спрашивает, насколько стара тема 😃 .
Если на рынке ещё есть аналогичные девайсы, то тоже подскажите.