Виброметр: балансировка ВМГ (очередной)

btframework

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

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

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

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

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

И вот здесь мне в руки попался OLED дисплейчик 128х64 и я понял - вот оно.

Собственно, железяка не сильно отличается от “Motor Vibrometer” (см. ссылку выше), но полностью автономна. Плюс мелкие плюшки: настройка параметров, улучшенная калибровка, калибровка ESC.

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

Схема и скетч во вложении.

vibrometer.zip

SergejK

А опишите хотя бы вкратце, как работает? Куда закрепляется мотор? В каком виде получается результат?

btframework

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

Включаем ардуинку. Там 3 пункта меню:

  1. Measure - собственно измерение.
  2. ESC Calib - калибровка ESC, если требуется
  3. Setup - настройка параметров:
    Min pulse - мин. длительность импульса (если подключен к уже установленному ESC, то этим параметром подбирается мин. газ для запуска ESC);
    Run pulse - уровень газа для запуска мотора
    Run time - время в секундах сколько крутить мотор.
    Настройки сохраняются.

Собственно, подключаем питание на ESC и давим на среднюю кнопку (которая OK). Калибруется акселерометр. Потом стартует мотор, потом показываются некие цифры - уровень вибраций. На мотор крепим грузик и давим опять OK. Ну и так далее, пока уровень вибрации не будет минимальным. Показываются предыдущие измерения (первый столбец) и текущие (второй столбец).

Собственно, точка крепления грузика находится за буквально 3 минуты. Ну и еще пару минут подобрать вес.

Повторяем для остальных моторов.

Потом ставим пропеллер и повторяем процесс.

Завтра попробую видео сделать.

ssilk

Все это здорово… Долгими зимними вечерами… Для такой экспресс-балансировки сейчас в любом смартфоне есть функционал…
Не хочу сказать ничего плохого, но ардуина и ее датчики слабоваты для хорошей балансировки, а то, что они могут, можно и без них, рукой…
Это если опустить факт, что современные моторы более или менее сбалансирванны на заводе(если уж совсем дерьмо не покупать), и все дело упирается в балансировку пропа. Да и аудитория у такого проекта очень специфическая… У многих ардуины нет, а зеркальце и лазерная указка стоят гораздо дешевле…) Разумеется, это все - мое личное мнение…)

SergejK
ssilk:

Это если опустить факт, что современные моторы более или менее сбалансирванны на заводе(если уж совсем дерьмо не покупать), и все дело упирается в балансировку пропа.

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

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

Gapey

правильный метод - это не только измерять уровень вибрации , но и указывать место куда вешать грузик , например стробоскопом …

btframework
Gapey:

правильный метод - это не только измерять уровень вибрации , но и указывать место куда вешать грузик , например стробоскопом …

Ага. А еще бы и вес грузика. Все проекты, которые видел с указанием меся (собственно по ссылкам выше) абсолютно ничем не отличаются от простого замера вибрации. Что там что здесь подбираем грузик и место методом проб и ошибок (посмотрите видео по ссылкам, да и других полно). Так что смысла мутить это все не вижу.

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

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

lokanaft

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

btframework

Обязательно сделаю видео, чуток попозже.

Выставляется уровень PWM сигнала на мотор. И длительность работы мотора.

Мне не нужно искать резонанс на конкретных оборотах.

Nesenin
btframework:

Ага. А еще бы и вес грузика. Все проекты, которые видел с указанием меся (собственно по ссылкам выше) абсолютно ничем не отличаются от простого замера вибрации. Что там что здесь подбираем грузик и место методом проб и ошибок (посмотрите видео по ссылкам, да и других полно). Так что смысла мутить это все не вижу.

btframework:

Мне не нужно искать резонанс на конкретных оборотах.

давайте начнем с того что источник вибрации не только в статической и моментные неуравновешенности. см ru.wikipedia.org/…/Балансировка_вращающихся_тел
на спектре отлично видно вибрацию другого рода в то время как статическая и моментная близки к идеалу

источники это и сам шаговый механизм переключения обмоток и подшипники и взаимодействие с воздухом.
вот как описывают ситуацию люди, продающие оборудование для настоящей динамической балансировки oookin.ru/balrekom.htm

Если величина суммарной вибрации V1s(V2s) значительно превышает оборотную составляющую V1o(V2o), рекомендуется провести обследование механизма – проверить состояние подшипников, надежность крепления на фундаменте, отсутствие задевания ротора за неподвижные части при вращении, влияние вибрации других механизмов и т.д.
Здесь может оказаться полезным изучение графиков временной функции и спектра вибрации, полученных при измерении в режиме “Графики-Спектральный анализ”.

взгляните на амплитуды других гармоник. для наших целей крайне важно отделить только наши частоты.
Вопрос: как вы отделяете при измерении вибрации нашу искомую составляющую от той на которую не можем повлиять?
чем хороши зеркальце и лазер так тем что диапозон воспринимаемый нами FPS 0-50гц таки позволяет увидеть сильную амплитуду при вращении до 3000об\мин а всякие другие составляющие не видно.
что у вас там измеряется?

// Read AVG from accelerometers.
void meanSensors(int16_t& mean_ax, int16_t& mean_ay, int16_t& mean_az)
{
  int16_t ax = 0;
  int16_t ay = 0;
  int16_t az = 0;
  int16_t gx = 0;
  int16_t gy = 0;
  int16_t gz = 0;

  long i = 0;
  long buff_ax = 0;
  long buff_ay = 0;
  long buff_az = 0;

  while (i < (BUFFER_SIZE + 101))
  {
    if (i % 20 == 0)
      ledInvert();

    mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

    if (i > 100 && i <= (BUFFER_SIZE + 100))
    {
      buff_ax += ax;
      buff_ay += ay;
      buff_az += az;
    }

    if (i == (BUFFER_SIZE + 100))
    {
      mean_ax = buff_ax / BUFFER_SIZE;
      mean_ay = buff_ay / BUFFER_SIZE;
      mean_az = buff_az / BUFFER_SIZE;
    }

    i++;

    delay(2);
  }
}

