bidirectional dshot and rpm filter – betaflight/betaflight Wiki

bidirectional dshot and rpm filter - betaflight/betaflight Wiki Мультикоптеры

Betaflight 3.2 – тестирование новшеств

Удалось протестировать новинки прошивки

BetaFlight 3.2

, о которых

рассказывал раньше

, на

новом квадрике

с полетным контроллером

Matek F405-OSD

и 32-битными регуляторами

RacerStar Tattoo 35A

.

Что было включено и почему? Включил динамические фильтры:

feature DYNAMIC_FILTER
set gyro_notch1_hz = 0
set gyro_notch2_hz = 0
set dterm_notch_hz = 0

Для нормальной работы надо еще переключить параметр dterm_lowpass_type с BIQUAD на PT1:

set dterm_lowpass_type = PT1

Это значительно улучшит управление. Почему – читать здесь. При этом надо сразу же снизить значения D в настройках PID до 20-ти! Это важно, иначе получите жуткую тряску при запуске моторов. Потом, по единичке пробуйте поднимать значение D. У меня получилось по роллу/питчу 21/22, иначе моторы жутко гремели. Зато позже D уже не придется настраивать, но и с такими значениями никакой подпружиненной остановки после флипов/роллов не наблюдалось.

Я сделал небольшую глупость при настройке PID. Стал снижать P и I, чтобы убрать пропвош, но, как порекомендовали позже, нужно было наоборот немного поднять эти значения, если опираться от дефолтных. Так что, пока пропвош еще остался, но я знаю, как совсем от него избавиться:)

Затем изменил параметры SetPoint Weight, как порекомендовали тут. Собственно, это автор видео из предыдущего поста.

set setpoint_relax_ratio = 55
set dterm_setpoint_weight = 125

Так же изменил расходы и экспоненты таким образом, чтобы в центре стика сделать управление более мягким, но при резком отклонении стика иметь приличную скорость поворота:

set rc_expo = 20
set rc_expo_yaw = 10
set roll_srate = 80
set pitch_srate = 80
set yaw_srate = 80

Еще поднял частоту работы регуляторов RacerStar Tattoo 35A до 48кГц:

Рискнул и включил оверклокинг F4-процессора!

set cpu_overclock = ON

В итоге, при частоте работы гироскопов 16/16кГц, получил загрузку процессора в 9%! Очень боялся лететь с такими параметрами, но все обошлось!

Сначала попробовал летать сам и немного настраивать PID-ы. На третьем аккумуляторе залетел на дерево и стал играть в “индейцев” – закидывать здоровую палку на дерево, как копье, чтобы сбить квадрик с ветки:) Минут через 15 мне это удалось! В итоге, вернул PID-ы почти к дефолтным. Затем на полеты подтянулся друг, который летает на квадрике с полетным контроллером Revolt V2. Этот полетный контроллер построен на том же самом “железе”, что и Matek F405-OSD, но с проприетарной прошивкой RaceFlight, и считается чуть ли не эталоном полетных контроллеров. У друга гораздо больше опыта полетов, дал ему полетать на своем квадрике со словами “Тебе понравится”:) Вот, собственно, полет друга:

После полета, услышал от друга только одну фразу: “Револьт – г…но!”:) Говорит, и зачем я его покупал? После этого продолжил летать на своем квадрике и… стал падать! Летит, но не так! В общем, эксперимент считаю удавшимся:) По полету видно, что P и I маловаты. Квадрик иногда потряхивает при порывах ветра и местами он не держит курс. Позже продолжу настраивать PID-ы.

После полетов обнаружилась еще одна проблема – треснула кабинка Lumenier, которая мне очень-очень нравилась. У друга такая же стоит уже полгода и ничего, а тут всего несколько полетов и треснула! Правда, после лобового столкновения с большим деревом, да на приличной скорости:)

На самом деле, сам сделал большую глупость, поэтому так и случилось. Расскажу по порядку. Один раз уже аналогично сталкивался с деревом, но тогда просто вырвало болтик фиксации камеры с одной стороны. Причем удар был не по камере, а по кабинке. Не придал этому значения и сделал новые болтики, да еще и с алюминиевыми шайбочками для лучшей фиксации. Красота! Вот эта красота и сгубила кабинку. При лобовом ударе кабинка немного деформируется, пластик же. При этом расширяется место, где закреплена камера. А с новыми болтиками расширяться было некуда, болтики не позволили немного разойтись стенкам кабинки. В итоге, напряжение сбросилось так, что с одной стороны пошла трещина от отверстия крепления камеры до самого низа. Если не хотите повторения подобного, то просто по бокам камеры прилепите по кусочку изоленты, вставьте в кабинку и зафиксируйте болтиком только с одной стороны! А с другой стороны можно закрутить болтик без шляпки, с надетым кусочком силиконовой изоляции. Так и камера никуда не денется, и у стенок кабинки будет свободный ход при лобовом столкновении. Эх, век живи, век учись, дураком помрешь!

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

