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

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

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

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

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

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

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

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

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

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

Заключение


См. также

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

Настройка EMC2 LinuxCNC

Сообщение Nick »

Кстати, на первом экране настройки EMC2, Stepconf говорит, что минимальное разрешение экрана для его выполнения 800х600. Это не совсем так. Например у меня на нетбуке все окно не влазило на экран.

Но я имел доступ до всех элементов управления. В Gnome при нажатом Alt можно перетаскивать окно в любое место даже за пределы экрана. В windows, вроде нельзя перетащить окно таким образом, чтобы его заголовок оказался выше верхней границы экрана, в Ubuntu Linux можно.

Итак, нажимаем Alt, хватаем окно за любое место и тащим в нужную сторону. (Возможно, эта функция будет работать для какого-то определенного Alt'a - правого или левого.)
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

Помогите пожалуйста! Какое число ставить в Base Period Maximum jitter - стоит 35000 почемуто
1 Latency test выдает 7161 вместо 6666 и 6309 вместо 7085,

"чтобы контроллер работал правильно и не пропускал шаги минимальный base period должен быть равным длительность direction setup+direction hold+step space+maximum latency. " = 52161??????

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

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

Сообщение Nick »

Эмммм... давай еще раз, что показывает latency test в поле max jitter? (можешь прикрепить сюда скриншот (Print+Screen и на форме ответа добавить вложение))

По идее станок просто так останавливаться не должен. Особенно если при этом не выдается никакой ошибки.

Есть ли еще какие-нибудь симптомы остановки станка? Например останавливается регулярно, или раз в день?
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

тест.jpg (71534 просмотра) <a class='original' href='./download/file.php?id=1474&sid=672ea446a01aabe68fdd9fd1e182dd3c&mode=view' target=_blank>Загрузить оригинал (36.49 КБ)</a>
У МЕНЯ ПОЛУЧИЛОСЬ 7161 вместо 6666 и 6309 вместо 7085
Остальные параметры Step time -5000
Step space -5000
Direction hold -20000
Direction setup -20000
Хотя откуда они взялись не знаю.
Станок останавливается регулярно, через 1- 60 мин без системы.
на проверенных файлах,где не было глюка.Выглядит это как при перепаде напряжения
шпиндель и двигатели приостанавливаются на полсекунды, щелкает реле в контроллере
и едет дальше при этом если отогнать в 0 сдвиг по двум осям 3-15мм.Портятся доски,фрезы и время.
Подозрения в основном на контроллер или его блок питания. но хотелось исключить
неправильность настройки ЕМС, т.к. человек который ставил ее - тупо переписал все параметры из
турбоснс, с другого компа.
Заранее благодарен за любую помощь.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

AVR писал(а):шпиндель и двигатели приостанавливаются на полсекунды, щелкает реле в контроллере
и едет дальше при этом если отогнать в 0 сдвиг по двум осям 3-15мм.Портятся доски,фрезы и время.
Подозрения в основном на контроллер или его блок питания. но хотелось исключить
неправильность настройки ЕМС, т.к. человек который ставил ее - тупо переписал все параметры из
турбоснс, с другого компа.
Я не думаю, что это ЕМС. На 99.9% блок питания/контроллер. Реле бы не щелкали и шпиндель не останавливался, разве что немного шагов пропустило бы (но никак не 15 мм).
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

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

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

Сообщение Nick »

7161 это очень хорошо!
Если EMC2 никаких ошибок не выдает, то наверное проблема не в ней.
Подключение нормальное? С ним проблем не может быть? Что есть в управлении станка, 3-4 оси, пин enable, что-нибудь еще?

Можно завести обратную связь от питания платы контроллера на кнопку аварийного отключения, или добавить контрольные энкодеры на оси...
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

7161 это очень хорошо,а что с ней делать? поставить в Base period max jitter? или прибавить 20000+20000+5000 и поставить 52161?
Осей 3.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

По идее ты должен поставить 8000, а stepconf должен сам его сложить с остальными параметрами.

А кроме осей есть что-то? Charge pump?
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

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

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

Сообщение PKM »

Не должно быть глюков от параметров. В этом случае вообще не должно работать.

8000 вместо 35000 - куда именно? в stepconf или в ini файл?
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

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

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

Сообщение PKM »

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

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

Сообщение Nick »

ChargePump это сигнал особой частоты, служит он для того, чтобы контроллер не срабатывал на случайные импульсы в LPT порте, например при включении компьютера. Контроллер слушает этот сигнал, и если его частота не совпадает с заданной, то контроллер просто выключается. Таким образом, если прервется связь с контроллером, то он отрубится. Кстати, тоже самое произойдет, если отрубится пин enable.

Как вариант, можно сделать обратную связь от контроллера в сторону EMC2, чтобы контролировать такие выключения и своевременно принимать меры.

Попробуй во время прогонки теста в stepconf подергать все провода, может проблема с подключением? От остальных настроек зависеть не должно. Как правильно заметил PKM, уменьшение параметра Max jitter, не уменьшит количество возникающих ошибок, может только увеличить. Но при этом:
1. Обязательно появится окошко с ошибкой в EMC2 с чем-то вроде того, что превышен размер base period.
2. Если реально latency не поднимается выше 8000 при любых нагрузках на компьютер, то можно оставить это значение.

PS Контроллер не может перегреваться?
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

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

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

Сообщение Nick »

AVR писал(а):Еще когда стояла трубоснс нужно было редактировать или удалить два файла - config и autoexec.bat
Вроде в Матче тоже что то такое. Может в ЕМС тоже нужно что то такое сделать?
Неее тут совсем другая система :). Эти файлы уже удалены заранее :hehehe:.

Кстати, я так понимаю, ты фигурные доски режешь? G64 используешь?
AVR
Новичок
Сообщения: 8
Зарегистрирован: 12 май 2011, 14:38
Репутация: 0
Контактная информация:

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

Сообщение AVR »

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

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

Сообщение Nick »

Если бы принтер работал 800Вт шпинделем и от него летела стружка и прочих хлам с ним бы тоже проблемы начались. Раньше над матричными принтерами тоже нужно было сидеть и смотреть, чтобы он бумагу не зажевал, чтобы лента не кончилась, или еще чего не произошло.

Про G64 посмотри обязательно, скорость обработки может увеличится вплоть до нескольких раз.

Файл переименовывать не обязательно. Можно просто поменять настойки расширений в EMC2 или просто открывать нужный файл. EMC2 по идее должен понять, что это Gcode.
Vladimir 2011
Почётный участник
Почётный участник
Сообщения: 221
Зарегистрирован: 20 май 2011, 17:40
Репутация: 19
Контактная информация:

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

Сообщение Vladimir 2011 »

По поводу конфигурации. Изготовитель написал, что настроено на 1/8 шага. Оборот на 360 за 33 шага. Резьба м10 - шаг резьбы 1,5мм. Завожу эти величины. Когда делаю тест на 50мм - каретка делает меньше чем 5см движения. И вообще как то захудало работает. А когда стоят настройки в дюймах - все работает гораздо лучше и быстрее.(это когда автоматом величины заполнены для контороллера, правда в дюймах)
Еще в мануале есть временные диаграммы и они подписаны так:
A) Minimum Command Active Time Before Step Pulse 200nS
B) Minimum Command Active Time After Step Pulse 200nS
C) Minimum STEP Pulse Width 1.0uS
D) Minimum STEP Low Time 1.0uS
Тест max jitter: 14354
Как правильно воспользоваться этими величинами для настроек?
:?:
Вложения
XS3525V400.pdf
мануал для контроллера
(210.05 КБ) 2289 скачиваний
Ответить

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