iosk
в огне не горит в воде не тонет....

Познакомились с интересными людьми, механиками. Частное предприятие разрабатывает испытательный стенд - механического монстра с усилием на валу до 500кгс*см. Причем усилие создается под водой, на дне морском. Умельцы научились доробатывать шаговые двигатели fullingmotor до состояния, когда их ни соль морская, ни давление воды не берет. Интересная такая тема - был двигатель стандартный, стал всепогодный, морозоустойчивый или глубоководный. Китайцам до такого не додуматься. Все элементы конструкции выполнены своими силами. Даже шестерни и винты сами вытачивают.

Мы напросились поучаствовать в настройке стенда. Наши контроллеры (SH15D1) вращали моторами FL86STH118 на скоростях до 600 шагов/с. Подбирали режимы работы, чтобы не слишком быстро разгоняться и резко не тормозить. Нашим очень приятно, когда выдающиеся конструкторы доверяют нам покрутить большое зубчатое колёсико.

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

А потом зазвонил телефон и мы уже планируем двухкоординатный стенд 1.5 на 3 метра для плазменного раскроя металла.

Сформулировали чек-лист, чтобы время не терять на

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

Аппаратная реализация алгоритмов управления, часть ПО реализованная на программируемой логике:

* Выставление полных шагов, функция дробления шага (до 1/256), фиксация мотора в промежуточном положении.
* управление напряжением обмоток.
* счетчкики шагов 32 бит, счетчики тактов инкрементного энкодера.
* ограничение рабочего поля, подключение концевых выключателей.
* параллельный интерфейс с гальванической развязкой, управление от ПК через LPT порт или подключение инкрементных энкодеров.
* функция экстренного отключения питания “СТОП” и функция “АХТУНГ, ЭВАКУАЦИЯ”,
* расширение портов для подключения 4-х силовых реле, ЖК индикатора и пленочной клавиатуры.

Функции контроллера:

* отработка циклов разгона - торможения
* загрузка программ и управление по USB
* отслеживание и ограничение тока в нагрузке
* интерфейс RS-485 для подключения внешних датчиков и контроллеров, скорости до 12.5 Мбит/с
* подключение трех-осевого джойстика с дополнительными кнопками управления

* * *

Призадумались. Если мы столько всего назаказывали, нужно теперь придумать производственные площади, чтобы было, где заняться сборкой и тестированием всякой электроники и механики. Для хобби нужно место! Договорились об аренде помещения на территории бывшего завода, аренду платить не будем. За аренду, если всё пойдет по плану, нам будут доплачивать, поскольку условием аренды являются услуги логистики по запчастям импортного производства.

Хобби у нас такое - заводы поднимать. Надо теперь придумать оборудование, компьютеры, рабочую и складскую мебель, провода всякие в короба разложить, розетки к стенам прикрутить, кофеварку, микроволновку… Где бы взять безлимитный канал в интернет…
* * *

Моторы приехали. Получилось. Можно повторить. От отгрузки с завода до получения на руки прошла неделя. Два дня взвешивали киллограммы китайские, соотносили их с киллограммами европейскими. Месяц ждали когда праздники закончатся. Полдня производство грузили.

Природа торкательного резонанса

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

Для понимания, откуда торкательный резонанс берется предлагается рассмотреть модель маятника или вернее магнитной стрелки, когда к ней магнит подносят. Стрелка ориентируется на магнит и наблюдаются затухающие колебания. Колебания уменьшаются по амплитуде, если магнит подносить ближе и увеличивается частота осцилляций, но они всё равно есть. Так же происходит и в моторе при смене шага. Ротор совершает затухающие колебания при фиксации на каждом шаге. У затухающих колебаний три параметра: амплитуда, частота и время затухания.

От чего зависит амплитуда колебаний? Ясное дело, от величины шага. Резонанс можно уменьшить дроблением шага. Пишем, амплитуда пропорциональна величине шага или обратно пропорциональна количеству шагов на оборот. Надо уменьшить амплитуду колебаний, чтобы уменьшить резонанс в системе мотор-подшипник. Но какой бы малой ни была амплитуда избавится от резонанса не удасться. Резонанс где был, там и останется. Вполне возможно, что двигатель будет “клинить” при любом дроблении шага.

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

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

