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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
Vyrdalak
Новичок
Сообщения: 16
Зарегистрирован: 14 окт 2016, 00:25
Репутация: 0
Настоящее имя: Вячеслав
Контактная информация:

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

Сообщение Vyrdalak »

UAVpilot писал(а):Не подскажу - не понимаю что именно вы хотите.
хочу что бы при срабатывании концевика Х ось Y так же выставлялась в ноль!
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

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

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

Сообщение Serg »

Vyrdalak писал(а):хочу что бы при срабатывании концевика Х ось Y так же выставлялась в ноль!
Не важно где?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Vyrdalak
Новичок
Сообщения: 16
Зарегистрирован: 14 окт 2016, 00:25
Репутация: 0
Настоящее имя: Вячеслав
Контактная информация:

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

Сообщение Vyrdalak »

UAVpilot писал(а):
Vyrdalak писал(а):хочу что бы при срабатывании концевика Х ось Y так же выставлялась в ноль!
Не важно где?
Да у меня ось Y это круглый стол,было бы вообще замечательно если бы сработка была бы по нажатию кнопки (1 раз)
или автоматом выставлялся в ноль
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Vyrdalak писал(а):...было бы вообще замечательно если бы сработка была бы по нажатию кнопки (1 раз)
или автоматом выставлялся в ноль
Там пишут так
3.12. Immediate Homing

If an axis does not have home switches or does not have a logical home position like a rotary axis and you want that axis to home at the current position when the "Home All" button is pressed in Axis the following ini entries for that axis are needed.
SEARCH_VEL = 0
LATCH_VEL = 0
USE_INDEX = NO
HOME_SEQUENCE = 0
TDA
Новичок
Сообщения: 2
Зарегистрирован: 24 ноя 2016, 05:34
Репутация: 0
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение TDA »

Добрый день.

Поиском явно не нашел, но если уже обсуждалась прошу подсказать где :)

Поставил "из коробки" систему, пока просто посмотреть и "поиграться".
Подключил драйвер, мотор с энкодером (просто кусок струйного принтера).
Как настроить в Степконфиге параметры ?
Датчик энкодера 600 dpi. Т.е. если я правильно понимаю 600 шагов дают перемещение 25.4мм.
Или это можно руками в ini файле прописать ?

