Страница 28 из 71

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

Добавлено: 25 окт 2010, 12:36
Nick
После того как Вы произвели установку EMC2, можно переходить к конфигурации.
Начнем с простого пути, использования утилиты Stepconf. Sterconf это графическая утилита для настройки EMC2 для различных станков. Конечно она не реализует все возможности EMC2, но подойдет для большинства станков со step-dir контроллерами управляемыми через lpt порт. Stepconf устанавливается вместе с EMC2 и его можно запустить из меню Приложения -> EMC2 -> Stepconf.
Это незавершенный раздел, Вы можете помочь в его оформлении.
Нужны исправления, комментарии. Публикуйте их в этой теме.

Содержание


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

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

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

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

Заключение


См. также

Нахождение максимальной скорости и ускорения станка
PyVCP дополнительный интерфейс для EMC2 LinuxCNC

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

Добавлено: 15 дек 2013, 13:10
serbel
Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.

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

Добавлено: 15 дек 2013, 13:12
serbel
Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.

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

Добавлено: 15 дек 2013, 13:13
serbel
Станок самодельный. Осей 3. Припуск всегда одинаковый и равен 0.7 мм. Примеров кода много и на TurboCnc и на Mach эти коды режутся правильно. Код не причем. Проблема именно в EMC2.

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

Добавлено: 15 дек 2013, 13:16
nkp
ты пишешь , что ошибка по всем осям ...
и по z тоже?

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

Добавлено: 15 дек 2013, 18:49
serbel
Станок самодельны

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

Добавлено: 15 дек 2013, 18:50
serbel
Да по оси z тоже.

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

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

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

Добавлено: 15 дек 2013, 19:41
Calambuuur
Снимок-1.png (2281 просмотр) <a class='original' href='./download/file.php?id=22424&mode=view' target=_blank>Загрузить оригинал (212.69 КБ)</a>
Хм! А на картинке их нет. Еще раз. Откуда календарь тут(попал сюда по F7)

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

Добавлено: 20 дек 2013, 23:38
Calambuuur
Если бы нажимал, то сознательно.

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

Добавлено: 10 янв 2014, 08:59
Elnurko
Всем привет .... у кого есть такая конфигурация .... у меня такая же кинематика.....как создать конфигурацию XYZBA
http://www.youtube.com/watch?v=fWKYQUj5AOs

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

Добавлено: 10 янв 2014, 11:06
Nick
Хммм... просто надо создать 5 осейвой конфиг :).
А что именно хочешь?
Станок уже есть? Лучше создай отдельную тему по своему станку, и там все обсудим и напишем конфиги...

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

Добавлено: 11 янв 2014, 10:32
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 в качестве пинов? Заранее спасибо!

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

Добавлено: 11 янв 2014, 14:36
Serg
Для того, чтоб иметь доступ к GPIO (да и любой перефирии) из userspace в ядре должен быть соотв. драйвер, который на стороне userspace предоставляет подходящий интерфейс, например типа /dev/чегототам

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

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

И ещё вопрос из любопытсва,для чего предназначен сигнал Amplifier enable?

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

Добавлено: 26 янв 2014, 23:14
Serg

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

Добавлено: 01 фев 2014, 18:37
torvn77
Сейчас в мануальнике к Stepconf'у я написал так:
Driver type содержит предустановленные параметры формы сигналов Step и Dir для разных драйверов.
Если же вашего драйвера в списке нету,то вы можите посмотреть эти значения в инструкции к драйверу.
Если же инструкции к драйверу нет,то подбирайте их самостоятельно,
опираясь на приведённое ниже описание смысла этих сигналов.
в любом случае,учитывайте,что в зависимости от соотношения этих сигналов
звук при перемещении станка может быть различным.
Подбирайте не только те значения,при которых станок ездит,но и "приятно" звучит.
  • Step time длительность сигнала step
  • Step space растояние между двумя сигналами step
  • Direction hold задержка сигнала step после изменения сигнала dir
  • Direction setup ???
Что я написал правильно,а где ощибся?
По ссылке вашей ссылке я ходил,но ни со своим скромным англиским,
ни гуглотранслятором ничего не понял.
пожалйиста объясните мне,что это за параметры точно

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

Добавлено: 01 фев 2014, 20:31
Serg
torvn77 писал(а):Step space растояние между двумя сигналами step
Минимальное расстояние ...
torvn77 писал(а):Direction hold задержка сигнала step после изменения сигнала dir
Точнее так: через какое время после изменения сигнала Dir можно посылать первый импульс Step.
torvn77 писал(а):Direction setup
Менять сигнал dir можно только спустя это время после последнего импульса Step.

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

Добавлено: 01 фев 2014, 21:24
Ворон226
torvn77 писал(а):Step Time
Step Space
Direction Hold
Direction Setup
И где они прописываются после конфигурации станка? В каком файле?

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

Добавлено: 01 фев 2014, 21:42
Serg

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

Добавлено: 01 фев 2014, 21:48
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" изменяется от нуля до единицы.
так как имхо в таком виде оно более понятно