Перейти к публикации

Возможно ли n-гранные детали на обычном токарном ЧПУ


Рекомендованные сообщения

Я бы исходные данные считал так. Возьмём S = 360 об/мин, это 6 об/сек, это 1 грань в секунду для шестигранника. В любом CAD нарисовал бы стартовое положение обработки грани - это t=0, среднее положение - t=0.5, конечное положение - t=1, в общем построил бы 10-20 положений с равным интервалом и с них снял бы координату X. Если засекать точки с равным интервалом по t, то подача по кривой, рассчитанной по этим точкам, будет постоянная. Потом построил бы график x(t) и проанализировал кривую. Может это будет прямая, может парабола, в любом случае, при таких движениях, это будет какая-нибудь простейшая общеизвестная кривая с простым уравнением. Если анализ не получается, засекаем ещё точки. Ну а уж обыграть это уравнение кривой в параметрической программе, это дело техники.

 

Я делал так:

Рассчитывал точки для  половины одной грани. На компьютере строил шестигранник, и из центра шестигранника с  определенным угловым шагом (пусть будет 2 градуса, тогда точек для одной грани будет 30) строил радиальные отрезки.  Длина от центра шестигранника до пересечения с гранью умноженная на два будет диаметр точки. Разница длин соседних отрезков (радиусов)  *360/2 будет равно подаче на оборот для данного перемещения.

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

На видео немного не так, там постепенно врезается по Х, но принцип схожий.

Судя по видео оборотов там совсем немного,  думаю 60  не больше, у меня было ещё меньше.

Изменено пользователем andre_77
Ссылка на сообщение
Поделиться на других сайтах


Я делал так:

Рассчитывал точки для  половины одной грани. На компьютере строил шестигранник, и из центра шестигранника с  определенным угловым шагом (пусть будет 2 градуса, тогда точек для одной грани будет 30) строил радиальные отрезки.  Длина от центра шестигранника до пересечения с гранью умноженная на два будет диаметр точки. Разница длин соседних отрезков (радиусов)  *360/2 будет равно подаче на оборот для данного перемещения.

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

На видео немного не так, там постепенно врезается по Х, но принцип схожий.

Судя по видео оборотов там совсем немного,  думаю 60  не больше, у меня было ещё меньше.

И что получилось? Отрезок или кусок параболы, или ещё что-то?

А обороты можно и побольше поставить, если по Z по 2-3 сотки шагать острой чистовой пластиной. Высокоскоростная обработка, так сказать.

Ссылка на сообщение
Поделиться на других сайтах
И что получилось? Отрезок или кусок параболы, или ещё что-то?

Не знаю, то, или не то имеется в виду, но у меня получилось так (click to zoom)

0_d0823_a50a202c_M.jpg

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

Судя по видео оборотов там совсем немного, думаю 60 не больше, у меня было ещё меньше.

Пытался высчитать по кадрам. Ну, грубо - пусть 60 об/мин в видео, ага. По разному выходит, если заморачиваться с частотой кадр/сек. От 56 до 58. 60 соответственно - удобная цифра для расчетов.

Ссылка на сообщение
Поделиться на других сайтах
И что получилось? Отрезок или кусок параболы, или ещё что-то? А обороты можно и побольше поставить, если по Z по 2-3 сотки шагать острой чистовой пластиной. Высокоскоростная обработка, так сказать.

 

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

 

Если увеличить обороты то станок не будет успевать корректно отрабатывать перемещения.


Пытался высчитать по кадрам. Ну, грубо - пусть 60 об/мин в видео, ага. По разному выходит, если заморачиваться с частотой кадр/сек. От 56 до 58. 60 соответственно - удобная цифра для расчетов.

 

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

Ссылка на сообщение
Поделиться на других сайтах

Не знаю, то, или не то имеется в виду, но у меня получилось так (click to zoom)

0_d0823_a50a202c_M.jpg

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

 

Очень на дугу смахивает. А ты можешь на этот график окружность наложить по трём точкам - двум крайним и одной средней?

Ссылка на сообщение
Поделиться на других сайтах

Для наглядности - график отличия дуги от этой кривой. Расходятся 0,15 мм в максимуме. Дуга получается D 173,3 мм

На всякий повторю, это для шестигранника, вписанного в D 80 мм

0_d08a0_b53b51c7_M.png

Ссылка на сообщение
Поделиться на других сайтах

