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

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

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

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

raslab писал(а):На простых УП все хорошо, а когда я загрузил УП ножки- кабриоль он грузился минуты три.
При попытки установить смещение по оси вообще- мрак....
Значит не судьба....
Отложим опять на неопределённое время.
можно отключить визуализацию, это должно помочь.

Скинь файл ngc.
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

Я, просто хотел проверить, правда ли говорят, что ЕМС2-это просто чудо.
Но, увы...
Мало того, что требование к ресурсам компа высокие, да ещё и тормозит при 2.5D. Включай визуализацию или не включай всё равно не дотягивает до МАСН3.
Да и вообще ЕМС2 далеко до него.
А G64 мне показалось не дорабатывает. Есть отличие конечно с ним и без него, но ставь хоть 8000/мин он реально все равно выдаёт не более 2000/мин., а то и меньше. Я, всегда удивлялся, когда показывают свои работы и пишут, что скорость 6000/мин, время 4 часа (к примеру), я ставлю на эту же работу 1500, а время занимает меньше. Теперь я, понял, что к чему....
На прямолинейных участках- да, возможно и есть выигрыш.
А по поводу того, что вылетает система или нет скажу- после первой загрузки большой УП (относительно большой) в 800000 строк комп завис. причину выяснять не стал, после перезагрузки заработал нормально. Хотя на нём у меня стоял МАСН3 и не было ни когда проблем. Вообще полезно тестировать другие программы. Теперь я точно не буду переходить на ЕМС2 пока не будет доработан до того, что бы хотя бы можно было удобно работать.

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

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

Сообщение Nick »

Покажи хотябы ngc и свои файлы настроек! Интересно глянуть, что там к чему.
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

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

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

Сообщение billsmith »

Вы просто G64 готовить не умеете )
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

И что же там такого особенного, что так влияет на результат?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

raslab писал(а):Просто ЕМС2 не оправдало моих надежд
С налету оно вряд ли оправдает.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

raslab писал(а):Поздно пить боржоми... Всё в корзине.
Я, не думаю, что там было, что-то не так. Просто ЕМС2 не оправдало моих надежд.
А вы случаем станок не по LPT подключали?
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

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

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

Сообщение Nick »

на планировщик траектории это не сильно влияет.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

Полтора -два метра в минуту для LPT вполне приличная скорость,причём большие скорости мелкий инструмент не выдерживает,ну а крупный обычно по многу не работает.
И мало ведь разрешить программе разгонятся,надо ещё и предоставить аппаратные возможности.
Ну или мирится со сбоями реалтайма.
Или использовать аппаратные контролёры,тогда и скорости будут большие,и сбоев реалтайма не будет.

П.С.
Вообще на один -два сбоя наплевать,плохо только что счётчика сбоев нету,нельзя этот процесс точно контролировать,добавил бы его кто нибудь в axis по умолчанию?
ИМХО он при настройке базового периода намного полезней будет чем ИМХО бесполезный индикатор максимальных задержек,
так как позволит сделать оценки устойчивости системы при реальной работе,а не тестовом запуске кучи не пойми чего и как влияющего.
(По факту я настраиваю периоды по времени до появления первого сообщения о сбое)

Заметил что вы,raslab, пишите про EMC2,так вот, это дремучая версия LinuxCNC и соответственно все улучшения будут в текущей версии LinuxCNC,а не в EMC.
Последний раз редактировалось torvn77 24 дек 2014, 13:07, всего редактировалось 3 раза.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

torvn77 писал(а):счётчика сбоев нету
есть счетчик, на одном из пинов, только не помню каком )
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

А у какого компонента?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

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

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

Сообщение billsmith »

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

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

Сообщение Serg »

Многие знают, что есть такой файл как ~/.axisrc, в который можно поместить некоторые команды на python и axis их выполнит при старте.
Однако немногие знают, что для разных конфигураций можно иметь отдельные файлы, аналогичные файлу ~/.axisrc
Для этого в INI в секции DISPLAY нужно указать такой параметр:

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

USER_COMMAND_FILE = ./my_axisrc
он заставит axis вместо стандартного ~/.axisrc загрузить файл my_axisrc из каталога с INI-файлом.

Вот пример использования: Re: Плазморез со смарт-вентиляцией #35

P.S. Работает в версиях 2.6 и новее, может и в предыдущих тоже, но я их не использую.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

torvn77 писал(а):Вообще на один -два сбоя наплевать,плохо только что счётчика сбоев нету,нельзя этот процесс точно контролировать,добавил бы его кто нибудь в axis по умолчанию?
параметр motion.servo.overruns
но это только для серво периода
alexandr1988
Кандидат
Сообщения: 77
Зарегистрирован: 07 окт 2014, 11:54
Репутация: 5
Контактная информация:

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

Сообщение alexandr1988 »

Где в ini файле конфигурации станка явно указывается количество импульсов на миллиметр для конкретной оси?
в параметре :
SCALE = 80.0
?
Сам ini файл прилагаю, для начального создания использовал stepconf.
В мануале есть такое:
STEP_SCALE = 4000 - in PNCconf built configs Specifies the number of pulses that corresponds to a move of one machine
unit as set in the [TRAJ] section
но у себя я не нахожу такого параметра.
Вложения
11.ini
(1.84 КБ) 1014 скачиваний
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

alexandr1988 писал(а): но у себя я не нахожу такого параметра.
У Вас за единицу приняты

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

[TRAJ]
...
LINEAR_UNITS = mm
...
Используйте параметр INPUT_SCALE в разделах [AXIS_...]
В INPUT_SCALE запишите количество микрошагов для продвижения на 1 мм .

Также в файле 11.hal убедитесь что

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

...
setp stepgen.0.position-scale [AXIS_0]INPUT_SCALE
...
setp stepgen.2.position-scale [AXIS_2]INPUT_SCALE
...
Последний раз редактировалось verser 11 мар 2015, 17:32, всего редактировалось 1 раз.
alexandr1988
Кандидат
Сообщения: 77
Зарегистрирован: 07 окт 2014, 11:54
Репутация: 5
Контактная информация:

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

Сообщение alexandr1988 »

У меня в разделах осей нет INPUT_SCALE, есть только просто SCALE, это одно и то же?
В hal файле ось описана так:

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

setp stepgen.0.position-scale [AXIS_0]SCALE
Последний раз редактировалось alexandr1988 11 мар 2015, 17:36, всего редактировалось 1 раз.
Ответить

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