OrangeRX DSM и CPPM. Дружим с Pixfalcon.

Начал я тут возиться с мозгами Pixfalcon (китайская миниатюрная копия Pixhawk).
В силу своей миниатюризации, он позволяет подключить приёмник по одному из трёх интерфейсов:

  1. CPPM
  2. S.BUS
  3. DSM сателлит напрямую

Не всё так гладко, как хотелось бы. Пришлось достать осциллограф.

Из оранжевой продукции у меня было:

  • ORX R820X CPPM (8 канальный)
  • ORX R920X V2 CPPM (9 канальный)
  • сателлит R110XL (с двумя длинными усами)
  • оригинальный короткоусый сателлит от Horizon Hobby

Использовать один единственный сателлит, подключенный напрямую к единственному DSM порту мозга не хотелось, маловато будет одного сателлита. Вот было бы два, другой разговор.

Собрал значит я всё в кучу, подключил к мозгам приёмник R820X с сателлитом к соответствующему порту, включаю, и… Не работает. Счастью моему не было предела.

Решил подключить сателлит R110XL напрямую к DSM порту мога. На первый взгляд работает, но через секунд 15 пропадает синхронизация: в Mission Planner некоторые каналы начинают прыгать с минимума на максимум. А ещё через пару минут мозги начинаю очень подозрительно пикать, описания этим пикам я не нашёл. Пробовал биндить как DSM2, DSMX, DSM8. Без результата. В состояние ARM мозг входить отказывался. Покурив мануалы Ardupilot (думал проблема в мозгах), ни к чему не пришёл.

Следующим моим шагом было подключение оригинального сателлита. И о чудо, всё заработало как часы! Но оригинальный сателлит - это не вариант для меня, слишком короткие усы. Но стало понятно, что дело скорее в оранжевой продукции, чем с мозгами.

Начал шерстить тему про CPPM. На одном форуме вычитал, что китайцы иногда путают и под видом CPPM присылают версию S.BUS. Ну, думаю, чем чёрт не шутит, вдруг 9-и канальный с S.BUS и всё заработает?

Подключил R920X. Работает! Мистика и злой промысел… Но как выяснилось потом, он тоже CPPM.

Начитавшись про CPPM (тут), взял в руки осциллограф.

Осциллограмма R820X

Осциллограмма R920X V2

У R820X

  • количество каналов 9
  • ширина паузы между каналами 138 мкс.
  • ширина паузы между пакетами 7 мс.

У R920X V2

  • количество каналов 9
  • ширина паузы между каналами ровно 300 мкс. Видимо спецом подгоняли во второй версии.
  • ширина паузы между пакетами 12 мс.

И тут мы понимаем, что это за “стандарт” CPPM.
Почему мозг не подружился с r820x? Может из-за слишкмо короткой паузы между каналами. А может не смог отличить один пакет от другого. C R920X V2 он дружит. Но кто знает, не упадёт ли синхронизация при определённом положении ручек… По хорошему пауза между пакетами (синхроимпульс) должна быть больше длинны пакета, что в случае 9 каналов должно быть больше (2мс + 0.3мс) * 9 = 20.7мс. То есть хорошая пауза для синхронизации должна быть порядка 24 мс для 9-и канального приёмника, чтобы уж наверняка.

Попробую купить Orange с S.BUS. Там вроде как хотя бы частоты и структура данных описана и зафиксирована ребятами из FUTABA.

Мораль басни
Не рассчитывайте на CPPM. Вероятность его работы с вашим оборудованием 50/50.
Сателлиты Orange тоже не “точная” копия оригинала как показала практика.

  • 642