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

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

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

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

Заключение


См. также

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

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

Сообщение Nick »

Ivn писал(а):1. "stepgen.N.dir bit out (step type 0 only) /по моему мой случай
Direction output: low for forward, high for reverse. " /это вот и надо
-в предложенной документации (stepgen) похоже на это, но где данное прописать в конф файлах?(если не трудно, пример синтаксиса) и чем проверить работоспособность (step conf wizard - опять настроит задержку или в нем чего поправить?)
Прописывается в hal в этой строке:
loadrt stepgen step_type=type0[,type1...] [ctrl_type=type0[,type1...]] [user_step_type=#,#...]
Но он по умолчанию идет тип 0! Т.е. ничего менять не надо. Проверь в hal meter, что на пине на самом деле. Потом будем дальше изучать.
Плюс скинь на всякий случай свои hal и ini файлы.
Ivn писал(а):2. ?ИЛИ м.б. dir hold где-нибудь закомментить(или выставить бесконечно большое число) и сбрасывания уровня не будет до его смены?
Ненене, даже и не думай! :)

UPD----
О, а я как раз эту картинку искал, ты где ее взял? :)

В общем, смотри сначала в hal meter! (или hal scope) После этого сразу будет понятно где косяк, в настройках LinuxCNC, или где-то дальше.
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

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

Сообщение Ivn »

погорячился - плохой контакт надо искать...замерить и т.д. в HAL Meter...(В другую сторону вообще не было бы поползновений)
*наверно все поняли что оченна хотся разобраться
Ivn
Новичок
Сообщения: 37
Зарегистрирован: 13 дек 2012, 11:24
Репутация: 0
Контактная информация:

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

Сообщение Ivn »

Nick писал(а):
Ivn писал(а): UPD----
О, а я как раз эту картинку искал, ты где ее взял? :)
ты меня в сообщении 11569 отсылал к man http://www.linuxcnc.org/docs/html/man/m ... gen.9.html - в разделе TIMING
*UPD -что сие означает?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Ivn писал(а):ты меня в сообщении 11569 отсылал к man http://www.linuxcnc.org/docs/html/man/m ... gen.9.html - в разделе TIMING
Понятно, я думал там этого нет, похоже никогда до конца эту страницу не читал :freak:
Ivn писал(а):*UPD
ну типо update - добавил кое что к сообщению, после того как увидел твое новое сообщение, которое появилось, пока я писал свое...
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Просверлил 4 отверстия сверлом 0.5 в заготовке из поликарбоната по углам прямоугольника 150 (X) x 270 (Y). Реальные расстояния между центрами отверстий оказались 149.5 по Икс и 269.5 по Игрек. Как скомпенсировать такое малое расхождение в LCNC?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А как ты расстояния мерил? Может измерение врет? А если просверлить на расстоянии 10мм друг от друга?
Аватара пользователя
Rafiq
Мастер
Сообщения: 1053
Зарегистрирован: 28 сен 2012, 18:11
Репутация: 6
Откуда: Tatarstan Respublikası, Yar Çallı şəhəre
Контактная информация:

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

Сообщение Rafiq »

Просверлил в монолитном поликарбонате. Мерил, правда, простой линейкой, но двумя разными (на случай, если линейка врет).
Если на 10 мм просверлить, понятное дело, разницу вовсе не заметишь простой линейкой, а если вырезать и измерить штангенциркулем, то на такой малой длине будет в пределах погрешности. В принципе, этот вопрос я уже поднимал, вроде в теме про станок, но сейчас это более критичным стало. Все таки, погрешность 0.5 по всему полю - это многовато :( Желательно добиться 0.1, хотя бы 0.2. В принципе, могу выгравировать большой прямоугольник цилиндрическим гравером и измерить штангенциркулем (только заказать надо, чтоб до 300 мм измерять можно было, ну и наверное цифровой с ценой деления 0.01 - видел такой у нас в одном магазине, но цена в 3100 пока остановила)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Rafiq писал(а):цифровой с ценой деления 0.01
На них все равно пишут точность измерений 0,05мм.

Можешь тупо поменять scale осей. Но я бы не стал так уповать на точность линейки. Странно, что по обоим осям 0,5 при разном перемещении.

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

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

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

А люфтов точно нет?
Чудес не бывает. Бывают фокусы.
kilowatt
Новичок
Сообщения: 2
Зарегистрирован: 24 янв 2013, 09:12
Репутация: 0
Контактная информация:

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

Сообщение kilowatt »

Зравствуйте.

Что бы не плодить темы решил написать здесь.
Просто для интереса решил построить "модель" станка и заказал у китайцев комплект движки, блок питания 24v + синяя плата.
Когда начал подключать всё к компу - появилось непонимание что куда включать ).

http://www.ebay.com/itm/Free-ship-from- ... 1e75b6ef27 - в этом лоте такая же плата и указана распиновка.

