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

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

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

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

Заключение


См. также

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

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

Сообщение Nick »

Поставь 0 или просто сотри нафиг :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Rafiq писал(а):У кого есть LinuxCNC с дефолтной таблицей инструмента? Надо восстановить диаметр первого по умолчанию.
А их там несколько. :)
Они все с папке с готовыми конфигурациями.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sertix
Мастер
Сообщения: 627
Зарегистрирован: 07 май 2011, 09:06
Репутация: 138
Настоящее имя: Сергей
Контактная информация:

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

Сообщение sertix »

Вчера я пробовал сконфигурировать EMC2 LinuxCNC, загрузился с Лайва, моторы настроил, пины тоже, а вот с лимитами и как выбрать правильно какие концевики мне нужны не смог разобраться. В Mach3 с этим у меня вопросов не было. Пробовал как здесь, но мне так не надо, нужно чтобы было так:
Вложения
На фото стрелками у казаны датчики Home и написано какие где координаты должны быть (3604 просмотра) <a class='original' href='./download/file.php?id=8511&mode=view' target=_blank>Загрузить оригинал (151.78 КБ)</a>
На фото стрелками у казаны датчики Home и написано какие где координаты должны быть
Изображение
sertix
Мастер
Сообщения: 627
Зарегистрирован: 07 май 2011, 09:06
Репутация: 138
Настоящее имя: Сергей
Контактная информация:

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

Сообщение sertix »

Все решил проблему! В общем выглядят настройки так:
Для концевика выбираем значение "Начало"(у меня русская локализация)
Настройки лимитов и положения датчиков(привожу пример для оси Х):
Положение начала: 330
Перемещение стола: 0 до 330
Положение датчика начала: 331
Скорость поиска начала: -10(скорость имеет отрицательное значение!!!)
Направление датчика начала: Тоже

Для других осей аналогично.
Изображение
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

sertix писал(а):Все решил проблему!
sertix писал(а):Скорость поиска начала: -10(скорость имеет отрицательное значение!!!)
"Проблема" подробно описана :)
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

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

Сообщение hudoi »

может было .

в сроке Pulley Ratio мне нужно попоставить 1 к 2.5 - не проходит.
нажимю посчитать- сбрасывает на 1 к 3

как лечить?

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

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

Сообщение Nick »

1 к 2.5 это 2 к 5 ;). Попробуй вместо 2.5 написать 2,5 (через запятую) в русской локале разделитель целой и дробной частей - запятая.

Ну и вообще все это не нужные параметры, главное, чтобы получилось правильное число Шагов на мм (отображается внизу), а что будет в остальных местах написано - не важно, все эти параметры (передача, шаг винта, к-во шагов на оборот и прочее) в конфиге не отображаются.
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

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

Сообщение hudoi »

спасибо, помогло. правда не понимаю почему всё равно число Шагов на мм приходится подгонять в ручную.

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

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

Сообщение Nick »

Скинь свой ini.
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

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

Сообщение hudoi »

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

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

Сообщение Nick »

Вот эти параметры попробуй поменять:
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.010000

MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

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

Сообщение hudoi »

Nick писал(а):MAX_LINEAR_VELOCITY = 1.000000
MAX_LINEAR_VELOCITY = 10.000000
спасибо . помогло. Стало не так печально
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

Сообщение Nick »

Возможно.
Пишем скрипт например на python, создаем в нем компонент touchpad, с двумя пинами типа FLOAT_OUT, в этом компоненте пишем обработку тача, потом в hal присоединяем эти пины к:
halui.jog.N.analog float in
pin for jogging the axis N using an float value (e.g. joystick)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

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

Тупой вопрос: как изменить размер окна Stepconf? У меня оно не влазит на экран с разрешением 1024*768. Приходится таскать туда-сюда, чтобы нажать нужную кнопку. Стандартные средства изменения размера окон в этой программе заблокированы. На скриншотах в этой теме размер окна вполне приемлемый (в режиме "загрузить оригинал", само собой). Да и на первом окне Stepconf сказано, что достаточно разрешения 800*600. Где копать?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Serg-tmn писал(а):Да и на первом окне Stepconf сказано, что достаточно разрешения 800*600. Где копать?
Можно попробовать размер шрифта поменять. В Система-Параметры-Тема. Но повлияет на всю систему. А вообще, 1 раз можно и потаскать. Кстати, в Ubuntu можно таскать окно за любую часть, нажимаешь Alt и вперед.


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

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

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

Nick писал(а):Можно попробовать размер шрифта поменять. В Система-Параметры-Тема. Но повлияет на всю систему. А вообще, 1 раз можно и потаскать. Кстати, в Ubuntu можно таскать окно за любую часть, нажимаешь Alt и вперед.
Спасибо, Nick!
Сменил размер шрифта на 8, а было 12 - всё вписалось. Кто бы мог подумать, что размер окна завязан на шрифт? :thinking:
Про перетаскивание с Alt тоже не знал :monkey:
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Serg-tmn писал(а):Про перетаскивание с Alt тоже не знал
С ним самое крутое, что можно окно за верхний край экрана вытащить, а в винде - фиг :).
Serg-tmn писал(а):Кто бы мог подумать, что размер окна завязан на шрифт?
Ну тут все просто в Gtk интерфейсы рисуются чем-то похоже на html верстку таблицами. Есть свои минусы, но есть и плюсы.
Например, я конда писал 3д редактор на gtk, я весь интерфейс написал в gedt, и вся программа вышла в 500 строк кода, учитывая интерфейс.
И при этом все можно было развернуть на весь экран и все элементы растягивались. А вот в Qt и виде там все слегка по другому и не так удобно :)

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

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

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

hudoi писал(а):в сроке Pulley Ratio мне нужно попоставить 1 к 2.5 - не проходит.
нажимю посчитать- сбрасывает на 1 к 3

как лечить?
достаточно подставить реальное число зубьев шестерен (шкивов). То есть писать не 1 и 2.5, а, скажем 10 и 25. Или, скажем, 20 и 50. В эти поля вводятся только целые числа (а кто видел шестеренку с дробным количеством зубьев :) ).
Чудес не бывает. Бывают фокусы.
Ответить

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