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

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

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

Screenshot-EMC2 Stepper Mill Configuration-2.png (315664 просмотра) <a class='original' href='./download/file.php?id=782&sid=121b06bb10661c3fda463935f1b749f9&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 (315664 просмотра) <a class='original' href='./download/file.php?id=783&sid=121b06bb10661c3fda463935f1b749f9&mode=view' target=_blank>Загрузить оригинал (99.1 КБ)</a>
Настройка LPT для EMC2
Настройка LPT для EMC2 (315664 просмотра) <a class='original' href='./download/file.php?id=784&sid=121b06bb10661c3fda463935f1b749f9&mode=view' target=_blank>Загрузить оригинал (88.29 КБ)</a>
Настройка LPT для EMC2

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

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

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

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

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

Дополнительные настройки EMC2 (315664 просмотра) <a class='original' href='./download/file.php?id=788&sid=121b06bb10661c3fda463935f1b749f9&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 (315664 просмотра) <a class='original' href='./download/file.php?id=789&sid=121b06bb10661c3fda463935f1b749f9&mode=view' target=_blank>Загрузить оригинал (74.23 КБ)</a>
Окончание настройки EMC2

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
kusha
Новичок
Сообщения: 2
Зарегистрирован: 13 сен 2021, 21:26
Репутация: 0
Настоящее имя: Игорь
Контактная информация:

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

Сообщение kusha »

Коллеги, подскажите пожалуйста:
поменял вал на оси z - 15мм на 16мм. Теперь станок по оси z не достает до стола! Какие настройки нужно поменять и где они находятся?
(LinuxCNC уже установлен!)
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Запустите stepconf, откройте вашу конфигурацию, пролистайте настройки до Z и поправьте там циферки.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

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

Сообщение iMaks-RS »

Kost_irk писал(а): Запустите stepconf
... и если там были внесены измения от руки... то...

сделайте копию файла, на всякий случай.. если уже не поздно..
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Ну, судя по вопросу, вряд ли там кто-то копался. Если что, освоит настройку заново :)
kusha
Новичок
Сообщения: 2
Зарегистрирован: 13 сен 2021, 21:26
Репутация: 0
Настоящее имя: Игорь
Контактная информация:

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

Сообщение kusha »

Kost_irk писал(а): 13 сен 2021, 22:26 Запустите stepconf, откройте вашу конфигурацию, пролистайте настройки до Z и поправьте там циферки.
Спасибо, попробую.
Я так понимаю, что при запуске stepconf нужно выбрать "изменить старую", верно?
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

Не кидайтесь тапками, пжлста...

А нет ли в LCNC стандартной конфигурации для CORE XY ??? Кто занимался этим - ткните в горячую тему на форуме...
Хочешь быть счастливым? Будь им!
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Есть. Если кратко, в хале заменить loadrt trivkins на loadrt corexykins
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

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

Сообщение iMaks-RS »

Как средствами LinuxCNC реализовать:
1. задержку/паузу выключения циркуляции охлаждения шпинделя после его отключения (через реле, порт 17 платы BOB25 - подключена к Mesa 7i92)
2. Начинать выполнение УП с задержкой, что-бы СОЖ успела прокачаться из помпой.

"на коленке" пока могу:
п.1 сделать через реле ПЧ - есть такая функция в настройках, но длительность задержки пока не выяснил.
п.2 в ручную править УП, добавить код M07 перед М05 - тк. ПЧ подключен по RS-485, то пока шпиндель не раскрутиться, УП не будет выполняться.. правда есть "нюанс" - сверловка.. 3мм сверло, обороты 3000.. раскручивается быстро, сож не успевает попадать в место обработки.. можно руками добавить паузу или учиться править постароцессор и таки добавить паузу после команд М07 М08
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

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

Сообщение xenon-alien »

iMaks-RS писал(а): п.1 сделать через реле ПЧ - есть такая функция в настройках, но длительность задержки пока не выяснил.
Обычно так и делается... (лично я так делаю)
iMaks-RS писал(а): п.2 в ручную править УП, добавить код
А чем плох G4 Р5?
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

ремап сделай, там создаешь обработчик М8, и там же вызываешь встроенную команду М8, добавляя G4 перед ней.
Если не получится сделать на М8 - так сделай ремап М108 или любой другой номер поправив в посте код охлаждения.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

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

Сообщение iMaks-RS »

Народ, что я делаю не так? В glade-gtk2 отсутсвует панель HAL Python. Если быть точным, панель появляется только при установке версии LinuxCNC 2.8.3-2-ga9d054de4. При LinuxCNC 2.8.3 и 2.9.0-pre0-7469-g6afae2571 панель из glade-gtk2 пропадает. Пакеты linuxcnc-dev для установки выбираю, но результат один и тот-же :shock: Использую дистр "LinuxCNC 2.8.2 Debian 10 Buster PREEMPT-RT ISO"
Уж думал - может что натворил.. переустановил дистр, но без результата.
foforum
Мастер
Сообщения: 223
Зарегистрирован: 02 июл 2012, 06:43
Репутация: 5
Контактная информация:

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

