Симулятор для автопилота SmallTim

Llirik

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

Creator991
Llirik:

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

Я про тоже, мне он не нужен. АП освоил, когда были слеты прошивок я в поле приловчился за 20 минут с нуля АП полностью настроить и откалибровать, а пробывать всегда лучше в полете.
Кирилл у вас мозги хорошо работают, это видно по вашим постам, займитесь, допишите прошивку, ВАМ все спасибо скажут

AlexSneg

Андрей, не выносите моск Килиллу. Вам он ничем не поможет. С таким же успехом можно стучаться в саппорт M$, чтобы они проделали эту работу за Тимофея. Смолтим автопилот - это проект Тимофея и никто лучше него в его кишках не разбирается. Дожимайте Тима, в какой-то момент дожмЁте. А Кирилл пусть делает физику полета тела, я думаю для него эта гораздо интереснее, чем рыться в чужом коде.

Llirik:

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

Вот с этим я не согласен. Оно одинаково полезно и тем и другим. У производителей скорость апдейтов и появления новых плюшек в разы увеличиться, а у пользователей при начальной настройке в разы уменьшиться кол-во дров.

Syberian
Llirik:

Винтик для примера

Очень интересно получилось, и результат правдоподобный: 10 г/вт с винтом 11х4.7 на 7000 оборотов. В реале с учетом КПД регуля и мотора выходит около 8г/вт на макс. тяге с движком DT750.
Изменение геометрии лопасти - слишком мутное дело. Думаю, лучше оставить за кадром. Считаю лопату по умолчанию оптимальной для “средней температуры в больнице” на первое время 😃
С моментом разобрался: если положительный - скорость потока быстрее шага, т.е. торможение пропеллером.

serj:

предлагаю вместе попинать Тимофея

да ладно, вдруг сам исправится? в новой железке

Llirik
Syberian:

Думаю, лучше оставить за кадром

Да я ее и не собираюсь никому показывать… Это так , для демонстрации задуманного принципа… На самом то деле надо просто подобрать под каждый тип винтов свои % эффективности радиуса и а/д коэффициенты… И просто можно выбрать тип, диаметр и шаг…

Syberian:

С моментом разобрался: если положительный - скорость потока быстрее шага, т.е. торможение пропеллером.

Смотря в какую сторону крутишь!.. Я ж комментарий снизу вставил, что положительное направление момента вперед… А дальше по правилу правой руки…

Подсказки вроде бы сделал: Если шаг отрицательный - то левый винт… Если обороты отрицательные - то левое вращение…

Ну все… До следующей недели ничего больше не поваяю… Пишу по вечерам, скрашивая “холостяцкую” скуку. Но завтра в командировку в Москву… Домой к семье!..😃

Frr
Llirik:

По поводу тяги и крутящего момента:

Вроде должна быть еще “скорость протекания” - половина разности скоростей до и после винта (а скорость после винта определяется по тяге).
И угол атаки по размаху - примерно одинаковый делают.

Llirik

скорость протекания? Я чейто не вкурсе… А тем более эта самая скорость уж очень зависит от точек ее измерения (если можно так сказать). К примеру мне бы хотелось не вводить в настройках сима влияние винта на элементы, а просто его подсчитывать… Но пока затрудняюсь…

Другое дело разность скоростей модели и скорости воздуха через “сечение” винта… Конечно же она определит тягу и наоборот. Т.е. посчитав вышеприведенным способом тягу, можно получить добавочную скорость воздуха, создаваемую винтом. Вот только на практике как ее применить?

Frr:

И угол атаки по размаху - примерно одинаковый делают.

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

Llirik

Кстати, по поводу набора оборотов. Как делать?
Самое простое тупо задать время набора оборотов от нуля до максимума. Но это не интересно.

Можно задать момент инерции пропеллера и разгонять его в соответствии с ним. Тогда реалистичнее будет (проявится гироскопический эффект). Но тут встает вопрос о том, что такое канал управления регулятором (для самолета просто TRO, для коптеров mix)?
Нужна физикоматематическая зависимость канал -> регулятор -> обороты.

Если бы по старинке использовались двигатели постоянного тока, то можно было бы считать напряжение на выходе регуля пропорциональным управляюшему сигналу, и с допущением постоянства сопротивления обмоток получить прямую зависимость канал->крутящий момент…