Pid controller

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

PID Controller — это такая система которая корректирует позицию квадрокоптера согласно стикам (вашему управлению) или заданного положения (ну, что бы его не колбасило). PID настраивается за счет 3х параметров — P, I и D. К сожалению в этой статье мы не будем детально рассматривать настройку PID. Если вы пилот, то уже знаете, а если новичок, но на эту тему будет отдельная статья.

Эта система хорошо работает, когда количество шумов минимальна, иначе мы можем столкнуться с такими проблемами как осцилляция (вибрации) или перегрев моторов.

D term в PID контроллере имеет особенно отношение к шуму. D сглаживает быстрые движения, но вычисление D в PID контроллере значительно усиливает шум в сигнале. Это означает, что шум от гироскопа существенно усиливается значением D term и поэтому мы фильтруем в двух местах — гироскоп и D.

В качестве примера такого приумножения покажу вам такие вот логи:Первый график — гироскопВторой график — PIDТретий — моторы

bidirectional dshot and rpm filter - betaflight/betaflight Wiki
(это нормальные пропеллеры, с немного уменьшенной фильтрацией)

bidirectional dshot and rpm filter - betaflight/betaflight Wiki
(Как видите вибрации от плохих пропеллеров усиливаются на этапе PID контроллера, что ведет к излишнему напрягу моторов, их буквально колбасит)

Скрины из — Blackbox Explorer.

Rpm filter

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

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

bidirectional dshot and rpm filter - betaflight/betaflight Wiki
(Ваш ESC должен поддерживать двухсторонний DHSOT)

Прошивка на ESC, от 3.7

Если моторы греются, то это проблема. Горячие моторы могут быть признаком того, что на моторы попадает много шума и они пытаются реагировать на вибрации так часто, что начинает выделяться тепло.

Греться моторы могут по ряду причин, старая рама, погнутые колокола у моторов, нарушенная балансировка, лишние прибомбасы на вашем коптере.

Конечно лучше иметь, как говорят clean build, и что бы все было новое, но можно сперва попробовать настроить фильтрацию.

Для начала можно начать с увеличения фильтрации D, делать шаги в 20 Hz. Проверяйте температуру после каждого такого шага и найдите свой оптимальный диапазон.

А искать его следует между температурой моторов и вибрациями. Как было сказано выше, хоть и фильтрация призвана уменьшить количество шума, она может накладывать некоторые задержки и PID контроллер может не успевать. И как бы это смешно не было, вызывать вибрации. Но эти вибрации не относятся к пропвош. Это уже просто неэффективная работа PID.

В последних версиях Betaflight есть ползунки, пробуйте не менять значения самих фильтров, а попробуйте использовать эти «мастер» ползунки.

На текущий момент у меня такие настройки с включенным RPM фильтром, возможно я попытаюсь уменьшить фильтрацию еще больше:

Settings to minimise bounceback

Betaflight defaults currently are intended to fly great on medium high performance quads – most lightweight, responsive 5″ and smaller machines.

‘Low-authority’ quads, such as low-power whoops, ducted HD quads, heavy 4S freestyle builds, and many 7″ and larger builds, and endurance builds, all share the common problem of being slower to respond to quick inputs than ‘normal’ quads. They tend to get bounce-back after quick flips or rolls, and after quick yaw inputs.

This paragraph explains why these kinds of quads get bounce-back, and how to fix it.

The PID I term, in Betaflight, provides precision in tight turns, pitch accuracy in fast forward flight, stability on windy days, stability in drops and mid-flip, controls asymmetric aero drag effects, and generally cleans up the myriad small persistent residual errors that P can’t entirely deal with.

It accumulates a correction for small residual errors over time, and that correction keeps the quad exactly on track. Higher I values will do this faster and more completely, especially in tight turns and on windy days, where there are small persistent residual errors that P, D or FF are unable to control. Relatively high I is one of the reasons that Betaflight 4.x tracks so accurately in tight turns and on long straights.

If the pilot requests a change in turn rate that is too quick for the quad to deliver, the gyro signal will lag setpoint, and will be a large error signal. I will start to accumulate to help correct this. iTerm_relax will try to control this accumulation.

If iterm relax is inadequate for the amount of error, a large amount of I may accumulate, and when the pilot stops the flip, all that accumulated I will drives a movement in the reverse direction, which slowly fades away, until it gets back to zero.

Смотрите про коптеры:  Квадрокоптеры с камерой недорогие и хорошие (цены, видео, фото), купить квадрокоптер в Мокве, лучшие дроны с камерой или видеокамерой

This phenomenon is called ‘iterm windup’.

