Адреэль Перкинс (Adriel Perkins) поделился с нами этой статьей. В ней он объясняет что такое looptime (время цикла) и действительно ли более быстрый цикл — лучше для вас. Также он описывает частоту обновления данных у регуляторов (ESC refresh rate), которая также очень важна.
При той скорости появления новых технологий что мы наблюдаем сейчас в области FPV коптеров, очень сложно быть в курсе всего. «Looptime” и “refresh rate» это параметры, которые в последнее время очень активно обсуждаются в сообществе FPV’шников, в контексте полетных контроллеров и регуляторов.
Значения времени цикла (looptime) в различных прошивках
В настоящее время используется 4 основных вида прошивок для полетных контроллеров (ПК), это: Betaflight, Cleanflight, Raceflight и KISS FC. У каждой из этих прошивок можно использовать разные значения времени цикла.
Часть прошивок работают с частотами начиная от 1кГц (looptime = 1000мкс) и заканчивая частотой 8кГц (150мкс), ведутся разговоры на тему использования частоты 32кГц в Raceflight.
Например, в последней версии Betaflight, возможно использовать частоту до 8кГц, но большинство предпочитают 4кГц (время цикла, looptime = 250 мкс ), KISS FC работает с частотой 1 кГц (1000 мкс looptime).
Но дает ли какие-то изменения увеличение частоты (уменьшение looptime)? Быстрее — значит лучше, это только на бумаге, или действительно лучше, в реальном мире?
Чтобы ответить на этот вопрос, мы вначале должны разобраться что такое время цикла. Есть два разных времени цикла, о которых должны знать все пилоты. 1. Время цикла полетного контроллера (ПК). 2. Время цикла регулятора скорости (ESC).
- Время цикла ПК — по сути это время за которое ПИД регулятор в ПК выполняет все расчеты и отсылает PWM сигнал на регуляторы хода
- У регуляторов имеется своё время цикла, оно определяет на сколько быстро регулятор получит PWM сигнал. Время цикла регулятора должно быть меньше, чем время цикла полетного контроллера, чтобы он мог получать данные быстрее чем ПК может их рассчитать; это даст время регуляторам на управление моторами. Если время цикла регулятора значительно меньше (частота больше), то старые значения будут использоваться моторами несколько раз прежде чем придут новые данные от ПК,
Большинство регуляторов используют протокол OneShot125, который по сути дает время цикла от 125 до 250 мкс. Сегодняшние полетные контроллеры (в зависимости от железа) могут использовать время цикла где-то от 1000 мкс до 150 мкс, за это время данные проходят через ПИД регулятор и передаются в ESC.
Не запутайтесь в понятиях: looptime (время цикла) полетного контроллера и refresh rate (частота обновления) означают одно и тоже, просто в разных единицах измерения: время цикла измеряется в мкс (микросекундах), а частота обновления в Гц (Герц).
- 1000 мкс = 1 кГц
- 500 мкс = 2 кГц
- 250 мкс = 4 кГц
- 125 мкс = 8 кГц
Oneshot125, Oneshot42, и MultiShot относительно времени цикла ПК
Когда вы меняете время цикла в полетном контроллере, вы также должны подумать и о протоколе передачи данных регуляторам.
Как уже упоминалось ранее, протокол Oneshot125 дает время цикла от 250 до 125 мкс. Oneshot32 — между 84 и 42 мкс, а Multishot — от 25 мкс до 5 мкс. Oneshot125 работает практически на всех регуляторах с прошивкой BLHeli. Oneshot42 — в настоящее время — это протокол регуляторов KISS, Multishot можно использовать только на регуляторах с процессором Silabs F39X, например DYS XM20A
Предпочтительно использовать протокол регуляторов работающий немного быстрее чем время цикла у ПК, обратное не имеет смысла. Если ПК работает значительно быстрее чем регулятор, тогда регулятор хода будет получать старые данные и этим его можно перегрузить.
Вот поэтому Oneshot125 не работает с частотой обновления ПК 8 кГц, при этой частоте регулятор отстает от ПК, т.к. регуль анализирует сигнал по спаду импульса (trailing edge), см ниже:
Также, если коптер летит на полном газу, в сигнале не будет никакой паузы между спадом и фронтом, так что сигнал газа будет просто прямая, что может вызвать проблемы с чтением такого сигнала.
Следовательно, когда используется Oneshot125, не рекомендуется устанавливать частоту обновления на контроллере выше 3.8 кГц, чтобы в сигнале все же были небольшие спады, которые бы позволили регулятору читать сигнал правильно (неправильный, ошибочный сигнал, приводит к остановке регулятора).
Это не проблема при использовании регуляторов с Multishot.
Все указанное нужно учесть при выборе времени цикла/частоты вашего полетного контроллера.
Практика
На практике, чем более короткое время цикла будет у регуляторов (Oneshot125, Oneshot42, Multishot), тем более качественно вы сможете настроить квадрик. Благодаря этому, он будет ощущаться более отзывчивым и более четко летающим (что называется «как по рельсам», прим. перев). Про время цикла ПК можно сказать то же самое. Однако они немного отличаются и могут вызвать кое-какие нежелательные эффекты. Оба параметра позволяют лучше настроить коптер, но заметить это становиться все сложнее и сложнее, особенно если у вас уже есть хорошо настроенный коптер.
Наиболее важно то, что на практике, чем меньше время цикла ПК, короче цикл управления, тем, как правило, больше шума туда попадает Большинство полетных контроллеров имеют фильтры нижних частот (ФНЧ, LPF, low-pass filter). ФНЧ позволяет нижним частотам пройти через него, и отфильтровывает высокие частоты. Цель этого фильтра — уменьшить шум вызванный вибрациями, это делает сигнал более удобным для дальнейшей обработки (недостаток фильтра — он привносит дополнительную задержку).
Следовательно, при более высоком значении частоты ваш квадрик будет более шумным, и полетный контроллер не всегда сможет прочесть реальные данные, т.к. шум может влиять на значения проходящие через ПИД регулятор. Дополнительного шума будет больше, если используется менее жесткая рама; этот шум может сделать настройку более сложной, в крайних случаях может привести к падению.
В конце концов, вопрос: «какие значения времени цикла вы можете или должны использовать», сводится к:
- возможностям вашего железа и прошивки (регуляторы, полетный контроллер, жесткость рамы)
- времени цикла, с которым вам наиболее комфортно летать (возможно у вас получится лучше настроить коптер с одним из значений времени цикла чем с другими)
Для большинства рам и прошивок/железа контроллеров, я бы сказал что 1 кГц или 2 кГц — наиболее подходящие значения. Если у вас высококачественная, офигенно жесткая рама, тогда вы вполне сможете использовать и другие частоты.
Имейте в виду, что использование частоты 1 кГц или 8 кГц не ухудшит и не улучшит ваши навыки. Только практика и точная настройка помогут в этом. Лично я летаю с полетным контроллером KISS, у которого частота обновления 1 кГц. После настройки квадрик летит так точно, как мне и было нужно. Это мои личные предпочтения. Я также пробовал использовать 4 кГц на ПК Cyclone, квадрик был с 4″ винтами, несмотря на шум, он был очень стабильным и летать было сплошным удовольствием.