Конфигурация EMC2 LinuxCNC

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

Конфигурация EMC2 LinuxCNC

Сообщение Nick »

После того как Вы произвели установку EMC2, можно переходить к конфигурации.
Начнем с простого пути, использования утилиты Stepconf. Sterconf это графическая утилита для настройки EMC2 для различных станков. Конечно она не реализует все возможности EMC2, но подойдет для большинства станков со step-dir контроллерами управляемыми через lpt порт. Stepconf устанавливается вместе с EMC2 и его можно запустить из меню Приложения -> EMC2 -> Stepconf.
Это незавершенный раздел, Вы можете помочь в его оформлении.
Нужны исправления, комментарии. Публикуйте их в этой теме.

Содержание


Настройка EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=781&mode=view' target=_blank>Загрузить оригинал (41.24 КБ)</a>
Настройка EMC2
Конфигурация ЕМС2 (342801 просмотр) <a class='original' href='./download/file.php?id=780&mode=view' target=_blank>Загрузить оригинал (44.23 КБ)</a>
Конфигурация ЕМС2

Выбор конфигурации

В первом окне Stepconf есть выбор: создать новую конфигурацию или изменить старую. Выбираем создать новую. Также можно проставить галки напротив Create shortcut, чтобы в последствии запускать EMC2 с созданной конфигурацией в один клик.

Screenshot-EMC2 Stepper Mill Configuration-2.png (342801 просмотр) <a class='original' href='./download/file.php?id=782&mode=view' target=_blank>Загрузить оригинал (95.31 КБ)</a>

Параметры станка, контроллера и быстродействия

Настройки станка
Вводим название станка, в документации говорится, что можно использовать заглавные и строчные буквы, цифры и знаки "-" и "_".
Выбираем конфигурацию осей. XYZ (Фрезер), XYZA (4-х осевой фрезер) или XZ (Токарный станок). Названия только для примера. Если у Вас двух осевой станок, то можете выбрать XYZ, и ось Z оставить не настроенной.
Единицы измерения станка: дюймы или миллиметры.

Настройки контроллера
Можно выбрать из набора предустановленных параметров если Ваш контроллер в список. Или настроить все самому.
Параметры Step time, Step space, Direction hold, Direction setup смотрите в документации к вашему контроллеру.

Настройки lpt
Если у Вас только один lpt, то можно ничего не трогать по умолчанию стоит установка стандартного адреса lpt порта.

Настройки быстродействия
Base period - это одна из основных величин быстродействия, она определяет максимальную скорость работы с контроллером. Она определяет так называемый heartbeat (сердцебиение системы в целом) от которого зависит время для генерации сингала Step. Фактически, чем меньше base period тем больше максимальная частота генерации шагов (например, при Base period = 30 000 ns максимальная частота генерации шагов равна 33333Гц, что при 200 шагах на оборот в режиме микрошага 1:8 дает максимум 20 оборотов в секунду).

Base period зависит от параметров компьютера. Правильно определить base period можно при помощи утилиты Latency test, она тоже входит в состав EMC2. Latency это задержка с которой компьютер может остановить процесс работы для обработки внешнего запроса. В нашем случае, запросом является периодичный "heartbeat" (стук сердца) на основе которого вычисляется нужное время для следующего шага. Для того, чтобы контроллер работал правильно и не пропускал шаги минимальный base period должен быть равным длительность direction setup+direction hold+step space+maximum latency.

Итак, запускаем Latency test, и пытаемся нагрузить компьютер разными задачами, чтобы наверняка получить максимальную задержку. Можно запустить проигрываться фильм, полазить по интернету, скопировать большой файл, перемещать окна. Через несколько минут смотрим значение Base thread Max jitter (максимальное дрожание base period) и вставляем это значение в соответствующую строку в Stepconf.

Onscreen prompt for tool change - уведомление о смене инструмента. Если эта опция включена, то EMC2 будет останавливаться и выдавать сообщение о смене инструмента, каждый раз, когда в управляющей программе будет встречаться код M6. Оставьте эту опцию включенной, только если Вы не собираетесь делать автоматическую смену инструмента.

Настройка LPT для EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=783&mode=view' target=_blank>Загрузить оригинал (99.1 КБ)</a>
Настройка LPT для EMC2
Настройка LPT для EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=784&mode=view' target=_blank>Загрузить оригинал (88.29 КБ)</a>
Настройка LPT для EMC2

Настройки пинов LPT