Были бы моторчики ассинхронные, можно было бы задать, вольтчастотную характеристику регуля, скорее всего она в реальности квадратичная (надо будет притаранить домой осцилограф и посмотреть), ну и банально расчитывать скольжение двигателя…

Но мы же юзаем синхронные двигатели!.. 😵 И что делать? Выход вижу только в задании характеристик регулятора. Какие будут предложения?

Syberian
Llirik:

Нужна физикоматематическая зависимость канал -> регулятор -> обороты.

Обороты как раз от входа не зависят (только в режиме гувернера, который в квадриках не используется). Вход регулирует вваливаемую в мотор мосщность. Даже не мощность, а скважность ШИМ-заполнения в регуляторе, которым он циклирует обмотки. Ток в обмотках и, соответственно, мощность, уже зависит от оборотов движка (реактивное сопротивление), пассивного сопротивления обмоток, частоты самого ШИМ и напряжения питания.
Может, не надо, а? 😃 Допускаем, что мощность на мотор поступает пропорционально входному сигналу и задаем только быстродействие всей ВМГ: Х секунд от 0 до максимума (в регулях фильтры импульсов есть и проч, что дает доп. задержку), а мотор уже потом раскручивается как-то там с инерцией.

Frr
Llirik:

Другое дело разность скоростей модели и скорости воздуха через “сечение” винта…

Это она и есть.

Llirik:

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

Так и делают, при других скоростях уменьшается эффективность винта.
Шаг будет постоянный, а “угол установки” элемента лопасти меняется с радиусом.

И по фотке с формулами не понял где проекция Cx*… на ось y ?
(Cx*… - это сила вдоль потока, к-рый не перпендикулярен оси y, аналогично в потребляемую мощность войдет Cy*…)

Llirik

