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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

у тебя просто так без энкодера шпиндель крутится? , все подключено?, когда это будет работать тогда уже будет настраиваться энкодер , регулировка скорости шпинделя , нарезание резьбы ,
или для нарезания резьбы предполагается вращения шпинделя вручную или как то по другому
как по мне сначала все подключи электричество , потом через степ конфиг настрой чтобы шпиндель вращался
та конфигурация что есть сейчас у тетя должна показывать обороты шпинделя на панельке pyvcp
Maxmarinin
Новичок
Сообщения: 13
Зарегистрирован: 16 фев 2018, 20:27
Репутация: 0
Настоящее имя: Максим
Контактная информация:

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

Сообщение Maxmarinin »

Шпиндель просто включается кнопкой и шимом не управляется. Энкодер только для обратной связи при нарезании резьбы. Все подключено и крутится, только обороты не отображаются и G33-76 не отрабатываются.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

чтобы обороты отображались нужно создать дополнительную панель pyvcp
для этого создаешь файл в текстовом редакторе , как по твое ссылке , обзываешь это фай custompanel.xml и вставляешь в этот файл текст что ниже и сохраняешь

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

### The following code goes in custompanel.xml
 
<?xml version='1.0' encoding='UTF-8'?>
# если при старте будут проблемі с панелькой может надо закомментировать строку , что віше , я не знаю что єта строка означает 
<pyvcp>
         <vbox>       
         <bd>6</bd>
                <label>
                        <text>"Spindle Speed:"</text>
                        <font>("Helvetica",20)</font>
                </label>
                <bar>
                        <halpin>"spindle-speed"</halpin>
                        <max_>3000</max_>
                </bar>
                <label>
                        <text>"Spindle-At-Speed:"</text>
                        <font>("Helvetica",20)</font>
                </label>
                <hbox>
                    <label>
                            <text>"             "</text>
                            <font>("Helvetica",20)</font>
                    </label>
                    <led>
                        <halpin>"spindle-at-speed-led"</halpin> 
                        <size>30</size> 
                        <on_color>"green"</on_color>
                        <off_color>"red"</off_color>
                    </led>
                </hbox>
        </vbox>
</pyvcp>
далее в ини файле своего станка в разделе
DISPLAY

добавляешь строку с именам файла где нарисована твоя дополнительная панелька также про панельку можно почитать здесь
Re: EMC2 Integrators Manual Перевод на русский язык #67

PYVCP = custompanel.xml

теперь при запуске конфигурации твоего станка должна появиться панелька
ну а дальше должны быль соединены индесная метка ( метка которая срабатывает один раз на один оборот шпинделя)

net spindle-index encoder.0.phase-Z <= parport.0.pin-12-in
вот это отвечает за программное соединение , метка начала резьбы

net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in
это соединение отвечает за согласование синхронного движения шпинделя и суппорта подачи резца
дальше должно все работать нужно настраивать коэффициенты
я сильно не вникал в твою конфигурацию , там на сколь я понял заложена стабилизация оборотов шпинделя
Maxmarinin
Новичок
Сообщения: 13
Зарегистрирован: 16 фев 2018, 20:27
Репутация: 0
Настоящее имя: Максим
Контактная информация:

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

Сообщение Maxmarinin »

Да, я не написал, что панелька PyVCP у меня была уже раньше и до того как я начал заморачиваться с энкодером всё корректно работало. Обороты отображались при выполнении программы согласно параметра оборотов шпинделя S.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

хал метром или хал скопом смотрел сигналы от энкодера проходят
Maxmarinin
Новичок
Сообщения: 13
Зарегистрирован: 16 фев 2018, 20:27
Репутация: 0
Настоящее имя: Максим
Контактная информация:

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

Сообщение Maxmarinin »

