Подписываемся на VK

Ежедневные новости, видео и приколы...

YouTube канал

Подбор моторов

TOP статьи

Вход



iRangeX IRX4 2.4G CC2500 NRF24L01 A7105 CYRF6936 4 IN 1 Multiprotocol STM32 TX Module With Case5X DC Boost Converter 2A Power Supply Module 2V-24V To 5V-28V Adjustable Regulator BoardFLCOS 720*540 Colord Micro Displayer Monocular VR Video Goggles Mini Monitor for RC DroneFrsky 2.4G 16CH ACCST Taranis Q X7S Transmitter Mode 2 M7 Gimbal Wireless Trainer Free Link RC DroneVolantex Ranger 757-4 7574 FPV 1380mm Wingspan EPO RC Airplane KITEachine E59 Mini 2.4G 4CH 6 Axis Foldable Arm Headless Mode RC Drone Quadcopter RTFiRangeX iRX6 Multiprotocol TX Module for Flysky FS-i6 i6x TransmitterRealacc Strange Third Hand Three Arms Aluminum Alloy CNC Soldering Station for RC Drone

RC Магазины





Home Технологии Компьюторные Миксер сигналов управления тяги двигателей двухмоторной авиамодели на основе платы Arduino Micro Pro
Последние комментарии

VIPER 9115 1/32 2.4G RC Racing Car Rear Wheel Drive Multilayer in Parallel Operate USB Charging ToysKINGKONG/LDARC TINY 7X 75mm FPV Quadcopter With 820 Motors 5.8G 800TVL Camera F3 Flight ControllerPartom FPV 1.2G 1.3G 8CH 800mw Wireless AV Transmitter And Receiver For FPV RC Drone2.4G CC2500 A7105 Flysky Frsky Devo DSM2 Multiprotocol TX Module With Antenna2.4G CC2500 NRF24L01 A7105 CTRF6936 4-IN-1 Multi-protocol STM32 TX Module With AntennaEMAX CF2812 1500KV Brushless Motor With Propeller SaverNAZE32 Flight Controller SBUS Signal Inverter for RC Drone FPV RacingDYS D2822 2282 1100KV 1450KV 1800KV 2600KV Brushless Motor

Миксер сигналов управления тяги двигателей двухмоторной авиамодели на основе платы Arduino Micro Pro
Технологии моделизма - Компьтерные Технологии
Автор: Андрей   

Традиционно двигатели двухмоторной модели управляются смесью сигналов Thr (тяги) и Rud (руля направления). Как показывает опыт, сделать оптимальное замешивание этик сигналов непосредственно в пульте управления очень непросто.  В дешевых пультах управления обычно отсутствуют необходимые функции,  а в более сложных реализациях прошивок, типа OpenTX такое замешивание требует установки большого количества параметров и большого количества вычислительных ресурсов для формирования сигналов при работе пульта. Поэтому, иногда бывает целесообразно изготовить "специализированный" контроллер-миксер на основе платы Arduino и разместить его непосредственно на модели.



Стандартное (аддитивное) замешивание сигналов

Попробуем проанализировать картину замешивания сигналов. При управлении тягой двигателей 2-х моторной авиамоделью традиционно формируют сигналы управления двигателями, как  сумму и разность сигналов Thr и Rud.

Thr1 = Thr + k*Rud
Thr2 = Thr - k*Rud


Будем считать что "беззнаковый" сигнал Thr изменяется в приделах [0.0 - 1.0], а "знаковый" сигнал Rud в диапазоне - [-1.0 - +1.0]. Выходные сигналы Thr1, Thr2 тоже "беззнаковые", меняются в интервале [0.0 - 1.0]. В этих формулах k - коэффициент влияния сигнала руля поворота.  Графики суммарной и разностной тяги для "аддитивного" замешивания:

Величины разностной и суммарной тяги показаны изолиниями. Чем плотнее изображены изолинии в какой либо части рисунка, тем резче изменяется параметр. На всех графиках изолинии проведены через 20% максимальной тяги одного двигателя. При этом, суммарная тяга 2-х двигательной схемы изменяется в диапазоне [0% -  200%], а разностная тяга меняется в интервале [-100% - +100%].  Графики построены для  k=1.0, но замешивание с таким большим коэффициентом редко применяется на практике (при крайних положениях рукоятки rudder-а возникает слишком большой поворотный момент и модель обычно начинает крутиться "волчком"). В реальной системе более реалистичное значение коэффициента в районе значения k=0.5. Я не привожу отдельных графиков для этого случая т.к. они (обозначены зелеными прямоугольниками) совпадают с внтуренней частью графиков для k=1.0 - достаточно предположить, что изменение сигнала Rud происходит в интервале [-0.5 - 0.5]

Почему на графиках появляются "нелинейности" - изломы изолиний? - понятно, что при некоторых значения Thr и Rud результаты вычислений Thr1, Thr2 выходят за границы разрешенного интервала  [0.0 - 1.0], но в этом случае они автоматически ограничиваются крайними значениями,  и как следствие, линейность преобразования теряется.

Недостатки аддитивного замешивания.

