G76 и G33
-
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: G76 и G33
Хотя по G33 G76 у меня есть задумка для подобного типа деталей переводить шпиндель в оборотную координату С - поворотную ось и тогда резцом можно царапать любое . Но на моем 16К20 есть люфт в коробке и доконца сделать это не получалось , при удержании шпинделя сильно стучит .
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G76 и G33
Про G34 посмотрим... Кстати вот есть интересная страничка о том, что в пром стойках сделано не так, как в linuxcnc: http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Lathe_Code
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: G76 и G33
ж34 для емс неивестен. тут или ж33 или ж33,1 или ж76 надо смотреть. а по хорошему ж34 работает у нас на заводе на эмко и на нцт - лично ен пользовался, но в документации описано было. ж34 то что надо. смысл такой что это синхронизация движения с переменным шагом, причем подача в каждом кадре будет синхронизироваться с начальной меткой, тоесть можно и резьбу на шарике резать к примеру а не только на конусахNick писал(а):Про G34 посмотрим
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G76 и G33
Вот интересная страничка по расширению 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
Интересно, оно работает?
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
Интересно, оно работает?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
всем этим занимается плотно Michael Haberler
он и в интепретатор для питона вносит изменения насколько я понял все это работает в 2.6
некоторые вещи я пробовал
а вот по коду интерпретатора:
вот здесь есть такая функция
не могу найти ее тело
файлы интерпретатора:
он и в интепретатор для питона вносит изменения насколько я понял все это работает в 2.6
некоторые вещи я пробовал
а вот по коду интерпретатора:
вот здесь есть такая функция
Код: Выделить всё
START_SPEED_FEED_SYNCH
файлы интерпретатора:
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: G76 и G33
а я узнал как шнеки делаются на взрослых станках.
несколько вариантов реализации, но суть одна - вихревая обработка.
Шпиндель с заготовкой должен вращаться медленно, тут обычно используют ось С на токарных.
Вместо резцедержки ставится специальная вихревая головка.
Вместо оси С в шпиндель можно вставить специальный червяк, и его крутить отдельным двигателем. на втором конце червяка патрон, в него заготовку.
Но вихревая головка один фик нужна. Это если шаг достаточно большой.
Ну или вихревой станок.
несколько вариантов реализации, но суть одна - вихревая обработка.
Шпиндель с заготовкой должен вращаться медленно, тут обычно используют ось С на токарных.
Вместо резцедержки ставится специальная вихревая головка.
Вместо оси С в шпиндель можно вставить специальный червяк, и его крутить отдельным двигателем. на втором конце червяка патрон, в него заготовку.
Но вихревая головка один фик нужна. Это если шаг достаточно большой.
Ну или вихревой станок.
![Bender :bender:](./images/smilies/bender.gif)
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G76 и G33
Вот так оно обрабатывает g33
https://github.com/sittner/linuxcnc/blo ... t.cc#L4322
Забавно, вот код твоей функции https://github.com/sittner/linuxcnc/blo ... le.cc#L401
Наверно, она где-то еще объявляется![Smile :)](./images/smilies/icon_e_smile.gif)
https://github.com/sittner/linuxcnc/blo ... t.cc#L4322
Забавно, вот код твоей функции https://github.com/sittner/linuxcnc/blo ... le.cc#L401
![Smile :)](./images/smilies/icon_e_smile.gif)
Наверно, она где-то еще объявляется
![Smile :)](./images/smilies/icon_e_smile.gif)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
вихревая обработка - это сила
http://www.youtube.com/watch?v=gcjhWrexbi8
но шнеки (повторюсь) - это просто пример
задача "красиво" заиметь кодирование переменного шага синхронезируемого естественно с шпинделем
имея приспособу для той же вихревой обработки такая опция все равно нужна
http://www.youtube.com/watch?v=gcjhWrexbi8
но шнеки (повторюсь) - это просто пример
задача "красиво" заиметь кодирование переменного шага синхронезируемого естественно с шпинделем
имея приспособу для той же вихревой обработки такая опция все равно нужна
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
gcodemodule.cc - это модуль AxisNick писал(а):Забавно, вот код твоей функции
по идее емс и без него должен работать
![Wink ;)](./images/smilies/icon_e_wink.gif)
если она (искомая функция) объявляется в другом месте - то что ж получается - код интепретатора
выходит за рамки директории rs274ngc (ни в одном файле ее не нашел)
(правда поздно вчера было
![Smile :)](./images/smilies/icon_e_smile.gif)
????????
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G76 и G33
А как происходит синхронизация вихревой головки и патрона?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
так наверно через энкодерNick писал(а):А как происходит синхронизация вихревой головки и патрона?
или ты про что??
upd
на видео выше обычный станок без чпу - и синхронизация естественно гитарой
Последний раз редактировалось nkp 05 фев 2013, 11:41, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: G76 и G33
На том видео вроде как просто отдельная приблуда с отдельным движком и все... никаких энкодеров, никаких приводов подач...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
обновил выше
то есть подача на установленный шаг резьбы через вал с выбором передаточного соотношения шестерней
то есть подача на установленный шаг резьбы через вал с выбором передаточного соотношения шестерней
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
пробовал цикл
результаты:
вот так работает и можно наблюдать переменное значение подачи
https://www.youtube.com/watch?v=BJot9mQ1meI
а дальше пытаюсь уменьшать шаг- подача становиться постоянной(соответственно и шаг)
теперь вопросы:
может на симуляторе некорректно такие вещи проверять?
и еще,Ник ,у тебя в задании К стоит корень:
не понял замысла???
конечно,можно любую зависимость задавать
чаще наверно линейную
результаты:
Код: Выделить всё
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
Ну корень он так, для примера
, вспомнил на досуге, что можно мат функции использовать
.
Лучше конечно на rt проверить. Но по идее главное, чтобы linuxcnc успел траекторию построить, должен успеть, если ты конечно шаг в 0.0001 не поставишь..
Эх... еще бы как-нибудь синхронизацию проверить...
только вот как?
![Smile :)](./images/smilies/icon_e_smile.gif)
![Smile :)](./images/smilies/icon_e_smile.gif)
Лучше конечно на rt проверить. Но по идее главное, чтобы linuxcnc успел траекторию построить, должен успеть, если ты конечно шаг в 0.0001 не поставишь..
Эх... еще бы как-нибудь синхронизацию проверить...
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: G76 и G33
симулятор - это я имел в виду sim_encoderNick писал(а):Лучше конечно на rt проверить. Но по идее главное, чтобы linuxcnc успел траекторию построить, должен успеть, если ты конечно шаг в 0.0001 не поставишь.. Эх... еще бы как-нибудь синхронизацию проверить... только вот как?
![Wink ;)](./images/smilies/icon_e_wink.gif)
а так ядро конечно 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
Тогда надо пробовать на станке
Так что ты говоришь хотел сделать![Smile :)](./images/smilies/icon_e_smile.gif)
![Freak :freak:](./images/smilies/icon_freak.gif)
Так что ты говоришь хотел сделать
![Smile :)](./images/smilies/icon_e_smile.gif)
-
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: G76 и G33
Что-бы шаг резьбы менялся в границах одного витка
-
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: G76 и G33
В стойке NC210 http://bsystem.ru/Portals/0/files/TechD ... r%20TC.pdf формат функции немного другой , вот так хочется :
Формат:
G33 [ОСИ] K [R] ,
где:
[ОСИ] - представлены символом оси и цифровым значением в явной
или неявной форме (параметр E);
K - представляет шаг резьбы. В случае переменного шага,
представляет начальный шаг. Должен присутствовать всегда;
- представляет изменение шага. Для нарезания резьбы с воз-
растающим шагом I должна быть положительной, для нарезания
резьбы с уменьшающимся шагом должна быть отрицательной;
[R] - представляет отклонение по отношению к угловой позиции
нуля шпинделя (в градусах). Используется при многозаходной
резьбе для того, чтобы не сдвинуть начальную точку.
Формат:
G33 [ОСИ] K [R] ,
где:
[ОСИ] - представлены символом оси и цифровым значением в явной
или неявной форме (параметр E);
K - представляет шаг резьбы. В случае переменного шага,
представляет начальный шаг. Должен присутствовать всегда;
- представляет изменение шага. Для нарезания резьбы с воз-
растающим шагом I должна быть положительной, для нарезания
резьбы с уменьшающимся шагом должна быть отрицательной;
[R] - представляет отклонение по отношению к угловой позиции
нуля шпинделя (в градусах). Используется при многозаходной
резьбе для того, чтобы не сдвинуть начальную точку.