Итак, ноу-хау окончательного избавления от резонанса состоит в моделировании частотного отклика на каждом шаге мотора. В способ управления обмотками можно внести нелинейное перемещение между шагами, которое иммитирует нерционную нагрузку. Функция управления должна перемещать ротор мотора между шагами за время не менее четверти периода осцилляций торкательного резонанса. Осцилляций не будет совсем. На каждом шаге ротор сначала разгоняется, потом притормаживает, потом фиксируется. Задержка между моментом “притормаживает” и “фиксируется” вычисляется из частоты торкательного резонанса, полученной экспериментально. При этом мотор действительно шагает. Другой вариант управления без резонансов требует использования синусоидальных сигналов для управления обмотками, тогда можно соблюсти то же самое условие. Тут важно, чтобы величина микрошага четко соотносилась с торкательным моментом.

14.05.2006 Fl57sth76 на 8 тыс. шагов/с от 15в

Отлаживал алгоритм в лаборатории. Раскрутил мотор FL57STH76 на 8 тыс. шагов/с без потери шагов! Мебель в помещении ходит ходуном, с полок падают радиодетали, держу двумя руками, чтобы струбцину не сорвало. На 10 тыс. шагов пробовал раскручивать, сорвало гайку, гайка куда-то улетела. Решил больше не экспериментировать. С оптимизацией кода пора завязывать.

Полчаса терпел, потом опять попробовал разогнаться до 10 тыс. ш/с. Стабильно ловит какой-то резонанс и затыкается. Вовремя определил какой. На этой частоте винты самопроизвольно выкручиваются из металла.

про Z координату и дохнущее от моторов радио

Мы выехали в мастерскую к Лехе и отлаживали алгоритмы разгона-торможения прямо на живом станке. Портал, ничего себе, внушительных габаритов: 2.5 на 1.5 метра. Самое сложное в управлении - ось Z, треться координата с ходом около 25 см. Савмое сложное, поскольку по разному ходит вверх и вниз. Вес на оси Z оказался нешуточный, 20-25 кг. и ещё смоделировали вес шпинделя, прицепив к оси кусок рельса. Наша электроника рулит! Получили около 4 тыс. шагов/с при движении вниз и около 1200 шагов/с при движении вверх. Вверх двигаться сложнее, потому что масса давит, надо учитывать инерцию при разгоне. Ускорение на подъеме должно быть в несколько раз ниже, чем при опускании, чтобы шаги не пропускать. Чтобы остановить движение портала, надо к нему вдвоем приложиться. Всё это мы делали на прототипе контроллера (SH15D1) и более слабом двигателе (FL86STH65), чем запланированы в конечном изделии. Так что, учитывая характеристики контроллера и двигателей, можно смело заявить, что 6 тыс. шагов/с в обе стороны портал будет ходить.

Выяснилось, что на скоростях более 2-3 тыс шагов/с при переходе из режима равномерного движения в режим торможения имеется небольшая пауза, которая сбивает скорость движения и может вызвать останов мотора. Кроме того заметили, что алгоритм дает чистый звук при прямолинейном движении, а при торможении возникают гармонические искажения. Настраивали на слух, потому что всё это происходит в области звуковых частот. Прямо на месте переписывали прошивку контроллера, чтобы при обработке высоких скоростей время выполнения операций по разным веткам алгоритма было одинаковым, чтобы мотор пел, а не рычал. Получилось. Вывод такой: “гоночный” контроллер должен отрабатывать алгоритм движения аппаратно или работать на 32 разрядном процессоре, потому что задержка в 10% величины шага на большой скорости может вызвать останов мотора или потерю шага. За счет точности выдерживания длительности шага и равномерности вращения удалось раскрутить двигатель без нагрузки до частоты 6 тыс. шагов/с даже при ограничении 24В. Результат запредельный, потому что на этом моторе крутящий момент спадает начиная с частоты 1.5 тыс. ш/с.

Тестирование проводилось на длине кабеля от контроллера до мотора около 6 м. Использовали самый обычный электрический кабель, медный многожильный сечением 1.5 квадрата. Чтобы сохранить мощность мотора пришлось немного поднять рабочее напряжение. Наблюдался поразительный эффект, наш контроллер глушит радиоприемники в радиусе десяти метров, потому что провод смотанный в бухту создает электромагнитные помехи. 20-30 Ватт через нашу антенну прокачивается, Европа+ отдыхает, мобильник работает. В другой раз будем свивать провода модным акустическим проводом.