Blurp, Во-первых,- это нифига не парабола, а линейные отрезки. Во-вторых,- их аж 6 строк, а учет оборотов шпинделя происходит один раз за его полный оборот. Хрен с ними- с инерциями,- есть скорость (и порядок) чтения данных, синтаксис программирования, в конце концов. В третьих- подача отслеживает шпиндель (при определенных условиях), а не наоборот.

Я пробовал обозначенный выше цикл обточки многоугольника на обычном токарном станке. Шестигранник получается повернутым. И это не регулируется программой никак,- это аппаратная фишка.

Я больше по фрезерке, но позволю себе вставить свои "5 копеек" :smile:

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

2. А разве нет на ЧПУ-шном токарнике функции минутной, а не оборотной подачи?

3. Эти "определенные условия" определяются использованием оборотной подачи.

 

Считаю, что на ZX токарке без отслеживания оси С можно реализовать обработку n-гранника без привязки к точности, качеству поверхности, да и просто с точки зрения практического применения. Такая УП может быть запущена один раз, ибо потом уже попасть в контур проблематично.  :smile:  

Ссылка на сообщение
Поделиться на других сайтах

@ben_laden, О! Спасибо за вашу реплику!

Теперь я понял, что имел в виду @Клиент  :biggrin:

А я еще удивляюсь, какого банана мне виртуальный станок с Sinumerik 802S нереальные цифры актуальных подач рисует вместо запрограммированных. У ёпта! :doh:

Тем временем еще видос от автора предыдущего ролика.

Изменено пользователем Blurp
Ссылка на сообщение
Поделиться на других сайтах

Я больше по фрезерке, но позволю себе вставить свои "5 копеек" :smile:

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

2. А разве нет на ЧПУ-шном токарнике функции минутной, а не оборотной подачи?

3. Эти "определенные условия" определяются использованием оборотной подачи.

 

Считаю, что на ZX токарке без отслеживания оси С можно реализовать обработку n-гранника без привязки к точности, качеству поверхности, да и просто с точки зрения практического применения. Такая УП может быть запущена один раз, ибо потом уже попасть в контур проблематично.  :smile:  

1. Интерполяция априори- это как раз без разбивки на отрезки.

2.и 3. Минутная и оборотная подачи отличаются только путями рассчетов программируемого значения. Поэтому "определенные условия" не определяются оборотной подачей. Определяются синхронизацией подачи с вращением шпинделя. Такое происходит при нарезании резьбы. При этом обороты непостоянны, а подача компенсирует рассогласование.

 

Все эти видео переводят мое понимание вопроса в разряд стереотипов. Поэтому пока сам не "убедюсь", - не поверю.

Изменено пользователем Клиент
Ссылка на сообщение
Поделиться на других сайтах

Ну, написано в видосе, шо то фанучье программирование. Значит очевидно, как говорил @andre_77, надо копать его этот хитрый фанучий цикл резьбовой и его аналоги других стоек. Если таковые аналоги есть.

А как я понял из сетевой инфы, НЦ-31 - потомок Фанука.

Ссылка на сообщение
Поделиться на других сайтах

Ну, написано в видосе, шо то фанучье программирование. Значит очевидно, как говорил @andre_77, надо копать его этот хитрый фанучий цикл резьбовой и его аналоги других стоек. Если таковые аналоги есть.

А как я понял из сетевой инфы, НЦ-31 - потомок Фанука.

То, что фанук не важно, это задача приводов. Теоретически- да, без резьбового не обойтись, иначе скручивание граней обеспечено. Но, вот, отработка множества перемещений в пределах одного оборота, когда учет оборотов, как и рассогласования, производится один раз за оборот... Верится с трудом. Что-то получить, наверное, можно, но чтобы по тем же точкам повторяемость обеспечивать...Хз

Ссылка на сообщение
Поделиться на других сайтах

Да даже без привязки к стойке. Может парни напрямую приводами рулят со смартфона, хрен знает. :ph34r:  Но по идее ведь ничто не мешает замутить виртуальную качалку резцом. Запустил программу, оно туды-сюды елозит. Все. Дальше запускай обороты и не прерывайся-не останавливайся. Как будто есть жесткая кинематическая связь. Торможением на шпинделе пренебрегаем, предполагаем константу по оборотам. Так что в теории ничего нет запрещающего. То бишь это уже повторение того, что написано и нарисовано на первой странице.

Надо уже как-то к практике реализовывать :smile:

Но, как сказал мне один хороший человек, дай Бог ему здоровья!, - Vericut в токарке не сможет такое изобразить. В любом случае моя в пролёте. :sad:

Ссылка на сообщение
Поделиться на других сайтах

 

А как я понял из сетевой инфы, НЦ-31 - потомок Фанука.

