Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Токарная наладка EMC
Все о станках с ЧПУ > Станки с ЧПУ, Hobby CNC > Программное обеспечение > Linux CNC EMC2
valorsp
Всем доброго времени суток, в ближайшее время планирую автоматизацию древнего токарника кеглер с помощью emc2? все вроде понятно кроме вопроса организации резьбонарезания,
на ум приходит два варианта, временное подключение шд к шпинделю, или энкодер на вал шпинеделя через ремень.
с первым вариантом вроде тоже все впорядке, третья ось поворотная и правильная управляющая программа, (через постпроцессор наверно).
это дорого и геморно, а вот энкодер наверно проще, специалисты подскажите как это реализуется в EMC?
valorsp
никто не знает? странно, буду лопатить документацию на англицеом, как разберусь напишу здесь для общей пользы :(
z-max
Доброго времени суток, я прикручивал датчик оборотов шпинделя к ЕМС2, мучался примерно месяца 3 пока не вышла новая версия EMC с обновленной документацией где был пример, без него догадаться нереально. ag.gif
и так в файле ххххх.hal дописываем в конце следующие:

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 1000
setp encoder.0.counter-mode 1
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-not
net spindle-index <= parport.0.pin-11-in-not

и чего же тут написано, догадаться не сложно ))
setp encoder.0.position-scale 1000 количество импульсов/оборот вала вашего энкодера
setp encoder.0.counter-mode 1 режим при котором сигнал "фазы B" с энкодера игнорируется, если 0 то учитывается, в моем случае не было необходимости определять направление вращение шпинделя, оно было известно, а занимать лишний пин LPT не хотелось

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 ---- привязка входов hal к програмным
net spindle-phase-b encoder.0.phase-B /
net spindle-index encoder.0.phase-Z /

net spindle-phase-a <= parport.0.pin-10-in-not - 10 пин - вход "фазы А" (в данном случае инверсный)
net spindle-index <= parport.0.pin-11-in-not - 11 пин - вход "фазы Z" "0" метки датчика (в данном случае инверсный)

если что не получится, пишите в аську помогу чем смогу )))))
valorsp
Спасибо огромное за информацию, востанавливаю немецкий станок 34 года собираюсь его очпушить и как раз вощник вопрос с резьбонарезанием, как закончу проэкт обязательно выложу здесь фото.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.