Опять задумался, откуда резонансы в моторе берутся

Опять задумался, откуда резонансы в моторе берутся. В подшипниках разобрался, откуда. Надо понимать, что если частота шага совпадает с какой-либо резонансной частотой подшипника, подшипник начинает рычать. Вот терминология и основные частоты резонансов:
FTF: Fundamental Train Frequency. Частота с которой шарики делают полный оборот вокруг вала.
BSF: Ball Spin Frequency. Частота вращения шариков вокруг собственой оси.
BPIR:Ball Pass Inner Race frequency. Частота с которой шарики проходят одну и туже точку на внутреннем кольце. Она же частота с которой шарики друг за другом наезжают на один и тотже дефект, если дефект на внутреннем кольце. По наличию звона на этой частоте можно судить о качестве поверхности кольца.
BPOR: Ball Pass Outer Race frequency. Частота с которой шарики подпрыгивают на дефектах внешнего кольца.
2xBSF: Two times the Ball Spin Frequency. Если шарик круглый, он звенит на частоте вращения - не говорит, поет. Если с дефектом, то вылезает вторая гармоника его пения, на двойной частоте.

То что мы наблюдаем на моторах уважаемого производителя - некоторый собственный резонанс мотора в диапазоне 400-600 шагов/с - это как раз и есть фундаментальная частота подшипника, которая на этой частоте равняется 1Гц. Т.е. раз в секунду шарики делают оборот вокруг вала… Это всё про подшипник, который звенит, но какой именно параметр в кривом моторе вызывает резонанс я пока не понял. Параметр очевидно геометрический, что-то, что на моторе расположено с одной стороны, какой-то перекос. Что кроме обмоток расположено сбоку? Думаю дальше… Может обмотки не одинаковые? Каким-то образом резонанс связан с обмотками. Китайские инженеры рекомендовали ток через обмотки увеличивать. Мы пробовали, действительно увеличение тока снижает торкательный резонанс.

Китайцам ура! Сделали моторы вовремя. (и резонанс)

Китайцам ура! Сделали моторы вовремя. Говорят, что сдвинуть резонанс не получится. Стал разбираться почему, углубился в теорию. Оказывается правы. Если брать резонансные частоты подшипника, то получается четыре собственные частоты: полный оборот шариков по подшипнику, оборот шарика вокруг своей оси, и ещё парачка от внутреннего и внешнего радиуса. Если частота мотора попадает в собственную частоту подшипника, мотор рычит и может шаги пропускать.

видимо,

В нашей стране серьезно заниматься станкостроением невозможно, нет спроса, нет рынка. Мы делаем это для себя и для таких же ненормальных “рукосуев”. Начали с постановки задачи. Постановка задачи такова, что бессмысленно заниматься производством и продажей подобной продукции, однако, если это направлено в область хобби, на хобби можно тратить всё. Если я хочу что-то сделать, меня никто не остановит, никто мне не помешает потратить моё всё на чудо рукотворное.

генетически модифицированные шаговые двигатели

Сформулировал, что это такое мы произвели на свет - генетически модифицированные шаговые двигатели. Проблема простая, все шаговые двигатели, которые мы тестировали обладают собственной резонансной частотой в полосе 400-600 шагов/с. А между тем оказывается самая рабочая полоса частот, на которой получается скорость подачи инструмента 10 мм/с. Никакими программными усилиями полоса резонансов не хочет убираться совсем. Резонанс можно сдвинуть током обмотки, его можно перескочить резким ускорением. Но нельзя убрать совсем. Пробовали модулировать ток, пробовали применять микрошаги, эффективного программного решения не нашли. При плавном разгоне двигатель встает, как вкопанный и дальше не разгоняется. Нашли решение механическое. Прежде всего, стоит отметить, что проблема с резонансными частотами может быть полностью снята за счет инерции нагрузки. Под нагрузкой мотор на ура проходит область резонансов. На резонанс мотора влияет частота вращения и крутящий момент. Инерция в этом случае работает на уменьшение добротности резонанса. Можно просто забыть о резонансах. Однако, мотор с каким-то коэффициентом ослабления всё равно будет передавать осевое биение на винт. Пока что слишком мало экспериментальных данных, чтобы делать выводы, оцениваем, что уменьшение в два-три раза величины осевого биения может убрать резонансы в область более высоких частот. Вот мы и решили для гоночных задач заменять подшипники.