We use the iterm_relax and iterm_windup settings to control iTerm related bounce back. The defaults for these parameters work very well in 4.2 for ‘normal authority’ builds. iterm_relax, at default of 15, strongly suppresses I accumulation during normal flip and roll inputs. iterm_windup works for yaw problems, and since it usually isn’t needed at all, it is off by default.

‘Low-authority’ quads, however, will tend to get bounce-back after quick flips or rolls, and after quick yaw inputs, because they have much more delay and error than normal in relation to the stick input. Betaflight’s iterm_relax and iterm_windup values will need to be adjusted for these machines.

You know you have a low authority quad when you get an annoying bounce-back after a 600 degree/s flip or roll, and/or a bounce-back after a quick yaw input. Other clues are that you require a higher than normal hover throttle value (ie your hover throttle is more than 25%), or you get slow wobbles in drops or at low throttle.

For yaw, any machine with longer arms – anything bigger than 6″ – will lose yaw authority and typically have issues with yaw bounce-back and yaw jump.

Bounce-back problems due to iTerm windup can be addressed in three ways.

  1. The best way is to change the tune or modify the hardware of the quad to make it more responsive. Ideally the quad gets a tune that responds so quickly that the defaults work properly. This will have the added benefit of improving the overall handling of the machine as well. Let’s think about how we could do this.

Low-authority machines typically require higher P and FF. Maybe up to double the default P and triple the default FF in some cases. There is a limit to how high you can go, but you need to go high. Most likely D needs to go up as well as P, or you’ll get P wobbles, and D noise may be the limiting factor on how high you can go.

You should push FF hard, and move the ‘P and D gain’ slider progressively to the right. These changes should reduce the wobble and the bounce back because it will get the machine turning more quickly and reduce error magnitude and duration. Note that very high D will delay responsiveness and make bounce-back worse. Getting the right P and D values is really important on these quads.

If you still have wobble and bounce-back despite tuning P and FF, you should then try reducing I, trying half of normal or a third of normal. Very low I will make the quad less stable overall, so don’t go too low.

On the hardware side, over-propped quads will have difficulty changing thrust quickly. Always try smaller or lighter props that the motors can spin up more readily. Optimising the prop to the motors can make a huge difference to authority related issues such as bounce-back.

On very large quads, beast or X-class, rotating the motors inwards will improve yaw authority.

Any change that improves bounce-back means that you’ve got the quad responding more quickly and precisely, and that’s a good metric of the success – or otherwise – of your tuning efforts.

  1. The next best way is to reduce your maximum pitch, roll or yaw rate, or just fly more smoothly, entering or leaving the flips or yaws a little more slowly. By not pushing harder than your hardware can deliver, you’ll get a good overall performance envelope without extreme tuning.

  2. Tuning the provided iterm_relax and iterm_windup functions.

iterm_relax is what Betaflight uses to prevent unwanted I accumulation for really fast pitch and roll inputs.

The associated iterm_relax_cutoff value determines the strength of the suppression effect and how long it lasts for. Lower values suppress I accumulation more strongly and for longer, and are what you need to control iTerm related bounce-back.

Try stepwise reducing iterm_relax_cutoff from the default of 15 to 10, then 7, then 5, noting the improvement in bounce-back each time. Settle on the highest value that ‘works’. The lower you go, the less accurate your tighter turns will become. So there is a bit of a trade-off to consider. You want the highest number that controls your bounce-back.

We strongly recommend keeping iterm relax in the default setpoint mode. There is no need to change to gyro mode in 4.2. Iterm relax will likely perform better in setpoint mode than gyro mode in 4.2.

For yaw bounce-back, optimising yaw PIDs can improve matters, and should be attempted first. On yaw, FF will provide the initial push as the sticks move, P a kind of boost soon after, and I does most of the work. For good yaw performance, all three elements are needed.

Ideally you get a log and adjust yaw P, FF and I so that for small to medium yaw inputs you get responsiveness that matches your pitch and roll lag.

You will see that for big, fast yaw inputs, the motors quickly get driven to a very high differential, with one pair at 100% and the other at zero. This means the quad cannot deliver what you are asking it to do. iterm windup and bounce back are inevitable when this happens.

iterm_windup is what fixes this problem on yaw. In 4.2 iterm_windup applies exclusively to yaw, previously it applied on all axes. It suppresses I accumulation whenever the motor differential exceeds the set percentage. Default is 100, meaning ‘off’. 70 is good value to prevent yaw bounce back on low authority quads.

By stopping yaw accumulation at 70% motor differential, iterm windup won’t happen whenever we command yaws that the quad cannot achieve, and I mediated yaw bounce-back won’t be a problem. The great thing about iterm_windup is that it doesn’t impair reactions to smaller inputs – they will be completely unaffected.

