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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
serbel
Новичок
Сообщения: 6
Зарегистрирован: 15 дек 2013, 12:08
Репутация: 0
Контактная информация:

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

Сообщение serbel »

Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.
serbel
Новичок
Сообщения: 6
Зарегистрирован: 15 дек 2013, 12:08
Репутация: 0
Контактная информация:

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

Сообщение serbel »

Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.
serbel
Новичок
Сообщения: 6
Зарегистрирован: 15 дек 2013, 12:08
Репутация: 0
Контактная информация:

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

Сообщение serbel »

Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

ты пишешь , что ошибка по всем осям ...
и по z тоже?
serbel
Новичок
Сообщения: 6
Зарегистрирован: 15 дек 2013, 12:08
Репутация: 0
Контактная информация:

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

Сообщение serbel »

Станок самодельны
serbel
Новичок
Сообщения: 6
Зарегистрирован: 15 дек 2013, 12:08
Репутация: 0
Контактная информация:

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

Сообщение serbel »

Да по оси z тоже.
Аватара пользователя
Calambuuur
Опытный
Сообщения: 124
Зарегистрирован: 18 май 2012, 23:38
Репутация: 2
Откуда: Я родом из детства : "Кто на Харькив"

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

Сообщение Calambuuur »

Снимок.png (2273 просмотра) <a class='original' href='./download/file.php?id=22423&mode=view' target=_blank>Загрузить оригинал (227.62 КБ)</a>
Происходит следующее: ЕМС2 конфиг по х и у все ок! Ось Z есть но движение только вниз при включенном движке +-. Что-то и в системе не совсем хорошо, периодически пропадает поддержка русского. Раньше этого не наблюдал.
В верхней части явно видны артифакты
Один ум хорошо а два и более лучше. "Я так мысленно думаю" и моя "Домососедка", которая пользуется "обезбеливателем" - и радуется, "пусть c cnc, чем без обезбеливателя".(Каламбууур).
Аватара пользователя
Calambuuur
Опытный
Сообщения: 124
Зарегистрирован: 18 май 2012, 23:38
Репутация: 2
Откуда: Я родом из детства : "Кто на Харькив"

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

Сообщение Calambuuur »

Снимок-1.png (2271 просмотр) <a class='original' href='./download/file.php?id=22424&mode=view' target=_blank>Загрузить оригинал (212.69 КБ)</a>
Хм! А на картинке их нет. Еще раз. Откуда календарь тут(попал сюда по F7)
Один ум хорошо а два и более лучше. "Я так мысленно думаю" и моя "Домососедка", которая пользуется "обезбеливателем" - и радуется, "пусть c cnc, чем без обезбеливателя".(Каламбууур).
Аватара пользователя
Calambuuur
Опытный
Сообщения: 124
Зарегистрирован: 18 май 2012, 23:38
Репутация: 2
Откуда: Я родом из детства : "Кто на Харькив"

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

Сообщение Calambuuur »

Если бы нажимал, то сознательно.
Один ум хорошо а два и более лучше. "Я так мысленно думаю" и моя "Домососедка", которая пользуется "обезбеливателем" - и радуется, "пусть c cnc, чем без обезбеливателя".(Каламбууур).
Elnurko
Новичок
Сообщения: 1
Зарегистрирован: 10 янв 2014, 08:57
Репутация: 0
Контактная информация:

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

Сообщение Elnurko »

Всем привет .... у кого есть такая конфигурация .... у меня такая же кинематика.....как создать конфигурацию XYZBA
http://www.youtube.com/watch?v=fWKYQUj5AOs
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Хммм... просто надо создать 5 осейвой конфиг :).
А что именно хочешь?
Станок уже есть? Лучше создай отдельную тему по своему станку, и там все обсудим и напишем конфиги...
pianodrumguitar
Новичок
Сообщения: 6
Зарегистрирован: 04 дек 2013, 18:05
Репутация: 0
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение pianodrumguitar »