Запросили у китайцев заменить подшипники....

Запросили у китайцев заменить подшипники в моторах на более качественные, чтобы сдвинуть резонансную частоту мотора без нагрузки в область высоких частот. Да без проблем. Китайцы предложили, вставлять не китайские, а японские подшипники NSK. Мы смело заявили, что надо убрать собственную резонансную частоту из области 600 шагов/сек в область частот 6 тыс. шагов/сек и выше, на мелочи мы не размениваемся.

Про мотры и подшипники

Китайцы изготавливают нам двигатели под заказ. Делают всё в последний день. Например, говорили, что подготовят отправку к 7 числу, а технолог сказал, что 7 только начнут делать. Целый месяц балду били, потом праздники отмечали. Оказывается на тайване, как и у нас празднуют целую неделю, из солидарности. Думаем занятся модингом шаговых двигателей. Алексей целый день перематывал обмотки двигателя толстенным медным проводом, чтобы с места взлетал. Запускал исключительно в банке с водой, для охлаждения. Надо бы ещё подшипники заменить, чтобы усилить гоночные характеристики. Подшипники…

Шпиндель

Я вот только про шпиндель подумал, мне шпиндель привезли, чтобы думал быстрее. Думаю теперь над шпинделем Elte. Кручу его за ось радуюсь новым тактильным ощущениям.


На картинке кравсивый цанговый зажим.

Pcb платы

Наконец то подготовили к производству печатную...

Наконец то подготовили к производству печатную плату для станка (обрабатывающего центра). Среди производителей блоков питания принято хвастаться мощностью с единицы площади печатной платы. У нас выходит до 5.2Вт с кв.см или 33Вт с кв.дюйма, причем выходит в нагрузку с кпд свыше 95%. Теплоотвод для драйверов не требуется.

Немного статистики, чтобы утвердить крутизну разработки:
Количество компонент использованных в схеме свыше-----------320
Количество контактных площадок свыше-------------------------1300
Количество отверстий более------------------------------------------540
Спецификация контроллера ЧПУ (HBNC01)
Электрические характеристики
Напяжение питания 24-96В
Ток потребления до 5А
Ток обмотки мотора до 10А
Мощность в нагрузке до 500Вт
* * *
Количество координат (двигателей)----------------------------------------------------------------------4
Количество входов концевых выключателей-----------------------------------------------------------8
Количество выходов управления клапанами или реле-------------------------------------------------4
Интерфейс RS-485 для подключения внешних устройств----------------------------------------------есть
USB интерфейс-----------------------------------------------------------------------------------------------есть
LPT порт с гальванической развязкой питания для прямого управления двигателями------------есть
LCD индикатор 4 строки для отображения состояния контроллера-----------------------------------есть
Пленочная клавиатура для режима ручного позиционирования--------------------------------------есть
Подключение дополнительных выносных кнопок “СТОП” и “СТАРТ”---------------------------------есть
Возможность подключения трехосевого джойстика с тремя дополнительными кнопками---------есть
Подключение потенциометра плавной подстройки скорости подачи---------------------------------есть

шпиндель

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

Начата разработка программного...

Начата разработка программного обеспечения cnc-view для отладки, загрузки и обслуживанию контроллера станка. Поддерживаемые входные форматы: HP-GL Plotter, g-codes. Реализована поддержка входного формата hpgl. Программное обеспечение будет выпускаться под лицензией GNU GPL . Желающие принять участие в разработке и отладке ПО приглашаются к сотрудничеству.

Тех задание на разработку ПО станка с ЧПУ (cnc-view) interface.zip

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

Некоторые характеристики обрабатывающего центра

  1. Управление 6-ю шаговыми двигателями: трех-координатное позиционирование и управление тремя вращательными координатам.
    2. Управление шпинделем. Возможно точное позиционирование шпинделя, управление оборотами и направлением вращения.
    3. Выбор инструмента, смена инструмента
    4. Управление подачей охлаждающей жидкости, воздуха, вакуумный прижим заготовок и т.д.
    5. Сбор данных с датчиков и концевиков
Спецификация контроллера для станка с ЧПУ