Сообщение foforum »

Не знаю туда ли пишу, в общем, устал от глюков мач3, поставил линукс. Настроил энкодер как фаза А, больше 6 об/мин линукс не выдает.
На энкодере 1 метка. В мач3 это прекрасно работало и обороты читались правильно. Я так понимаю в линуксе нужно указать количество меток энкодера на оборот, как это сделать?
ex71
Мастер
Сообщения: 697
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

foforum писал(а): 03 окт 2022, 11:07 Я так понимаю в линуксе нужно указать количество меток энкодера на оборот, как это сделать?
завист от вашего железа.
конфиг свой приложите - будет проще, чем у вас выспрашивать.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

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

Сообщение xenon-alien »

foforum писал(а): Я так понимаю в линуксе нужно указать количество меток энкодера на оборот, как это сделать?
механику и энкодер тоже
foforum
Мастер
Сообщения: 223
Зарегистрирован: 02 июл 2012, 06:43
Репутация: 5
Контактная информация:

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

Сообщение foforum »

xenon-alien писал(а): Я так понимаю в линуксе нужно указать количество меток энкодера на оборот, как это сделать?
А ларчик просто открывался.
Вложения
lcnc.png (1614 просмотров) <a class='original' href='./download/file.php?id=205117&sid=121b06bb10661c3fda463935f1b749f9&mode=view' target=_blank>Загрузить оригинал (37.7 КБ)</a>
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

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

Сообщение xenon-alien »

foforum писал(а): 06 окт 2022, 18:45
xenon-alien писал(а): Я так понимаю в линуксе нужно указать количество меток энкодера на оборот, как это сделать?
А ларчик просто открывался.
Это не я спрашивал...
Аватара пользователя
fleshget
Опытный
Сообщения: 108
Зарегистрирован: 27 ноя 2009, 21:18
Репутация: 2
Контактная информация:

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

Сообщение fleshget »

Здравствуйте.
Подскажите пожалуйста как и в какой строке hal-файла поменять логический уровень Step A. С низкого на высокий или наоборот.

Я уже вторые сутки борюсь с поворотной осью - ноль теряет. И при чем то нормально возвращается, то теряет. Теряет около 0,25 градуса (оптопара bs5-t2m).
Драйвер на другой менял. Вход с другой координаты подавал. Все равно нестабильно. Вообще не могу разобраться в чем дело. У меня после LPT стоит китайская плата опторазвязки пятиканальная.

Осталось теперь комп поменять...
Вложения
krepish.hal
(3.95 КБ) 50 скачиваний
D.L.
Мастер
Сообщения: 471
Зарегистрирован: 25 авг 2018, 10:11
Репутация: 152
Настоящее имя: Дмитрий
Откуда: Киров
Контактная информация:

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

Сообщение D.L. »

добавить строку:
setp parport.0.pin-09-out-invert 1
Аватара пользователя
fleshget
Опытный
Сообщения: 108
Зарегистрирован: 27 ноя 2009, 21:18
Репутация: 2
Контактная информация:

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

Сообщение fleshget »

D.L. писал(а): 23 апр 2023, 16:14 добавить строку:
setp parport.0.pin-09-out-invert 1
Благодарю! Добавил, но проблема не ушла... У меня версия 2.7.14
Щас реально думаю или новую версию установить, или комп другой... просто не знаю уже что делать:

запускаю Linuxcnc, обнуляю поворотную координату. Проварачиваю на 360 градусов. Проворачиваю в ноль - а по факту до нуля не доезжает на 0,25 градуса. То ли обнуление глюкает...
lkbyysq
Мастер
Сообщения: 2047
Зарегистрирован: 14 май 2016, 09:40
Репутация: 322
Настоящее имя: Станислав Ерофеев
Откуда: Санкт-Петербург

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

Сообщение lkbyysq »

fleshget писал(а): запускаю Linuxcnc, обнуляю поворотную координату. Проварачиваю на 360 градусов. Проворачиваю в ноль - а по факту до нуля не доезжает на 0,25 градуса.
fleshget писал(а): Драйвер на другой менял.
Драйверы конечно же пытаться менять можно. Но лучше не пальцем в небо тыкать, а обоснованно.
И Вы тоже снимите крышку с драйвера и убедитесь, что оптопара DIR внутри стоит быстрая (шести- или восьми-лапая). Если четырехлапая, то точно можно грешить на драйвер.
Ответить

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