Дело было вечером, делать было нечего ©
Как‑то вошкаясь в сети, я наткнулся на один проект, на который даже был патент. Проект связан с силовыми гироскопами и системой стабилизации, но сейчас немного не об этом речь. Для реализации этого изделия, как вы поняли, необходимы гироскопы. Я попытался найти готовое решение, потому как понимал, что большая сложность в изготовлении — балансировка маховика гироскопа. И, конечно же, я его не нашёл. В качестве мотора использовал бесколлекторный мотор, наподобие этого, да что уж говорить, именно его и выбрал для своих экспериментов. Выбор пал на него, по той причине, что маховик крепится не одним центральным винтом, а четырьмя небольшими винтам, расположенными по окружности.
Ну и нужен маховик. Быстренько нарисовал чертёж, отправил токарю, чутка подождал и получил готовое изделие.
Одно прикрутил у другому и получил вот такую незамысловатую конструкцию.
Осталось прикрутить к основанию, чтобы по столу эта штука весело и безмятежно не каталась.
При запуске вся эта неведома конструкция неистово вибрирует, того и гляди — сейчас развалится. От этого становилось страшно и как‑то не по себе. Было решение собрать самодельный стенд для балансировки. Т.к. опыта разработки электроники и прошивок для контроллеров у меня крайне мало, т. е. по сути нет, то и пришлось информацию собирать в разных источниках.
Я примерно понимал как работает балансировочный станок‑ищем пик вибрации, запоминаем или как‑то указываем место, где этот пик был найден. Всё просто. В моём случае — буду использовать светодиод для подсветки «тяжёлого» места маховика.
В качестве датчика я решил использовать акселерометр. Начитался этих ваших интернетов и понял, что нужно использовать аналоговый акселерометр, например ADXL-335. Связано с тем, что у цифровых на выходе стоят фильтры, а мне нужны прям сырые данные и обрабатывать я их хочу сам. Возможно, это не так. Если не так, поправьте. Кстати, частоту больше 400Гц этим акселерометром не измерить.
В качестве светодиода решил использовать 1Вт светодиод. Поставил его через ограничивающий ток резистор в 27Ом, с надеждой что ардуинка его (светодиод) вытянет по нагрузке. В принципе, она и вытянула, перебоев каких‑то не было.
В качестве контроллера взял платку с Arduino Nano. Она недорогая и прикольно мелкая.
Сначала всё повесил на сопли на имеющийся кронштейн для проверки работоспособности всей идеи. Выглядело это довольно печально.
Собрал всё, решил посмотреть что там на выходе с акселерометра. А вот же что там, такая себе синусоида.
Что я думал и как себе представлял. Пока буду находиться на вершине синусоиды — буду включать светодиод. Выглядело это для меня крайне логично и вполне работоспособно. Добавил потенциометр для регулировки «высоты» порога срабатывания
Написал вот такую коротенькую программу.
Первая прошивка
int axel = A0; // аналоговый акселерометр
int reg = A1; // потенциометр
int ledPin = 13; // светодиод
void setup() { pinMode(ledPin, OUTPUT);} //мегакоТ
void loop() {
if (analogRead(axel)>analogRead(reg)) digitalWrite(ledPin, HIGH); //чтение. сравнение и включение светодиода
else digitalWrite(ledPin, LOW);// выключение светодиода
}
С предвкушением её залил в микроконтроллер и ничего не произошло. Иногда, можно было разглядеть метки на маховике, но это случайности были.
Посоветовавшись с умными людьми я понял, что детектировать пик нужно более точно и однозначно, это первое, второе — длину импульса светодиода нужно задавать самостоятельно, а не как у меня было (длина подсветки зависит от частоты вращения и порога срабатывания). А ещё можно специальной магией увеличить скорость работы АЦП.
На основе этих изменений родилась прошивка 2. Ничего не придумывал, взял готовые формулы.
Вторая прошивка
int axel = A0 ; // аналоговый акселерометр
int ledPin =13 ; // светодиод
int minADC = 1023; // присваиваю начальное значение переменной
int maxADC = 0; // присваиваю начальное значение переменной
int nowADC = 0; // присваиваю начальное значение переменной
bool maxIsWorked = true; // присваиваю начальное значение переменной
bool minIsWorked = true; // присваиваю начальное значение переменной
uint32_t timer; // присваиваю тип переменой (целые числа)
float freq, ampV, A, S, V, m; // присваиваю тип переменой (числа с плавающей запятой)
void setup() {
pinMode(ledPin, OUTPUT); // ledpin будет выход
Serial.begin(2000000); // настройка скорости com порта
ADCSRA |= (1 << ADPS2); // магия 1
ADCSRA &= ~ ((1 << ADPS1) | (1 << ADPS0)); // магия 2
}
void loop() {
nowADC = 1023-analogRead(axel); //реверс сигнала, изменения направления оси
if (nowADC > maxADC) {
maxADC = nowADC;
}
else if (nowADC < minADC) {
minADC = nowADC;
}
else if (maxADC > nowADC + 10 and minIsWorked) {
maxIsWorked = true;
minIsWorked = false;
//кусок выше - условия, при которых ищу пик на синусоиде
uint32_t nowTime = micros(); //записываю текущее время в мкс в переменную nowTime
Serial.println("xx");
freq=1000000 / (nowTime - timer); //вычисляю частоту сигнала с акселерометра, Гц
ampV=(maxADC-minADC)4.87;//вычисляю амплитуду сигнала, мВ A=ampV/3009.8;//вычисляю виброускорение в м/с^2
S=A25.35/freq/freq;//вычисляю виброперемещение, мм V=S0.63freq;//вычисляю виброскорость, мм/с m=8040.3V/(2.5freq*60); // вычисляю массу на радиусе 2 см, при массе всего ротора 300 г, пытался вычислить массу, которую необходимо убрать с маховика. не вышло
Serial.println(freq, 0);
Serial.println(ampV);
Serial.println(S, 3);
Serial.println(V);
Serial.println(m, 3);
Serial.println(" ");
timer = nowTime;
digitalWrite(ledPin, HIGH);
delayMicroseconds(12); //время свечения светодиода в мкс
digitalWrite(ledPin, LOW);
minADC = 1023;
//кусок выше - вывод данных в порт
}
else if (minADC < nowADC - 10 and maxIsWorked) {
maxADC = 0;
maxIsWorked = false;
minIsWorked = true;
}
}
И только после этого случилось то, что случилось!
Т.к. балансировать необходимо не одно изделие, а несколько, то запилил настольный микростенд. Нарисовал спроектировал, напечатал на принтере и собрал.
Поставил мотор с маховиком на стенд, разметил маховик, раскрутил, измерил виброкорость (именно по этому параметру решил оценивать вибрацию). Нашёл место для облегчения маховика.
Виброскорость до балансировки составляла 1,9 мм/с.
Найденное место, с которого необходимо снять материал (около девяточки).
Процесс удаления лишней массы. Магнит нужен для того, чтобы стружка не разлеталась в разные стороны и не попала в мотор, например.
После сверловки запускаю маховик и смотрю на сколько изменилась картина. Сверлю или дальше отверстие по глубине, или сверлю отверстие в другом месте.
В результате виброскорость упала до 0,6 мм/с.
Вы скажете, а можно ли уменьшить ещё. В данной работе мне это сделать меньше мне не удалось. Видимо, уже начинает сказываться качество подшипников, люфты, ретроградный Меркурий или иные воздействия. А я пробовал, пытался. В результате получается сыр.
Но, этого результата мне более чем достаточно. Вибрация, конечно, есть, её ногтем можно ощутить, но корпус, с установленным мотором и маховиком уже не прыгает на столе и не разрушает сам себя.
В целом, можно было исследовать виброскорость на разных частотах, озадачиться измерением виброскоростей в двух опорах, как делают взрослые дяди на больших станках, для проведения более точной балансировки, но я добился того, что мне необходимо было в первом приближении и остановился на этом.
Ниже — немного другое представление информации, но там голые ножки и зима.
18+
Комментарии (80)
zag2art
00.00.0000 00:00+10В теоретической механике есть раздел - балансировка жестких роторов. Согласно одной из теорем, для полного устранения любой неуравновешенности достаточно размещение двух корректирующих масс в двух плоскостях, перпендикулярных оси вращения. Соответственно вам бы по хорошему корректировать обе стороны вала, ну и, наверное, лучше чутка напаивать вес, а не высверливать. Информация чисто теоретическая, так как сам я этим на практике не занимался. Вам уважение.
Stalker_RED
00.00.0000 00:00А не вариант купить на авито какой-нибудь советский магнитофон, типа "нота мп220с" и взять два маховика из него? Возможно вместе с опорами.
http://rw6ase.narod.ru/index1/mag_ml/mg_kas_set/nota_mp220_11.jpgSergiv Автор
00.00.0000 00:00+1Так он лёгкий, а мне в качестве гороскопа нужен. Не факт, что он отбалансирован на нужные частоты.
Dakar
00.00.0000 00:00Вот сижу и думаю: какая взаимосвязь междубалансировки с частотами? Мы ж не собственные частоты вымеряем для предотвращения резонанса.
Sergiv Автор
00.00.0000 00:00Практика показала, что если маховик отбалансирован на одной частоте, это не значит, что балансировка будет соблюдаться на другой.
Dynasaur
00.00.0000 00:00+2Это что-то странное, видимо связано с балансировкой только с одной стороны. Тогда бы все машины, самолёты, станки, автомобили на разных частотах разбалансировались бы, чего не наблюдается. Если вы совместите главную ось инерции с осью вращения, ротор на всех частотах будет сбалансирован.
Dr_Faksov
00.00.0000 00:00+2Балансируя с одной стороны вы становитесь адептом веры в существование прямого угла. Что ваш маховик строго перпендикулярен оси двигателя. Но это не так.
Вы загнали центр массы системы на ось вращения, но это вовсе не значит что при вращении центр массы не гуляет ВДОЛЬ оси вращения
zag2art
00.00.0000 00:00Можно было, кстати, попробовать статическую балансировку, так как у вас диаметр вала, вроде как, в 4 раза больше ширины вала. Ее сделать довольно легко без всяких микрух. Поищите в инете.
Pyku_He_oTTyda
00.00.0000 00:00А почему, точная из монолитной заготовки деталь требует балансировки?
Это же не литьё с порами.
zatim
00.00.0000 00:00+1Возможно, точили деталь не за одну установку. А при смене точек закрепления всегда появляются биения и деталь уже не идеально точная.
Sergiv Автор
00.00.0000 00:00Неизвестно на каком оборудовании точили, и, как правильно заметили дальше в комментариях - делалась ли деталь за один установ. Но самое важное - это то, как установлен маховик на моторе, имею в виду соосность. Поэтому, балансировать нужно на моторе. Кстати, сам мотор тоже не отбалансирован (запускал без маховика).
Dynasaur
00.00.0000 00:00Там ещё дырки сверлили, явно вручную, так что не идеально попали
Sergiv Автор
00.00.0000 00:00Ага, вручную. Не идеально попал куда ?
Dynasaur
00.00.0000 00:00Ну как куда? Расчертили вручную места для отверстий - уже погрешность. Потом сверлом в эти метки не точно попали. А потом ещё и развальцевали каждую на какую-то примерную глубину - третья погрешность. Или всё идеально точно сделано?
Sergiv Автор
00.00.0000 00:00Так в любом случае место выбирать вручную. Глубина сверления тоже на глаз, да. Я пытался сделать вычисление массы, которую нужно убрать, но не получилось. Поэтому, итерационно подходил к вопросу.
Dynasaur
00.00.0000 00:00Мы о разном :-) Я не про те отверстия, что вы сверлите для балансировки, а про те 4, что изначально просверлены при изготовлении. Я то отвечал на вопрос почему вообще понадобилась балансировка :-)
Sergiv Автор
00.00.0000 00:00Теперь понял. Там центровка маховика относительно мотора осуществляется относительно вала мотора и центрального отверстия на маховике, но с какой точность и как оно сверлилось одному токарю известно. 4 отверстия для крепления маховика служат только.
kovserg
00.00.0000 00:00Разберите скоростной CD-ROM и пристально посмотрите на систему автобалансировки (из магнита и шариков).
Sergiv Автор
00.00.0000 00:00Эх, найти бы его. В интернете искал конструкцию - не нашёл (
kovserg
00.00.0000 00:00+1www.researchgate.net/profile/Naj-Lieven/publication/31589020_The_stability_of_automatic_ball_balancers/links/00b495240370b6500e000000/The-stability-of-automatic-ball-balancers.pdf
www.conforg.fr/internoise2000/cdrom/data/articles/000165.pdfSergiv Автор
00.00.0000 00:00Я так понял, что эта система годится только для балансировки роторов с вертикально направленной осью. У меня в устройстве она постоянно меняется (то горизонтально, то вертикально) с угловой скорость примерно 90 град/с.
kovserg
00.00.0000 00:00Тогда следует сделать вместо цилиндрического коническое отверстие для центровки маховика.
ps: И почему нельзя использовать гравитацию тяжелый край повернётся вниз, править его напильником.
pps: конструкция у вас выглядит довольно хлипкой, вы прикидывали силы которые будут возникать при смене ориентации. Можете пощупать усилия в живю на таком гироскопе.Sergiv Автор
00.00.0000 00:00У мотора цилиндрический выходной вал. То что вы описали - это статическая балансировка, можно отбалансировать статически, но динамически будет не отбалансирован. Плюс на моторе статически не отбалансировать, в следствии того, что магниты мотора и обмотка оказывают существенное усилие при вращении. Да, моменты считал, конструкция не хлипкая. То основание , к которому закреплён мотор с маховиком - это стенд для балансировки. Рабочая рамка выглядит иначе.
kovserg
00.00.0000 00:00+1Не ну если посмотреть на вашу конструкцию то частота 209Hz это ω=1313рад/с (12540 об/мин). При весе шайбы m~220гр момент инерции I~0.0125кг*м^2 момент силы будет L=I*ω~16H*м. То при попытках изменять ориентацию 10мм ось мотора будет изгибать 160кг не говоря уже о 2мм подшипниках особенно если он один.
vladikas
00.00.0000 00:00У CDrom-ов диск горизонтально, чаще всего. И работает.
Sergiv Автор
00.00.0000 00:00Если вертикально будет, то что произойдёт ?
vladikas
00.00.0000 00:00Тоже будет работать. Я год назад заинтересовался самобалансировкой автомобильных колёс. Искал и находил информацию по теме. Опыты какие-то на ютубе, текстовые статьи. Инфы не особо много и разрозненная. Например, про те же колёса. Во внутрь покрышек засыпается мелкая дробь, покрытая пластиком, шарики. Количество сколько сыпать зависит от размеров колеса. Цикл балансировки там происходит при каждом старте машины. Шарики распределяются и биение пропадает. На сколько я понял чаще всего используется на грузовых машинах. Вам проделать опыт можно со своей установкой. Распотрошить сидиром, взять оттуда диск и поставить на вашу установку. Проверить балансировку. Прилепить немного пластилина и проверить ещё раз. Вроде это не во всех сидюках было. Но нужный издаёт специфические звуки перекатывающихся шариков, если его наклонять.
Schicout
00.00.0000 00:00Ох... А я всё голову себе ломал, нафига там (в бескамерных шинах) этот хлам с завода насыпан, а это, оказывается, для самобалансировки...
vladikas
00.00.0000 00:00Не слыхал, чтоб с завода насыпали. Всегда считал это дело самодеятельностью...
Schicout
00.00.0000 00:00Присутствовало в установленных с завода шинах на VW Polo 2012 и Skoda Octavia 2016. Мелкие чёрные шарики, по виду - резиновые, точнее не проверял, диаметром 1-2 мм, общим весом грамм на 4-5 (на взгляд), как раз по минимальному весу балансировочного грузика.
vladikas
00.00.0000 00:00+1Причём там магнит? Там только шарики.
kovserg
00.00.0000 00:00Там магнит для мотора, но из-за него шарики друг от друга отталкиваются. По крайне мере в том что я разбирал было именно так.
vladikas
00.00.0000 00:00Как могут шарики друг от друга отталкиваться при наличии магнита?
kovserg
00.00.0000 00:00Проведите эксперимент: в круглый магнит от динамика и внутрь засуньте несколько шариков.
vladikas
00.00.0000 00:00Во-первых, магнит от динамика имеет всего два полюса, расположенных вдоль оси магнита (на плоских сторонах юг и север), а тот магнит, который является частью мотора в приводе сидирома имеет много полюсов, расположенных вдоль его длины. Во-вторых, магнитное поле магнита этого мотора никак не взаимодействует с шариками. Перестаньте морочить голову. Прилипшие шарики не могут кататься под своим весом в приводе, а они катаются!
ArpaXops
00.00.0000 00:00+3Балансировал вентиляторы с человеческий рост. Для начала производиться пуск с пробным грузом. Еще надо знать фазовый угол, работал с динамической балансировкой по двум плоскостям "коррекции". Все собираеться из того же оптического датчика и одного гироскопа ) Но дырок насверлить интереснее )
Dynasaur
00.00.0000 00:00А можно по-подробнее? - не понял про оптический датчик и гироскоп.
Sergiv Автор
00.00.0000 00:00+1Видимо, имелся в виду не гироскоп, а акселерометр в качестве датчика вибрации.
diakin
00.00.0000 00:00Кстати у акселерометра с какой оси сигнал снимали? Он трехосный. Надо чтобы ось чувствительности датчика была перпендикулярна оси вращения.
И еще, надо отпаять конденсатор фильтрующий с выхода платы акселерометра. Он сильно зарезает сигнал по частоте. ну и фазу сдвигает. Частота вращения ротора какая была при балансировке?Sergiv Автор
00.00.0000 00:00С оси х, ось проходит через цент маховика и плату акселерометра. Про конденсатор - спасибо, не знал. Частота небольшая - 200 Гц.
Sergiv Автор
00.00.0000 00:00Принципы одни и теже везде )
ArpaXops
00.00.0000 00:00фильтрация, интерполяциия, Фурье – анализ, вычисление
параметров балансировки и т.д. - не понятно. на рынке есть комплексы для балансировки от 60 000 руб. и они все требуют ПК, имеют блок приема- обработки информации размером с пакет молока, датчики с проводом 5 метров- громоздко и сложно разворачивать. если бы все было так просто- давно бы запилил на коленке датчики по фи-фи и нормальный софт )Sergiv Автор
00.00.0000 00:00Есть куда более доступное решение и без ПК, вот например ИБР-01. Стоит он порядка 25000 руб.
ArpaXops
00.00.0000 00:00спасибо! ИБР-01- снят с производства, на его замену ИБР-02. прочел инструкцию, нечего не понятно, но очень интересно!
Sergiv Автор
00.00.0000 00:00С производства снят, но купить можно. Я его сначала хотел приобрести, но ознакомившись с инструкцией понял, что максимальные обороты вращающегося тела для балансировки - 15000 об/мин. Мне этого мало. Если интересно, могу на него инструкцию скинуть.
Dynasaur
00.00.0000 00:00+1Но ведь если тело отбалансировано, оно на любых оборотах отбалансировано. Балансируйте на 15000, потом раскручивайте до сколько надо
Sergiv Автор
00.00.0000 00:00Меня продавец убедил, что так оно не работает...Поэтому, от покупки и отказался. По логике, да, согласен, но, могу чего-то не знать, в силу неопытности.
ArpaXops
00.00.0000 00:00найти можно, но ИБР-02 стоит 70 000 руб. в первой версии значит есть косяки. прочел инструкцию на ИБР-02. определение угла фазового ускорения вибрации стробоскопом по бумажной метке... - сильно. я работал с "балком", при этом проходил обучение у разработчика. после были попытки обучить коллег- все бестолку. "ИБР"- более сложен в обращение, учитывая что оно "собрано на коленке"- явно не стоит брать ИБР-01- танцы с бубном при сомнительной экономии. это не инструмент а бубен шамана )))
Dynasaur
00.00.0000 00:00+1фильтрация, интерполяциия, Фурье – анализ, вычислениепараметров балансировки и т.д.
С этим справится любая ардуина. Глубоко не погружался, но не выглядит так уж сложно собрать на перечисленных вами датчиках и ардуине.
ArpaXops
00.00.0000 00:00NodeMCU с ESP-8266 на борту у алика стоит 150 руб.- цена железа как семечки... Акселерометр GY-291- 200 руб. диапазон имеет от ±2g до ±16g, в промышленном наборе для балансировки датчик от ±2g до ±500g... лазерный диод и датчик лазерного излучения- еще 200... напиши рабочий софт- с удовольствием воспользуюсь. на телефон интерфейс сам напишу )
aamonster
00.00.0000 00:00Забавно, я всегда думал, что моменты на оси меряются какими-то тензодатчиками (в системе координат, связанной с ротором), а оказывается, тут гораздо более простое и неприхотливое железо.
pashking77
00.00.0000 00:00Вы уравновесили силы первого порядка, но не уравновесили второго порядка. Поэтому осталась вибрация.
diakin
00.00.0000 00:00Я примерно понимал как работает балансировочный станок‑ищем пик вибрации, запоминаем или как‑то указываем место, где этот пик был найден.
В общем случае это не так.
До резонанса фаза колебаний равна 0, а за частотой резонанса сдвигается на 180°
Klenov_s
Автомобильные диски балансируют с двух сторон. Может в этом секрет невозможности добиться баланса сверлением только верхней плоскости?
Sergiv Автор
Да, скорее всего. У меня простой вариант)