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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
flenger
Кандидат
Сообщения: 92
Зарегистрирован: 16 июл 2014, 12:49
Репутация: -2
Откуда: Москва
Контактная информация:

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

Сообщение flenger »

torvn77 писал(а):Ну а дальше замыкаешь и размыкаешь выключатель и смотришь что там происходит,
если есть реакция значит надо разбираться с конфигом, если нет то с электроникой.

И ещё, мне не нравится что один и тот же сигнал подключен и к верхним и к нижним лимитам.
По этому первым делом для начала я тебе предлагаю удалить из хала строку номер 93:
Спасибо! Не знал про эту возможность
Реакция отсутствует, получается или порт лпт глючит или где-то контакт пропадает, пойду еще раз проверять
flenger
Кандидат
Сообщения: 92
Зарегистрирован: 16 июл 2014, 12:49
Репутация: -2
Откуда: Москва
Контактная информация:

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

Сообщение flenger »

torvn77 писал(а):Ну а дальше замыкаешь и размыкаешь выключатель и смотришь что там происходит,
если есть реакция значит надо разбираться с конфигом, если нет то с электроникой.
Оказалось все банально,
У меня концевики подключаются к контроллеру через 9-ти пиновый комовский разьем:1-5 концевики, е-стоп, пробе а 6-9 земля для них.
От каждого концевика я протянул отдельную линию (т.е. два провода, не знаю но захотелось так). Так получилось, вернее для Z удобнее было подпаять землю на 9-й пин (по документации указано что там земля). По факту оказалось что земли на этом пине нет ... :thinking: В общем перепаял и все заработало.
Еще раз спасибо за помощь!
has1979
Новичок
Сообщения: 2
Зарегистрирован: 13 июл 2015, 22:37
Репутация: 0
Настоящее имя: Александр
Контактная информация:

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

Сообщение has1979 »

Что за ошибка
Stepconf·обнаружил ошибку.··Эта информация может помочь:

Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/stepconf/pages.py", line 596, in on_jogplus_pressed
self.a.update_axis_test()
File "/usr/bin/stepconf", line 1451, in update_axis_test
halrun.flush()
IOError: [Errno 32] Обрыв канала
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

Заголовок: Конфигурация EMC2 LinuxCNC
has1979 писал(а):Что за ошибка
Stepconf·обнаружил ошибку.··Эта информация может помочь:
Это ты в смысле багрепорта написал или тебе надо конфиг сочинить?
Александр79
Новичок
Сообщения: 3
Зарегистрирован: 21 май 2015, 23:20
Репутация: 0
Настоящее имя: Александр
Контактная информация:

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

Сообщение Александр79 »

При тестирование осей x,y,z. Выходит эта ошибка. Не могу понять выполняют конфигурацию строго по инструкции.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

Скорее всего дело в том, что питон путанный язык с одной стороны и меняется от версии 2 к версии 3.
В общем много чего стало глючить по этому, хотя ещё в прошлом году всё было нормально.
По этому если этот глюк продолжению работы мастера не мешает то просто не обращай на него внимания.
Ну если можно то в окне тестирования выкрути скорость на максимум. чтобы самому этот максимум не рассчитывать.
Александр79
Новичок
Сообщения: 3
Зарегистрирован: 21 май 2015, 23:20
Репутация: 0
Настоящее имя: Александр
Контактная информация:

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

Сообщение Александр79 »

При тестирование осей x,y,z. Выходит эта ошибка. Не могу понять выполняют конфигурацию строго по инструкции.
Александр79
Новичок
Сообщения: 3
Зарегистрирован: 21 май 2015, 23:20
Репутация: 0
Настоящее имя: Александр
Контактная информация:

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

Сообщение Александр79 »

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

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

Сообщение Nick »

У меня тоже что-то подобное когда-то вылезало. Но честно говоря, я пкрактически никогда не делал тестирование осей из stepconf, проще сделать все из linuxcnc
ashe
Новичок
Сообщения: 23
Зарегистрирован: 27 окт 2015, 00:20
Репутация: 1
Настоящее имя: Дмитрий
Контактная информация:

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

Сообщение ashe »

Что может быть не правильно, если при любых установках jitter программа ругается на real time delay?
Соответственно моторы не крутятся вообще. Комп вроде не совсем дрова еще... AMD Athlon 64, 2гига памяти. Спасибо за совет.
has1979
Новичок
Сообщения: 2
Зарегистрирован: 13 июл 2015, 22:37
Репутация: 0
Настоящее имя: Александр
Контактная информация:

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

Сообщение has1979 »

При включении станка после конфигурации выходит окошко linex CNC errors. и на это два варианта Sellect All и close.
.
Вложения
IMG_20151026_110037.jpg (2461 просмотр) <a class='original' href='./download/file.php?id=61861&mode=view' target=_blank>Загрузить оригинал (433.46 КБ)</a>
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск

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

Сообщение aekhv »

has1979 писал(а):При включении станка после конфигурации выходит окошко linex CNC errors.
Дословно, нельзя присоединить ВЫХОДНОЙ пин 'parport.0.pin-17-out-fake' к сигналу 'fake-enable', т.к. уже присоединён ВЫХОДНОЙ пин 'parport.0.pin-01-out-fake'.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение Serg »

Оттуда-же, откуда и sim_hardware.hal.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vko
Кандидат
Сообщения: 65
Зарегистрирован: 11 май 2015, 21:34
Репутация: 3
Настоящее имя: Василий
Откуда: Лобня
Контактная информация:

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

Сообщение vko »

Подскажите. Нигде не могу найти информацию конфигурации hal для контроля включения СОЖ (М8) и контроля включения шпинделя (шпиндель без энкодера). Сигнал буду брать от пускателей при их срабатывании. В документации motion.spindle-at-speed я так понял что работает только с энкодером. Т.е. при прохождении команды М8 или М3 система должна дожидаться сигнала на соответствующий пин.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

vko писал(а):motion.spindle-at-speed я так понял что работает только с энкодером
motion.spindle-at-speed IN BIT Motion will pause until this pin is TRUE, under the following conditions: before the first feed move after each spindle start or speed change; before the start of every chain of spindle-synchronized moves; and if in CSS mode, at every rapid->feed transition.

Ни слова об энкодере. То есть - работает и без него

Для М8 контрольный вход не предусмотрен. Ждать тут ни к чему... СОЖ либо включается, либо нет... если нет - это авария, должен сработать E-stop.
vko
Кандидат
Сообщения: 65
Зарегистрирован: 11 май 2015, 21:34
Репутация: 3
Настоящее имя: Василий
Откуда: Лобня
Контактная информация:

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

Сообщение vko »

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

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

Сообщение Nick »

Проще всего закинуть все пины в ClassicLadder и там нарисовать всю логику Estop.
А у тебя на включение СОЖ стоит датчик?
vko
Кандидат
Сообщения: 65
Зарегистрирован: 11 май 2015, 21:34
Репутация: 3
Настоящее имя: Василий
Откуда: Лобня
Контактная информация:

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

Сообщение vko »

Датчика нет. Сигнал беру с пускателя, 24В. Если сигнал есть значит СОЖ должна идти. Ладно будем с ClassicLadder ковыряться. Я думал есть команда на контроль включения по стандартным функциям, например как motion.spindle-at-speed.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

Зачем брать сигнал с пускателя, если он туда же и подается? Неужели настолько ненадежна цепь включения этого пускателя? :)
Ответить

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