Фанук - это практически чистый ISO-код. https://ru.wikipedia.org/wiki/G-code

Часто, какие-либо работающие на ISO стойки ЧПУ, называют клонами или копиями Фанука, хотя это в корне не верно.

Ссылка на сообщение
Поделиться на других сайтах

@vicebear, В этой самой википедийной ссылке я чёт не нашел G32, - цикла, на который указывает @andre_77, так шта....

Ссылка на сообщение
Поделиться на других сайтах

Фанук - это практически чистый ISO-код. https://ru.wikipedia.org/wiki/G-code

Часто, какие-либо работающие на ISO стойки ЧПУ, называют клонами или копиями Фанука, хотя это в корне не верно.

хотел то же написать, поленился )

Ссылка на сообщение
Поделиться на других сайтах

На американском - вкурил, ага. :smile:

Хотя eng-версия странички на Fanuk прямо указывает.

В принципе генеалогическое древо стоек до лампочки в этой задаче, наверное.

Главное - результат.

Изменено пользователем Blurp
Ссылка на сообщение
Поделиться на других сайтах

@vicebear, В этой самой википедийной ссылке я чёт не нашел G32, - цикла, на который указывает @andre_77, так шта....

FANUC Series 0  -MODEL D

FANUC Series 0   Mate-MODEL D

Для системы токарного станка

Руководство по эксплуатации

 

3.2  НАРЕЗАНИЕ РЕЗЬБЫ С ПОСТОЯННЫМ ШАГОМ (G32)

 

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

Скорость  шпинделя  считывается  в  реальном  времени  из шифратора  положения,  установленного  на  шпинделе,  и

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

 

B-64304RU-1/01  ПРОГРАММИРОВАНИЕ 3. ФУНКЦИЯ ИНТЕРПОЛЯЦИИ  стр. 29

 

Ссылка на сообщение
Поделиться на других сайтах
Ну, написано в видосе, шо то фанучье программирование. Значит очевидно, как говорил andre_77, надо копать его этот хитрый фанучий цикл резьбовой и его аналоги других стоек. Если таковые аналоги есть. А как я понял из сетевой инфы, НЦ-31 - потомок Фанука.

 

Совсем он не хитрый, а самый простой. Этот цикл должен быть на любой системе ЧПУ.

G32- Хаас, Фанук, Нц31.

На Сименсе это G33.

Ссылка на сообщение
Поделиться на других сайтах

1. Интерполяция априори- это как раз без разбивки на отрезки. 2.и 3. Минутная и оборотная подачи отличаются только путями рассчетов программируемого значения. Поэтому "определенные условия" не определяются оборотной подачей. Определяются синхронизацией подачи с вращением шпинделя. Такое происходит при нарезании резьбы. При этом обороты непостоянны, а подача компенсирует рассогласование.

 

1. Дело не в УП, а в том, каким образом привода станка ее отрабатывают. Вы задаете G2/G3, а привода эти команды отрабатывают так, как условно изображено на рисунке.

post-33763-0-67689400-1453585402.jpg

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

 

Теоретически- да, без резьбового не обойтись, иначе скручивание граней обеспечено.

 

Дык я ж и написал, что сие просто возможно без привязки к точности и практическому применению. :smile:  Если вы досмотрели до конца видео, которое Blurp выложил в посте #68, то там явно показаны недостатки этого метода, как то: скругление углов, вогнутость граней.  Главное ведь то, что работает! :smile:

 

Во избежание появления скручивания граней предлагаю к рассмотрению такую идею. Что, если обозначить вершины n-гранника номерами от 1 до n. Первый цикл обрабатывает все грани начиная с первой. Затем вам нужно переместить резец по Z. За это время шпиндель повернется на какой-то угол. Так вот, а что если подобрать или рассчитать обороты, подачу и величину перемещения так, чтобы при обработке следующего цикла n-гранника обработка начиналась с вершины N+1, где N - номер вершины, с которой начиналась обработка в предыдущий цикл??

Опять же, всякие инерции и прочие несогласованности не учитывает, это ведь не реальное производство. :cool:

Ссылка на сообщение
Поделиться на других сайтах
Во избежание появления скручивания граней предлагаю к рассмотрению такую идею. Что, если обозначить вершины n-гранника номерами от 1 до n. Первый цикл обрабатывает все грани начиная с первой. Затем вам нужно переместить резец по Z. За это время шпиндель повернется на какой-то угол. Так вот, а что если подобрать или рассчитать обороты, подачу и величину перемещения так, чтобы при обработке следующего цикла n-гранника обработка начиналась с вершины N+1, где N - номер вершины, с которой начиналась обработка в предыдущий цикл??

 

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

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • ispite
      Всем привет, спасибо за ответы, но просто так не удалось создать сборку, солид выдавал ошибку. Пришлось Сохранить как IGES (файл разросся до 920 МБ), потом открыл как деталь (в нейстало шустрее работать), нажал "создать сборку" и она создалась! НО она создалась без поверхностей, а они тоже нужны Всем привет, спасибо за ответы, но просто так не удалось создать сборку, солид выдавал ошибку. Пришлось Сохранить как IGES (файл разросся до 920 МБ), потом открыл как деталь (в ней появились Тела и Поверхности и стало шустрее работать), нажал "создать сборку" и она создалась! НО она создалась без поверхностей, а они тоже нужны. Как создать сборку с телами и поверхностями? Пробовал в детали сохранить поверхности, но оно как будто работает наоборот и все поверхности стирает.  PS удалите плз предыдущий ответ, я его случайно отправил.
    • Alexey8107
      Всем доброго дня. Имеется ивановский обрабатывающий центр ИС-800, в нем установлены: PSM-45HVi A06B-6120-H045 SPM-30HVi A06B-6121-H030#H550 Возникла авария 9030 Overcurrent in the converter input circuit. Если смотреть В-65285 в этом случае на PSM должна отображаться 1, а на SPM - 30. Так оно и есть на самом деле. Документ ссылается на пункт 3.1.1, в свою очередь этот пункт говорит о неисправности PSM и следует проверить Входящее питание. Скорее всего здесь имеется ввиду питание управления, оно 240 В и стабильно Рекомендуют проверить реактор. Сразу откидываем, т.к. дело до включения силового питания еще даже не доходит, МСС отключен. Да и реактор штатный, всю жизнь работал с этим реактором. Проверить IGBT. Проверить проверил как мог, на КЗ, но дело до силовухи еще не доходит, ее питания еще нет и физически включиться не может из за MCC(ну это естественно, блок в аварии). Принципиально все рекомендации. На LEADWELL была похожая ситуация, на торможении шпинделя на PSM помнится выпадала авария 1, а на шпинделе не помню уже что. Тоже думали на PSM, а судя по всему мозг вынимал рекуператор в SPM. Т.к. на шине 500 вольт на торможении шпинделя напряжение вылетало далеко за 500 вольт выше. Здесь тоже нечто подобное, SPM опрокидывает PSM в аварию. Вобщем при включении питания станка, запитывается только управление на PSM, а он в свою очередь раздает 24 вольта на все остальные блоки по CXA2A, если все нормально и ЧПУ включена, замыкается контакт МСС, разрешая подачу силового питания на PSM. Шаги загрузки на полностью исправном станке PSM    SPM   -          A   -         50   -         12(или 18)   -         -- После включения ЧПУ и подачи силового питания   0         0 У нас PSM    SPM   -          A   -         50   -         12(или 18)   1         30 Включение силовухи невозможно. Что было сделано: 1. Проверены все питания, 240 СХ1А, 24 СХА2А, силовое питание, везде порядок. 2. Проверены IGBT на PSM и SPM, явного замыкания нет. 3. Проверены обмотки серво двигателя шпинделя. На всех 0,4 ома(сопротивление щупов 0,2 + обмотки 0,2 ома). Сравнил с заведомо исправным таким же двигателем(он стоит в другом таком же станке и работает), все тоже самое, На массу КЗ нет. Да и силовухи тоже нет, так что это бессмысленно. 4. Откинул от PSM разъем СХА2А(тупо обесточил остальные блоки от 24 вольт), включил питание управления, PSM перестал опрокидываться в ошибку, на дисплее "-". Ждал долго, не опрокидывается. Силовое питание подавать не стал, ибо чревато для остальных блоков, а скидывать шинку постоянного тока честно говоря поленился. 5. С соседнего станка снял плату управления SPM и переставил в неисправный станок, по номерам они идентичные. Станок включился и даже подал силовое питание на PSM без всяких аварий. Гонял пару минут в холостую, все было нормально, но после опрокинулся с той же ошибкой 1 и 30 на PSM и SPM соответственно. 6. Взял плату управления SPM с неисправного станка и установил в исправный. Станок включился и сколько бы не гонял, и даже шпинделем крутил, не опрокидывается. Т.е. к обоим платам претензий ноль. После вернул все обратно. Исправный станок работает как ни в чем не бывало, неисправный сразу опрокидывается в аварию почти сразу после включения управляющего питания. На ЧПУ ошибка 9030 и какие то еще по осям, но они связаны с отсутствием питания на шине постоянного тока если не ошибаюсь, так что это нормально. Итого, силовуха явных признаков неисправности не имеет, и даже на какое то время с другой платой включает силовое питание(скорее всего это связано с разбросом параметров защит на разных платах). К самому PSM тоже вроде претензий не должно быть, хотя В-65285 указывает именно на него. В истории с LEADWELL точно помню, что тоже все указывало на PSM(в том числе 1 на дисплее), и даже сервисный инженер FANUC был уверен в неисправности именно PSM. По факту, неисправен был как раз SPM. К платам управления тоже никаких претензий, обе работают в исправном станке. Единственное логическое объяснение, неисправность силовухи SPM. НО!!! Шина постоянного тока даже не думает запитываться, так что и тут с опрокидыванием сразу после включения есть засада! Ну не тестирует же SPM и PSM силовую часть напряжением 24 вольта??? Ведь до включения силового питания в этом случае даже не доходит из-за аварии! Может у кого есть еще идеи или опыт устранения таких дефектов? Помнится у фанука была типовуха на платах А16В-2203-0623 с датчиками тока, они отгорали и привод отваливался в аварию по одной из фаз. Это были привода шпинделя и двух осей в одном корпусе, были такие у нас на токарных. Сервисники фанука тогда их тучами меняли... Хотя тут я думаю не наш случай
    • Kelny
      Даже при всём при этом оно не всегда корректно работало, так что даже в старых версиях было быстрее удалить размер и потом вставить заново, чем искать эти точки размеров, а потом пытаться их привязать к новому месту.   Возможно это всего лишь глюк новой версии, в последних версиях они похоже штатно закладываются.
    • maxx2000
      @davidovka я их сразу ссыпаю в TEMP,  в тех что живы нет отметок о создании current_session.pro. Интересно что сам current_session.pro создаётся, но не обновляется дата в отличии от даты модели. Может быть и вправду менял какие нить настройки и забывал сохранить
    • Ahito
    • maxx2000
      т.е. доверять разработчикам оснований нет. Ясно-понятно
    • clavr
      все так и было до 2024 версии. размеры не импортировались. теперь вот в 2024 так нельзя. может где-то в настройках поменять что нужно? все перерыл, пока не нашел
    • arsenev
      Первый свободный номер инструмента   int list $toolnumblist = extract(folder('TOOL'), 'Tool.Number.Value') int $newToolNumb = 1 while member( $toolnumblist, $newToolNumb) {     $newToolNumb = $newToolNumb + 1 } Message Info 'Первый свободный номер инструмента - ' + $newToolNumb     Инструменты с повторяющимися номерами   int list $toolnumbers = extract(folder('tool'),'Number.Value') int $i = remove_duplicates($toolnumbers) string $op = '' foreach $n in $toolnumbers {     string list $names = extract(filter(folder('tool'),'this.Number.Value == "' + $n + '"'),'Name')     if size($names) > 1 {         $op = $op + 'Инструменты с повторяющимся номером T ' + $n + CRLF         foreach $name in $names {             $op = $op + $name + CRLF         }         $op = $op + CRLF     } } message info $op     Удаление выбранного   Макрос, который проверяет тип объекта, а затем позволяет выбрать один и удалять выбранные части. Я связал это с ctrl+d.   string list $rootTypes = {'toolpath','featureset','pattern','boundary','model'} string list $selectedTypes = {} foreach $rt in $rootTypes {     if entity_exists(entity($rt,'')) {         entity $ent = entity($rt,'')         if number_selected($ent.RootType, $ent.Name) > 0 {             int $i = add_last($selectedTypes,$rt)         }     } } if size($selectedTypes) <= 0 {     return } int $index = -1 if size($selectedTypes) == 1 {     $index = 0 } else {     $index = input choice $selectedTypes 'Wich Type to remove?' } if $index != -1 {     String $cmd = 'DELETE ' + $selectedTypes[$index] + ' "' + entity($selectedTypes[$index],'').Name + '" SELECTED'         DoCommand $cmd }
    • PETR_1
      Можно переназначить правую и центральную (колесо) кнопки с помощью бесплатной программы X-Mouse Button Control (есть портабельная версия). Это переназначение будет работать только для компаса.
    • Kelny
      Может изменяемый вами размер импортирован из модели?  Обычно переносилось удержанием левой кнопки мыши, а если сделать двойной клик, то нужно потом выбрать новый объект уже без удержания кнопок мыши.
×
×
  • Создать...