Y- “подъемная” сила, Х - сила лобового сопротивления элемента лопасти, отстоящего на r от оси. . Х направлен по скорости потока воздуха (с системе координат данного элемента. Cx, Cy - аэродинамические коэффициенты (функции от угла атаки). У них не может быть проекции.
А по поводу недостающих проекций, я же подписал вдогонку, что

Единственно только для тяги забыл у-ковую оставляющую Х-а отнять, а для крутящего момента х-овую составляющую Y-ка прибавить. Но не суть важно (в голове добавить можно)

и что угол атаки:

Горе я математик!.. Угол таки немного не совсем тот арктангенс, а arctg(H/(2*Pi*r)-arctg(Vm/(r*w)… Спешка, однако…

Frr:

Шаг будет постоянный, а “угол установки” элемента лопасти меняется с радиусом.

Само собой меняется… Эт даже на картинке нарисовал arctg(H/(2*Pi*r) - угол установки. Чем больше радиус элемента - тем меньше угол установки, но соблюдается шаг.

Frr
Llirik:

Cx, Cy - аэродинамические коэффициенты (функции от угла атаки). У них не может быть проекции.

“Cx*…” - там еще “умножить на и т.д.”, это сила вдоль потока.

Llirik:

А по поводу недостающих проекций, я же подписал вдогонку, что …

Тогда все ОК.
То, что ниже гориз.черты на рисунке - подходит для неподвижно висящего квадрика со специфическим винтом (хорда лопасти растет с радиусом). Имеет право быть, почему бы нет 😃

Llirik
Frr:

“Cx*…” - там еще “умножить на и т.д.”

и т.д. - это площадь*плотность*(скорость)^2, то есть все то, что в интеграле…

Frr:

То, что ниже гориз.черты на рисунке - подходит для неподвижно висящего квадрика со специфическим винтом (хорда лопасти растет с радиусом)

Ну я же написал, что “без набегающего потока”, т.е. статика…
А вот хорда не какая то именно специфическая , а произвольная L®. За исключением последнего предположения…

Frr
Llirik:

За исключением последнего предположения…

Да. Там бы еще учесть, что сила “Cx*…” всегда больше нуля (проекция на X), при любых углах атаки.
И, заодно, что “скорость протекания” не совсем вдоль y, поток закручен, “закрученность” определяется из момента.

Llirik

Сх у меня всега больше нуля… Я ж специально функции Сх и Су показал, чтобы было понятно что это за коэффициенты (пока приближенно тригонометрическими функциями задал)… Я все прикидываю как лучше их задавать (для разных элементов разные), поэтому в этих функциях и ввел Case. “n” - это будут тип профиля.
Если уж развивать тему, то можете помозговать и помочь. Я когда начал писать сим, сделал набросок редактора аэродинамических коэффициентов. Прикрепляю. Если есть желание, то можете посоздавать свои профили и выложить сюда для обсуждения (достаточно файл.polar).
Суть в следующем - это Cx, Су, и фокус профиля, параметризованные кубическими сплайнами. Можно подогнать их (двигая за кружочки) под желаемый профиль и сохранить.
А я в будущем подтяну в симе выбор профиля.
Соответственно для винтов тоже самое.

Prof.rar

Frr

> Сх у меня всега больше нуля… Я ж специально функции Сх и Су показал, чтобы было понятно что это за коэффициенты (пока
При некоторых режимах (соотношение скорости полета и оборотов) угол атаки “a” в формуле с картинки : Cx(a)=10*Kx*a, будет отрицательный для части лопасти.
И “здравствуй вечный двигатель” 😃

Llirik

😃 Так Вы все на скан смотрите?!
Ну во-первых, я там подписал, что это для режима без набегающено потока, посему нет такой скорости …
Ну а во-вторых (мой косяк на скане), конечно же модуль. А вот если посмотрите в пост 32, то уведите, что Cx всегда положителен (никогда не ноль), а сила лобового сопротивления всегда направлена в направлении скорости воздуха, пропорциональна этой самой Сх, плотности, площади и квадрату скорости. Следовательно с вечным двигателем поздороваться не суждено…

Frr
Llirik:

А вот если посмотрите в пост 32

Наверно надо смотреть сюда: r:=(1.1-cos(2*a)). Тогда ОК.
(иногда пишут так: Kx0+Kx1*(1-cos(2*a))+… )

Llirik

Как раз сюда! Одной десятой как раз и задал лобовое сопротивление при нулевом угле атаки (“на вскидку от фонаря”, пока не прописал коэффициенты путево).

serj
Llirik:

Кстати, по поводу набора оборотов.
Нужна физикоматематическая зависимость канал -> регулятор -> обороты.

Если бы по старинке использовались двигатели постоянного тока, то можно было бы считать напряжение на выходе регуля пропорциональным управляюшему сигналу, и с допущением постоянства сопротивления обмоток получить прямую зависимость канал->крутящий момент…

Выход вижу только в задании характеристик регулятора. Какие будут предложения?

Вы совершенно правы, мы юзаем именно двигатели постоянного тока. то что коммутатор у них электронный- это очень хорошо для моделирования- можно потери в нем не учитывать. И они очень линейны, особенно на тех токах ( 20-30% от максимума) что летают квадрики- там еще далеко до эффектов значительного падения момента… Вот только некоторые регули имеют квадратичную характеристику для более комфортного управления самолетами, но большинство народу, думаю, на квадриках ставят регули с линейной характеристикой.

Llirik

Решил не наводить путаницу в прогах (пока не совмещать самолет и коптер), т.ч. ради эксперимента расширил немного выложенный “винт” до коптера.
Сделал миксы как рекомендовали выше.
Крутящий момент, создаваемый моторчиком пропорционален сигналу на “регуль”.
Никаких моментов двигатель больше не дает, т.ч. выбег мотора свободный…
Реальный пульт не подтягивал, т.ч. пока юзанье только ползунками.

По поводу миксов:
Меняйте количество моторчиков и настраивайте миксы. Но лучше выложите стандартные миксы для 3,4,5,6,7… и т.д -коптеров. Подтяну…

Вопрос по сопротивлению (всего коптера) вращению (физический принцип) хотелось бы обсудить. Какие эффекты присутствуют? Я на коптерах ни разу не летал, т.ч. даже не представляю как они себя ведут… А пока непонятка сделал галочку “исскуственное замедление”…

Собратья по хобби, чтож Вы критикой самолетного сима не жалуете? Хотелось бы доделать и приступать непосредственно к автопилоту…

Коптер.rar