Конфигурация 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 (342890 просмотров) <a class='original' href='./download/file.php?id=781&mode=view' target=_blank>Загрузить оригинал (41.24 КБ)</a>
Настройка EMC2
Конфигурация ЕМС2 (342890 просмотров) <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 (342890 просмотров) <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 (342890 просмотров) <a class='original' href='./download/file.php?id=783&mode=view' target=_blank>Загрузить оригинал (99.1 КБ)</a>
Настройка LPT для EMC2
Настройка LPT для EMC2 (342890 просмотров) <a class='original' href='./download/file.php?id=784&mode=view' target=_blank>Загрузить оригинал (88.29 КБ)</a>
Настройка LPT для EMC2

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

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

Настройка осей станка в EMC2 LinuxCNC (342890 просмотров) <a class='original' href='./download/file.php?id=785&mode=view' target=_blank>Загрузить оригинал (66.88 КБ)</a>
Настройка осей станка в EMC2 LinuxCNC
Проверка настроек осей LinuxCNC (342890 просмотров) <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 (342890 просмотров) <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 (342890 просмотров) <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 (342890 просмотров) <a class='original' href='./download/file.php?id=789&mode=view' target=_blank>Загрузить оригинал (74.23 КБ)</a>
Окончание настройки EMC2

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
alik04
Кандидат
Сообщения: 66
Зарегистрирован: 17 май 2012, 13:51
Репутация: 0
Контактная информация:

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

Сообщение alik04 »

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

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

Сообщение Nick »

Пищат моторы не от LinuxCNC, а от драйверов. Насколько я понимаю, в драйверах есть ШИМ, вот в зависимости от ее частоты движки и пищат...

В принципе можно законнектить halui.program-is-running на пин enable драйвера. Но я не советую, во время старта движки могут уйти. Хотя можно сделать задержку на включение...
Аватара пользователя
Boris_B
Новичок
Сообщения: 18
Зарегистрирован: 15 июн 2012, 01:10
Репутация: 0
Контактная информация:

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

Сообщение Boris_B »

Вопрос знающим по настройке шпинделя.
Шпиндель у меня вот такой: http://www.ebay.com/itm/ER11-200W-12-11 ... RTM1084479
Проблема в том, что инструкция вся в иероглифах. Вроде запустил и даже число оборотов меняю програмно (на слух заметно). Но правильно ли. Сомнения вызывают поля PWM1 и PWM2
Сейчас стоит. Частота 0 - первая (самая верхняя графа).
Число оборотов 3000 - PWM1= 0.2
Число оборотов 8000 - PWM2 = 0.8
Почему 0.2 и 0.8 - так было в примере, попробовал, - как-то работает. А что порекомендуют знающие?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Так это вроде просто мотор, к нему еще должен быть драйвер...
А частоту вращения проще всего можно проверить при помощи лампы дневного света - она моргает с частотой 50Гц. Вешаешь на шпиндель пропеллер или что-то вроде него и смотришь через него на лампу, при совпадении частоты с 3000об*мин-1 будет виден стоячий или слабо вращающийся пропеллер.
alik04
Кандидат
Сообщения: 66
Зарегистрирован: 17 май 2012, 13:51
Репутация: 0
Контактная информация:

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

Сообщение alik04 »

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

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

Сообщение Nick »

Какое стоит ускорение? Как только отпускаешь кнопку перемещения станок должен с максимальным ускорением остановиться, если оно не большое а скорость большая, то станок может проехать еще мм 10-15.
alik04
Кандидат
Сообщения: 66
Зарегистрирован: 17 май 2012, 13:51
Репутация: 0
Контактная информация:

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

Сообщение alik04 »

вот, уменя так.
Unbenannt.JPG (3195 просмотров) <a class='original' href='./download/file.php?id=6158&mode=view' target=_blank>Загрузить оригинал (78.85 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А скинь еще на всякий случай свой hal и ini, потому как судя по скрину, остановиться должен за 0.8 мм.
alik04
Кандидат
Сообщения: 66
Зарегистрирован: 17 май 2012, 13:51
Репутация: 0
Контактная информация:

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

Сообщение alik04 »

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

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

Сообщение Nick »

Хммм странно как-то. А при этом станок не теряет позицию? Может просто шаговик не успевает остановиться и пролетает мимо позиции? Это на всех осях или только на некоторых?
alik04
Кандидат
Сообщения: 66
Зарегистрирован: 17 май 2012, 13:51
Репутация: 0
Контактная информация:

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

Сообщение alik04 »

Это на всех осях или только на некоторых?
Это на всех осях. А самое интересное что эти "проезды " после того как включишь станок, а если он поработает их какое-то время нет, потом опять появляются.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

alik04 писал(а):
Это на всех осях или только на некоторых?
Это на всех осях. А самое интересное что эти "проезды " после того как включишь станок, а если он поработает их какое-то время нет, потом опять появляются.
Проверил - эффект действительно наблюдается. Выражается вот в чем (станок у меня в данный момент не подключен, так что драйверы, движки, железо ни при чем):
Стоял LinuxCNC, запущенный около суток. При ручном перемещении движение на визуализации происходило рывками и с задержкой на отпускание клавиш. То есть коротко тыкаешь в клавишу стрелки, а движение продолжается еще около 0,3-0,5 сек.
После перезапуска CNCLinux эффект пропал - реакция на клавиши мгновенная, превью рисуется плавно.

Продолжаю разбираться.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Докладываю :)
Время "стояния" ни при чем.
Проблема, похоже, в сложности программы. Чем больше количество выполненных кадров, тем больше задержка опроса клавиатуры и соответственно, больше "выбег" после отпускания клавиши. Связано это, по-видимому, с тем, что после каждого нажатия происходит перерисовка превьюшки (не выполнение, а именно перерисовка картинки из внутреннего буфера). Если программа содержит циклы, это время может быть достаточно большим, хотя и гораздо меньше, чем формирование превьюшки при загрузке файла.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Вот, пожалуйста, простейшая программа:

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

G00 X0. Y0. Z0.
F400
o100 repeat[10000] (много раз ездим по квадрату)
G01 Y50.
G01 X50.
G01 Y0.
G01 X0.
o100 endrepeat
M30
После загрузки на моем компьютере приводит к временнОму лагу при отпускании клавиш около 0,7 секунды.
Чудес не бывает. Бывают фокусы.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

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

Сообщение billsmith »

У меня такой лаг бывает довольно сильный. Возможно клавиатура у меня какая то глюченая. При отпускании стрелки движение продолжается точно больше нескольких секунд, просто я обычно сразу "ESC"ом останавливаю. Закономерность не обнаружена.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

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

Сообщение billsmith »

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

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

Сообщение Nick »

Похоже все дело именно в просмотре - управление кнопками - это программа уровня UserSpace, т.е. она может выполняться с любыми задержками. И из-за большой отрисовки она тормозит и снимает сигнал с пина кнопки с задержкой... Будем дальше курить тему отключения больших циклов...

Как вариант, не использовать предпросмотр, или использовать другой интерфейс, например TkEMC.
vladimir74
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 25 май 2011, 14:14
Репутация: 19
Откуда: Магнитогорск
Контактная информация:

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

Сообщение vladimir74 »

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

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

Сообщение Nick »

Ок, я тоже к ней часто обращаюсь, но обычно ищу через тему Установка LinuxCNC EMC2 #1, там внизу есть ссылка сюда...
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

У кого есть LinuxCNC с дефолтной таблицей инструмента? Надо восстановить диаметр первого по умолчанию.
Ответить

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