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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC
SoulOMON
Новичок
Сообщения: 8
Зарегистрирован: 01 фев 2015, 19:44
Репутация: 0
Настоящее имя: Алексей
Контактная информация:

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

Сообщение SoulOMON »

Всем привет!

Ребята, помогите разобраться с осью Z.
У меня стандартный портальный ЧПУ ФРЕЗЕР.
Поставил концевики с двух сторон и поведал на один пин. Так же имеется датчик начала на другом Пине, внимание вопрос, как правильно настроить ось Z, что бы можно было хоть что-то сделать на станке (фотки во вложении).
Последние эксперименты привели к тому, что ищем ноль стола при помощи датчика начала, потом закрепляемые деталь, подводим к ней фрезу максимально близко, делаем смещение УП по Z и начинаем фрезеровальных, но начинается, что станок не хочет работать, т.к. программа стремится за пределы оси Z.
Вложения
IMG_20180717_210620.jpg (2383 просмотра) <a class='original' href='./download/file.php?id=142999&mode=view' target=_blank>Загрузить оригинал (4.04 МБ)</a>
IMG_20180717_210635.jpg (2383 просмотра) <a class='original' href='./download/file.php?id=143000&mode=view' target=_blank>Загрузить оригинал (5.77 МБ)</a>
Не разрушайте чужих иллюзий, они еще могут вам пригодиться...
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

если датчик в верху стоит
значит либо пределы оси -70 до 0
либо положение датчика должно быть 70
SoulOMON
Новичок
Сообщения: 8
Зарегистрирован: 01 фев 2015, 19:44
Репутация: 0
Настоящее имя: Алексей
Контактная информация:

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

Сообщение SoulOMON »

Так у меня пределы стоят и вверху, и внизу!
А датчик начала это же ручная штуковина...

Я не могу осознать как правильно работать с осью Z...
Вложения
datchiki-instrumenta-poiska-nulya-osi-z.jpg
datchiki-instrumenta-poiska-nulya-osi-z.jpg (7.77 КБ) 2363 просмотра
Не разрушайте чужих иллюзий, они еще могут вам пригодиться...
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

датчик надо прописать как пробник
а концевики прописать как пределы станка и начало оси
постараюсь скрины сделать
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

сделано так у меня
прописал датчик как пробник
добавил на правую панель кнопку запуска
для этого в свой ини файл добавляем

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

[HALUI]
MDI_COMMAND = o<zerro_on_z> call
в свой файл .xml добавляем

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

<pyvcp>
<button>
                <halpin>"probe-button"</halpin>
                <text>"пробник Z"</text> 
                <justify>"center"</justify>
        </button>
</pyvcp>
в custom_postgui.hal добовляем

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

net prob <= pyvcp.probe-button
net prob halui.mdi-command-00
Вложения
скрин.png (2340 просмотров) <a class='original' href='./download/file.php?id=143060&mode=view' target=_blank>Загрузить оригинал (91.91 КБ)</a>
Снимок-Stepconf -Stepper Configuration Wizard.png (2340 просмотров) <a class='original' href='./download/file.php?id=143061&mode=view' target=_blank>Загрузить оригинал (68.74 КБ)</a>
Последний раз редактировалось vovafed 19 июл 2018, 10:50, всего редактировалось 1 раз.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

кидаем прграмму поиска датчика в nc файлы
программа во вложении
моя программа так выглядит

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

o<zerro_on_z> sub
g10 l2p0z0
g91 g38.2z-66f500
g90g10l20p0z52

g90
g59 g0z0
g54
o<zerro_on_z> endsub
m2
в строчке

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

g90g10l20p0z52
z меняем на высоту своего датчика

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

g59 g0z0
строка команды после выставления по датчику, ось едет в станочный ноль
тоесть пределы станка должны быть от -70 до 0
если предел станка поставите от 0 до 70 строчку лучше сразу удалите))
у меня датчик беспроводной ,под простой контактный возможно придется подправить программу поиска
Вложения
zerro_on_z.ngc
(105 байт) 588 скачиваний
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Мужики помогите, а то уже голову сломал. Суть проблемы - на станке концевики стоят на обоих концах каждой оси. Если ставлю в настройках только Home все прекрасно хомится, если Больший предел(меньший)+ home выдает ошиби лимитов. Уже перечитал , что только нашел, результат 0.
Вложения
мой-станок.ini
(2.34 КБ) 713 скачиваний
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

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

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

Сообщение Serg »

kadet_13 писал(а):Уже перечитал , что только нашел, результат 0.
Осталась одна надежда - на математику. :)

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

...
MIN_LIMIT = -0.001
MAX_LIMIT = 160.0
HOME_OFFSET = -1.000000
...
У вас сказано, что минимум по оси -0.001, а датчик HOME стоит ещё дальше, в -1.0...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Что то я совсем не могу въехать, если
HOME = 0.0
MIN_LIMIT = 0
MAX_LIMIT = 160
HOME_OFFSET = ??????

Ставил HOME_OFFSET и до MIN_LIMIT и после - ошибка не уходит
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

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

Сообщение Nikomas »

kadet_13 писал(а):HOME_OFFSET = ?????
положительное число пробуйте.
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

HOME = 0.0
MIN_LIMIT = 0
MAX_LIMIT = 160
HOME_OFFSET = 0.1
joint 0 on limit switch error
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

а так
HOME = -1
MIN_LIMIT = -160
MAX_LIMIT = 0
HOME_OFFSET = -1
это если хом в верху
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Уменя это ось Х с нулем слева.
Результат тот же, может кроме ini еще где то что то надо прописать.
На linuxcnc мигрировал с Mach3 там настройка хом и лимит проще.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

HOME = 0
MIN_LIMIT = 0
MAX_LIMIT = 160
HOME_OFFSET = 0
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

joint 0 on limit switch error
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 23.75
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 160.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 10.000000
HOME_LATCH_VEL = -1.250000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

выше почитайте
Home Switch Location - Положение концевика начального положения. Если у Вас совмещены home switch и limit switch в одном концевике, то значение home location не должно быть равным home switch location иначе появится ошибка "joint limit error", т.е. станок не должен остановиться в точке срабатывания ограничительного концевика.
kadet_13
Новичок
Сообщения: 24
Зарегистрирован: 10 янв 2018, 12:43
Репутация: 0
Контактная информация:

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

Сообщение kadet_13 »

Я это понимаю. Но перебрал столько вариантов этих значений а результат получаю один и тот же.
Может надо еще где то руками прописать?
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

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

Сообщение vovafed »

HOME = 10.0 точка где остановится после хомления
MIN_LIMIT = 0.0
MAX_LIMIT = 160.0
HOME_OFFSET = 0.000000 координата датчика хом
HOME_SEARCH_VEL = 10.000000
HOME_LATCH_VEL = -1.250000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
без лимитов настойте сьзд с концевика
может после выставления ось рвет в сторону концевика и естественно срабатывае лимит
Ответить

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