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

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

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

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

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

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

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

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

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

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

Заключение


См. также

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

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

Сообщение Serg »

NightV писал(а):это? не для всех понятно что такое "тактовая частота" в программе, например мне, я знаю частоту в чипах, но вот програмнная.... не понятно
а какой-нибудь домохозяйке тут процентов 80 слов непонятны, и что с того?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
maks
Опытный
Сообщения: 167
Зарегистрирован: 31 дек 2013, 09:42
Репутация: 6
Контактная информация:

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

Сообщение maks »

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

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

Сообщение Serg »

Конечно человек.
Ты будешь домохозяйкам объяснять про G-код и про настройку LinuxCNC?
Хотелось-бы посмотреть как это будет выглядеть... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Документация на LinuxCNC написана в довольно свободном стиле.
Что добавляет сложностей тем, у кого английский на уровне "читаю и понимаю литературу по специальности" - сужу по себе :oops: .
А гуглопереводчик местами выдает совершенную абракадабру.
NightV писал(а):не для всех понятно что такое "тактовая частота" в программе, например мне, я знаю частоту в чипах, но вот програмнная.... не понятно
А ты представь себе, что это не программа, а железяка. Описание на уровне hal на то и рассчитано.
Ну и "heartbeat", конечно, сбивает с толку - аналогия кривая. Что, все процессы в организме синхронизируются частотой пульса :idiot:
Чудес не бывает. Бывают фокусы.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

Я лично ето хеартбеарт считал гуманитарно-языческо-паропанковской бредятиной.
А оно вот в чём дело оказывается,лучше бы действительно "базовая частота" писали.

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

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

Сообщение Serg »

Вообще-то heartbeat - довольно распостранённое слово в текстах по электронике... :)

Гуглопереводчиком надо пользоваться только как словарём с зачатками интелекта, но не более. Даже живой переводчик не знакомый с темой переведёт вам аналогично. Тут надо привлекать собственную соображалку в помощь. Есть такая игра: один игрок говорит другому слово, а этот другой должен жестами/намёками изобразить его так, чтоб остальные поняли о чём речь. Вот в переводах с разных языков принцип примерно тот-же. Нужно просто "чужеродные фразы" попытаться заменить аналогами, подходящими по смыслу. А иногда даже поискать в родном языке слова, похожие по звучанию...

Кстати, в гуглопереводчике, в переведённом тексте можно потыкать мышом в отдельные фразы - гугл будет предлагать парианты перевода. Можно как из конструктора собрать наиболее подходящий вариант.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

UAVpilot писал(а):Даже живой переводчик не знакомый с темой переведёт вам аналогично.
Знакомо, профессиональная переводчица как-то перевела sawtooth voltage как "напряжение на зубьях пилы". Вся лаборатория лежала - ну не было в 70-х ни гуглопереводчика, ни даже промта, чтоб привыкнуть к таким перлам :)
UAVpilot писал(а):в гуглопереводчике, в переведённом тексте можно потыкать мышом в отдельные фразы - гугл будет предлагать парианты перевода. Можно как из конструктора собрать наиболее подходящий вариант.
Как-то переводил гуглом с корейского (на английский, потому что на русский совсем грустно получалось) - можно было набрать вариантов со строго противоположными значениями.
Чудес не бывает. Бывают фокусы.
alexandr1988
Кандидат
Сообщения: 77
Зарегистрирован: 07 окт 2014, 11:54
Репутация: 5
Контактная информация:

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

Сообщение alexandr1988 »

Подскажите, возможно ли использовать код M66 без задания параметра Q, отвечающего за таймаут? То есть ждать появления сигнала на пине неограниченное количество времени.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

alexandr1988, здесь об этом ничего не сказано http://linuxcnc.org/docs/html/gcode/m-c ... ut-Control

Q86400 будет ждать сутки... неужели мало?
alexandr1988
Кандидат
Сообщения: 77
Зарегистрирован: 07 окт 2014, 11:54
Репутация: 5
Контактная информация:

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

