Контроллер для кордовых электричек

VitalikV

Немного не так, 10% процентов это аварийный запас, на случай когда нужны обороты, но при этом нет возможности поставить акб, с большим количеством банок, или заменить мотор, на мотор с более высоким кв.

А так если система подобрана правильно, то мы и будем летать на 75-80%, и запас на работу гувернера будет больше.

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

Маркс

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

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

второй вариант, когда и если срастется прикрутить STM32
в WEB морде кнопка “Калибровка”, которая вызывает программку которая все делает сама прямо в поле.
и менять полетные обороты можно будет прямо со смартфона.
WEB мордочку я уже немного научился делать, осталось скрестить таймер с ней.

VitalikV

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

При замене аккумулятора или винта, нам придется калибровать заново, да и на поле ноут никто не потащит. Аккумулятор меняем после каждого полета, калибровать?

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

Маркс

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

Маркс

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

VitalikV:

привязываться к оборотам, эта величина не постоянная, неизвестная,

это как раз та величина которую я могу измерить и отрегулировать программно,
для этого и служит гувернер с обратной связью от мотора, он РЕАЛЬНО измеряет и изменяет обороты.
при этом, гувернеру глубого по фиг греальная скорость модели, он будет держать заданные обороты,
пока хватает управляющего воздействия в виде диапазона PWM.

а вот линейная скорость не известна никак
если нужно, тогда давайте начнем городить трубки Пито и измерять скорость ))

VitalikV

Примерно да, так и есть, допустим, что линейная скорость зависит от оборотов мотора, а обороты мотора, зависят от положения “дроссельной заслонки”.

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

Но так же можно его сделать активным, а то как то 25%оборотов утилизировать на полет по горизонту, жалко.

Маркс
VitalikV:

да и на поле ноут никто не потащит.

WEB морда у меня работает на смартфоне, STM32 работает в режиме точки доступа,
интернет не требуется, завтра или скорее в субботу запишу маленькое видео с экрана смартфона.
но пока это сырой продукт (и даже не продукт вовсе, на работе в свободное время “упражнялся” с UI).
Так WEB страничка, которая ничего не делает, кроме изменения значений, кнопок и ползунков.

VitalikV

Веб морда это хорошая штука, но у нас сейчас вопрос с алгоритмом работы гувернера.

Маркс
VitalikV:

Но так же можно его сделать активным, а то как то 25%оборотов утилизировать на полет по горизонту, жалко.

никак, либо в полный газ летать, либо летать “с умом”, в смысле с гироскопом и гувернером.
я на самолете не летаю в полный газ, в горизонте максимум 1/2-2/3, на снижениях вообще 1/3
и только на вертикалях или силовых фигурах газ до полного.

Маркс
VitalikV:

с алгоритмом работы гувернера.

70 процентов от номинала в линейном полете и гироскоп с гувернером для поддержания скорости.

или 100 процентов и на фиг никакой гувернер с гироскопом не нужен.
покупаем за 1,5+ вариант по ссылке выше, нанка с кнопкой, никакого гироскопа никакого гувернера,
нажал кнопку, 20 секунд добежать до ручки, взлетел, летаешь заданное время и на посадку.

Маркс

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

VitalikV
Маркс:

никак, либо в полный газ летать, либо

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

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

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

Маркс
VitalikV:

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

“плавали” (вчера) они только “внизу”, на 4000+ уже не плавали, а сегодня уже и “внизу” не плавают
на моторах с оборотами выше 6000 они вообще плавать не станут

VitalikV:

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

слишком много табличек получится.
от напряжения от направления полета, по ветру или против ну и т,д.
есть гувернер, он держит заданные обороты, зачем таблички ?
он уже есть и работает, осталось его немного отшлифовать,
я сегодня уже не уверен буду я к нему вообще ПИД регулятор прикручивать или нет.
Вчера вечером я логику немного поменял с периодами опроса поигрался.

VitalikV:

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

если не будет запаса по PWM то никакого газа дать не получится )

VitalikV
Маркс:

слишком много табличек получится.

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

Маркс:

он уже есть и работает, осталось его немного отшлифовать,

Хорошо, ждем , я просто предлагаю немного другой подход, где можно опереться на ту величину, которую можно фиксировать. Ваш подход подобрать сигнал pwm, а мой задать его.

Маркс:

если не будет запаса по PWM то никакого газа дать не получится )

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

Маркс
VitalikV:

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

что должно быть источником для проведения “регулировки” ?

VitalikV

Мы имеем диапазон регулировки сигнала pwm 800-2200 , этот диапазон делим на количество шагов, например 1400мксек/140шагов и получаем, примерно 10мксек. Сколько оборотов, у нас в этот один шаг, мы можем померить при запуске мотора, и дальше уже шагами работать для регулировки оборотов.

RandomJ

Не каждый регулятор понимает такой диапазон. Стандарт 1000 - 2000 мкс.

VitalikV

Уже во всех скетчах, что находил в интернете используют диапазон 800-2300. Но этот параметр всегда можно задать в программе как мин и макс pwm.

И нам собственно все равно какой диапазон делить на шаги, хоть 1500, хоть 1000, хоть 500, просто под него надо выполнить калибровку регулятора, чтобы он понимал когда у него ноль или полный газ.

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

RandomJ

Ардуиновская библиотека “SERVO” расчитана на сервы с отклонением 180° и диапазон сигнала там шире стандарта, с этим столкнулся когда собирал первый таймер CL-Pilot. пришлось чутка подправить скетч оригинальный.