OneShot125
Admin (обсуждение | вклад) (Новая страница: «'''Oneshot''' - функция полётного контроллера, позволяющая быстрее управлять моторами мультик...») |
(→Отличие OneShot от PWM) |
||
(не показаны 7 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | '''Oneshot''' - функция полётного контроллера, позволяющая быстрее управлять моторами мультикоптера через контроллеры моторов, чем использование традиционного PWM-сигнала. Другими словами, '''Oneshot''' - это более быстрый протокол связи между полётным контроллером и регулятором оборотов мотора. Данный протокол позволяет улучшить отзывчивость коптера на управляющие сигналы пилота и при стабилизации полётным контроллером. | + | '''Oneshot''' - функция полётного контроллера, позволяющая быстрее управлять моторами мультикоптера через контроллеры моторов, чем использование традиционного [[PWM]]-сигнала. Другими словами, '''Oneshot''' - это более быстрый протокол связи между полётным контроллером и регулятором оборотов мотора. Данный протокол позволяет улучшить отзывчивость коптера на управляющие сигналы пилота и при стабилизации полётным контроллером. |
Впервые функция '''OneShot''' начала поддерживаться в полётных контроллерах [[CC3D]] и [[Naze32]]. Наряду с '''Oneshot''' применяется также функция активного торможения ([[Active Braking]]) или [[Damping light]] в прошивке [[BLHeli]]. | Впервые функция '''OneShot''' начала поддерживаться в полётных контроллерах [[CC3D]] и [[Naze32]]. Наряду с '''Oneshot''' применяется также функция активного торможения ([[Active Braking]]) или [[Damping light]] в прошивке [[BLHeli]]. | ||
Для возможности использования функции '''OneShot''' необходима её поддержка как полётным контроллером, так и контроллерами моторов. | Для возможности использования функции '''OneShot''' необходима её поддержка как полётным контроллером, так и контроллерами моторов. | ||
+ | |||
+ | == Что поддерживает OneShot == | ||
+ | Чтобы использовать Oneshot, этот протокол должен поддерживать регулятор, его прошивка, а также полётный контроллер и его прошивка. | ||
+ | |||
+ | * Регуляторы | ||
+ | ** Регуляторы [http://rcsearch.ru/?s=KISS+esc|control KISS] поддерживают Oneshot125, для активизации которого нужно лишь запаять перемычку. | ||
+ | ** Для других регуляторов нужно использовать прошивку [[BLHeli]] rev13.0, которая тоже поддерживает Oneshot. Протокол будет задействован автоматически, без дополнительных настроек. | ||
+ | * Полётные контроллеры | ||
+ | ** [[Naze32]] с прошивкой [[Cleanflight]] поддерживает Oneshot без проблем. | ||
+ | ** [[CC3D]] хорошо работает с PPM-приёмниками, однако PWM-приёмники могут работать неправильно. | ||
+ | |||
+ | == Отличие OneShot от [[PWM]] == | ||
+ | В любом полётном контроллере всегда выполняется главный рабочий цикл, в котором в зависимости от показаний датчиков по определённому алгоритму вычисляется новая величина ШИМ-сигнала для выдачи на [[регулятор]]ы. Главный цикл выполняется за разное время, иногда больше, иногда меньше, но выходной ШИМ сигнал для регуляторов, отправляется постоянно, вне зависимости от переменной из главного цикла. Если ещё не поступило очередное новое значение, используется старое. В лучшем случае регулятор получит самое свежее значение, которое только что вычислил полётный контроллер. Но в большинстве случаев регулятор получает устаревшее значение переменной. То есть суть проблемы - '''невозможность вовремя отправить актуальный ШИМ-сигнал на регулятор''', пока не закончится главный рабочий цикл полётного контроллера. Это незначительная проблема, когда речь идёт о спокойных полётах (разница составит 0.001 секунды). Но для [[FPV-миникоптеры|гоночных FPV-миникоптеров]] — это имеет значение. | ||
+ | |||
+ | [[Файл:Oneshot-ESC-PWM-explain.jpg]] | ||
+ | |||
+ | Решение — синхронизировать главный цикл полётного контролера с выходным сигналом на регуляторы. Oneshot125 устанавливает частоту цикла двигателей 8 кГц (выходной сигнал на регуляторы теперь короче, 125..250 мкс), в отличие от 1 кГц в PWM (выходной сигнал 1..2 мс). Таким образом, теперь отправка занимает меньше времени и регулятор может считывать актуальные данные значительно быстрее. | ||
+ | |||
+ | При этом отправляется только одна порция ('''one shot''') сигнала сразу же, как только полётный контроллер вычислил новое значение для регулятора. То есть [[ВМГ]] реагирует на внешние условия сразу же, ещё до того, как полётный контроллер начнёт следующий рабочий цикл. Таким образом получается самый быстрый отклик между полётным контроллером и регулятором. | ||
+ | |||
+ | Пилоты, которые уже опробовали Oneshot, говорят что [[Теория настройки ПИД / PID|величину P]] можно увеличить совсем немного (небольшое улучшение для PID), значительно улучшился отклик на изменение газа, моторы быстрее изменяют свою скорость вращения. | ||
+ | |||
+ | == Активизация [[OneShot]] в [[CleanFlight]] == | ||
+ | <htmlet>adsense300x250</htmlet> | ||
+ | # Отключить питание от регулятора. | ||
+ | # Перевести регулятор в режим OneShot (например, запаяв перемычку JP1 в случае [http://rcsearch.ru/?s=KISS+esc|control KISS]). | ||
+ | # Подключить полётный контроллер к компьютеру через USB-кабель и подключиться через приложение [[Chrome GUI]]. | ||
+ | # Перейти на вкладку CLI (командная строка), и выполнить команды: | ||
+ | feature ONESHOT125 | ||
+ | save | ||
+ | После этого можно снова безопасно подавать питание на регулятор. | ||
+ | |||
+ | == Калибровка регулятора в режиме Oneshot == | ||
+ | Процесс калибровки регуляторов в режиме Oneshot аналогичен обычному процессу калибровки любого регулятора скорости. | ||
+ | # Отключить регуляторы от силового аккумулятора. | ||
+ | # Снять пропеллеры. | ||
+ | # Подключить полётный контроллер к компьютеру | ||
+ | # Зайти в конфигураторе [[Cleanflight]] во вкладку теста двигателей. | ||
+ | # Нажать "TEST MOTOR" и установить скорость вращения всех двигателей на максимум с помощью слайдера. | ||
+ | # Подключить силовой аккумулятор к регуляторам. Они должны запищать, что сигнализирует о переходе в режим калибровки. | ||
+ | # Быстро перетащите слайдер вниз (скорость моторов) до нуля. Регуляторы запищат, калибровка прошла успешно. | ||
+ | # Отключите и подключите аккумулятор к коптеру. | ||
+ | # Проверьте, что при перемещении слайдера моторы нормально и одновременно вращаются. |
Текущая версия на 02:45, 24 января 2018
Oneshot - функция полётного контроллера, позволяющая быстрее управлять моторами мультикоптера через контроллеры моторов, чем использование традиционного PWM-сигнала. Другими словами, Oneshot - это более быстрый протокол связи между полётным контроллером и регулятором оборотов мотора. Данный протокол позволяет улучшить отзывчивость коптера на управляющие сигналы пилота и при стабилизации полётным контроллером.
Впервые функция OneShot начала поддерживаться в полётных контроллерах CC3D и Naze32. Наряду с Oneshot применяется также функция активного торможения (Active Braking) или Damping light в прошивке BLHeli.
Для возможности использования функции OneShot необходима её поддержка как полётным контроллером, так и контроллерами моторов.
Содержание |
Что поддерживает OneShot [править]
Чтобы использовать Oneshot, этот протокол должен поддерживать регулятор, его прошивка, а также полётный контроллер и его прошивка.
- Регуляторы
- Полётные контроллеры
- Naze32 с прошивкой Cleanflight поддерживает Oneshot без проблем.
- CC3D хорошо работает с PPM-приёмниками, однако PWM-приёмники могут работать неправильно.
Отличие OneShot от PWM [править]
В любом полётном контроллере всегда выполняется главный рабочий цикл, в котором в зависимости от показаний датчиков по определённому алгоритму вычисляется новая величина ШИМ-сигнала для выдачи на регуляторы. Главный цикл выполняется за разное время, иногда больше, иногда меньше, но выходной ШИМ сигнал для регуляторов, отправляется постоянно, вне зависимости от переменной из главного цикла. Если ещё не поступило очередное новое значение, используется старое. В лучшем случае регулятор получит самое свежее значение, которое только что вычислил полётный контроллер. Но в большинстве случаев регулятор получает устаревшее значение переменной. То есть суть проблемы - невозможность вовремя отправить актуальный ШИМ-сигнал на регулятор, пока не закончится главный рабочий цикл полётного контроллера. Это незначительная проблема, когда речь идёт о спокойных полётах (разница составит 0.001 секунды). Но для гоночных FPV-миникоптеров — это имеет значение.
Решение — синхронизировать главный цикл полётного контролера с выходным сигналом на регуляторы. Oneshot125 устанавливает частоту цикла двигателей 8 кГц (выходной сигнал на регуляторы теперь короче, 125..250 мкс), в отличие от 1 кГц в PWM (выходной сигнал 1..2 мс). Таким образом, теперь отправка занимает меньше времени и регулятор может считывать актуальные данные значительно быстрее.
При этом отправляется только одна порция (one shot) сигнала сразу же, как только полётный контроллер вычислил новое значение для регулятора. То есть ВМГ реагирует на внешние условия сразу же, ещё до того, как полётный контроллер начнёт следующий рабочий цикл. Таким образом получается самый быстрый отклик между полётным контроллером и регулятором.
Пилоты, которые уже опробовали Oneshot, говорят что величину P можно увеличить совсем немного (небольшое улучшение для PID), значительно улучшился отклик на изменение газа, моторы быстрее изменяют свою скорость вращения.
Активизация OneShot в CleanFlight [править]
- Отключить питание от регулятора.
- Перевести регулятор в режим OneShot (например, запаяв перемычку JP1 в случае KISS).
- Подключить полётный контроллер к компьютеру через USB-кабель и подключиться через приложение Chrome GUI.
- Перейти на вкладку CLI (командная строка), и выполнить команды:
feature ONESHOT125 save
После этого можно снова безопасно подавать питание на регулятор.
Калибровка регулятора в режиме Oneshot [править]
Процесс калибровки регуляторов в режиме Oneshot аналогичен обычному процессу калибровки любого регулятора скорости.
- Отключить регуляторы от силового аккумулятора.
- Снять пропеллеры.
- Подключить полётный контроллер к компьютеру
- Зайти в конфигураторе Cleanflight во вкладку теста двигателей.
- Нажать "TEST MOTOR" и установить скорость вращения всех двигателей на максимум с помощью слайдера.
- Подключить силовой аккумулятор к регуляторам. Они должны запищать, что сигнализирует о переходе в режим калибровки.
- Быстро перетащите слайдер вниз (скорость моторов) до нуля. Регуляторы запищат, калибровка прошла успешно.
- Отключите и подключите аккумулятор к коптеру.
- Проверьте, что при перемещении слайдера моторы нормально и одновременно вращаются.