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

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

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

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

Заключение


См. также

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

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

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

Проверил G30 G91 Z0
Работает, как ты сказал.
Но логики действительно никакой.
Интересно, это где-то описано? Баг или фича?
Можно было бы сделать так

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

G53 G0 Z#5183 (здесь хранится Z для G30)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Ну если буквально читать то, что ты чуть выше цитировал, то получается фича. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
soupmummy
Новичок
Сообщения: 7
Зарегистрирован: 21 фев 2014, 13:49
Репутация: 0
Контактная информация:

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

Сообщение soupmummy »

Прошу меня простить, если подобный вопрос задавался. В Basic Machine Information > Driver timing settings не дает выставлять Step time, Step space и Direction hold больше 100ns. Это у меня кривая сборка/баг или я чего-то не понимаю и так и должно быть?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Хммм.... странно... А какая версия LinuxCNC и откуда образ брал?

Там точно ns а не мкс?

PS в кранем случае это можно просто поправить в конфиге.
soupmummy
Новичок
Сообщения: 7
Зарегистрирован: 21 фев 2014, 13:49
Репутация: 0
Контактная информация:

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

Сообщение soupmummy »

Судя по всему 2.6.0~pre0.5239.g4f677a9 видимо в этом и проблема. Но раз в конфиге можно, то, наверно, даже скатываться назад ненадо ) Спасибо
soupmummy
Новичок
Сообщения: 7
Зарегистрирован: 21 фев 2014, 13:49
Репутация: 0
Контактная информация:

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

Сообщение soupmummy »

Гм. А вот теперь странное: если я в конфиге выставляю 1199 итп на соответствующие параметры, на форме все-равно выводится 100. Если ставлю в конфиге <100 то все нормально
Вложения
1.png (1892 просмотра) <a class='original' href='./download/file.php?id=25384&mode=view' target=_blank>Загрузить оригинал (74.99 КБ)</a>
soupmummy
Новичок
Сообщения: 7
Зарегистрирован: 21 фев 2014, 13:49
Репутация: 0
Контактная информация:

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

Сообщение soupmummy »

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

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

Сообщение Nick »

А это у тебя скин такой или stepconf обновился? Почему кнопки сверху стали?
pianodrumguitar
Новичок
Сообщения: 6
Зарегистрирован: 04 дек 2013, 18:05
Репутация: 0
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение pianodrumguitar »

Набросал юзерспейсную программку, которая дёргает gpio при помощи реалтаймовых функций http://pastebin.com/AZpM4uaB и она работает
Попробовал переписать драйвер в виде .comp файла (http://pastebin.com/4LT3WLRE), но он всё равно не выдаёт ничего на осциллограф.
Набросал чисто сишный драйвер по примеру драйвера для linuxcnc для beaglebone, и вот что вышло (сишный файл http://pastebin.com/72W6P46G и хидер http://pastebin.com/SRvuYnJQ) (а тут -- оригинальные http://pastebin.com/TQC3EpQs http://pastebin.com/Y5AnDvXF), и этот драйвер компилится, но не подгружается. В почтовой рассылке писали, что логирование надо включить как-то через хитро закрученную ж*пу, но я пока не нашёл, как это сделать. Теперь вот сижу и не знаю, что делать и как отлаживать, и где искать ошибки, и что не так :(
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

pianodrumguitar писал(а):но не подгружается
Что говорит-то?
pianodrumguitar писал(а):логирование надо включить как-то
Может так?
modprobe -v твоймодуль

P.S. вобщем как обычно - минимум исходных данных...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
pianodrumguitar
Новичок
Сообщения: 6
Зарегистрирован: 04 дек 2013, 18:05
Репутация: 0
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение pianodrumguitar »

UAVpilot писал(а):Что говорит-то?
Говорит следующее:

<stdin>:1: /opt/linuxcnc/libexec/rtapi_app_xenomai exited without becoming ready
<stdin>:1: insmod failed, returned -1
See the log and output of 'dmesg' for more information.

В dmesg пусто, в /var/log/linuxcnc пусто (вообще нет этого файла), в ~/ тоже нет логов.
UAVpilot писал(а):modprobe -v твоймодуль
Через hal не подгружается же, только он, видимо, не modprobe, а insmod использует. И потом, там какие-то странные драйвера у него выходят, потому как даже после успешной загрузки lsmod не говорит о том, что что-либо было подгружено. Видимо, так и было задумано. (:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Сразу тексты не посмотрел...
Если используешь rtai, то загружать надо через loadrt.
pianodrumguitar писал(а):только он, видимо, не modprobe, а insmod использует.
Это одно и тоже.

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

$ ls -l /usr/sbin/modprobe
lrwxrwxrwx 1 root root 11 Oct  4 19:13 /usr/sbin/modprobe -> ../bin/kmod
$ ls -l /usr/sbin/insmod
lrwxrwxrwx 1 root root 11 Oct  4 19:13 /usr/sbin/insmod -> ../bin/kmod
pianodrumguitar писал(а):потому как даже после успешной загрузки lsmod не говорит о том, что что-либо было подгружено.
У меня показывает, если это не симулятор.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

Здравствуйте.Ребята помогите пожалуйста настроить плату ТВ6560 синяя на 4 движка под EMs2. До этого пользовалься матчем.Ввожу настройки Step Dire/ которые были настроены в матче совпал только один движок.остальные просто молчат.пробывал методом тыка -не получилось шумять подают признаки жизни но вал не крутит
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

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

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

Сообщение seregka82 »

да уже игрался .ось Y нормально работает а две оси нет.выставлял и по оси y
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

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

Сообщение solo »

может ты ошибся при переносе настроек с матча и не правильно указал пины степ и дир настроек осей , в принципе в инструкции которая находиться в верху страниц и все очень подробно расписано
Последний раз редактировалось solo 02 апр 2014, 16:53, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение seregka82 »

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

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

Сообщение seregka82 »

я и говорю что проклацал уже всё на счёт step/ появился звук от них но валы не крутит
seregka82
Кандидат
Сообщения: 73
Зарегистрирован: 20 апр 2013, 21:09
Репутация: 0
Контактная информация:

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

Сообщение seregka82 »

как будто внутри пытаются работать но вал не крутит
Ответить

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