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

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

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




  • Сообщения

    • 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
      Отключить галочки режима большой сборки. Инструменты-Параметры...-Настройки пользователя-Сборки
    • brigval
      Если не прописали, значит считается, что производственный процесс их изготовления гарантирует качество, достаточное для присвоения литеры. Можно и так посмотреть.   Между прочим, пред вынесением Решения о присвоении литеры проходит "испытания" весь комплект  КД. Разрешат вам не предъявлять часть КД на проверку? Спросите у НК.   И все-таки, если есть Решение о присвоении литеры, надо прочитать, что там сказано. Как сформулировано. Возможно, это снимет все вопросы.
    • cepr
      Есть в Компасе возможность построения зубчатого колеса с углом профиля не 20гр., а 25гр?
    • shishov32
      В ТУ не прописали про испытания КМЧ и упаковки, отсюда все пошло. 
    • clavr
      подскажите: как в солиде 2024 в чертеже перепривязать точку размера к другому элементу? раньше достаточно было выделить размер, точку привязке и удерживая ПКМ перенести к другому элементу. теперь это не работает   По справке сделать не получается( просто быстрые привязке не подсвечиваются https://help.solidworks.com/2024/russian/SolidWorks/sldworks/c_moving_dimension_leadersOH.htm  
    • BSV1
      КМЧ бывают разные. Если КМЧ состоит из одних стандартных болтов, например, то может испытания и не требуются. Если же КМЧ состоит из изделий собственной разработки, то почему их не надо испытывать? Что касается упаковки, то есть ГОСты на тару. Например: 80071.pdf ГОСТ Р 53775-2010 Упаковка. Испытание на штабелирование при статической нагрузке ГОСТ 18211-2018. Упаковка транспортная. Метод испытания на сжатие  gost-9142-2014.pdf  Есть еще испытания изделий в упаковке, которые подразумевают, в том числе, и испытание самой упаковки. Проверяться изделия в упаковке могут на транспортную тряску, удары, падения, климат. При этом упаковка должна обеспечить сохранность изделия. Есть еще вопросы консервации. Как же без испытаний?   Странный у вас нормоконтролер.    
    • brigval
      Ответом на ваш вопрос будет противоречит. А вообще, надо читать Решение о присвоении литеры. Интересно, что там указано?   Интересный вопрос. Если есть указания испытывать экпл. документацию в форме книг, то надо испытывать Я, правда, с этим не сталкивался.
×
×
  • Создать...