На этой странице мы можем настроить значения всех пинов параллельного порта.
Значения для этих настроек смотрите в документации к контроллеру.

Настройка осей станка в EMC2 LinuxCNC (342801 просмотр) <a class='original' href='./download/file.php?id=785&mode=view' target=_blank>Загрузить оригинал (66.88 КБ)</a>
Настройка осей станка в EMC2 LinuxCNC
Проверка настроек осей LinuxCNC (342801 просмотр) <a class='original' href='./download/file.php?id=786&mode=view' target=_blank>Загрузить оригинал (21.23 КБ)</a>
Проверка настроек осей LinuxCNC

Настройка осей станка

Далее настраиваем все оси станка:

Motor Steps Per Revolution - количество шагов двигателя на один оборот.

Driver Microstepping - настройка микрошага контроллера. Для микрошага 1:8 устанавливайте "8"

Pulley Ratio - значение редуктора, если между валом двигателя и ходовым винтом стоит редуктор установите передаточное число.

Leadscrew Pitch - шаг ходового винта. Можно поменять направление движения вдоль оси установив отрицательное значение шага винта.

Maximum Velocity - Максимальная скорость перемещения.

Maximum Acceleration - Максимальное ускорение по данной оси.

Home Location - положение начала оси. Это положение в котором станок остановится после поиска начала.

Table Travel - границы оси. Положение начала должно быть внутри table travel, причем оно не должно совпадать с границами оси.

Home Switch Location - Положение концевика начального положения. Если у Вас совмещены home switch и limit switch в одном концевике, то значение home location не должно быть равным home switch location иначе появится ошибка "joint limit error", т.е. станок не должен остановиться в точке срабатывания ограничительного концевика.

Home Search Velocity - скорость поиска начала оси. Если концевой датчик расположен рядом с концом оси это значение должно быть выбрано с учетом того, что станок должен будет успеть остановиться до того как он ударится о конец оси. Если концевик замыкается только когда ответная часть рядом с ним, то скорость должна быть выбрана таким образом, чтобы станок успел остановиться пока концевик не разомкнулся. Если станок движется в противоположную сторону от концевика при поиске начала установите отрицательную скорость.

Home Latch Direction - направление уточнения начала, после первоначальной установки начала, они уточняются на очень маленькой скорости. Если выбрана опция "Same" при повторном срабатывании концевика начала будут установлены, если "Opposite" станок будет медленно откатываться пока концевик не разомкнется.

Ниже будут приведены вычисления параметров оси:
  • Time to accelerate to max speed - время ускорения до максимальной скорости (время остановки)
  • Distance to accelerate to max speed - дистанция ускорения до максимальной скорости (дистанция остановки)
  • Pulse rate at max speed - частота сигналов на максимальной скорости
  • Axis SCALE - количество шагов в одной единице измерения шагов/мм (шагов/дюйм)
После введения всех параметров ось можно протестировать. Для этого нажимаем Test this axis.

Настройка управления шпинделем в EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=787&mode=view' target=_blank>Загрузить оригинал (32.67 КБ)</a>
Настройка управления шпинделем в EMC2

Настройка шпинделя

Если шпиндель регулируется при помощи ШИМ:
Устанавливаем Carrier frequency (Несущая частота) согласно инструкции к Вашему контроллеру шпинделя.
Устанавливаем Speed 1, Speed 2, PWM 1, PWM 2 - значения скоростей в оборотах в минуту при заданном значении ШИМ. Эту информацию можно найти в инструкции к Вашему контроллеру, либо попробовать определить самостоятельно. Этими параметрами определяется линейная зависимость скорости шпинделя от значения PWM.

Дополнительные настройки EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=788&mode=view' target=_blank>Загрузить оригинал (70.45 КБ)</a>
Дополнительные настройки EMC2

Настройка дополнительного интерфейса

  • Include Halui - Добавить пользовательскую панель Halui.
  • Include PyVCP GUI panel - Добавить панель pyVCP.
    См. статью по настройке и применению pyVCP в EMC2
  • Include ClassicLadder PLC - Добавить программируемый контроллер на лестничной логике (Programmable Ladder Logic Controller).

