G76 и G33

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: G76 и G33

Сообщение vmarkiv »

Хотя по G33 G76 у меня есть задумка для подобного типа деталей переводить шпиндель в оборотную координату С - поворотную ось и тогда резцом можно царапать любое . Но на моем 16К20 есть люфт в коробке и доконца сделать это не получалось , при удержании шпинделя сильно стучит .
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

Про G34 посмотрим... Кстати вот есть интересная страничка о том, что в пром стойках сделано не так, как в linuxcnc: http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Lathe_Code
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: G76 и G33

Сообщение aegis »

Nick писал(а):Про G34 посмотрим
ж34 для емс неивестен. тут или ж33 или ж33,1 или ж76 надо смотреть. а по хорошему ж34 работает у нас на заводе на эмко и на нцт - лично ен пользовался, но в документации описано было. ж34 то что надо. смысл такой что это синхронизация движения с переменным шагом, причем подача в каждом кадре будет синхронизироваться с начальной меткой, тоесть можно и резьбу на шарике резать к примеру а не только на конусах
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

Вот интересная страничка по расширению Gкода, но правда в основном методами Python. Без изменений в интерпретаторе Gкода:
http://www.linuxcnc.org/docs/devel/html ... cture.html
Кстати, нашел две интересные штуки - как можно передавать произвольный параметр из ini в gкод и получать значение произвольного пина.
http://www.linuxcnc.org/docs/devel/html ... features_a
http://www.linuxcnc.org/docs/devel/html ... ariables_a
Интересно, оно работает?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

всем этим занимается плотно Michael Haberler
он и в интепретатор для питона вносит изменения насколько я понял
interp_python.cc.tar
(20 КБ) 450 скачиваний
все это работает в 2.6
некоторые вещи я пробовал
а вот по коду интерпретатора:
вот здесь
interp_convert.cc.tar
(210 КБ) 462 скачивания
есть такая функция

Код: Выделить всё

START_SPEED_FEED_SYNCH
не могу найти ее тело
файлы интерпретатора:
rs274ngc.tar
(900 КБ) 456 скачиваний
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: G76 и G33

Сообщение Lexxa »

а я узнал как шнеки делаются на взрослых станках.
несколько вариантов реализации, но суть одна - вихревая обработка.
Шпиндель с заготовкой должен вращаться медленно, тут обычно используют ось С на токарных.
Вместо резцедержки ставится специальная вихревая головка.
Вместо оси С в шпиндель можно вставить специальный червяк, и его крутить отдельным двигателем. на втором конце червяка патрон, в него заготовку.
Но вихревая головка один фик нужна. Это если шаг достаточно большой.
Ну или вихревой станок.
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

Вот так оно обрабатывает g33

https://github.com/sittner/linuxcnc/blo ... t.cc#L4322

Забавно, вот код твоей функции https://github.com/sittner/linuxcnc/blo ... le.cc#L401 :)
Наверно, она где-то еще объявляется :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

вихревая обработка - это сила
http://www.youtube.com/watch?v=gcjhWrexbi8
но шнеки (повторюсь) - это просто пример
задача "красиво" заиметь кодирование переменного шага синхронезируемого естественно с шпинделем
имея приспособу для той же вихревой обработки такая опция все равно нужна
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

Nick писал(а):Забавно, вот код твоей функции
gcodemodule.cc - это модуль Axis
по идее емс и без него должен работать ;)
если она (искомая функция) объявляется в другом месте - то что ж получается - код интепретатора
выходит за рамки директории rs274ngc (ни в одном файле ее не нашел)
(правда поздно вчера было :) -мог и не заметить))
????????
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

А как происходит синхронизация вихревой головки и патрона?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

Nick писал(а):А как происходит синхронизация вихревой головки и патрона?
так наверно через энкодер
или ты про что??
upd
на видео выше обычный станок без чпу - и синхронизация естественно гитарой
Последний раз редактировалось nkp 05 фев 2013, 11:41, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

На том видео вроде как просто отдельная приблуда с отдельным движком и все... никаких энкодеров, никаких приводов подач...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

обновил выше
то есть подача на установленный шаг резьбы через вал с выбором передаточного соотношения шестерней
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: G76 и G33

