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

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

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

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

Заключение


См. также

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

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

Сообщение Serg »

Nikomas писал(а):Для этого надо задать направление движения, например х50. Ждем 2-3 сек пока отрисуется Хал-Скоп. Затем едем в х0 и ждем например 5сек (время для сравнения графика Скопа и внесение изменения в привод). Затем снова повторяем процедуру. х50 -> ждем 3сек - > x0 -> ждем 5 сек... Как такое реализовать Г-кодами?

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

f7000
G64 P0.1
(AXIS,stop)
o100 do
g1 z-100
g1 z-10
o100 while [0 EQ 0]
m2
Ждать не надо - надо в халскопе включить синхронизацию по каналу с pos-cmd.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

В файле *.ini, есть такая строка "INTRO_GRAPHIC = linuxcnc.gif", захотелось мне поменять эту картинку. Подскажите Куда кидать новую картинку и какие форматы подходят?
Вот так не прокатило "INTRO_GRAPHIC = /home/cnc/linuxcnc/configs/stanok/img/pic.png"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

как вариант - найти оригинал и подменить...

в терминале:
locate linuxcnc.gif

у меня лежит:
/usr/share/linuxcnc/linuxcnc.gif

ну и "расширение" должно быть .gif
Аватара пользователя
T-REX_MECH
Новичок
Сообщения: 19
Зарегистрирован: 19 май 2018, 20:04
Репутация: 1
Настоящее имя: Дензел
Контактная информация:

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

Сообщение T-REX_MECH »

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

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

Сообщение Serg »

mantra писал(а):Подскажите Куда кидать новую картинку
В каталог, где лежит .ini
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

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

Сообщение alex1816 »

T-REX_MECH писал(а):где в настройках и как выставить зависимые оси,
gantry_kins - например здесь:
http://www.cnc-club.ru/forum/viewtopic. ... lit=Gantry
или (и) Альтернативная кинематика от UAVpilot:
http://www.cnc-club.ru/forum/viewtopic. ... lit=Gantry
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

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

Сообщение odekolon »

alex1816 писал(а):
T-REX_MECH писал(а):где в настройках и как выставить зависимые оси,
gantry_kins - например здесь:
http://www.cnc-club.ru/forum/viewtopic. ... lit=Gantry
или (и) Альтернативная кинематика от UAVpilot:
http://www.cnc-club.ru/forum/viewtopic. ... lit=Gantry
на данном этапе. не забивайте голову
либо присваивайте LPT пинам одинаковые функции, либо параллельте входы драйверов ШД

то Admins - тема всплывает регулярно , поместите в FAQ
Последний раз редактировалось odekolon 10 июн 2018, 13:41, всего редактировалось 1 раз.
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
evgenymcp
Мастер
Сообщения: 1422
Зарегистрирован: 23 апр 2017, 05:37
Репутация: 328
Настоящее имя: Евгений
Откуда: Абакан,Хакасия
Контактная информация:

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

Сообщение evgenymcp »

Как в Axis с клавиатуры задать постоянное перемещение? Shift-i и i меняют шаг дискретно. Возврат на постоянный шаг требует использования мыши :pssdoff: Обнулить G54 тоже требует мыши.
И еще одна недоработка в Stepconf. При использовании пина Pulse степконф не выдает на него сигнал, что как-бы не логично. Приходиться включать схему charge pump в ручную.
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

UAVpilot писал(а):В каталог, где лежит .ini
Спс, работает.
Для тех кто будет пробовать jpg не понимает, gif ок. По идее тогда и png должен подходить, но надо пробовать.
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

Подскажите пожалуйста. Можно ли корректно, чтобы это не повлияло на резку отключить проверку инструмента? То есть если в УП указан неизвестный для LinuxCNC номер инструмента T, выскакивает ошибка. Приходится либо править лист инструментов в LinuxCNC, либо удалять в УП строку с указанием этого инструмента. Мне вообще не нужна эта функция, фрезы меняю вручную.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

mantra писал(а):Приходится либо править лист инструментов в LinuxCNC, либо удалять в УП строку с указанием этого инструмента
тут нужно уточнить :
1. используется ли вообще команда М6 ?
(нужна ли она?)
если нет ,то можно сделать,что емс будет игнорировать .

а если нужна ,то:

2. номера инструментов попадаются больше 54 ??
я к тому ,что можно в таблицу инструментов прописать все 55 инструментов (и Т0)

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

T0 P0
T1 P1
T2 P2
T3 P3
T4 P4
T5 P5
T6 P6
T7 P7
T8 P8
T9 P9
T10 P10
T11 P11
T12 P12
T13 P13
T14 P14
T15 P15
T16 P16
T17 P17
T18 P18
T19 P19
T20 P20
T21 P21
T22 P22
T23 P23
T24 P24
T25 P25
T26 P26
T27 P27
T28 P28
T29 P29
T30 P30
T31 P31
T32 P32
T33 P33
T34 P34
T35 P35
T36 P36
T37 P37
T38 P38
T39 P39
T40 P40
T41 P41
T42 P42
T43 P43
T44 P44
T45 P45
T46 P46
T47 P47
T48 P48
T49 P49
T50 P50
T51 P51
T52 P52
T53 P53
T54 P54  
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

nkp, m6 не нужна в УП используется только один инструмент.

Для удобства ориентирования в базе среди реальны и виртуальны инструментов используются номера и больше 100
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

тогда пробовать sed-ом подчищать :
в ини :
[FILTER]

PROGRAM_EXTENSION = .ngc Script sed
ngc = sed -e '/[m|M]6[^0-9].*/d'
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

или даже так(так как команда T может стоять и в отдельной строке):

ngc = sed -e '/[m|M]6[^0-9].*/d' ; sed -e '/[t|T][0-9].*/d'
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

Спс, попробую.
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Подскажите пожалуйста. При выполнении G38.2 получаю ошибку "probe is already tripped when starting G38.2, or G38.3 move"
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

kadet_13 писал(а):Подскажите пожалуйста. При выполнении G38.2 получаю ошибку "probe is already tripped when starting G38.2, or G38.3 move"
Щуп сработал. Уже замкнут или размокнут, в зависимости от выставленных настроек.
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Нормально разомкнутый. В HAL скопе вижу замыкание и размыкания
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Разобрался. Заработало
Было
net probe-in <= parport.0.pin-15-in
Стало
net probe-in <= parport.0.pin-15-in-not
Аватара пользователя
raddd
Почётный участник
Почётный участник
Сообщения: 1564
Зарегистрирован: 10 фев 2015, 08:50
Репутация: 540
Настоящее имя: Alexey Rodionov
Откуда: Беларусь Минский р-н
Контактная информация:

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

Сообщение raddd »

evgenymcp писал(а):Как в Axis с клавиатуры задать постоянное перемещение? Shift-i и i меняют шаг дискретно. Возврат на постоянный шаг требует использования мыши
Constant feed клавиша [C]
||||||||||||
||||||||||||
Ответить

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