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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: LinuxCNC - Альтернативная кинематика.

Сообщение aftaev »

Тема предполагает обсуждение интересных функций или только кинематики?

Сегодня узнал про одну интересную функцию на пром. стойке.
Написана программа и загружена. Если переключатель режима сит в Авто и нажать Пуск, то программа начнется исполнятся как обычно. Но если что то накосячили с привязками, Gcode... то ЧПУ погонит инструмент со всей дури в заготовку.
Для этого есть интересная функция.
Если переключить переключатель в режим штурвала(ручное управление) и нажать Пуск то программа будет выполняться по шагам(не по кадрам) в зависимости как и куда крутиться штурвал.

Допустим программа:
M3 S1500
G0 Z0
G1 X100 F1000
...

При переключении на эту функцию будет выполняться так:
1. При нажатии Пуск включится шпиндель и станок будет стоять.
2. Начинаем крутить штурвал ( в независимости от выбранной оси). Но в зависимости от множителя УП начинает ехать шагами. Если на штурвале стоит 0,01мм то при выполнении кадра G0 станок не погонит с всей дури, а будет спускаться к заготовке с каждым щелчком штурвала на заданный шаг 0,01мм или 0,1мм или 1мм. Если крутить штурвал в обратку то инструмент будет отъезжать обратно по траектории.
3. Когда все проверили, жмакается кнопка Стоп. Инструмент выводится и жмакается Пуск.

Интересно в Lcnc можно реализовать выполнение УП по щелчкам штурвала?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC - Альтернативная кинематика.

Сообщение MX_Master »

aftaev писал(а):Интересно в Lcnc можно реализовать выполнение УП по щелчкам штурвала?
G33 ?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

MX_Master, G33 не поможет как и любой другой Gcode
Есть готовая написанная программа, в которую нельзя уже что либо добавлять/убирать.

Эта фишка работает:
Пуск нажали, запустился шпиндель
Станок стоит и ждет
Штурвал щелкнули, станок проехал по программе 0,1мм и остановился. Еще щелкнули, еще проехал 0,1мм. В другу сторону крутим штурвал, ось едет обратно. В ЧПУ обычно есть покадровое выполнение УП. Но выполняеется оно именно по кадрам, а эта фишка выполняет УП по шагам. Величина шага = щелчок штурвала.

Это может быть можно сделать на уровне HAL, а мож нужно будет лезть глубже ;)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
raddd
Почётный участник
Почётный участник
Сообщения: 1564
Зарегистрирован: 10 фев 2015, 08:50
Репутация: 540
Настоящее имя: Alexey Rodionov
Откуда: Беларусь Минский р-н
Контактная информация:

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

Сообщение raddd »

Я думаю это в stepgen надо лезть.
По принципу компенсации Z нашего форумчанина. Только с ускорениями вроде проблема.
||||||||||||
||||||||||||
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Возможно, тут поможет motion.adaptive-feed. Хотя, я не знаю, как поведёт себя планировщик, если записывать в этот пин отрицательные значения.

Вмешиваться между планировщиком и генератором шагов можно. Но, чтобы генератор сам мог отъехать назад, пока планировщик на паузе или ушёл вперёд, какой-то другой компонент должен записать все пройденные точки траектории. И затем по сигналу от штурвала выдавать эти сохраненные координаты генератору. В нужных пропорциях.

Короче говоря, нужен какой-то самописный RT компонент, который будет работать между планировщиком и генератором, управляя поведением обоих.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

MX_Master писал(а):Короче говоря, нужен какой-то самописный RT компонент, который будет работать между планировщиком и генератором, управляя поведением обоих.
Короче говоря эту фишку в Lcnc по простому через Hal не сделать. Значит можно забыть :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

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

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

Сообщение Serg »

