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

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

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

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

Заключение


См. также

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

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

Сообщение Calambuuur »

Я так и сделал -y и все проблемы. Но дочего поднебеснеая неможет дойти, что у нас справо налево
Один ум хорошо а два и более лучше. "Я так мысленно думаю" и моя "Домососедка", которая пользуется "обезбеливателем" - и радуется, "пусть c cnc, чем без обезбеливателя".(Каламбууур).
Аватара пользователя
Calambuuur
Опытный
Сообщения: 124
Зарегистрирован: 18 май 2012, 23:38
Репутация: 2
Откуда: Я родом из детства : "Кто на Харькив"

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

Сообщение Calambuuur »

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

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

Сообщение Calambuuur »

Я хотел бы чтобы он бы платки роисовал бы. Есть для пробы че небудь, пока всю остальную прогу не начал осваивать. И чтобы резало и сверлило!
Один ум хорошо а два и более лучше. "Я так мысленно думаю" и моя "Домососедка", которая пользуется "обезбеливателем" - и радуется, "пусть c cnc, чем без обезбеливателя".(Каламбууур).
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

подскажите как правильно выставить пины под драйвер TB6560.И что нужно выставить в драйвер тайп.????????
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

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

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

Сообщение Nick »

seregka82 писал(а):подскажите как правильно выставить пины под драйвер TB6560.И что нужно выставить в драйвер тайп.????????
Номера пинов посмотри в инструкции к драверу, все остальные настройки оставь стандартными, в том числе тип драйвера.
seregka82 писал(а):как правильно выставить table travel, ??????
Как удобно, лишь бы по размеру соответствовало станку. Если у тебя датчик home заодно и концевик оси, то его лучше поставить вне зоны table travel, т.е. например table travel 0...1000, home switch -1мм, home 0 мм.
byalex
Опытный
Сообщения: 197
Зарегистрирован: 29 янв 2013, 18:50
Репутация: 1
Контактная информация:

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

Сообщение byalex »

seregka82 писал(а): пины под драйвер TB6560
если есть доки смотри туда если нет то давай фото и версию драйвера.
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

byalex писал(а):
seregka82 писал(а): пины под драйвер TB6560
если есть доки смотри туда если нет то давай фото и версию драйвера.
Синяя плата ТВ6560 на 4 движка.В Маче работало на этих настройках= х(dir)-1pine х(step)-16pin y(dir)-7pin y(step)-14pin z(dir)-6pin z(step)-3pin.
TB6560.jpg (2533 просмотра) <a class='original' href='./download/file.php?id=14236&mode=view' target=_blank>Загрузить оригинал (207.3 КБ)</a>
. И как правильно расчитать скорость с ускорением?Спасибо
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

так и расставляй.

По скоростям и ускорениям - есть же тема отдельная: Нахождение максимальной скорости и ускорения станка #1
byalex
Опытный
Сообщения: 197
Зарегистрирован: 29 янв 2013, 18:50
Репутация: 1
Контактная информация:

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

Сообщение byalex »

Nick писал(а):так и расставляй.
нуда думаю также.
у меня красная плата вообще без доков.
а на синии много инфы в инете
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

Nick писал(а):так и расставляй.
так и выставил.движки звук издают но не ездят :(

По скоростям и ускорениям - есть же тема отдельная: Нахождение максимальной скорости и ускорения станка #1
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

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

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

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

А если просто Step и Dir параллельно на два драйвера пустить?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

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

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

Сообщение Nick »

Дак просто в настройке пинов указываешь DirX и StepX на два разных пина и все.

Если надо хоумить их по отдельным датчикам, чтобы автоматом выравнивать портал - то надо использовать кинематику gantrykins - только она из gui не настраивается, надо ручками будет писать.

Что-то есть тут:
gantry_kins LinuxCNC - зависимые оси #1
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Спасибо!
Хочешь быть счастливым? Будь им!
Gaspar
Кандидат
Сообщения: 91
Зарегистрирован: 06 апр 2013, 10:37
Репутация: 2
Откуда: Украина, Киев
Контактная информация:

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

Сообщение Gaspar »

Здравствуйте.
Как в Linuxcnc реализуется поиск центра круглой( и не только круглой) детали на контакт?
И заодно как делать поиск нуля по Z на контакт?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Настраиваем пин probe-in, он есть даже в stepconf. Потом используем Gкод g38
http://linuxcnc.org/docs/html/gcode/gco ... :G38-probe
пример поиск касания с уточнением
F1000
G38.2 Z-10
F10
G38.4 Z10

Чтобы найти центр делаем так (если нужно уточняться - можно дописать дополнительно)

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

G38.2 Y100
#<y>= #5062 ; сохраняем y 
G38.2 Y-100
#<y>= [[#y - #5062]/2] ; это y центра  

G0 Y#<y>

G38.2 X100
#<x> = #5061 ; сохраняем x 
G38.2 X-100
#<x> = [[#x - #5061]/2] ; это x центра  

G0 X#<x> Y#<y>
Все мы в центре :)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Что-то совсем для меня непонятное творится на компе...
Уже сконфигурил простую двукоординатную конструкцию и... задница.
ЛинуксСНС формирует два текстовых файла:
linuxcnc_debug.txt

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

Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
3464
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components
и linuxcnc_print.txt

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

RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
INIFILE=/home/printer/linuxcnc/configs/мой-станок/мой-станок.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=
DISPLAY=axis
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Killing task linuxcncsvr, PID=3464
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Все подозрения (на уровне чутья, правда), что нелады либо с системой, либо с платой-материнкой...
Саму конфигурацию прилагаю
Вложения
мой-станок.ini
(1.73 КБ) 780 скачиваний
мой-станок.hal
(2.77 КБ) 1125 скачиваний
Хочешь быть счастливым? Будь им!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

У меня запускается, если не считать ошибки

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

setp stepgen.1.maxaccel [AXIS_2]STEPGEN_MAXACCEL
Пробовал в симуляторе. На машине с rtai нет паралельного порта, до момента его загрузки доходит.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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