Окончание настройки EMC2 (342801 просмотр) <a class='original' href='./download/file.php?id=789&mode=view' target=_blank>Загрузить оригинал (74.23 КБ)</a>
Окончание настройки EMC2

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Помогите с конфигурацией станка. Не получается выставить Limit/Home.
Станок самодельный 3-х осевой. Концевики имеются по обеим сторонам осей X,Y,Z.
Контроллер китайский красная плата.
Вложения
Вид спереди (3098 просмотров) <a class='original' href='./download/file.php?id=10078&mode=view' target=_blank>Загрузить оригинал (240.82 КБ)</a>
Вид спереди
Вид сзади (3098 просмотров) <a class='original' href='./download/file.php?id=10081&mode=view' target=_blank>Загрузить оригинал (216.8 КБ)</a>
Вид сзади
Контроллер с блоком питания (3098 просмотров) <a class='original' href='./download/file.php?id=10082&mode=view' target=_blank>Загрузить оригинал (344.41 КБ)</a>
Контроллер с блоком питания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

А что именно не получается?
В stepconf настроил пределы (размеры) осей и пины концевиков?
ЗЫ Станок выглядит хорошо :good: ! Создай по нему отдельную тему, интересно обсудить конструктивные решения.
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Настроил только Parallel Port Setup.
Вот такая конфигурация получилась.
Дальше не понятно где следует искать Home, слева или справа например по оси X ?
Вложения
Parallel Port Setup.png (3092 просмотра) <a class='original' href='./download/file.php?id=10084&mode=view' target=_blank>Загрузить оригинал (64.32 КБ)</a>
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Nick писал(а):ЗЫ Станок выглядит хорошо :good: ! Создай по нему отдельную тему, интересно обсудить конструктивные решения.
Конструкция станка не моя. За основу взят известный Roland MDX-540.
У меня примерно тоже самое, но сделано из подручных деталей.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