Привет, надеюсь, что в нужную тему пишу. Есть тут одна плата, на которой запущены кастомные линуксы, и путём хитрых манипуляций на ней же я запустил LinuxCNC. Задача вот в чём: на плате есть GPIO, и хотелось бы сделать через них для начала вывод каких-либо сигналов, которые можно посмотреть осциллографом. Вывод охота сделать для пробы через halrun. В рассылке emc-developers мне подсказали, что нужно либо писать сишный драйвер, либо сделать .comp-файл, где будут описаны функции для работы с GPIO. И я застрял на обоих путях: в примерах чисто сишного кода вроде драйвера для beaglebone gpio там используется либа для биглбона, и для меня пока является загадкой, как прога из юзерспейса может рулить выводами, потому как компилится bb-gpio при сборке LinuxCNC. Почти то же самое имеется и с .comp, но там мне советовали посмотреть пример для isa-платы. Есть такая штука, как я понял, как base address, т.е. адрес в памяти, по которому после загрузки ядро позволяет общаться с портами ввода-вывода. Покопавшись в кернеловом драйвере для gpio, я нашёл, вроде бы, эти адреса, но они как-то вот не подходят, в общем: если в примере есть строка вида "loadrt pcl720 ioaddr=0x200,0x200. use 0xNNN to define addresses in Hex" (адрес из трёх цифр), то у меня адрес вышел вида 0x20a4000, и переделанный .comp не отработал. Чуток сумбурно написал, наверное, но вопрос следующий: если можно, дайте совет, от чего мне отталкиваться для написания драйвера/компонента, который позволит LinuxCNC юзать мои GPIO в качестве пинов? Заранее спасибо!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Для того, чтоб иметь доступ к GPIO (да и любой перефирии) из userspace в ядре должен быть соотв. драйвер, который на стороне userspace предоставляет подходящий интерфейс, например типа /dev/чегототам
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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

Сообщение torvn77 »

А что это за параметры в окне базовой конфигурации машины.
Step Time
Step Space
Direction Hold
Direction Setup
Я понимаю то,что они должны както влиять на форму и растояние между сигналами,
но как именно и на что они влияют мне не понятно,в мануальнике у вас также по этому поводу ничего не написано.
Единственно что мне понятно,что меняя эти параметры можно получать как "гармоничные",
так и неприятные,какбы "через не" звуки при движении станка.
Объясните мне пожалуйста,что это за параметры и как и на что они влияют.

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

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

Сообщение Serg »

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

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

Сообщение torvn77 »

Сейчас в мануальнике к Stepconf'у я написал так:
Driver type содержит предустановленные параметры формы сигналов Step и Dir для разных драйверов.
Если же вашего драйвера в списке нету,то вы можите посмотреть эти значения в инструкции к драйверу.
Если же инструкции к драйверу нет,то подбирайте их самостоятельно,
опираясь на приведённое ниже описание смысла этих сигналов.
в любом случае,учитывайте,что в зависимости от соотношения этих сигналов
звук при перемещении станка может быть различным.
Подбирайте не только те значения,при которых станок ездит,но и "приятно" звучит.
  • Step time длительность сигнала step
  • Step space растояние между двумя сигналами step
  • Direction hold задержка сигнала step после изменения сигнала dir
  • Direction setup ???
Что я написал правильно,а где ощибся?
По ссылке вашей ссылке я ходил,но ни со своим скромным англиским,
ни гуглотранслятором ничего не понял.
пожалйиста объясните мне,что это за параметры точно
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

torvn77 писал(а):Step space растояние между двумя сигналами step
Минимальное расстояние ...
torvn77 писал(а):Direction hold задержка сигнала step после изменения сигнала dir
Точнее так: через какое время после изменения сигнала Dir можно посылать первый импульс Step.
torvn77 писал(а):Direction setup
Менять сигнал dir можно только спустя это время после последнего импульса Step.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

torvn77 писал(а):Step Time
Step Space
Direction Hold
Direction Setup
И где они прописываются после конфигурации станка? В каком файле?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

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

Сообщение torvn77 »

Нащёл в хале
setp parport.0.reset-time 1575
setp stepgen.0.dirhold 25900
setp stepgen.0.dirsetup 25900
Что явно совпали с введёнными значениями
а setp stepgen.0.stepspace 0 нащёл по слову space

Как я понимаю stepgen.0.stepspace это и есть тот параметр,
который соответсвует параметру "Step space" из мастера.
Почему он равен нулю,а не 1575,как было задано в мастере?
мне тут на память приходит дискуссия,но в чём там соль я опять не очень то понял.


В мануальнике написал так:
Step time Длительность сигнала step
Step space Минимальный промежуток времени между двумя сигналами step
Direction hold Время после изменения сигнала Dir после которого можно начинать посылать импульсы Step.
Direction setup Время после последнего импульса Step после которого можно менять сигнал Dir
Правильно?
Предлагаю дополнить мануальник и здесь.
Также предлагаю в конфигурации шпинделя заменить предложение на
Устанавливаем - значения скоростей в оборотах в минуту "Speed 1" и "Speed 2" при заданных
значениях ШИМ "PWM 1" и "PWM 2".
Этими параметрами определяется линейная зависимость скорости шпинделя от значения PWM.
Значения "Speed " изменяются от нуля до максимальной частоты оборотов шпинделя.
Значение "PWM" изменяется от нуля до единицы.
так как имхо в таком виде оно более понятно
Ответить

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