проблемы с токарным, вопросец

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

проблемы с токарным, вопросец

Сообщение aegis »

доброго времени. собственно сделал токарничек чпу, фотки и видио если интересно оформлю в другую тему, сейчас вопросец не о том.
итак имеем метка на шпинделе подключена и отображается срабатывание в халскопе
энкодера на шпинделе нет.
в инструкциях к линуксснс http://linuxcnc.org/docs/html/examples_ ... zed-Motion хотят чтобы обязательно был энкодер от 100 импульсов
(для просмотра содержимого нажмите на ссылку)
Spindle feedback is needed by EMC to perform any spindle coordinated motions like threading and constant surface speed. The StepConf Wizard can perform the connections for you if you select Encoder Phase A and Encoder Index as inputs.

Hardware assumptions:

An encoder is connected to the spindle and puts out 100 pulses per revolution on phase A
The encoder A phase is connected to the parallel port pin 10
The encoder index pulse is connected to the parallel port pin 11

Basic Steps to add the components and configure them:

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 100
net spindle-position encoder.0.position => motion.spindle-revs
net spindle-velocity encoder.0.velocity => motion.spindle-speed-in
net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable
net spindle-phase-a encoder.0.phase-A
net spindle-phase-b encoder.0.phase-B
net spindle-index encoder.0.phase-Z
net spindle-phase-a <= parport.0.pin-10-in
net spindle-index <= parport.0.pin-11-in
можно ли как-то обойти эту проблему с фазой А, потому как во вражеском маче все крутится и режет

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

Re: проблемы с токарным, вопросец

Сообщение Nick »

Т.е. ты хочешь резать резьбу в несколько заходов по этой метке? Или еще какие-то задачи есть?
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

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

Re: проблемы с токарным, вопросец

Сообщение Nick »

О придумал :cheesy: ! Можно сделать хитрым образом, нужен emc2 энкодер - сделаем.

:attention: Лучше конечно поставить энкодер на шпиндель. Т.к. в придумываемом способе мы будет обманывать LinuxCNC => LinuxCNC не сможет полностью контролировать ситуацию.


Сначала кстати, стоит проверить, может LinuxCNC сможет работать и без обратной связи по энкодеру. Т.е. вместо вот этого всего (взял по ссылке):

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

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 100 
net spindle-position encoder.0.position => motion.spindle-revs
net spindle-velocity encoder.0.velocity => motion.spindle-speed-in
net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable
net spindle-phase-a encoder.0.phase-A
net spindle-phase-b encoder.0.phase-B
net spindle-index encoder.0.phase-Z
net spindle-phase-a <= parport.0.pin-10-in
net spindle-index <= parport.0.pin-11-in
Пишем только:

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

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable
net spindle-index encoder.0.phase-Z
net spindle-index <= parport.0.pin-11-in
И пробуем. С вопросами и результатами сюда.
Если не выйдет, сделаем через sim_encoder.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

сильно не пинайте - хал только недавно стал изучать. итак добавил я нужные строчки в мой-станок.hal который лежит в папке с именем моего станка (правда поменял на 10й порт метку так как там у меня висит она (строчка "net spindle-index <= parport.0.pin-11-in" уже пристуствовала, я ее не копировал).
запустил прогу, написал ж95 (подача на оборот) прописал проехаться, мне ответило что не могу использовать подачу на оборот при нулевой скорости шпинделя. запустил кусочек програмки с резьбой. ничего никуда не поехало. остановилось на строчке где ж76 и все
если я чет не понял где смотреть то тыкните носом. спасибо
зы еще раз посмотрел в халскоп на метку шпинделя на 10м пине - все отрабатывает
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

Он думает, что шпиндель не крутится, т.к. нет обратной связи. можно сделать так, команду скорости шпинделя запихать в обратную связь.
Т.е.
# пишем в сигнал spindle-cmd-rps желаемую скорость шпинделя
net spindle-cmd-rps <= motion.spindle-speed-out-rps
# подсоединяем этот сигнал на обратную связь
net spindle-cmd-rps => motion.spindle-speed-in

Даже энкодера не надо ;)
Кстати все это можно записать не в станок.hal, а в custom.hal, тогда будет проще видеть, что сделано дополнительно к стандартному конфигу.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

Возможно еще понадобится пин:
motion.spindle-revs IN float
For correct operation of spindle synchronized moves, this signal must be hooked to the position pin of the spindle encoder.

