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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение aegis » 22 мар 2012, 07:39

доброго времени. собственно сделал токарничек чпу, фотки и видио если интересно оформлю в другую тему, сейчас вопросец не о том.
итак имеем метка на шпинделе подключена и отображается срабатывание в халскопе
энкодера на шпинделе нет.
в инструкциях к линуксснс 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

можно ли как-то обойти эту проблему с фазой А, потому как во вражеском маче все крутится и режет

еще есть вопрос о том как заставить линуксснс понимать расположение резца сзади (добавить реверс оси на определенном инструменте), но чуть позже освещу эту проблему
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 22 мар 2012, 10:51

Т.е. ты хочешь резать резьбу в несколько заходов по этой метке? Или еще какие-то задачи есть?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 22 мар 2012, 18:47

нарезание резьбы выполняется с использованием цикла ж76 или синхронизации движения ж33. кстати и задание оборотной подачи тоже не работало вроде как.
задачи только токарная обработка.
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 22 мар 2012, 20:27

О придумал :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.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 22 мар 2012, 22:07

сильно не пинайте - хал только недавно стал изучать. итак добавил я нужные строчки в мой-станок.hal который лежит в папке с именем моего станка (правда поменял на 10й порт метку так как там у меня висит она (строчка "net spindle-index <= parport.0.pin-11-in" уже пристуствовала, я ее не копировал).
запустил прогу, написал ж95 (подача на оборот) прописал проехаться, мне ответило что не могу использовать подачу на оборот при нулевой скорости шпинделя. запустил кусочек програмки с резьбой. ничего никуда не поехало. остановилось на строчке где ж76 и все
если я чет не понял где смотреть то тыкните носом. спасибо
зы еще раз посмотрел в халскоп на метку шпинделя на 10м пине - все отрабатывает
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 22 мар 2012, 23:07

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

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

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

Сообщение Nick » 22 мар 2012, 23:10

Возможно еще понадобится пин:
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, с ним можно контроллировать скорость шпинделя даже только по индекному сигналу, но точность будет не велика.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 23 мар 2012, 07:05

http://www.cnczone.ru/forums/index.php?showtopic=1177
вот еще нашел нечто похожее на то что надо.
да и у меня закралась идея. а если ручками прописать на пин индекса еще и пин энкодер аи поставить что там 1 метка. или нельзя 2 команды на 1 пин вешать по хорошему?
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 23 мар 2012, 11:38

Nick писал(а):# пишем в сигнал spindle-cmd-rps желаемую скорость шпинделя
net spindle-cmd-rps <= motion.spindle-speed-out-rps
# подсоединяем этот сигнал на обратную связь
net spindle-cmd-rps => motion.spindle-speed-in

Ты вот это попробовал? (плюс к тем строчкам про энкодер и индексную метку)
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 23 мар 2012, 20:34

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

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

Сообщение Nick » 24 мар 2012, 20:53

А что говорит, что опять скорость нулевая? В 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
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 24 мар 2012, 22:45

Nick писал(а): и вот эту строчку нужно убрать:
net spindle-phase-a <= parport.0.pin-10-in

собственно этой строчки и не было. сейчас конфиг стал выглядеть как в атаче.
зато появились первые сдвиги: на команду ж95 (подача на оборот) и включении скорости шпинделя через m3 s100 происходит движение.
ж33 (синхронизация подачи со шпинделем) и ж76 (цикл нарезания) по прежнему молчит, хотя и ошибок не выдает
Вложения
мой-станок.hal
(4.12 Кб) Скачиваний: 264
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 25 мар 2012, 16:34

Нужно еще вот эти строчки добавить:
# подключаем обратную связь по положению
net spindle-position encoder.0.position => motion.spindle-revs
# подключаем пин А энкодера к сигналу
net spindle-phase-a encoder.0.phase-A
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 25 мар 2012, 19:33

добавил. теперь по ж33 и ж76 начало двигаться, однако скорость явно не та. смотрел в файле нет вроде как настроек на количество импульсов. может нужно что-то дописать?
Вложения
new file.rar
(1.46 Кб) Скачиваний: 202
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 25 мар 2012, 19:36

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

ЗЫ Во сколько раз отличается скорость?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 25 мар 2012, 19:42

не знаю ооочень медленно. движение получается как бы отдельными шажками. пробовал увеличивать скорость в программе с 300 до 3000 явных изменений не увидел. индекс я так понимаю тут непричем?
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 25 мар 2012, 19:53

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

А как ты скорость в программе задаешь ?
Скинь на всякий случай Gкод
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 25 мар 2012, 20:05

%
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:
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

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

Сообщение Nick » 25 мар 2012, 20:19

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

Посмотреть их состояние можно через halmeter - он есть в меню.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1328
Заслуга: Developer
Медальки:

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

Сообщение aegis » 25 мар 2012, 20:50

смотрел через халметр.
motion.spindle-speed-in 3.333
motion.spindle-revs колеблется между 0 и 0.01
на халскопе аналогично все видно. индекс отсчитывает от реальной метки
Вложения
проблемы с токарным, вопросец Screenshot-2.png
Делаю вращающиеся гайки. С уважением, Михаил
Аватара пользователя
aegis
Мастер
 
Сообщения: 2735
Зарегистрирован: 22 мар 2012, 06:59
Откуда: Украина, Конотоп=>Запорожье
Репутация: 1168
Медальки:
Настоящее имя: Михаил

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: aftaev, AlexKota19, Argon-11, artem44ik, Алексей2017, Bing [Bot], bordyn, Сергей Саныч, Darxton, error101, evgenyjp, Fiks, frezeryga, frolyar, Google [Bot], helpvits, Lafayette, Majestic-12 [Bot], Malyarka74, motor, Mr. Mass, MX_Master, NickSon, nippozauma, NOKS, Nonstopich, Piligrym, Rezus666, sberbuh, Shkryab, Shtaketnik21, Smlua, sn75, tsurika, vladumur, Yahoo [Bot], Yandex [bot], Yarrr, Краус, шпиндель

Поделиться

Reputation System ©'