Ну в общем ситуация немного прояснилась, если закоментить в custom.hal строку net spindle-at-speed motion.spindle-at-speed <= near.0.out и соответствующую строку в cusom_poctgui.hal, то светодиод spindle-at-speed на pyvcp панели всё время горит зелёным, обороты не отображаются, но подача по Z не блокируется и резьба режется. Если снимаешь со строки # , То при включении шпинделя сразу загорается красный светодиод и блокируется подача по Z. Напрашивается вывод - что-то надо инвертировать. Пробовал пины LPT( net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in-invert true) пишет, что нет такого пина. Вероятно надо править то, что касается spindle-at-speed в главном hal файле.
Аватара пользователя
jackmet
Новичок
Сообщения: 22
Зарегистрирован: 24 дек 2016, 19:47
Репутация: 0
Настоящее имя: Avon
Контактная информация:

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

Сообщение jackmet »

Пока шеф везет плату развязки, я решил посмотреть на осциллографе, что у меня творится на пинах ЛПТ. А там, к сожалению, тишина. Нет ни стэпов ни диров - все по нулям. Естественно, это все смотрелось при запущенной проге, типа она режет деталь плазмой. Первая мысль была - не правильный базовый адрес ЛПТ, но при запуске тестов осей из Степконф, стэпы и диры присутствуют на всех 3-х осях. У меня на 1-ом пине ЛПТ должен находится сигнал Энабл
Screenshot-EMC2 Stepper Mill Configuration-4.png (3062 просмотра) <a class='original' href='./download/file.php?id=136635&mode=view' target=_blank>Загрузить оригинал (88.27 КБ)</a>
Вот что из этого набора я должен выставить в качестве сигнала Энабл?
На 17 ноге ЛПТ должен быть сигнал, который замыкал бы контакты реле. По всей вероятности - это должна быть лог 1 (5 в). Сигнал, попав на оптрон контроллера, подал бы питающее напряжение на катушку реле и замкнул бы контакты и тем самым зажег плазму. Я так понимаю, на 17 ногу мне надо прописать Шпиндель ON?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

jackmet писал(а):У меня на 1-ом пине ЛПТ должен находится сигнал Энабл
включить усилитель
jackmet писал(а):подал бы питающее напряжение на катушку реле и замкнул бы контакты и тем самым зажег плазму. Я так понимаю, на 17 ногу мне надо прописать Шпиндель ON?
если предполагается управление плазмой командами: М3 вкл, М5 выкл - то можно и так
Аватара пользователя
jackmet
Новичок
Сообщения: 22
Зарегистрирован: 24 дек 2016, 19:47
Репутация: 0
Настоящее имя: Avon
Контактная информация:

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

Сообщение jackmet »

solo писал(а): если предполагается управление плазмой командами: М3 вкл, М5 выкл - то можно и так
M03 и M05, но это похоже одно и то же. Или нет?
И еще по настройке конфига: откуда взять или как расчитать эти величины?
Screenshot-EMC2 Stepper Mill Configuration-2.png (3026 просмотров) <a class='original' href='./download/file.php?id=136671&mode=view' target=_blank>Загрузить оригинал (233.88 КБ)</a>
Я так понимаю - это настройка частоты контроллера или все-таки драйвера ШД?
Аватара пользователя
jackmet
Новичок
Сообщения: 22
Зарегистрирован: 24 дек 2016, 19:47
Репутация: 0
Настоящее имя: Avon
Контактная информация:

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

Сообщение jackmet »

Приветствую.
У нас на плазме забабахана вот такая ременная механика
Механика.png (2982 просмотра) <a class='original' href='./download/file.php?id=136779&mode=view' target=_blank>Загрузить оригинал (46.62 КБ)</a>
При настройке оси Х надо считать передаточный коэффициент все этой мути, или просто тупо поставить 1:1 и измерить на какое расстояние переместится портал за 1 оборот шагового движка?
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

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

Сообщение Nikomas »