серьезно?

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

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

станки, дающее точные данные, делают под типовую нагрузку с калибровкой и настройкой.
пример как это делается
oookin.ru/balrekom.htm
или пример настройки.

пробы настройки. это норма.

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

наконец третья. использование резонанса позволяет повысить точность на порядок относительно всех любительских методов балансировки.
лучше только балансировка по 2м плоскостям на профессиональном оборудовании. считай стоящих много денег и опять же с применением мозгов см инструкция goodbal.ru/files/Balkom1Manual.pdf

По поводу виброметров на смартфонах…меряют они не понятно что. нам нужен толко диапозон 0-100гц. уж лучше зеркальцо с лазером

btframework

Спасибо за информацию, но если Вы внимательно прочитали то, что я написал, то, вероятно, заметили что:

  1. Я уже изучил кучу варинтов балансировки. Равно как и Ваш.
  2. Мне не нужен стенд. Меня он не устраивает по ряду причин. Основная - мне лень возиться снимать-ставить моторы. Это лишняя конструкция.
  3. Я не ищу лучшего решения. Если бы я искал лучшего я бы тупо купил уже готовая. Я ищу решения устраивающее меня в данный конкретно момент.

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

(Ключевые слова выделил).

Nesenin
btframework:

Так как проект делал я для себя, то он меня вполне устраивает.

так можно что угодно оправдать. чем лучше зеркальца с лазером?

SergejK
Nesenin:

давайте начнем с того что…

Очень поучительно, но мало по сути темы. Для себя сделал вывод - балансировать идеально вовсе не обязательно. Если покрутить в руках вращающийся мотор с пропеллером, то даже идеально отбалансированый в покое он будет жесточайше вибрировать. Банально за счет законов физики. А если его еще и обдуть… И ведь именно это и происходит в реальном полете, постоянное движение моторов и обдувка ветром.
Вывод - идеала балансировки в покое можно достигать сколько угодно долго и использовать какую угодно сложную аппаратуру. Есть определенный предел вибрации в покое, которая будет уже заметно ниже чем все другие вибрации возникающие в полете, ниже которой нет большого смысла балансировать.

btframework
Nesenin:

так можно что угодно оправдать. чем лучше зеркальца с лазером?

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

Да и лазера у меня нет.

SergejK:

Для себя сделал вывод

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

Да, и мне не только на коптерах балансировать нужно, но еще и на самолетах. Часто в поле. Когда винт ломается и нужно новый ставить. Что весьма удобно при портативном варианте виброметра.

Nesenin
btframework:

Не нравиться (есть лучше) - пройдите мимо

я бы рад, но вы написали

btframework:

Все проекты, которые видел с указанием меся (собственно по ссылкам выше) абсолютно ничем не отличаются от простого замера вибрации.

а это не так, тем более камень в мой огород

btframework
Nesenin:

а это не так, тем более камень в мой огород

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

  1. Стенд (уже десятый раз подчеркиваю).
  2. Не работает в поле без компьютера и стенда.
  3. У меня нет MathLab (и покупать его нет никакого желания).
  4. Не работает с трех и четырех лопастными пропеллерами.
  5. Черт знает как его прикрутить к лопастям вертолета хотя бы 450 размера.
  6. Слишком долго настраивать.
SergejK
Nesenin:

камень в мой огород

А вот она и суть, в одну строчку умещается 😃

btframework:

Потом ставим пропеллер и повторяем процесс.

Думаю с этого пункта нужно сразу и начинать.

btframework
SergejK:

Думаю с этого пункта нужно сразу и начинать.

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

vibrometer.zip

Nesenin
btframework:

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

  1. Стенд (уже десятый раз подчеркиваю).
  2. Не работает в поле без компьютера и стенда.
  3. У меня нет MathLab (и покупать его нет никакого желания).
  4. Не работает с трех и четырех лопастными пропеллерами.
  5. Черт знает как его прикрутить к лопастям вертолета хотя бы 450 размера.
  6. Слишком долго настраивать.

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

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

btframework

Я за Вас очень рад. Вы правы. Как я уже сказал, Ваш стенд самый лучший. Но мне он не понравился. Вот в этом вся истина. Точка.

omegapraim
Nesenin:

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

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

Ваш проект хорош, мне очень понравился, но у меня не заработал…

alexmos

Года два назад делал нечто подобное, планировал отдать рабочий прототип братьям-китайцам для производства, но так и не дошли руки, да и интерес пропал. Так что дарю идею: физически это небольшая платка 2 на 3см, 8 светодиодов по кругу, проц, акселерометр и опто-датчик для считывания опорной метки. Опорная метка кодирована тремя полосами для надежного выделения на фоне корпуса мотора (т.е. не зависим от того, как он там отражает ИК). Смысл в том, что этот датчик крепится на луч так, чтобы ИК-сенсор был на 2-3 мм от мотора. Далее коптер отправляется в полет (т.е. самые что ни наесть реальные условия). После приземления, светодиоды отображают дисбаланс: если светится весь круг, баланс идеальный. Если свет смещается в какую-либо сторону, то в противоположную нужно клеить груз. Чем контрастнее пятно, тем сильнее дисбаланс. В итоге балансировочный груз подбирается за 2-3 итерации. Но в итоге я только на стенде с одним мотором испытал, а как будет мерять если моторов 4 и более, не знаю.

Gapey

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