Ближе к делу :
X Empower, Y Empower, Z Empower и т.д.(в другом мануале на плату указаны как X,Y,Z - Enable) как заводить в степконф ? Я их все завёл как ESTOP (нету там пункта Enable для оси), без разделения осей.
Сначала заработал только X , когда поставил инвертировать Y и Z - они тоже начали крутится по отдельности, но на тестовом задании снова только один X крутился.
(из этой темы я так понял это глюк Степконфа и сегодня вечером попробую убрать инвертирование и снова погонять тест)
Собственно правильно ли так делать или надо как то по другому ? :monkey:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Enable - включить усилитель. (хотя он не совсем корректно там заводится - все включается когда включается X).
Но в принципе правильно :)
kilowatt
Новичок
Сообщения: 2
Зарегистрирован: 24 янв 2013, 09:12
Репутация: 0
Контактная информация:

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

Сообщение kilowatt »

А так намного лучше! По крайней мере тестовый пример проходит и всё крутится вращается :mrgreen:
Теперь можно дальше двигаться и над механикой думать.

Спасибо )
Аватара пользователя
Boris_B
Новичок
Сообщения: 18
Зарегистрирован: 15 июн 2012, 01:10
Репутация: 0
Контактная информация:

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

Сообщение Boris_B »

Ситуация:
Оборудование: контроллер TB6560HQT 4V3 (красный 4-х осевой). Задействовано 3 оси - X, Y, Z.
Ходовой винт: трапеция Tr 12х4
Хочу работать 1/8 шага.
Настройки EMS2:
- порт LPT - задействованы ножки 2-3,4-5,6-7 - шаг и направление соответствующих осей. Остальные ножки отключены (у меня шпиндель имеет независимое внешнее питание, включается и выключается отдельно от контроллера вручную).
- Настройка оси (настройки одинаковые для всех осей) - шаг мотора 200, микрошаг - 8. максимальная скорость - 13 мм/с,
ускорение - 50 мм/с2 (пробовал от 30 до 1500).
Настройки платы контроллера (переключателями): установка тока 100%, спад тока - быстрый; режим дробления шага - 1. Вот последний пункт у меня вызывает сомнение, хотя примерное измерение линейкой хода каретки говорит, что все правильно (дробление шага происходит один раз и программно).
Режимы резания: березовая фанера 3 мм, скорость реза 4 мм/с, глубина 0.5 мм за проход, фреза пазовая 2 мм. Нужно вырезать квадрат 70х70 мм.
Проблема следующая: не могу получить заданные размеры детали. Вместо 70 мм размер получается порядка 70,5 мм (фреза проскакивает дальше). Ну было бы 69,5 - можно списать на пропуск шагов, А тут мне непонятно, шаги вроде как добавляются. Уже замерил и саму модель (генерирую коды в АртКаме), и замерил диаметр инструмента - точный Ф 2.04 мм. Вот прошу помочь - возможно ошибка в настройках EMS2, либо еще в чем-то.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Может прото станок не жесткий?
Сфотографируй станок и пришли на всякий случай свой ini
Аватара пользователя
Boris_B
Новичок
Сообщения: 18
Зарегистрирован: 15 июн 2012, 01:10
Репутация: 0
Контактная информация:

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

Сообщение Boris_B »

Станок типа такого http://www.cncmasterkit.ru/viewtopic.php?f=23&t=219 с доработками: поставил более мощные движки, ходовые винты закреплены на двух опорах, а не на подшипнике и моторе и т.д. Вот хочу произвести калибровку ходового винта - узнать реальный шаг. Похоже, что он на 2 - 3 сотки более 4 мм. Попутно хочу проверить команды на линейные перемещения, которые ставит сам АртКам.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Как прописать ДВА LPT-порта в настройках?
Адрес одного - 378
Адрес другого - 1080

(странный вопрос - обычно один порт ищут, а тут ДВА ;) )
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

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

loadrt hal_parport cfg="0x0378  1080 "
http://www.linuxcnc.org/docs/2.5/html/h ... installing
можно на "in" прописать
по умолчанию на "out"
Аватара пользователя
Ворон226
Мастер
Сообщения: 1923
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

nkp писал(а):

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

loadrt hal_parport cfg="0x0378  1080 "
http://www.linuxcnc.org/docs/2.5/html/h ... installing
можно на "in" прописать
по умолчанию на "out"
Сделал:
Линукс ругается на эту строчку. Вернул строчку назад. Ругается. Помогла только перезагрузка.
(наверное, виноват сам - пока вторая плата не стоит ;) на домашнем компе - только на станке)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

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

наверно надо 0x1080
хотя у меня ни так ни этак не ругается, хотя нет порта 1080
Последний раз редактировалось Сергей Саныч 28 фев 2013, 11:59, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Serg-tmn писал(а):наверно надо 0x1080
и так должно работать
вот моя рабочая строка:

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

loadrt hal_parport cfg="0x0378 in b400 in  9c00 in "
просто у тс сам порт отсутствует (пока ;) )
Ответить

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