Всётаки вы желаете странного...
Даже при выполнении программы пошагово по кадрам сильно увеличиваются риски испортить инструмент и/или заготовку. Пример: выполнился очередной кадр и подача остановилась, а фреза находится в материале и вращается - резать она уже не режет, а трение есть (хотя-бы из-за биений), а отвода тепла со стружкой нет и пока оператор "ковыряет в носу"...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sergx99
Новичок
Сообщения: 35
Зарегистрирован: 27 фев 2016, 17:03
Репутация: 7
Настоящее имя: Сергей
Контактная информация:

Re: LinuxCNC - Альтернативная кинематика.

Сообщение sergx99 »

aftaev писал(а): Сегодня узнал про одну интересную функцию на пром. стойке.
-----------------------------------------------------------------------------------
Интересно в Lcnc можно реализовать выполнение УП по щелчкам штурвала?
aftaev писал(а):Значит можно забыть :)
:) Re: Reverse Run в LinuxCNC, aftaev » 10 май 2017, 16:17
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

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

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

Сообщение medossa »

Друзья, помогите с настройкой LinuxCNC. Необходимо подключить датчик длины инструмента, вроде Probe Z Zero называется. Толщина самого датчика 5мм. Т.е. на контроллере я подключаю на 13пин. Это в конфигурялке я ставлю. А дальше затык. Не найду где толщину датчика указать.... И как с ним работать? В главном окне упоминания про него нет.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

UAVpilot писал(а):Даже при выполнении программы пошагово по кадрам сильно увеличиваются риски испортить инструмент и/или заготовку. Пример: выполнился очередной кадр и подача остановилась, а фреза находится в материале и вращается - резать она уже не режет, а трение есть (хотя-бы из-за биений), а отвода тепла со стружкой нет и пока оператор "ковыряет в носу"...
Эта фишка используется для проверки "подвода" инструмента, а не фрезеровки. Нажали Пуск, крутим штурвал и подводим инструмент по программе до материала. Далее смотрится на экран сколько до материала и фактически где фреза находится. Если фрезе осталось 0,1мм до материала, а по программе ей еще ехать -100мм понятно что косяк. Так же используется при проверке сложного подвода инструмента.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

medossa писал(а):Друзья, помогите с настройкой LinuxCNC. Необходимо подключить датчик длины инструмента, вроде Probe Z Zero называется. Толщина самого датчика 5мм. Т.е. на контроллере я подключаю на 13пин. Это в конфигурялке я ставлю. А дальше затык. Не найду где толщину датчика указать.... И как с ним работать? В главном окне упоминания про него нет.
Покурить темы
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=592
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=6124
medossa
Опытный
Сообщения: 163
Зарегистрирован: 20 ноя 2012, 08:38
Репутация: 3
Настоящее имя: Евгений
Откуда: Протвино
Контактная информация:

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

Сообщение medossa »

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

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

Сообщение Serg »

aftaev писал(а):Эта фишка используется для проверки "подвода" инструмента, а не фрезеровки. Нажали Пуск, крутим штурвал и подводим инструмент по программе до материала. Далее смотрится на экран сколько до материала и фактически где фреза находится. Если фрезе осталось 0,1мм до материала, а по программе ей еще ехать -100мм понятно что косяк. Так же используется при проверке сложного подвода инструмента.
Кто мешает "пофрезеровать воздух" или кусок деревяшки/пенопласта, а правильность корректоров проверить в другом, более безопасном месте?.. Или стрёмные места программы проверить MDI?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

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

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

Сообщение Serg »

MX_Master писал(а):Сергей, если не брать в расчёт назначение этой функции. С чего бы вы начали реализацию?
С планировщика - его придётся обучить расчитанную траекторию с разгоном и торможением разбивать на отдельные кусочки со своими разгонами и торможениями (причем не зная заранее на сколько частей) и при этом не нарушать общее синхронное движение других осей...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

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

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

Сообщение Serg »

Боюсь "подправить" - это несколько не точное определение... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

UAVpilot писал(а):Боюсь "подправить" - это несколько не точное определение... :)
Возможны ли альтернативные решения без столь глубокого погружения?
Ответить

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