Но пока можно попробовать без него.
Кстати, если нужно задать дополнительное время на раскручивание шпинделя, это можно будет потом написать с использованием пина: motion.spindle-at-speed, с ним можно контроллировать скорость шпинделя даже только по индекному сигналу, но точность будет не велика.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

http://www.cnczone.ru/forums/index.php?showtopic=1177
вот еще нашел нечто похожее на то что надо.
да и у меня закралась идея. а если ручками прописать на пин индекса еще и пин энкодер аи поставить что там 1 метка. или нельзя 2 команды на 1 пин вешать по хорошему?
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

Nick писал(а):# пишем в сигнал spindle-cmd-rps желаемую скорость шпинделя
net spindle-cmd-rps <= motion.spindle-speed-out-rps
# подсоединяем этот сигнал на обратную связь
net spindle-cmd-rps => motion.spindle-speed-in
Ты вот это попробовал? (плюс к тем строчкам про энкодер и индексную метку)
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

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

Re: проблемы с токарным, вопросец

Сообщение Nick »

А что говорит, что опять скорость нулевая? В G коде значение S указано?

Если совсем получаться не будет, тогда можно добавить sim_encoder, для этого
#загружаем компонент энкодера
loadrt sim_encoder num_chan=1
#добавляем функции энкодера к нужным потокам
addf sim-encoder.make-pulses base-thread
addf sim-encoder.update-speed servo-thread

#задаем энкодеру скорость вращения
net spindle-cmd-rps => sim-encoder.0.speed
#подключаем выход симмуляции энкодера к компоненту энкодер
net spindle-phase-a <= sim-encoder.0.phase-A

Все это нужно добавить к верхнему конфигу, и вот эту строчку нужно убрать:
net spindle-phase-a <= parport.0.pin-10-in
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

Nick писал(а): и вот эту строчку нужно убрать:
net spindle-phase-a <= parport.0.pin-10-in
собственно этой строчки и не было. сейчас конфиг стал выглядеть как в атаче.
зато появились первые сдвиги: на команду ж95 (подача на оборот) и включении скорости шпинделя через m3 s100 происходит движение.
ж33 (синхронизация подачи со шпинделем) и ж76 (цикл нарезания) по прежнему молчит, хотя и ошибок не выдает
Вложения
мой-станок.hal
(4.12 КБ) 1256 скачиваний
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

Нужно еще вот эти строчки добавить:
# подключаем обратную связь по положению
net spindle-position encoder.0.position => motion.spindle-revs
# подключаем пин А энкодера к сигналу
net spindle-phase-a encoder.0.phase-A
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

добавил. теперь по ж33 и ж76 начало двигаться, однако скорость явно не та. смотрел в файле нет вроде как настроек на количество импульсов. может нужно что-то дописать?
Вложения
new file.rar
(1.46 КБ) 573 скачивания
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

У Энкодеров вроде должны быть стандартные настройки по 100 импульсов на оборот, но можно на всякий случай написать
setp encoder.0.position-scale 100
setp sim-encoder.0.ppr 100

ЗЫ Во сколько раз отличается скорость?
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

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

Re: проблемы с токарным, вопросец

Сообщение Nick »

Если раз в 60, значит мы накосячили с обратной связью и присоединили вместо rps - rpm...
Индекс должен быть не причем.

А как ты скорость в программе задаешь ?
Скинь на всякий случай Gкод
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: проблемы с токарным, вопросец

Сообщение aegis »

%
G21 G90 G95
m3 s200
G0 X15 Z0
G0 X10
g76 p1 z-10 i-2 j.2 k.866 h3 r2.0 q29.5 e.866 l2
g0x20
g0z0
m5
%

причем пробовал менять m3 s2000 всеравно медленно. настройки энкодеров менял на 1 индекс на оборот - ничего :wik:
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: проблемы с токарным, вопросец

Сообщение Nick »

А что на пине
motion.spindle-revs как быстро он меняется?
и
motion.spindle-speed-in

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

Re: проблемы с токарным, вопросец

Сообщение aegis »

смотрел через халметр.
motion.spindle-speed-in 3.333
motion.spindle-revs колеблется между 0 и 0.01
на халскопе аналогично все видно. индекс отсчитывает от реальной метки
Вложения
Screenshot-2.png (6262 просмотра) <a class='original' href='./download/file.php?id=4723&sid=32f322cb7940d93fa01514a934d5bc9d&mode=view' target=_blank>Загрузить оригинал (222.78 КБ)</a>
нікому нічого не нав'язую.
Ответить

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