Сообщение alexandr1988 »

PKM писал(а):alexandr1988, здесь об этом ничего не сказано http://linuxcnc.org/docs/html/gcode/m-c ... ut-Control

Q86400 будет ждать сутки... неужели мало?
Спасибо, там читал в первую очередь. Понял, поставлю заведомо большой таймаут
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

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

Сообщение medossa »

Форумчане, нужен совет. Собираю хобби-станок, по оси Y будет два зубчатых ремня. Контроллер заказал 4-axis TB6600. У меня раньше был 3-axis TB6560. Там проще было) Сейчас же надо повесить два движка на одну ось (причём один движок крутит по часовой, другой - против). Где-то читал, что это возможно в LinuxCNC. Какую конфигурацию создавать - XYZ или XYZA?? Как дальше подчинить два движка одной оси? Не вкурю)
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

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

Сообщение medossa »

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

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

Сообщение Nick »

Можешь сделать xyz и x выводить на два пина, если надо напротив одного поставь инверт.

Если хочешь хитрее, тогда надо gantry_kins
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

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

Сообщение medossa »

Nick писал(а):Можешь сделать xyz и x выводить на два пина, если надо напротив одного поставь инверт.
Если хочешь хитрее, тогда надо gantry_kins
Спасибо. Gantry_kins вещь для знатоков) Буду делать XYZ.
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

Добрый дунь уважаемые форумчане!!!
Я, также как и многие другие хотел давно попробовать ЕМС2, но всё как-то не было время.
Установил и настроил ЕМС2 на три оси, проблем не составило, а вот четвёртую ось мне осилить не удалось.
Я, не понимаю что нужно заносить в конфигурацию оси?
Что означает "Шаг винта" для поворотной оси?
Если не трудно сделайте скрин для меня

У меня редуктор 98:1
Двигатель 1,8 гр.
Микро-шаг 1/16

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

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

Сообщение verser »

Вот как у меня настроена поворотная ось в станке XYZB (ось B вращается параллельно Y)

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

# Fourth axis = B
[AXIS_4]
TYPE = ANGULAR
WRAPPED_ROTARY = 1
HOME =  0.0
MAX_VELOCITY = 240
MAX_ACCELERATION = 6000
STEPGEN_MAXACCEL = 8400
INPUT_SCALE = 106.666666667
FERROR = 1
MIN_FERROR = 0.25
BACKLASH = 0.000
OUTPUT_SCALE = 1.000
HOME_OFFSET =  0.0
HOME_SEARCH_VEL =  0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX =  NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
Редуктор 6:1
Двигатель 1,8 гр.
микрошаг 1:32
Вам предлагаю ставить INPUT_SCALE = 98*16/1.8 = 871.111111111 (из соображения 1микрошаг=1градус), скорости и ускорения подобрать максимальные без сбоев.
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

Спасибо, что откликнулись!
Теперь я, понял, что копать нужно ГЛЫБЖЕ...
Без элементарных знаний LinuxCNC- никуда...
Спасибо!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Время исполнения базовой (стандартной, единичной, типовой) операции, например.
Хочешь быть счастливым? Будь им!
raslab
Новичок
Сообщения: 36
Зарегистрирован: 16 апр 2012, 05:49
Репутация: 7
Контактная информация:

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

Сообщение raslab »

Вылезла ещё одна неприятность, оказалось, что 1,8 ггц и 1 гб памяти и видео 128 для нормальной работы мало.
На простых УП все хорошо, а когда я загрузил УП ножки- кабриоль он грузился минуты три.
При попытки установить смещение по оси вообще- мрак....
Значит не судьба....
Отложим опять на неопределённое время.

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

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

Сообщение torvn77 »

raslab писал(а):При попытки установить смещение по оси вообще- мрак....
А как вы это делаете и в чём этот мрак проявляется?
(Просто хоть в LinuxCNC,хоть в пульте что у меня был установка нуля вещь в которой легко запутаться и начудить)
Ответить

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