Очень много споров идет относительно того что лучше SBus или PPM в приемнике. Здесь мы рассмотрим чем отличаются SBUS и PPM, и их преимущества.
Оригинал: PPM vs SBUS – D4R-II vs X4R-SB
Почему SBUS лучше чем PPM
PPM (aka CPPM) – это старый, аналоговый сигнал. SBUS – новый, цифровой сигнал.
Кратко, SBUS имеет следующие преимущества
- SBUS быстрее чем PPM и PWM
- Имеет обработку ошибок
- Более плавный, имеет бОльшее разрешение по каналам
Задержка
По мнению гуру с RCGroups, CPPM и PWM оба имеют задержку примерно 60-80мс, SBUS – только 10-20мс.
На самом деле задержка в PPM сигнале вызвана его шириной, которая равна 18мс (или 27мс в новых прошивках, с исправленным багом в 8 канале). Но благодаря тому способу как Cleanflight обрабатывает PPM сигнал, усредняя 3 значения (а в старых версиях – 4 значения) чтобы избавится от скачков сигнала (помех) получается более длинная задержка (3*18мс или 3*27мс).
Преимущество в 50мс кажется небольшим, но оно определенно помогает! Например, для параметра looptime = 1000, каждый расчет параметров занимает всего 1 мс. Если вы используете SBUS, то ваш квадрик отреагирует на ваши команды на 50 циклов раньше. Меньшая задержка в канале управления означает более отзывчивое управление.
BanniUK прокомментировал мой пост на сайте Multicopter International, он спросил: как далеко пролетит квадрик за этот период времени? Очень интересный вопрос!
Скажем, если ваш квадрик летит со скоростью 100 км/ч, что значит 27,8м/с, за 50мс он пролетит 1,39 метра!
Обработка ошибок
Как уже было сказано, PPM это аналоговый сигнал, у которого есть дребезг и даже интерференция с другими сигналами. Полетный контроллер не может определить была ли ошибка в данных, потому что он получил корректные данные (от 0% до 100%). Чтобы предотвратить это, используется скользящее среднее по 3м точкам (берется среднее трех последовательных значений). И это причина дополнительной задержки.
Цифровой сигнал с приемника такой как SBUS имеет встроенную возможность проверки и исправления ошибок, так что усреднение по нескольким точкам не нужно.
X4R-SB vs D4R-II
Наиболее часто используемые приемники это FrSky D4R-II с PPM и X4R-SB для SBUS.
Приемник | Тип | Каналы | Задержка |
D4R-II | CPPM | 8 PPM or 4 PWM | 60-80мс |
X4R-SB | SBUS | 16 SBUS + 3 PWM | 10-20мс |
D4R-II поддерживается большинством полетных контроллеров без дополнительных конвертеров или адаптеров, как для управления так и для телеметрии.
X4R-SB – может потребовать инвертор сигнала для некоторых контроллеров, например для Naze32 Rev5 или преобразователь SBUS в PPM для KK2. Также адаптер будет нужен для порта телеметрии.
Тем не менее X4R-SB позволяет использовать 3 сигнала PWM, в дополнении к имеющимся 16 каналам SBUS. Так что вы можете использовать их для сервомашинок, подвесов, пищалок и т.д., там где нужен именно PWM сигнал. PWM выходы не доступны, если вы включили PPM на D4R-II.
Оба приемника имеют примерно одну цену, дальность действия (у обоих указано до 1,5 км), процесс привязки, и настройки фейлсейф.
Тут можно купить FrSky X4R-SB
Использование X4R-SB (SBUS) с CC3D, Sparky, SPRacing, Dodo, Tornado
Для всех этих контроллеров (CC3D, Sparky, SPRacing, Dodo, Tornado) настройки очень просты. Все что вам нужно – это подключить приемник к контроллеру, также как PPM.
На CC3D нужно указать в настройках чтобы MainPort принимал SBUS, и теперь у вас прямое подключение всего по 3м проводкам.
Использование X4R-SB (SBUS) с Naze32
Из-за того, что Naze32 Rev5 и более старые версии платы не поддерживают инвертированный сигнал SBUS, вам необходим конвертер типа этого. Или вы можете сделать его самостоятельно. Сигнальный провод подключаем к пину RC4, и затем настраивает UART2 для приема сигнала (Serial RX) в Cleanflight.
У вас может возникнуть вопрос, а не увеличит ли интертер задержку сигнала и не уберет ли это преищество SBUS. Я сам не проверял, но читал где-то что задержкой можно пренебречь, т.е. инвертер это всего лишь быстро переключающийся транзистор, который работает с микросекундными скоростями.
Без инвертора на Naze32 – X4R-SB хак.
Даже если задержка вызываемая инвертором незначительная, для более простой установки есть возможность избавиться от инвертора. Ссылка 1 и ссылка 2.
Последняя версия прошивки для X4R-SB
Последнюю версию можно скачать тут. Судя по всему лучшая прошивка это X4R-X4RSB-CPPM, взятая с multi-rotor.co.uk:
- Если биндить приемник с передатчиком без джампера, то получаем оригинальный вариант: PWM каналы 1-3 и SBUS на выходе 4
- Если биндить с джампером, то выход 1 будет содержать CPPM каналов 1-8, выходы 2 и 3 – будут 9 и 10 каналами PWM, а выход 4 – SBUS
Очевидно, что эта прошивка превращает X4R-SB в 8+2 или 16+3 канальный приемник.
Заключение
В этом посте я не попытаюсь убедить кого-то использовать SBUS вместо PPM, возможно PPM работает достаточно быстро для многих людей и они не увидят разницы при переходе на SBUS. Но это определенно интересный факт и мне не терпится проверить это самому.