acc_limit and acc_limit_yaw are settings that selectively suppress I accumulation when the pilot is requesting a rate of change of setpoint (ie, an acceleration) that is too high for the quad to achieve. By default they are off.

Вкладка configuration

  1. Раздел ESC/Motor Features

Протокол регуляторов скорости (регуляторов оборотов) — посмотрите на характеристики вашего оборудования, какие протоколы оно поддерживает. Рекомендуется использовать DShot. Обычно регуляторы с прошивкой BLHeli_S поддерживают DShot300 или DShot600, а с прошивкой BLHeli_32 — даже DShot1200.

Дополнительная информация: протоколы и прошивки для регуляторов скорости.

Рекомендую отключить параметр «MOTOR_STOP«, иначе вы не сможете определить армлен коптер или нет.

Остальные параметры можно не трогать и оставить значения по умолчанию.

2. Раздел System Configuration

Looptime — время цикла, с этой частотой полетный контроллер рассчитывает полетные параметры, значение зависит от возможностей процессора, на шумных коптерах я предпочитаю использовать довольно низкую частоту 2 кГц, а на качественных коптерах — частоту повыше — 8 кГц. В любом случае, для начала подойдет и 2 кГц.

Gyro Sampling Rate — частота опроса гироскопов, обычно совпадает с looptime, хотя некоторые предпочитают поставить удвоенную частоту looptime. Можете поставить 4 кГц и looptime 2 кГц.

Потом поэкспериментируете и выберете наиболее подходящие значения, жестких правил по их выбору нет.

При смене значений этих параметров обратите внимание на CPU load (загрузка процессора) внизу экрана, старайтесь держать это значение меньше 30%. Если значение будет выше, то полетный контроллер может работать нестабильно.

Accelerometer — можно отключить, это высвободит немного процессорных ресурсов, но тогда вы не сможете использовать режимы Angle и Horizon, а 3Д модель на вкладке Setup перестанет двигаться. Еще одна причина по которой отключают эту функцию — чтобы избежать проблем при арминге коптера, если он сильно наклонен.

Отключите Barometer и Magnetometer, они нам не нужны, т.к. мы летаем на миникоптере.

3. Раздел Personalization

Craft name — название коптера, это значение будет отображаться на экране при помощи Betaflight OSD.

4. Раздел Receiver

Если у вас приемник SBUS, IBUS или Spektrum Satellite, тогда выбирайте «Serial-based receiver» в выпадающем списке «Receiver Mode». В параметре Serial Receiver Provider нужно выбрать SBUS, т.к. у нас приемник FrSky.

Если приемник использует PPM, тогда выберите PPM RX Input в списке Receiver Mode.

5. Раздел Other Features

Обычно я включаю нижеуказанные функции Betaflight. Если вы не уверены в том, нужны ли они, просто оставьте значения по умолчанию, они не помешают первому полету.

  • Anti-Gravity
  • Dynamic Filter
  • Telemetry (чтобы работала SmartPort телеметрия)
  • OSD (если ваш ПК поддерживает Betaflight OSD)

Нажмите Save & Reboot.

Вкладка failsafe

C failsafe всё оказалось несколько сложнее, чем мне виделось ранее. На профильных форумах иногда встречаются холивары на тему “где лучше настраивать failsafe: на приёмнике или на ПК?” На самом деле, правильно это вопрос звучит так: “где лучше настраивать failsafe: только на приёмнике или на приёмнике и на ПК?”

Смотрите про коптеры:  Почему и что делать, если квадрокоптер при взлете тянет в одну сторону

Настраивать failsafe на приёмнике необходимо в любом случае. По крайне мере, на Frsky D4R-II, который я использую. Дело в том, что у него есть три варианта поведения при потере сигнала от передатчика:

  • передать на ПК сигнал, имитирующий предустановленные положения стиков и переключателей (режим Pre-set Positions, именно он и описан в мануале)
  • продолжать передавать на ПК последние данные, полученные от передатчика (режим Hold Last Position)
  • прекратить передавать сигнал на ПК (режим No Pulse)

По умолчанию в Frsky D4R-II установлен режим Hold Last Position, который способствует улёту аппарата в далёкие дали. Так что если использовать failsafe только на приёмнике, надо настраивать режим Pre-set Positions. Другое дело, что failsafe активируется даже при кратковременной потере сигнала.

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

Кроме того, там есть настраиваемый сценарий, согласно которому квадрокоптер будет себя вести в случае активации failsafe. Например, можно включить режим со стабилизацией и попытаться более-менее мягко сесть или вообще активизировать RTH, если он есть.

Нюанс в том, что, если на приёмнике установлен режим Pre-set Positions или Hold Last Position, то ПК даже не узнает, что произошла потеря сигнала. Таким образом, failsafe на ПК можно использовать лишь в том случае, если на приёмнике установлен режим No Pulse.

