step dir servo + энкодер

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

step dir servo + энкодер

Сообщение Techno »

Прошу не пинать ногами сильно, но немогу найти ответ!
Есть станочек стоят g320 енкодеры 500 линий. Завел все это дело обратно в лпт чтобы контролировать пропуск шагов! Как собственно связать данные полученные с енкодеров и сгенерированные импульсы! Что бы EMC2 выдавал ошибку если вдруг был пропуск шагов?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: step dir servo + энкодер

Сообщение Nick »

Значит все просто, в обычном случае обратная связь от двигателя поступает напрямую с генератора импульсов шагов stepgen. Т.к. мы считаем, что ШД не пропускает шаги, то можем положиться на эти данные. Задается это вот такой строкой в hal:
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
А тебе нужно вместо этой обратной связи нужно присоединить энкодер, примерно такой строкой:
net xpos-fb encoder.0.position => axis.0.motor-pos-fb

После этого при расхождении реального и желаемого положения осей больше чем на FERROR, будет возникать ошибка типа Joint 0 following error.

ЗЫ Энкодеры настроил? Помощь с ними нужна?
PSS 500 линий это 500 тиков энкодера на оборот?
Аватара пользователя
Techno
Кандидат
Сообщения: 59
Зарегистрирован: 07 сен 2011, 23:38
Репутация: 4
Контактная информация:

Re: step dir servo + энкодер

Сообщение Techno »

Огромное спасибо завтра с утра буду пробовать! 2000 импульсов на оборот задаю в EMC. 500 линий написано на упаковке энкодеров =). Станок у меня бегает с годец уже. С недавних пор, есть подозрения что врет по иксу. Ставил индикатор делал программку на 1000 циклов влево вправо расстояние 100мм возвращался обратно как полагается причем в 0. Но есть одна работенка там сложный профиль на ней вот он чего то и врет, появлеяться погрешность при чем солидная.
Аватара пользователя
Techno
Кандидат
Сообщения: 59
Зарегистрирован: 07 сен 2011, 23:38
Репутация: 4
Контактная информация:

Re: step dir servo + энкодер

Сообщение Techno »

Сделал как написано и вправду завелось начало работать! Только едет 10мм и выдает ошибку ! Где копать?
Прилагаю и .ini и .hal файлы.
Вложения
6A76PF2.hal
(4.99 КБ) 1198 скачиваний
6A76PF2.ini
(2.02 КБ) 1130 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: step dir servo + энкодер

Сообщение Nick »

Значит, считает как-то не так... 10мм это значение FERROR в твоем ini.

У тебя обе строчки обратной связи закомментированны:
#net x-feedback encoder.1.position => stepgen.x.position-fb
#net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
А первая еще и не правильная. stepgen.x.position-fb это пин вывода обратной связи stepgen, а тебе нужно эту связь записывать в контроллер движения. Плюс к этому ты берешь position-fb с энкодера 1, а не 0!
Должно быть вот так: net x-feedback encoder.0.position => axis.0.motor-pos-fb
Ответить

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