32/18 - некрасивая дробь. Хотя сервопак справляется и с такими числами. В вашем случае лучше поставить индикатор и по нему прикинуть перемещения.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

jackmet писал(а):Я так понимаю - это настройка частоты контроллера или все-таки драйвера ШД?
Re: EMC2 Integrators Manual Перевод на русский язык #54

первый рисунок показывает какой параметр за, что отвечает
Аватара пользователя
jackmet
Новичок
Сообщения: 22
Зарегистрирован: 24 дек 2016, 19:47
Репутация: 0
Настоящее имя: Avon
Контактная информация:

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

Сообщение jackmet »

Nikomas писал(а): В вашем случае лучше поставить индикатор и по нему прикинуть перемещения.
Зубы, возможно, посчитаны не правильно. Про какой индикатор речь и какие перемещения я им должен измерить?
solo писал(а):первый рисунок показывает какой параметр за, что отвечает
за ссылку спасибо, но там так написано мудренно, что я нихера не понял. Можно как-то по-проще? Например, у драйвера ШД максималка 50 кГц т.е. = 20000 нс. Если я правильно понимаю вопрос, то для меандра 10000-степ и 10000 спейс. А вот откуда холд и сетап взять - вопрос.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

jackmet писал(а):Можно как-то по-проще?
у драйвера ШД есть характеристика мин время импульса , или мин время паузы , эти значения надо сюда и поставить ( степ тайм , степ спейс )
что касается значение "дирек" то эти значения больше зависят от конструктивных особенностей станка , если надо чтобы при смене направления движения оси станок делал задержку то нужно будет подобрать значения "дирек" при наладке станка, эти значения позволяют компенсировать моменты инерции подвижный частей станка
В подавляющем большинстве случаев эти значения можно оставить по умолчанию , а если возникнит необходимость то подкорректировать, эти значения, после в соответствующих файлах
Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

Можно ли как-то отключить принудительную установку "начал" после каждого запуска программы. Или вообще отключить эти софт лимиты, чтобы станок работал от координат детали не взирая на свои габариты?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Аватара пользователя
mantra
Кандидат
Сообщения: 71
Зарегистрирован: 07 апр 2018, 15:11
Репутация: 4
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение mantra »

Спс! Прочту полностью, пригодиться)
Аватара пользователя
Иванов
Новичок
Сообщения: 14
Зарегистрирован: 12 дек 2016, 15:23
Репутация: 0
Настоящее имя: Олег
Откуда: Питер
Контактная информация:

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

Сообщение Иванов »

Всем привет!
mantra писал(а):Можно ли как-то отключить принудительную установку "начал"
У меня похожая ситуация. В УП редактирую окончание программы,
X9.77 Z2.539 A-18358.997
Z20
X0 A-183360
M30
%
Если прописать A0, то тратится время на 183360 (возврат). При учёте того что цикл повторяется каждые 6-8 минут в течении рабочего дня, представляете сколько раз приходится находить начало оси А? Мож кто подскажет варианты решения?
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

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

Сообщение Nikomas »

solo писал(а):что касается значение "дирек" то эти значения больше зависят от конструктивных особенностей станка , если надо чтобы при смене направления движения оси станок делал задержку то нужно будет подобрать значения "дирек" при наладке станка, эти значения позволяют компенсировать моменты инерции подвижный частей станка
У меня немного другая задача. Надо отстроить ПИД петлю на приводе. Для этого надо задать направление движения, например х50. Ждем 2-3 сек пока отрисуется Хал-Скоп. Затем едем в х0 и ждем например 5сек (время для сравнения графика Скопа и внесение изменения в привод). Затем снова повторяем процедуру. х50 -> ждем 3сек - > x0 -> ждем 5 сек... Как такое реализовать Г-кодами?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

Nikomas писал(а):Ждем 2-3 сек
Ж4 не поможет?
http://linuxcnc.org/docs/2.6/html/gcode ... c:G4-Dwell
G4 P3
Ответить

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