На вкладке Failsafe Betaflight Configurator`а я сделал следующее:

  • В разделе “Channel Fallback Settings” установил значения переключателей передатчика, которые нужно будет сымитировать. В моём случае только включил пищалку на AUX3.
  • Активизировал Failsafe Stage 2.
  • Установил задержку активации режима failsafe 1 сек (значение 10 в пункте “Guard time for stage 2 activation…”)
  • Установил время работы моторов после активации failsafe 1 сек (значение 10 в пункте Failsafe Throttle Low delay).
  • В Failsafe Procedure выбрал сценарий с падением (Drop), а не с попыткой плавного приземления (Land).
Betaflight Configurator, вкладка Failsafe

Betaflight Configurator - Failsafe

Вкладка modes

Повесил на переключатели арминг моторов и Blackbox (AUX1), активацию полётного режима Horizon (AUX2) и включение пищалки (AUX3). Кстати, есть люди, которые настраивают арминг на два переключателя. Не знаю, насколько это востребовано, сам я ещё такого уровня дзэн не достиг.

Режим Horizon – это стабилизация при положениях стика близко к центру и отсутствие стабилизации при смещении стиков близко к краям (для флипов). Если вы начинающий пилот и хочется чего-то ещё более безопасного, подойдёт режим Angle. В нём стабилизация не отключается, вдобавок ПК не даст наклонить квадрокоптер свыше заданного угла (своего рода ограничение горизонтальной скорости). Угол этот регулируется специальной командой через CLI, где в качестве значения надо указывать желаемый угол * 10:


set max_angle_inclination = 500

Отдельно хочется сказать про AIRMODE. Изначально он был уникальной “фишкой” Betaflight, но в какой-то момент стал так популярен, что Boris B поделился им с авторами Cleanflight и сейчас данный режим доступен и там тоже.

Несмотря на то, что AIRMODE отображается как отдельный режим полёта – это скорее дополнительная опция, а не полноценный режим. Он позволяет квадрокоптеру удерживать заданный угол даже при минимальном газе. Именно поэтому не рекомендуется использовать AIRMODE вместе с режимами со стабилизацией.

Кроме того, приземление с AIRMODE тоже процесс непростой: квадрокоптер начинает прыгать, как лягушка. Опытные пилоты предпочитают просто “ронять” квадрокоптер, выключая моторы в паре десятков сантиметров над землёй. Кстати, если у вас включена остановка моторов при нулевом газе (опция MOTOR_STOP во вкладке Configuration) и одновременно с этим работает AIRMODE, то остановки моторов не будет, так как AIRMODE имеет более высокий приоритет.

В Betaflight версии 2.8.1 появилась новая возможность: можно включить AIRMODE в фоновом режиме и тогда он активен всегда и не будет отображаться во вкладке Modes, либо, как и ранее, повесить его включение на какой-либо канал. Делается это в “Other Features” вкладки Configuration.

У себя я не стал включать AIRMODE в фоновом режиме, так как использую ещё режим со стабилизацией HORIZON. Таким образом, у меня на AUX1 два полётных режима: HORIZON (для полётов со стабилизацией и посадки) и ACRO AIRMODE.

Betaflight Configurator, вкладка Modes

Betaflight Configurator - Modes

Идеальный бк tinywhoop

Хочу поделиться с вами рецептом с которым ваш БК ТиниВуп станет летать намного плавнее, податливее, а главное дольше и эффективнее.

Вот мой тест сравнения время полета на разных версиях прошивок регуляторов:

Рассматривать будем на примере Mobula 6, на сегодняшний день это лучший вуп по соотношению цена/качество и летным характеристикам.

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

Для начала нам нужно подключить полетный контроллер (далее ПК), к компьютеру и зайти в конфигуратор Betaflight для сохранения текущих параметров, чтобы облегчить переезд на EmuFlight.

Заходим в Betaflight Configurator, подключаемся, и идем в CLI (самый последний пункт меню слева).

Пишем в консоль команду, которая выдаст нам различия наших настроек, от настроек по умолчанию:

diff all

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

Получаем большую простыню текста, копируем и сохраняем в текстовый файл на компьютере.

Далее скачиваем Emuflight Configurator с официальной страницы в github:

https://github.com/emuflight/EmuConfigurator/releases/tag/0.2.12

Устанавливаем и запускаем.

Идем в Firmware Flasher:

Смотрим в наш сохраненный текстовый файл, ищем 1ю строчку:

# version
# Betaflight / CRAZYBEEF4FR (C4FR) 4.0.6 Sep 1 2022 / 00:26:58 (2a64051a2) MSP API: 1.41

Таким образом мы видим нужный target (модель полетного контроллера), выбрав который мы и будем прошивать новую прошивку.

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

Выбираем нашу модель ПК и выбираем последнюю версию прошивки 0.3.1.

Внизу нажимаем Load Firmware Online, и после скачки Flash Firmware

Переводить полетник в DFU заранее не надо, достаточно чтобы он был подключен по USB, программа сама пошлет ему сигналы на перезагрузку в режим прошивки.

После того как прошились, переходим на главный экран Welcome и подключаем в конфигуратор.

Заходим в CLI и начинаем перенос настроек с BetaFlight.

Смотрим в наш текстовый файл по порядку, я буду приводить примеры того что можно переносить. Просто копируем параметры (можно вместе с заголовками #name), вставляем в командную строку и нажимаем Enter. По завершению обязательно написать Save чтобы сохранить настройки

# name
name @lesharodin
# feature
feature -TELEMETRY
  • Настройки из меню конфигурации, различные включенные галочки, которые отличаются от настроек по умолчанию.
# beacon
beacon RX_LOST
beacon RX_SET
  • Настройки писка при потере сигнала
# map
map TAER1234
  • Раскладка каналов на аппаратуре, со вкладки Radio
# serial
serial 1 2048 115200 57600 0 115200
# aux
aux 0 0 0 1700 2100 0 0
aux 1 1 2 900 1300 0 0
aux 2 2 2 1300 1700 0 0
aux 3 13 1 1700 2100 0 0
aux 4 35 5 1300 1700 0 0
  • Перенос всех значений из вкладки портов, приемника, смартаудио и прочего

Все что находится под тегом # master также целиком копируем в CLI, там содержаться данные бинда с приемником, расположения элементов на OSD, реверса моторов, калибровки датчиков батареи и тока.

Не забываем написать SAVE и нажать Enter, полетник перезагрузится.

Что точно должно быть настроено:

Включите Dshot 300 и 4/4kHz

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

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

Прошивка регулятора оборотов на 48kHZ

Скачиваем JESC Configurator на официальной странице github:

https://github.com/jflight-public/jesc-configurator/releases/tag/v1.2.8

Распаковываем и запускаем

Подключаем квадрокоптер по USB, жмем Connect, обязательно закройте конфигуратор Emuflight иначе не подключится.

Подключаем аккумулятор, так как прошиваем мы регуляторы, а питание с USB на них не идет.

Нажимаем Read Setup

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

Вы увидите все 4 своих регулятора, нажимаем Flash All и переходим к прошивке:

bidirectional dshot and rpm filter - betaflight/betaflight Wiki

В заголовке уже будет выбрана ваша модель регуляторов, нам остается лишь выбрать версию 48khz PWM (recommended for whoops)

Нажимаем Flash.

Все регуляторы прошились. Вуп настроен, теперь можно летать!

Как использовать betaflight resource remapping (переназначение портов)

Переназначение портов доступно только с версии Betaflight 3.1 и выше, если у вас 3.0 и более старые версии, то обновитесь. Все манипуляции с переназначением производятся через CLI Betaflight — это командная строка бетафлай. 

Подключите дрон к компьютеру, запустите бетафлай, далее перейдите во вкладку «CLI».

Команда «resource» — используется для назначения других портов, а также вывода списка всех портов.Введите в CLI команду resource и нажмите enter. Вы увидите список названий портов и чем они используются. Для примера, я буду менять вывод второго мотора «MOTOR 2» на контакт LEDSTRIP, можно менять на любой другой, но я сделаю так. Это актуально, если, например, вы сломали контакт «MOTOR 2», а контакта «MOTOR 5» у вас нет и т.д., и так, начнем:

  1. Найдите свободный порт/выход на своем полетном контроллере.  У меня это LEDSTRIP.
  2. Зайдите в CLI, введите «resource», нажмите enter и посмотрите, под каким кодовом словом записан ваш порт:
    Переназначение выходов на моторы в BetaFlight и других портовАх да, не забудьте сделать бекап перед дальнейшими манипуляциями! Если забыли где, напомню: на главной странице.
    Кодовое слово в моем случае «А08″, оно справа от слова “LEDSTRIP 1».
  3. Прежде чем переназначить порт, вам нужно очистить его от старого значения. Для этого оформляем команду вот так: «resource <имя функции> NONE», в моем случае это будет выглядеть вот так: «resource LEDSTRIP 1 NONE». Печатаете это в строке ввода команды и нажимаете enter, после чего жмете Save to File.
  4. Теперь назначаем новый порт, оформив команду вот так: «resource <function> <новое кодовое слово>»
    у меня эта команда будет выглядеть так: «resource MOTOR 2 A08».
  5. Сохраняем настройки нажатием кнопки Save to file:
    Переназначение выходов на моторы в BetaFlight и других портов
  6. Ждем пока контроллер перезагрузится и проверяем изменения командой «resource»:
    Переназначение выходов на моторы в BetaFlight и других портовУбедитесь, что кодовое слово у вашего порта поменялось, а также, что оно не дублируется с другим словом.
Смотрите про коптеры:  Купить квадрокоптер с камерой и трансляцией видео на пульт в СПб в магазине

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

Как настроить телеметрию регуляторов оборотов в betaflight osd

Нужно просто подсоединить все пины телеметрии на регуляторов оборотов к UART (свободному) порту полетного контроллера. Где именно на вашем полетнике UART 1 смотрите по схеме своего контроллера, подробнее на картинке ниже:

Прежде всего, откройте Betaflight Configurator и в вкладке «Порты» найдите UART, который будет использоваться для телеметрии регуляторов, в разделе «Sensor Input» выберите «ESC» в раскрывающемся списке. Нажмите кнопку «Сохранить»:

Далее перейдите во вкладку «Configuration» и включите «ESC_Sensor»:
Включение ESC_Sensor

А чтобы использовать отображение напряжения, включите мониторинг во вкладке “Power & Battery”, выбрав “ESC Sensor”:

ВАЖНО: вам также необходимо установить протокол связи с регуляторами под названием DShot  (DShot150, DShot300, DShot600 или DShot1200), без этого телеметрия работать не будет.

Теперь можете настроить телеметрию в OSD Betaflight. Перейдите в «OSD» и включите “ESC Temperature” и  “ESC RPM” (скорость вращения двигателей):

Вот и все. Чтобы убедиться, что все работает, включите квадрокоптер, наденьте очки и поддайте газа, чтобы узнать, меняется ли число оборотов в изменении положения стика газа (обязательно снимите пропеллеры, если пробуете это делать дома).

Настраиваем gps в betaflight

На вкладке Ports в столбце Sensor Input выбираем GPS. В моем примере это UART6. Скорость оставляем по умолчанию (57600).

Переходим на вкладку Configuration:

  • Включаем GPS
  • Выбираем протокол UBLOX или NMEA. Обычно это UBLOX, старые модули работают с NMEA
  • Включаем автонастройку (Auto Config)
  • Сохраняем настройки и перезагружаемся (кнопка Save and Reboot)

Если все подключено и настроено правильно, то на вкладке Setup вы увидите блок данных GPS.

Теперь нужно подождать пока найдутся спутники (3D fix, т.е. минимум 4 спутника). Этот процесс может занять несколько минут.

Когда он закончится, на модуле BN-220 замигает красный светодиод (вместе с мигающим синим, который означает наличие связи). Теперь в разделе GPS можно будет увидеть дополнительную информацию: 3D Fix = True, и текущие координаты.

Чтобы спутники нашлись быстрее, нужно выйти на улицу, или перенести модуль как можно ближе к окну и направить верхнюю часть (антенну) на небо.

Есть два способа отображения данных GPS: через Betaflight OSD и через телеметрию в аппаратуре управления.

Если вы не знакомы с Betaflight OSD, тогда читайте наше руководство. На экране можно показать: координаты; расстояние и направление в сторону дома, ну и многое другое.

Еще одна полезная вещь — можно настроить Taranis на отображение текущих координат коптера получаемых через телеметрию (SmartPort или CrossFire). Если вы упадете, то на экране будете видеть последние известные координаты модели.

Для этого включите коптер, в Таранисе перейдите на страницу телеметрии и выберите «Discover new sensors» (найти новые датчики). После этого должны появиться новые данные, включая координаты GPS.

Настройка передатчика

Передатчик (он же “пульт”) каждый пилот настраивает индивидуально: таймеры, миксы, голосовые уведомления и прочее. Единственная вещь, сделать которую крайне желательно, это проверить минимальные, средние и максимальные значения стиков управления в конфигураторе.

Делается это во вкладке Reciever. Идеальные значения составляют 1000 – 1500 – 2000. В моём случае они составляли 996 – 1508 – 2020, что не очень хорошо. Во-первых, “выпадения” за пределы диапазона (значения менее 1000 и более 2000) плохи сами по себе.

Как настроить эти значения на передатчике Taranis, показано здесь. У меня Turnigy 9XR PRO, там это делается в пункте Limits. Также можно выполнить настройку через программу eePskye (вкладка Limits), но это неудобно, так как результат сразу не видно в Betaflight Configurator. Сделать это необходимо для каждого из четырёх каналов управления.

После настройки центральные значения максимально приблизились к 1500, но у меня они начали “прыгать” примерно на 5 мс в одну или другую сторону. Не знаю, с чем это связано, вероятно, значения пульта являются пограничными для ПК и после их округления получается такой эффект.


set deadband = 5

Значение может быть от 0 до 32 и с его повышением чувствительность управления снижается. Управление становится более мягким. Надо указывать то число мс, на которое у вас “прыгают” показания. После сохранения команды “прыжки” во вкладке Reciever не исчезнут, но теперь ПК будет их отфильтровывать.

Уже позднее я узнал, что вышеприведённый способ настройки нежелателен. Сейчас полётные контроллеры достаточно мощны, чтобы обрабатывать всё необходимое, в том числе и крайние точки каналов. “Кошерный” способ настройки через CLI я описал в этой статье.

На этом всё, удачных полётов!

Полетные контроллеры для коллекторных tiny whoop’ов

Таблица с основными характеристиками полетников для коллекторных тинивупов. По ссылкам — более подробное описание.

Мы не включили в список многие ПК на F3, т.к. они больше не поддерживаются прошивкой Betaflight. Однако некоторые достойны упоминаний.

Beebrain Lite для меня является выдающимся полётником для коллекторных вупов, исключительно потому, что у него есть поддержка SmartAudio и Betaflight OSD. К сожалению, похоже, что этот ПК можно купить только в комплекте с другой электроникой, что увеличивает цену.

В качестве альтернативы — BetaFPV F4, но только если вы используете аппаратуру Frsky или DSMX. Т.к. встроенный приемник поддерживает только эти протоколы. Конечно, можно припаять и внешний приемник, но это добавит вес и усложнит конструкцию, а в нашем деле каждый грамм на счету.

Для тех, кто летает на аппаратуре Flysky и хочет иметь встроенный приемник, у BetaFPV есть ПК на F3, но он немного староват, поэтому мы не включили его в список. Beecore V2 — еще один хороший вариант, и в нем тоже используется «старый» процессор серии F3. Однако, это один из самых дешевых ПК, который поддерживает все основные приемники и имеет Betaflight OSD.

С массовым выходом ПК на F4 стали заметны новые тренды.

F4 становится стандартным процессором, т.к. Betaflight пухнет от разрастающегося кода и функционала. Почти у всех современных полётников есть Betaflight OSD и SmartAudio (так вы можете менять настройки видеопередатчика через OSD). Режим черепахи (Turtle mode) есть ещё далеко не везде (только у Nanowhoop FC и Eachine Turtlebee F3).

Я думаю, что встроенные приемники, которые работают со всеми основными типами аппаратур — это довольно важный критерий, т.к. внешний приемник усложняет сборку и добавляет вес. Хотя для кого-то это может быть плюсом — можно использовать любой приемник, т.е. важность этого критерия определяется именно вами.

Что касается меня, то идеальный полетный контроллер должен иметь как минимум 1 свободный UART для SmartAudio, встроенный приёмник, должен поддерживать Turtle Mode и Betaflight OSD, кроме того, в нем должен быть процессор F4 и использоваться высокотоковые силовые ключи (для долговечности). Такого полетника пока ещё нет, но, надеюсь, какой-нибудь производитель попробует сделать что-то подобное.

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

Прошивка spracingf3

На этом этапе я застрял дольше всего, так как были проблемы с прошивкой. Оказалось, шить надо обязательно с замыканием boot-контактов (как в этом видео).

Кстати, иногда бывает, что ПК защищён от записи и невозможно прошить новую прошивку. Вот инструкция от Олега Бовыкина, как это исправить. На случай, если оригинал станет недоступен, продублирую её ниже.

Китайский Seriously Pro Racing F3: Лечим ошибку STM32 communication failed

Пожалуй, самой популярной прошивкой на сегодняшний день, вполне заслуженно, является  Cleanflight. После её установки достоточно только настроить протокол приёмника и квадрокоптер уже может вполне сносно лететь.

Благодаря открытому коду прошивки, у неё есть несколько ответвлений (форков). Самым интересным из них является  Betaflight от человека под ником Boris B. Прошивка очень динамично развивается и некоторые её “фичи” потом переходят в “родительский” Cleanflight (например, полётный режим Airmode).

Минусом Betaflight является то, что релизы выходят достаточно часто, а стабильность их не всегда высока. Кстати, эта причина на несколько недель задержала написание данной статьи. На момент завершения сборки квадрокоптера как раз вышла версия 2.8.0, которая имела пару ошибок и отличалась недружелюбными дефолтными настройками.

Очень быстро появилась исправленная версия 2.8.1 RC1, но опыт работы программистом подсказал мне, что лучше подождать релиза. Я не прогадал, так как одновременно с релизом версии 2.8.1, появился и  Betaflight Configurator.

Можно сказать, что это новый этап в истории данной прошивки. Дело в том, что по мере своего развития Betaflight всё больше и больше отдалялся от Cleanflight и конфигуратор последнего становился всё более и более бесполезным, так как основная часть настроек всё равно делалась через консоль CLI.

Ниже я подробно опишу, как я настроил свой квадрокоптер через Betaflight Configurator.

Оцените статью
Радиокоптер.ру
Добавить комментарий

Adblock
detector