Все, кто хоть раз таким образом "аддитивно" замешивал сигналы Thr, Rud для разнотяга замечал, что у такого метода есть существенные недостатки:
- Когда суммарная тяга маленькая, небольшие горизонтальные движения ручки управления приводят к сильному воздействию на тяги двигателей и к резкому рысканью модели в горизонтальной плоскости (в нижней части графика разностной тяги плотность изолиний почти такая же как и в центральной части). Это не очень привычно для пилота  - ведь в моделях с одним мотором действие руля направления уменьшается вместе с тягой.
- При предельно большой тяге (верхняя часть графиков), так же есть нелинейности - разностная тяга двигателей быстро "насыщается" - один двигатель оказывается всегда включеным на максимальную мощность и не участвует в управлении, а на разностную тягу влияет только уменьшением оборотов другого двигателя.

Как исправить описанные недостатки? Нужно сформировать выходные сигналы так, чтобы движении ручажка rudder-а приводило к воздейтвию на модель, похожему на управление на моделью с помощью руля поворота. Поэтому,  относительно простое "мультипликативное" замешивание здесь выглядит более привлекательным:

ThrR = Thr * (1.0  +  k*Rud)  / 2.0
ThrL = Thr * (1.0 -  k*Rud)  / 2.0


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



Видно, что в нижней части графика  нелинейности практически отсутствуют - изменение разностной тяги более плавное и, главное, поворотное водействие двигателей достаточно похоже на управление моделью с помощью руля направления - при равном значении Rud разностная тяга пропорциональна Thr, и наоборот, при фиксированном значении Thr суммарная тяга не зависит от изненеий сигнала Rud.

Но такое замешивание имеет также и недостатки. В верхней части графика нелинейности все равно присутствуют - при достижении предельного значения один из двигателей так же насыщается.

Компенсация насыщения разностной тяги.

Нелинейное изменение тяги в верхней части диапазона реально мешает полетам - т.к.. именно на бОльших скоростях и тягах необходимо максимальное поворотное воздействие на модель. Но и здесь существует способ улучшить замешивание  -  в алгоритмы преобразования нужно ввести проверку - если один двигатель вышел на максимум тяги и не может увеличивать обороты, создавая дополнительный поворотный момент, то необходимо это насыщение компенсировать двойным уменьшением тяги второго двигателя. Результат действия такой компенсации показан на графиках:

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

Преимущества бортового миксера сигналов.

Какие преимущества дает специализированный бортовой смеситель?
- Так как смеситель управляется сигналами Thr и Rud, то возможна работа миксера совместно с гироскопом-стабилизатором полета. Большинство гироскопов сами формируют сигнал Rud для классической схемы - теперь стабилизацию полета по "рысканью" также может осуществлять с помощью разницы тяг двигателей. Конечно, стабилизатор не сможет изменять общую тягу Thr, но здесь оптимальное значение суммарной тяги устанавливается пилотом.
- Экономия каналов управления - если у модели два двигателя и руль направления - то для передачи управляющих сигналов необходимо 3 канала управления. Замешивая сигналы непосредственно на борту число необходимых каналов может быть уменьшено до 2-х.
- В целом, отдельный миксер-контроллер гораздо более гибок и удобен для сложных вариантов замешивания, чем даже самый продвинутый пульт управления. При этом, все вычисления проводятся бортовым контроллером модели и не нагружают вычислительные мощности пульта.

Характеристики и устройство миксера.

Миксер делается на основе популярной платы Arduino Pro Micro. Он относительно простой в изготовлении, его можно собрать и запрограммировать за 1-2 вечера. Вес готового устройства получается около 12 г, что дает возможность устанавливать его даже на маленьких моделях. Миксер управляется двумя импульсными входными сигналами Thr, Rud, поступающими с приемника и формирует два выходных сигнала управления тягой двигателей - Thr1, Thr2. Дополнительно  на миксере установлены кнопка (для перехода в режим калибровки) и светодиод (для индикации состояния).
Миксер можно использовать как для 2-х моторных моделей с rudder-ом, так и без него (на схеме контроллера подключение руля управления не показано, но на фотографии контроллера виден его серворазъем, который припаян параллельно к контактам входа канала Rud).
 
Изготовление.

Технология изготовления подобных устройств подробно описана тут. Я только кратко опять хочу отметить, что все дополнительные компоненты (кнопку, светодиод, резисторы) желательно не припаивать к контактным точкам платы Ардуино, а размещать на дополнительной панели. После изготовления плату и компоненты необходимо покрыть водозащитным лаком. Когда устройство будет собрано и проверено, на него надевается защитная оболочка из отрезка термоусадочной трубки. Отверстие для кнопки удобно прожечь металлической трубкой подходящего диаметра.

Схема контроллера:

Программирование

Программа для миксера расположена тут. Особенностью платы Arduino Pro Micro является наличие микро-USB разьема, что позволяет подключать ее непосредственно к компьютеру для программирования. Информация о том, как сконфигурировать компьютер и залить прошивку в контроллер Arduino, существует в большом количестве вариантов на сайтах этой тематики в Интернете.

Проверка смесителя

