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

Возможно ли 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 пользователей

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




  • Сообщения

    • 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
      Может изменяемый вами размер импортирован из модели?  Обычно переносилось удержанием левой кнопки мыши, а если сделать двойной клик, то нужно потом выбрать новый объект уже без удержания кнопок мыши.
    • Kelny
      Отключить галочки режима большой сборки. Инструменты-Параметры...-Настройки пользователя-Сборки
×
×
  • Создать...