Электрические характеристики
Номинальное напряжение питания контроллера 48В, напряжение питания может задаваться в диапазоне 24-76В, контроллер программно управляет напряжением каждого из моторов.
Постоянный ток обмоток мотора до 8А, суммарный ток потребления контроллируется встроенным датчиком, максимальная мощность в нагрузке до 500Вт (эту цифру лучше не проверять).
Функциональные характеристики
Загрузка программы в g-code по USB, автономное исполнение программы, отслеживание программы с ПК
Прямое управление позиционированием через LPT порт
Подключение датчиков крайнего положения (концевиков)
Разъемы
LPT порт с гальванической развязкой оп ПК используется для прямого управления моторами от ПК
Разъем DB9 для подключения концевиков и выносных кнопок.
USB для конфигурации и ввода программ с ПК
RS-485 разъем для подключения внешних датчиков и элементов управления.
Винтовые разъемы для подключения 4-х шаговых двигателей
Подключение до 4 реле (управление шпинделем, вакуумный прижим, обдув инструмента…)
Элементы управления на контроллере
Трех-координатный джойстик для ручного управления позиционированием
Пленочная клавиатура для ввода координат и выбора программ
Потенциометр для управления скоростью обработки программы
Подключение внешней кнопки стоп
Парковка инструмента, возврат в нулевую точку

некоторое количество ссылок по теме

😃 😃 😃

Standa прецизионные позиционеры
SBC Linear - направляющие и ШВП
Механика всякая
Сервотехника-Нева - Магазин в Птере, где можно заказать направляющие и винты
Умные контроллеры для управления шаговыми двигателями
Тоже контроллеры
Контроллеры
Моторы шаговые, качественные и дешевые
СайтШаговые моторы и линейные двигатели (актуаторы)
Моторы шаговые
Шаговые двигатели на Украине
Наш сайт посвященный электронике

This site will not work without javascript!
This site will not work if cookies are completely disabled.
Site is offline
  • 39.00ms - Total
    • 0.06ms - http_prepare
    • 0.02ms - cookies_read
    • 0.02ms - tz_offset_read
    • 33.08ms - server_chain_exec
      • 0.05ms - session_load
      • 0.01ms - session_new
      • 0.05ms - csrf_token_set
      • 0.04ms - fill_session_from_AuthSession
      • 0.97ms - fetch_guest_user_info
      • 0.07ms - fill_user_info_locale
      • 0.01ms - layout_common_set
      • 3.90ms - show_announces
      • 24.95ms - server_method_exec
        • 0.26ms - offline_mode_check
        • 3.09ms - fetch_user_by_hid
          • 1.89ms - fetch_can_see_deleted_users
          • 1.14ms - fetch_user_by_hid
        • 0.24ms - bot_member_pages_forbid_access
        • 0.06ms - fetch_current_tag
        • 10.86ms - subcall_entry_list
          • 0.26ms - fetch_and_fill_permissions
          • 0.02ms - define_visible_statuses
          • 1.43ms - get_entry_ids
          • 5.46ms - fetch_and_sort_entries
          • 1.16ms - fetch_and_fill_bookmarks
          • 0.24ms - fetch_infractions
          • 0.03ms - collect_users
          • 1.19ms - check_ignores
          • 0.73ms - blog_entries_sanitize_and_fill
        • 3.57ms - fetch_tags
        • 1.06ms - fetch_categories
        • 1.93ms - fill_pagination
        • 0.04ms - fill_head
        • 0.03ms - fill_breadcrumbs
        • 3.54ms - fill_prev_next
      • 0.01ms - fill_runtime_locale
      • 0.21ms - inject_acp_access_state
      • 0.06ms - fill_runtime_user_info
      • 0.19ms - inject_dialog_permissions
      • 0.01ms - token_live_inject
      • 0.18ms - fetch_can_see_deleted_users
      • 1.33ms - users_join
      • 0.01ms - add_users_to_page_data
      • 0.01ms - session_ttl_increase
      • 0.07ms - assets_info_inject
      • 0.01ms - footer_common_inject
      • 0.01ms - navbar_common_inject
      • 0.01ms - recaptcha_pubkey_inject
      • 0.16ms - session_save
      • 0.01ms - session_delete
      • 0.01ms - last_active_update
      • 0.11ms - token_live_save
      • 0.23ms - response_to_plain_object
    • 0.01ms - not_modified_check
    • 0.01ms - http_loading_stub
    • 5.49ms - http_render
    • 0.02ms - inject_security_headers
    • 0.00ms - puncher_end