1. Подсоединяем смеситель к приемнику, сервомотору rudder-а и контроллерам тяги двигателей. Светодиод на панели смесителя должен мигнуть три раза и загореться непрерывно. (Если он не горит - значит на смеситель на поступает хотя бы один из двух входных сигналов Thr или Rud).  
2. Проверяем отклик двигателей на изменение положения рычажка тяги. При первом включения контроллер устанавливает стандартные значения замешивания и, как правило, двигатели уже управляются нормально.
3. Настраиваем непосредственно входные сигналы - если у модели есть rudder, производим его триммирование обычным способом -  с помощью настроек пульта.

Калибровка смесителя

На картинке снизу изображен процесс калибровки смесителя движениями рычажка Thr-Rud.


1. Устанавливаем рычажок в нижнее центральное положение и нажимаем кнопку калибровки на смесителе - светодиод должен погаснуть.
2. Не отпуская кнопки, медленно делаем "квадрат"  - проводим рычажком управления по предельным значениям отклонения рычажка (перемещения 1-2-3-4-5). Считывая эти данные, смеситель узнает минимальные и максимальные значения сигналов Thr и Rud  и вычисляет необходимые коэффициенты для  последующего замешивания.
3.  Не отпуская кнопки калибровки, положением рычажка тяги устанавливаем коэффициент замешивания сигнала Rud (минимальная тяга соответствует k=1.0, максимальная k=0.0). Для примера, если мы хотим получить 70% замешиваение, то устанавливаем рычажок в положении 30% тяги (перемещение 6) отпускаем его и оставляем в этой позиции (его горизонтальное положение так же будет использовано для определения нейтральной точки замешвания Rud). 
4. Отпускаем кнопку калибровки - светодиод должен мигнуть три раза, подтверждая успешное окончание калибровки, и погаснуть. В этот момент смеситель сохранит все полученные в результате калибровки параметры в энергонезависимую память Arduino.
5. Переводим рычажок тяги в минимальное положение (перемещение 7) - калибровка окончена, светодиод должен снова загореться, смеситель перейдет в рабочий режим и блокировка двигателей будет прекращена. Калибровка закончена.

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

Зачем нужна калибровка смесителя?

Почему нужно делать дополнительную калибровку и  нельзя как-то настроить смешивание, изменяя параметры сигналов Тhr и Rud непосредственно на пульте? Теоритически можно, но тут появятся проблемы:
- мультипликативный смеситель, в отличие от обычного "аддитивного", смесителя является сильно нелинейными элементом.  Для  правильного замешивания он должен быть точно настроен в соответствии с параметрами сигналов пульта. Если подгонять под смеситель эти параметры прийдется решить обратную задачу - надо будет понять, какие сигналы для него являются оптимальнымы. Такая задача  достаточно нетривиальная.
- смеситель может быть подключен после гироскопа-стабилизатора, который сам преобразует и замешивает сигнал Rud. Снова - сложно предсказать зараннее какие изменения сигналов он  внесет. 

Существующий вариант миксера был облетан на 2-х моторном самолете с гироскопом-стабилизатором и, как это было ожидаемо, показал динамику полета значительно лучшую, чем при аддитивном замешивании сигналов. Конечно, на сделать 2-х моторную модель 100% похожей на 1-моторную пилотажку не удалось, но в  направлении улучшения функциональности миксера можно работать -  обладая минимальными знаниями программирования Ардуино, легко улучшить существующую прошивку.

ДОПОЛНЕНИЕ: Работа с аналоговыми PWM сигналами требует от контроллера прецизионного измерения длительности управляющих импульсов, поэтому скетч для Ардуино использует таймеры, прерывания и относительно сложный для понимания.  Я разработал новый вариант смесителя - для работы с современным приемником-стабилизатором FrSky S8R. Новый смеситель читает цифровой сигнал SBUS и подключается к приемнику одним серво-кабелем.

 

 





Добавить комментарий

Защитный код
Обновить

Последние сообщения форумаПоследние созданные темы
1) Интересности с АлиЭкспрес
2) Экшен камеры (сравнения)
3) Дремель из мотора от стиралки
4) Резка лазером, фрезером.
5) Настоящие самолёты
6) Не модельное но прикольное
7) Небольшие дроны на бк моторах
8) Despot FW 35
9) Аэродинамическую трубу, домашнюю, настольную планирую построить.
10) Скидки на RC товары
1) Дремель из мотора от стиралки - самодельный инструмент
2) Резка лазером, фрезером. - Есть возможность нарезать что то модельное лазером или фрезернуть.
3) Небольшие дроны на бк моторах - для полетов на улице
4) Небольшие RC вертолеты - простые в управлении
5) Октокоптер для сельскохозяйственных нужд - Нужен октокоптер. Возможно ли собрать самому или заказать готовый.
6) Двухмоторные авиамодели - удобны для FPV полетов
7) Проблема с прошивкой Pixhawk 2.4.8. (ERROR: No Response from board) - При попытке прошить полетник выдает ERROR: No Response from board
8) Нужно подклеить плёнку на плёнку и на фанеру, каким клеем?
9) Токарник для моделиста - настольный
10) Сравнение топовых видоочков - впечатления от реальных полетов