Выше писали что в секции [TRAJ] можно прописать no_force_homing=1 для игнорирования конечников.
Что еще нужно там прописать чтобы заставить систему работать по "упрощенной" схеме.
2 оси в виде 2х приводов и больше ничего :)
Просто сейчас система ругается но из за глюков кодировку не могу понять на что.
Где переключить язык с русского на английский не нашел :(
З.Ы. Сообщения об ошибках сплошные "??????"

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

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

Сообщение Serg »

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

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

Сообщение solo »

TDA писал(а):Или это можно руками в ini файле прописать ?
вот тема про энкодер
ЕМС2 и ШД с энкодером #1
TDA
Новичок
Сообщения: 2
Зарегистрирован: 24 ноя 2016, 05:34
Репутация: 0
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение TDA »

Прошу прощения, что не полностью описал ситуацию.
Энкодер заведен в привод DCS810.
http://www.leadshine.com/productdetail. ... del=DCS810
Если бы он стоял на валу мотора, то вопросов не было бы. Но он (энкодер) в данном случае на головке принтера, т.е контролирует фактическое положение.

З.Ы. по второму вопросу вроде разобрался.

Нашел фото ленты, похоже 600 это я приврал. Обновлено.
Посчитал по фото "полоски" на энкодерной ленте.
Получилось 60 штук на 10мм.
Как понимаю датчик работает по переднему и заднему фронту т.е. 120 импульсов (шагов) на 10мм.

Пусть n - шаг х - расстояние в мм

n*(Driver Microstepping * Pulley Ratio * Leadscrew Pitch) = x

120*(Driver Microstepping * Pulley Ratio * Leadscrew Pitch) = 10мм

Или
Driver Microstepping * Pulley Ratio * Leadscrew Pitch = 12

Я правильно понимаю ?

З.Ы. испытать смогу только вечером, да есть проблемы с точным замером.
столяр
Новичок
Сообщения: 27
Зарегистрирован: 09 ноя 2015, 20:27
Репутация: 0
Настоящее имя: Елфимов Валерий Юрьевич
Контактная информация:

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

Сообщение столяр »

Здравствуйте все. У меня вопрос можно ли на убунту 10.04 установить емс и если да то как это сделать? Сейчас стоит дебиан 2.7.8 но меня он не устраивает. Латенси тест показывает до 35000, на линукс снс было меньше 15000. При попытке запустить тест оси выдаёт ошибку степконфа, обрыв какойто линии 602 для оси х для других осей обрыв других линий. Конкретно выглядит так: Traceback (most recent call last) File "/usr/lib/pymodules/python2.7/stepconf/pages.ru" Line602, in update axis_params . self.a.update_axis_test() . File "/usr/bin/stepconf", Line 1457, in update_axis_test hal run.flush() . IOError: [Errno 32] обрыв канала. Если кто знает в чем причина то помогите. Заранее спасибо. PS. где можно посмотреть как установить сеть между дебиан 2.7.8 и убунту 14.04?
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

столяр писал(а):У меня вопрос можно ли на убунту 10.04 установить емс и если да то как это сделать?
Можно скачать и установить Ubuntu 10.04 Lucid Lynx with LinuxCNC 2.5.
Затем обновить linuxcnc, например, до версии 2.7...

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

 git config --global user.email "you@example.com"
 git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-dev
 sudo apt-get install libboost-python-dev libmodbus-dev libusb-1.0-0-dev
 cd linuxcnc-dev
 git checkout 2.7
 cd src
 git pull
 ./autogen.sh
 ./configure
 make
 sudo make setuid
 cd ..
 . ./scripts/rip-environment
 linuxcnc
столяр писал(а): Латенси тест показывает до 35000
Попробуйте рекоммендации п. 4.1.3 отсюда.
столяр
Новичок
Сообщения: 27
Зарегистрирован: 09 ноя 2015, 20:27
Репутация: 0
Настоящее имя: Елфимов Валерий Юрьевич
Контактная информация:

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

Сообщение столяр »

Спасибо бум пробовать усё сделать
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

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

Сообщение verser »

Обнаружена опасная некорректная отработка on_abort при применении remap M6 и переназначении

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

[RS274NGC]
ON_ABORT_COMMAND=O <on_abort> call
Выражается в том, что при попытке прервать выполнение g-code оси могут продолжить движение на некоторое расстояние, несмотря на отработку G80 (cancel modal motion) в on_abort.ngc, что может привести к аварии. Будьте осторожны! В обновлениях linuxcnc вроде разбираются с этим вопросом.
столяр
Новичок
Сообщения: 27
Зарегистрирован: 09 ноя 2015, 20:27
Репутация: 0
Настоящее имя: Елфимов Валерий Юрьевич
Контактная информация:

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

Сообщение столяр »

Привет всем. Пытался обновить емс 2.5.5 до 2.7 по предложенному скрипту , но неудачно. Нет пакета libboost-python-dev. При скачивании и установке выдаёт ошибку Dependency is not satisfiable:libboost-python1.46-dev
Аватара пользователя
Иванов
Новичок
Сообщения: 14
Зарегистрирован: 12 дек 2016, 15:23
Репутация: 0
Настоящее имя: Олег
Откуда: Питер
Контактная информация:

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

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

Всем привет! Пользую 2-х осевой станок, ось Х и поворотка ось А. По оси А имею значительный пропуск шагов. ШД шаг, гр : 1,8. Подозреваю что накасячил в настройках. Буду благодарен если что нибудь подскажете.
CIMG0167.JPG (3524 просмотра) <a class='original' href='./download/file.php?id=97549&mode=view' target=_blank>Загрузить оригинал (2.76 МБ)</a>
CIMG0168 (2).JPG (3524 просмотра) <a class='original' href='./download/file.php?id=97550&mode=view' target=_blank>Загрузить оригинал (2.75 МБ)</a>
CIMG0170 (2).JPG (3524 просмотра) <a class='original' href='./download/file.php?id=97553&mode=view' target=_blank>Загрузить оригинал (2.88 МБ)</a>
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

может попробовать уменьшить ускорение по оси А а то как то 700 наверное много да и частота степ высоковата (28000гц) я бы посоветовал изменить микрошаг , хотя если комп тянет без ошибок то пускай будет так
Последний раз редактировалось solo 13 дек 2016, 18:21, всего редактировалось 1 раз.
Аватара пользователя
Иванов
Новичок
Сообщения: 14
Зарегистрирован: 12 дек 2016, 15:23
Репутация: 0
Настоящее имя: Олег
Откуда: Питер
Контактная информация:

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

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

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

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

Сообщение solo »

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

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

Сообщение solo »

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

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

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

Всё равно попробую и отпишу. Спасибо!
Ответить

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