Нажимаешь далее, будут настройки для каждой оси, там настраиваешь положения концевиков пределов осей, положение концевика home и скорость поиска home - если будет больше 0, то будет искаться в сторону "+" оси, если меньше 0 - то в сторону "-" оси.
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Понял. Станок на работе стоит. Завтра буду пробовать настроить.
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Не вышло настроить ось Z.
По X-Y работает. Вот картинки:
подскажите что не так ?
Вложения
Config1.1.png (3068 просмотров) <a class='original' href='./download/file.php?id=10136&mode=view' target=_blank>Загрузить оригинал (64.09 КБ)</a>
Config1.2.png (3068 просмотров) <a class='original' href='./download/file.php?id=10139&mode=view' target=_blank>Загрузить оригинал (63.9 КБ)</a>
Config1.5.png (3068 просмотров) <a class='original' href='./download/file.php?id=10140&mode=view' target=_blank>Загрузить оригинал (176.59 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

Лучше не картинки, а два файла - ini и hal.
Может пины не те поставил?
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

Пины проверю.
Тут с осью Z такая проблема,- когда в Axis запускаешь поиск начала,
то всё нормально устанавливается в верхней точке оси.
Потом в Manual Control если на "+" нажать, то идёт вверх
и наезжает на концевик , в "-" не перемещается.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

По идее для Z "+" - это верх "-" - низ.
У тебя table travel от 0 до 320, а home switch location -1 = значит концевик находится внизу оси.
По идее должно быть что-то вроде

table travel от 0 до 320, home switch location = 321, home location 310.
ТеХник
Кандидат
Сообщения: 46
Зарегистрирован: 11 дек 2012, 18:38
Репутация: 1
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение ТеХник »

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

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

Раздел станки. Там есть кнопочка Создать тему.
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Ivn »

Вопрос настройки - Direction Hold и Direction Setup (окно Basic Machine Information)
Суть проблемы - драйверу на ноге Dir нужен сигнал направления постоянно до его смены (иначе при тестировании в одну сторону OK, а в другую -только 500 000ns(max-задержка) и остановка(инвертирование пина Dir меняет только направление ) :

?Где настроить постоянное присутствие сигнала направления на пинах Direction -лог.1 или лог. 0 (TTL) ВМЕСТО задержки сигнала направления?

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

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

чет, я не понял, какой именно сигнал нужен?

Может нужно использовать другой тип stepgen step_type?
http://www.linuxcnc.org/docs/html/man/m ... gen.9.html
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Ivn »

Nick, добрый день.
Там все на инглише. Если не трудно, разжуй дилетанту:

Как я понимаю, мастер настройки stepconf wizard Настраивает Direction Hold -задержку-паузу присутствия сигнала на пинах Dir (максимально 500 000 ns) *не ставится 999999999 -) Следовательно, сигнал направления появляется на определенное время(0,5 сек мах).
?Как поменять настройки пинов DIR для следующей модели поведения: в G-коде X=10.0 => pin Dir = лог.1 -LOW (постоянно) направление "+"; а при X= -(минус) 10.0 => pin Dir = лог.0- HIGH(постоянно) направление "-" (инверсия пина =зеркально меняет уровни)?

"stepgen.N.dir bit out (step type 0 only)
Direction output: low for forward, high for reverse. "
в предложенной документации похоже на это, но где данное прописать в конф файлах?(если не трудно, пример синтаксиса) и чем проверить работоспособность (step conf wizard - опять настроит задержку или в нем чего поправить?)

?ИЛИ м.б. dir hold где-нибудь закомментить(или выставить бесконечно большое число) и сбрасывания уровня не будет до его смены?

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

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

Direction Hold = это не то, это задержка сигналов step после смены направления.

Т.е. едем в +, dir=High, долбим step,
меняем направление на -, dir=Low, ждем заданное в Direction Hold время (чтобы контроллер успел осознать смену направления) и начинаем долбить step. dir при этом остается в Low.

Т.е. настраивай все через stepconf, будет работать как надо. (если не знаешь значения контроллера по Direction Hold, оставь значение по умолчанию).
Ivn писал(а): (инверсия пина =зеркально меняет уровни)
да. если при первичной настройке направления поменяны местами тупо ставим галку invert pin.
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Ivn »

Nick,
тестирование оси показывает что мой драйвер не помнит направления: в одном направлении (скорее всего нет управляющего сигнала) -без проблем и на любые скорости/расстояния,
а вот когда в другую - двигается в течение ~0,5 сек и останавливается
По кнопке запустить следующая картина: поле тестирования сделал ~5мм =цикл= в одну сторону усл.10 оборотов; реверс, 0,5 сек в другую -усл.2оборота; останов, ~4 сек пауза; реверс 10 оборотов = и так далее цикл

Спасибо.
*предыдущий свой пост правил дважды -понял ЧТО НЕ НАДО
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Nick »

Надо проверить, что на самом деле на пине порта/контроллера.
Для начала можешь открыть HAL Meter в меню LinuxCNC и выбрат ьтам пин parport.0. --и номер твоего пина, и посмотреть, что LinuxCNC пишет в этот пин.
Потом если все нормально надо смотреть, что появляется на контроллере. Может банально плохой контакт.
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Ivn »

пробовать буду вечером, но сомнительно: инверсия дает зеркальную картину, а изменения dir hold (только в меньшую сторону от 500 000ns) - изменение времени движения в проблемную сторону от 0,5 сек до ~0,1 сек(чуть дергается ось -флажок из изоленты) Да и руками контакт DIR проверял ранее перед постановкой вопроса в данной теме: массу подал--крутит в одну сторону, отпустил -- в другую (либо надо разбираться с согласованием вольтажа уровней в LPT и на входе драйвера, хотя задержка регулируется...)

повторяюсь из пред. моего поста в 10:54(долго правил, а ты отписался по первому варианту):
1. "stepgen.N.dir bit out (step type 0 only) /по моему мой случай
Direction output: low for forward, high for reverse. " /это вот и надо
-в предложенной документации (stepgen) похоже на это, но где данное прописать в конф файлах?(если не трудно, пример синтаксиса) и чем проверить работоспособность (step conf wizard - опять настроит задержку или в нем чего поправить?)

2. ?ИЛИ м.б. dir hold где-нибудь закомментить(или выставить бесконечно большое число) и сбрасывания уровня не будет до его смены?

Спасибо.
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

Re: Конфигурация EMC2 LinuxCNC

Сообщение Ivn »

!Вот это в "stepgen"-документации ОЧЕНЬ наглядно дает понятие что есть что:

(1) stepgen.n.steplen
(2) stepgen.n.stepspace
(3) stepgen.n.dirhold
(4) stepgen.n.dirsetup
(5) stepgen.n.dirdelay

For step type 0, timing parameters 1 thru 4 are used. The following timing diagram shows the output waveforms, and what each parameter adjusts.

*Nick> скорее всего ты прав 100% - контакт DIR может быть ВООБЩЕ оторван или не туда запаян -надо смотреть...
*Спасибо.
Вложения
type0.png
type0.png (1010 байт) 2987 просмотров
type1.png
type1.png (1011 байт) 2987 просмотров
Последний раз редактировалось Ivn 18 дек 2012, 14:40, всего редактировалось 1 раз.
Ответить

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