Сообщение Lexxa »

как обычную резьбу режут - также.
естесственно для переменного шага G34 нужна будет.
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

пробовал цикл
результаты:

Код: Выделить всё

M3 S540
#<zst> = 20
#<zend> = 2
#<z> = #<zst>
#<zstep> = 2
#<x> = 3
G1 f50 X3 Z21
o100 while [#<z>-#<zstep> GE #<zend> ]
  #<z> = [#<z>-#<zstep>]
  #<k> = [0.1*[#<z>]]
  G33 X#<x> Z#<z> K#<k>
o100 end while
M2
вот так работает и можно наблюдать переменное значение подачи
https://www.youtube.com/watch?v=BJot9mQ1meI
а дальше пытаюсь уменьшать шаг- подача становиться постоянной(соответственно и шаг)
теперь вопросы:
может на симуляторе некорректно такие вещи проверять?
и еще,Ник ,у тебя в задании К стоит корень:

Код: Выделить всё

#<zst> = 0
#<zend> = 100
#<z> = #<zst>
#<zstep> = 0.01
#<x> = 10
o100 while [#<z>+#<zstep> LT #<zend> ]
  #<z> = [#<z>+#<zstep>]
  #<k> = SQRT[#<z>]
  G33 X#<x> Z#<z> K#<k>
o100 end while
не понял замысла???
конечно,можно любую зависимость задавать
чаще наверно линейную
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

Ну корень он так, для примера :), вспомнил на досуге, что можно мат функции использовать :).

Лучше конечно на rt проверить. Но по идее главное, чтобы linuxcnc успел траекторию построить, должен успеть, если ты конечно шаг в 0.0001 не поставишь..

Эх... еще бы как-нибудь синхронизацию проверить... :roll: только вот как?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: G76 и G33

Сообщение nkp »

Nick писал(а):Лучше конечно на rt проверить. Но по идее главное, чтобы linuxcnc успел траекторию построить, должен успеть, если ты конечно шаг в 0.0001 не поставишь.. Эх... еще бы как-нибудь синхронизацию проверить... только вот как?
симулятор - это я имел в виду sim_encoder ;)
а так ядро конечно RT
без sim_encoder ж33 вообще не работает никак

Код: Выделить всё

#==============================
loadrt sim_encoder 
addf sim-encoder.make-pulses  servo-thread
addf sim-encoder.update-speed servo-thread
setp sim-encoder.0.ppr  1024
net speed motion.spindle-speed-out-rps    sim-encoder.0.speed
loadrt encoder
addf encoder.update-counters   base-thread
addf encoder.capture-position  servo-thread
net enc.a  sim-encoder.0.phase-A   encoder.0.phase-A 
net enc.b  sim-encoder.0.phase-B   encoder.0.phase-B
net enc.z  sim-encoder.0.phase-Z   encoder.0.phase-Z
setp encoder.0.position-scale 250
net index motion.spindle-index-enable  encoder.0.index-enable 
net revs  motion.spindle-revs           encoder.0.position 
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: G76 и G33

Сообщение Nick »

Тогда надо пробовать на станке :freak:
Так что ты говоришь хотел сделать :)
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: G76 и G33

Сообщение vmarkiv »

Что-бы шаг резьбы менялся в границах одного витка
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: G76 и G33

Сообщение vmarkiv »

В стойке NC210 http://bsystem.ru/Portals/0/files/TechD ... r%20TC.pdf формат функции немного другой , вот так хочется :
Формат:
G33 [ОСИ] K [R] ,
где:
[ОСИ] - представлены символом оси и цифровым значением в явной
или неявной форме (параметр E);
K - представляет шаг резьбы. В случае переменного шага,
представляет начальный шаг. Должен присутствовать всегда;
- представляет изменение шага. Для нарезания резьбы с воз-
растающим шагом I должна быть положительной, для нарезания
резьбы с уменьшающимся шагом должна быть отрицательной;
[R] - представляет отклонение по отношению к угловой позиции
нуля шпинделя (в градусах). Используется при многозаходной
резьбе для того, чтобы не сдвинуть начальную точку.
Ответить

Вернуться в «LinuxCNC»