RThrust — система автоматического тестирования БК моторов

в 9:36, , рубрики: multicopter, testing, робототехника, метки: ,

Я довольно давно увлекаюсь мультикоптерами, и все это время я ищу способы заставить коптеры летать дольше.
Типичное время полета для недорогого коптера 7-15 минут. Удручающе мало. Мой текущий квадрокоптер летает 19 минут. И на выбор регуляторов и ВМГ для него я потратил немало времени, чаще всего делая предположения в условиях недостаточных данных.
Ключом к продолжительности полета является энергоэффективная винтомоторная группа. Что это значит? Комбинация мотора и воздушного винта должны максимально эффективно использовать энергию для создания тяги. То есть поднимать как можно больше веса, потребляя как можно меньше энергии. Измеряется эффективность винтомоторной группы в граммах на ватт. На форумах частенько встречаются различные приспособления, состоящие из весов и крепления для мотора плюс какой-нибудь ваттметр. Иногда обходятся чисто весами, чтобы выяснить какую вообще тягу создает ВМГ.
Однако, погрешность измерений обычно весьма высокая, начиная с того, что мы не можем точно определить одновременно и тягу, которая колеблется (мотор постоянно меняет обороты) и мощность, которая тоже плавает достаточно сильно. В итоге ошибка сравнима с разницей между моторами.
Меня такая ситуация не устраивает, учитывая, что моторы и пропеллеры различаются по стоимости до десятка раз, нужно понимать, стоит ли платить больше.
В итоге я построил испытательный стенд, на который крепится ВМГ и замеряются ее параметры:
RThrustLogo-Тяга с точностью до 1г
-Напряжение аккумулятора с точностью до 0.01В
-Ток с точностью до 0.1А-0.2А примерно (зависит от тока)
RThrust — система автоматического тестирования БК моторов
Не знал в какой блог разместить информацию, поэтому пока поместил сюда.

Все эти параметры снимаются для каждого значения управляющего сигнала для регулятора скорости с шагом в 1%.
Дополнительно вычисляются мощность и эффективность ВМГ для каждой точки.
По полученным данным строятся графики. По горизонтали — положение ручки газа в процентах. По вертикали — замеренные и вычисленные значения для данного положения ручки газа.
RThrust — система автоматического тестирования БК моторов
Раз уж я инженер-программист, то стенд все тестирование выполняет полностью автоматически.
Возможности программы:
Мотором можно управлять вручную, наблюдая данные в реальном времени для примерной оценки мотора. Делается это простым движением ползунка или вручную вводя значение от 100 до 200 (управляющий импульс от 1 до 2 мс). Справа наглядный индикатор показывает положение виртуальной ручки газа для введенного числа.
Для всех снимаемых данных выполняется фильтрация шумов.
Для тока и эффективности доступна также дополнительная фильтрация, т.к. в силу особенностей бесколлекторного мотора потребление у него постоянно скачет и на графике появляются шумы, если не фильтровать данные.
Значения опорных напряжений, используемых стендом для замера можно изменить, как и коэффициенты делителей напряжения.
Все настройки сохраняются программой автоматически в ini файле.
Время измерения на каждый шаг газа можно указать в миллисекундах. Хорошие результаты дает измерение по 800 мс на шаг, тогда весь тест мотора занимает примерно 1м 20 секунд.
В любое время можно нажать ESC и тест прекратится, мотор будет остановлен.
Если водить мышкой над графиком, то под ним программа покажет значения всех графиков для данного положения "ручки газа".
График можно увеличить и рассматреть детальнее, можно таскать его мышкой, расматривая интересующий кусочек.
Любой график можно отключить, чтобы рассмотреть другие данные, масштабирование по вертикали при этом выполняется автоматически так, чтобы все отмеченные графики влезли.
Результаты измерений можно сохранить в файл ".mpp".
Также в текущей версии программы появилась функция сравнения параметров ВМГ:
RThrust — система автоматического тестирования БК моторов
Есть возможность сравнить не только разные моторы, но и один и тот же мотор с разными пропеллерами или батареями, а также построить графики приведенной зависимости эффективности от тяги, учитывая собственный вес ВМГ.
Позже, возможно сделаю экспорт данных в CSV формат, для обработки в Excel, например.
Я провел несколько десятков тестов и получил интересные результаты. Например, эффективность зависит от степени заряженности батарейки, как я и догадывался. Не все батарейки одинаково полезны, причем на графике это заметно невооруженным глазом. Не все регуляторы скорости одинаково хороши, но вокруг них много домыслов, а стенд позволил наглядно убедиться в чем разница регуляторов и даже сравнить один и тот же регулятор с заводской и альтернативной прошивкой.
Анализируя полученные данные я разработал методику подбора ВМГ под конкретную задачу. Возможно это найдет реализацию в виде модуля автоматического подбора по параметрам. Тогда можно будет выбрать наиболее эффективную ВМГ под конкретный коптер.
Аппаратная часть реализована на 32битном микроконтроллере STM32F100RB. Программная часть работает под любой современной виндой, никаких .net и прочих приблуд не требуется.
Желающим протестировать свои ВМГ предлагаю обращаться. В зависимости от того, насколько интересна мне эта ВМГ я могу сделать тест и бесплатно.
Возможности стенда:
-Напряжение до 4S (будет до 6S)
-Замеряемый ток до 30А. (Будет до 50А)
-Тяга ВМГ до 5кг.
-На стенд влезут пропеллеры до 80см длиной.
-Регуляторы с управлением стандартным PWM сигналом, то есть любые хоббийные.

Весь процесс замера выглядит примерно так (сократил время тестирования для демонстрации).

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

Самое главное — предлагаю желающим с хабра бесплатно протестировать свою ВМГ и получить ее данные.

Автор: RaJa

Источник

  1. Игорь:

    Добрый день, подскажите, сложно подружить esc от квадрокоптера и igbt модуль типа ps21767? Хочу построить тестер инверторных компрессоров

* - обязательные к заполнению поля