Activity
Все о PID настройке для CC3D
D это дереватив или производная от P, без P не бывает D. Если P равно нулю, D тоже равна нулю, физически в прошивке Бориса если посмотреть код D считается как три разницы между первым и последующим замером и в коде это называется дельта, в мозг подается ( в коде прошивке) три дельты деленных на три, то есть если первый замер показал 2 второй 4 третий 6 то в мозг идет 2+4+6 деленная на три. Теперь смысл того что я написал выше, когда вы отрегулировали P и далее D, D вносит свой плюс в суммарный PID. Если вы посмотрите Блекбокс там выводится эта кривая, получается когда вы сначала выводите на предельные значения P потом добавляете D, суммарная составляющая может превысить предельно допустимое значение, поэтому вы повторно проверяете и подстраиваете P, задача I загнать затухающую ошибку в допустимые границы, за время Te, это одна из составляющих того что делает Борисю Так понятней ? И это чуть вбок, Борис применил в своем коде программную хитрость, он вернулся к старому контроллеру PI который работает быстро и надежно, параметр D в его прошивке вступает в работу только когда вы тронули стик.
Вот картинка которую одобрил автор прошивки это картинка суть его прошивки
Задача D одна, замерять крутизну P. Без P D не бывает. Представьте себе что вы поднимаетесь в гору, задача определить сколько высоты вы наберете за 1 минуту.
Если это 2 метра склон пологий, если 20м крутой. Это работа D другой нет. При крутом подъеме P параметр D тоже задирается потому что дельта с положительным знаком и чем круче поднимается P, тем больше положительная дельта и она принимает участие в суммарном PID, она ( дельта) может быть с минусом и помогает суммарному PID резче падать ( что есть хорошо ), сам он ( D ) ничего не делает, он только стучить мозгу как себя ведет P чтобы контроллер принимал решение. Жизненный пример это как указка которую вы держите в руке и ее нужно опустить вниз на 60 градусов, тут все понятно и легко, а если это кувалда ? Вот D это параметр который сам ничего не делает, но дает мозгу понять что маневр очень быстрый и мозг понимает что остановить вращение нужно левые движки на стоп, а правые на максимал или ноге будет больно или маневр будет с ошибкой. Отсюда понятно почему так важно уменьшить loop, чем чаще замер, тем мозгу понятнее картина, иначе он увидит как вы начали подъем в гору и второе это вы уже внизу, он даже не узнает что вы поднимались, дошли до вершины , а потом опускались.
избыток P – это крупные осцилляции,
избыток I – это мелкие осцилляции,
избыток D - видно как отскок, то есть крутите бочку (ролл), останавливаете и как будто о батут ударились, отскок в другую сторону, это признак понизить D.
Инструкция для определения Roll и Pitch UOV для калькулятора:
forums.openpilot.org/topic/3...builds-optune/
PID калькулятор
optune.opng.org
Вот примерный алгоритм:
- Выставить нужные углы
- Сбросить пиды на дефолтные настройки
- Обнулить I и D на Roll и Pitch.
- Включить TxPID и назначить крутилку на Rate Roll Kp. Значения от 0.003 до 0.02
- Выкрутить крутилку на минимум, взлететь и медленно крутить до тех пор, пока не начнёт стабильно колбасить как на видео.
- Посадить коптер, запомнить значение Roll Kp, сбросить его на дефолтное. Назначить крутилку на Rate Pitch Kp. Значения от 0.003 до 0.02.
- Взлететь, найти Pitch UOV, записать.
- Забить найденные Roll и Pitch UOV в калькулятор
- Подстроить Outer loop Kp под свои предпочтения
- PROFIT!!!
_ _
_
_
Есть еще “быстрый” метод настройки ПИД контроллера с использованием критического положения системы (момент автоколебаний), он же UOV.
Если кратко, то вот он:
найти параметр П (И=Д=0), при котором коптер осциллирует по Roll, потом по Pitch, забить найденные параметры в калькулятор (optune.opng.org), и использовать полученные параметры в контроллер.
На базе этого метода созданы автоматические алгоритмы настройки ПИД (пример - autotune в cleanflight), причём они даже работают (правда не всегда, + опасно это)
==================================================================
Толщина провода в зависимости от нагрузки:
_ 8AWG = 6.5MM = 200 amps_
_ 10AWG = 5.5MM = 140 amps_
_ 12AWG = 4.5MM = 90 amps_
_ 14AWG = 3.5MM = 60 amps_
_ 16AWG = 3.0MM = 35 amps_
_ 18AWG = 2.8MM = 20 amps_
_ 20AWG = 2.0MM = 12 amps_
_ 22AWG = 1.7MM = 10 amps_
24AWG = 1.6MM = 6 amp
Кстати, на новой сборке коптера опробовал состав КПТД (www.nomacon.by/new/kptd/kptd-kompaund.php), взял 100гр в ЧипеДипе. Залил все регули и осд. Это отличная альтернатива жидкой изоленте. Паста эластична и является отличным диэлектриком, но главное отличие - паста очень теплопроводна и может использоваться для отвода тепла и его распределения.
Есть некоторое неудобство - состав двухкомпонентный. При намазывании достаточно жидкий. Можно спокойно намазать все что нужно, прежде чем начнет застывать. Но кому-то это неудобство в плюс - по крайней мере, совершенно не воняет.
Настройки FPV камеры (в скобках значение по умолчанию):
Exposure:
Shutter speed: Auto (Auto)
Brightness: 065 (042) - range seems to be 22 to 65
AGC: Off (Middle)
DWDR: On (Off) - Most important
Level: 063 (063)
White balance: ATW1 (ATW1)
Day and night: Color (Auto)
Image adjust:
Lens Shade: On (Off)
Level: 80 (22)
Contrast: 105 (149)
Sharpness: 028 (026)
Display: LCD (CRT)
Gamma: 0.45 (LCD 0.45 CRT -)
Ped level: 050 (LCD 017 CRT 016)
Color gain: по вкусу