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

Выбор конфигурации

В первом окне Stepconf есть выбор: создать новую конфигурацию или изменить старую. Выбираем создать новую. Также можно проставить галки напротив Create shortcut, чтобы в последствии запускать EMC2 с созданной конфигурацией в один клик.

Screenshot-EMC2 Stepper Mill Configuration-2.png (317928 просмотров) <a class='original' href='./download/file.php?id=782&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&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 (317928 просмотров) <a class='original' href='./download/file.php?id=783&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (99.1 КБ)</a>
Настройка LPT для EMC2
Настройка LPT для EMC2 (317928 просмотров) <a class='original' href='./download/file.php?id=784&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (88.29 КБ)</a>
Настройка LPT для EMC2

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

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

Настройка осей станка в EMC2 LinuxCNC (317928 просмотров) <a class='original' href='./download/file.php?id=785&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (66.88 КБ)</a>
Настройка осей станка в EMC2 LinuxCNC
Проверка настроек осей LinuxCNC (317928 просмотров) <a class='original' href='./download/file.php?id=786&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&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 (317928 просмотров) <a class='original' href='./download/file.php?id=787&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (32.67 КБ)</a>
Настройка управления шпинделем в EMC2

Настройка шпинделя

Если шпиндель регулируется при помощи ШИМ:
Устанавливаем Carrier frequency (Несущая частота) согласно инструкции к Вашему контроллеру шпинделя.
Устанавливаем Speed 1, Speed 2, PWM 1, PWM 2 - значения скоростей в оборотах в минуту при заданном значении ШИМ. Эту информацию можно найти в инструкции к Вашему контроллеру, либо попробовать определить самостоятельно. Этими параметрами определяется линейная зависимость скорости шпинделя от значения PWM.

Дополнительные настройки EMC2 (317928 просмотров) <a class='original' href='./download/file.php?id=788&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&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 (317928 просмотров) <a class='original' href='./download/file.php?id=789&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&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 »

A) Minimum Command Active Time Before Step Pulse 200nS - это Step Space в "Параметры станка, контроллера и быстродействия"
B) Minimum Command Active Time After Step Pulse 200nS - это тоже самое, но 200nS это очень мало, по умолчанию там стоит 5000nS
C) Minimum STEP Pulse Width 1.0uS - это Step Time. По умолчанию он тоже больше - 5.0uS.
D) Minimum STEP Low Time 1.0uS - по идее тоже самое.

Если не планируешь оочень больших скоростей, можешь не менять значения по умолчанию.
При таких параметрах с max jitter: 15000 можно достичь 33 333Гц на шаговых двигателях. Учитывая, что на больших оборотах на шаговиках сильно падает момент, этого должно хватить.

В настройках оси motor steps per revolution 33 (что за движок такой с 33 шагами на оборот?)
Driver microstepping 8
Leadscrew pitch 1.5
Все остальное по умолчанию.
Должно получиться 33*8/1.5 = 176 шагов на мм.

Единицы - мм.

Скорость и ускорение можешь поставить по-больше. Потом нажимаешь тест оси и начинаешь тестировать. Сначала максимальную скорость - ставишь не большое ускорение и по-тихоньку увеличиваешь скорость до тех пор, пока не начнет пропускать шаги, затем слегка уменьшаешь скорость, пока станок не будет работать стабильно и не будет пропускать шаги, и в конце устанавливаешь максимальную скорость на 10% меньше найденной. Потом находишь максимальное ускорение.
В общем, все по этой инструкции Нахождение максимальной скорости и ускорения станка :).
Vladimir 2011
Почётный участник
Почётный участник
Сообщения: 221
Зарегистрирован: 20 май 2011, 17:40
Репутация: 19
Контактная информация:

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

Сообщение Vladimir 2011 »

А может я ошибаюсь и там 32 шага? В мануале написано на 4 странице. Я приложил к ответу PDF документ. Там как раз это и есть.
там 4 шага - полный шаг 8- половина шага, 16 - четверть шага и видимо 32 - 1/8 шага. Просто 360 гр. это 33 или 1 шаг Я понял, что 360 гр. Это и есть оборот и 33 шага.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Это не то. Характеристика шагов на оборот задается параметрами шагового двигателя, а не от контроллера. А здесь наверное написаны фазы контроллера.
Обычно у двигателей шаг либо 1.8o либо 0.9o, что соответствует 200 и 400 шагов на оборот. Но бывает и по другому.
Vladimir 2011
Почётный участник
Почётный участник
Сообщения: 221
Зарегистрирован: 20 май 2011, 17:40
Репутация: 19
Контактная информация:

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

Сообщение Vladimir 2011 »

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

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

Сообщение Nick »

Во-первых, посмотреть на маркировку двигателя и поискать даташит на него. Во-вторых, повесить фотографию, может подскажем.
И, в-третьих, попробовать определить эмпирически. Либо вещаем флажок на вал и пытаемся отследить полный оборот. Скажем, ставим в настройках 100 шагов на оборот и шаг резьбы 1.5 мм. И тестируем ось на +3 мм, смотрим сколько оборотов сделал флажок.
Или при твоих настройках говорим станку проехать 100мм и замеряем сколько он реально проедет. И из этого получаем действительное количество шагов на оборот.

На драйвере у тебя правильно микрошаг выставлен?
Vladimir 2011
Почётный участник
Почётный участник
Сообщения: 221
Зарегистрирован: 20 май 2011, 17:40
Репутация: 19
Контактная информация:

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

Сообщение Vladimir 2011 »

Вот такой двигатель:
маркировка двигетеля (9309 просмотров) <a class='original' href='./download/file.php?id=1530&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (157.62 КБ)</a>
маркировка двигетеля
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

На сайте xylotex висит чуть-чуть другой двигатель, в описании 200 шагов на оборот. Да и этот двигатель выглядит как стандартный шаговый - в нем также 200 шагов на оборот.
Аватара пользователя
Bладимир
Опытный
Сообщения: 149
Зарегистрирован: 10 янв 2012, 16:24
Репутация: 1
Откуда: Новокузнецк
Контактная информация:

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

Сообщение Bладимир »

Привет всем!!! В общем более-менее разобрался с конфигами. При тестах все работает, микрошаг есть!!! :D :D :D Только почему то при настройке Z (на ней винт, с ним все вроде понятно, а вот с шестернями пока не до конца разобрался), когда ставлю 20 мм, ось гоняет туда - сюда на 22мм, движки работают в принципе ровно, но что то как-будто постукивает (c интервалом около секунды) и пропуски шагов есть, идет смещение по оси. Еще заметил одну деталь: при уходе системы в спящий режим, движки запищали и движение сдвинулось по оси, а при выходе из него сдвиг произошел в обратную сторону. Дальше: все оформил, сохранил; захожу через меню уже в сам ЕМС2 - он предлагает выбрать конфиг, выбираю свой, он думает, внизу справа появляется маленькое окно (что то по ручным переездам насколько помню) и вылетает ошибка! :problem: :cry:
Ник, посмотри, пожалуйста:
(для просмотра содержимого нажмите на ссылку)
Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.3
Machine configuration directory is '/home/svobodnyj_kamenshik/emc2/configs/zorte'
Machine configuration file is 'zorte.ini'
INIFILE=/home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PARAMETER_FILE=emc.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting EMC2 TASK program: milltask
Starting EMC2 DISPLAY program: axis
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
waiting for s.axes
Shutting down and cleaning up EMC2...
Killing task emcsvr, PID=9966
Killing task milltask, PID=10015
Timeout, trying kill -9
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Invalid configuration of axes is preventing EMC from starting
9966
PID TTY STAT TIME COMMAND
10015
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:05 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:06 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:07 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:07 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:07 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
10015 ? R 0:07 milltask -ini /home/svobodnyj_kamenshik/emc2/configs/zorte/zorte.ini
PID TTY STAT TIME COMMAND
/usr/bin/emc: line 358: 10015 Killed $EMCTASK -ini "$INIFILE"
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 8091.099972] I-pipe: Domain RTAI registered.
[ 8091.099977] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 8091.099979] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 8091.100022] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 8091.100023] PIPELINE layers:
[ 8091.100025] fd195e20 9ac15d93 RTAI 200
[ 8091.100027] c085cb20 0 Linux 100
[ 8091.115520] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 8091.115722] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 8091.115727] RTAI[sched]: hard timer type/freq = APIC/12499988(Hz); default timing: periodic; linear timed lists.
[ 8091.115729] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 3099834000 hz.
[ 8091.115731] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 8091.115799] RTAI[usi]: enabled.
[ 8091.150054] RTAI[math]: loaded.
[ 8091.203328] config string '0x378 out '
[ 8100.135789] RTAI[math]: unloaded.
[ 8100.164201] SCHED releases registered named ALIEN RTGLBH
[ 8100.196678] RTAI[malloc]: unloaded.
[ 8100.312842] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 8100.315514] I-pipe: Domain RTAI unregistered.
[ 8100.315583] RTAI[hal]: unmounted.
Долго ковырялся, все-таки нашел, как скрыть :)
И еще смущает тест на Maximum jitter
http://s018.radikal.ru/i503/1201/47/c6dc6364a1a2.jpg
Не много ли там набралось? :shock: В окне настроек вставлял, получилось по-максимуму.
Вроде разобрался: нужно сплюсовать 4 значения Driver Timing Settings, ввести полученное значение, и только потом проводить тест. Верно?
ПС: Странно как то - вставляю картинку, как обычно с тегом Img а внизу еще постоянно добавляется вложение. Сделал просто ссылкой.
Вложения
Screenshot.png (9016 просмотров) <a class='original' href='./download/file.php?id=3640&sid=a9e5e3e21b99e5f0983ba2f1c3eed089&mode=view' target=_blank>Загрузить оригинал (405.12 КБ)</a>
Аватара пользователя
Bладимир
Опытный
Сообщения: 149
Зарегистрирован: 10 янв 2012, 16:24
Репутация: 1
Откуда: Новокузнецк
Контактная информация:

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

Сообщение Bладимир »

Перевел ошибку переводчиком гугл, там пишется, что неправильная конфигурация осей мешает запуску EMC... У меня 3 оси. На оси Х два мотора. В настройках указал XYZA и в распиновке А (шаг А, направление А) заменил на Х и реверсировал направление. Как правильно нужно делать? :geek:
Вообще, Ник, большое спасибо за статью, по ней осваивался! :monkey:
Зы: а реально линукс попрошаренней будет винды в плане того, что установил, так установил ВСЕ. На флешку файлы сегодня кидал с линукса, на ней пдф файлы светятся как надо, открываются. Уже есть прога. А на винде установишь, так еще потом сидишь: то надо, это....
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Bладимир писал(а):Только почему то при настройке Z (на ней винт, с ним все вроде понятно, а вот с шестернями пока не до конца разобрался), когда ставлю 20 мм, ось гоняет туда - сюда на 22мм, движки работают в принципе ровно, но что то как-будто постукивает (c интервалом около секунды) и пропуски шагов есть, идет смещение по оси.
Не совсем понял... Можешь не парится со всеми настройками по оси, можно просто поставить значение motor steps per revolution, чтобы внизу получилось правильное число шагов на мм.
Bладимир писал(а):Еще заметил одну деталь: при уходе системы в спящий режим, движки запищали и движение сдвинулось по оси, а при выходе из него сдвиг произошел в обратную сторону
Это из-за того, что в спящем режиме система может писать в порт все что угодно, или просто ничего не писать, наверняка вырубился пин enable контроллера, и движки просто отпустились.
Bладимир писал(а):И еще смущает тест на Maximum jitterhttp://s018.radikal.ru/i503/1201/47/c6dc6364a1a2.jpg
Что-то очень дофига... а что за компьютер?
Добавь вывод lshw (в консоле)
Bладимир писал(а):Вроде разобрался: нужно сплюсовать 4 значения Driver Timing Settings, ввести полученное значение, и только потом проводить тест. Верно?ПС: Странно как то - вставляю картинку, как обычно с тегом Img а внизу еще постоянно добавляется вложение. Сделал просто ссылкой.
Картинку можешь просто грузить прямо в форум без всяких там радикалов. И потом нажимаешь вставить в текст сообщения.
Bладимир писал(а):Перевел ошибку переводчиком гугл, там пишется, что неправильная конфигурация осей мешает запуску EMC... У меня 3 оси. На оси Х два мотора. В настройках указал XYZA и в распиновке А (шаг А, направление А) заменил на Х и реверсировал направление. Как правильно нужно делать?
Если два движка по оси X, то выбираешь станок XYZ, а во вкладке настроек пинов просто дублируешь пин направления и шага для оси X. Если нужно, чтобы двигатели работали в разные стороны ставишь invert на одном из пинов.
Bладимир писал(а):Зы: а реально линукс попрошаренней будет винды в плане того, что установил, так установил ВСЕ. На флешку файлы сегодня кидал с линукса, на ней пдф файлы светятся как надо, открываются. Уже есть прога. А на винде установишь, так еще потом сидишь: то надо, это....
Это еще что, раньше в нем еще и gimp сразу шел - тот же фотошоп, только шустрее.



По ошибке, пришли свои файлы конфигурации, hal и ini.
Аватара пользователя
Bладимир
Опытный
Сообщения: 149
Зарегистрирован: 10 янв 2012, 16:24
Репутация: 1
Откуда: Новокузнецк
Контактная информация:

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

Сообщение Bладимир »

Nick писал(а):Добавь вывод lshw (в консоле)
Что там надо прописывать?
Nick писал(а): а что за компьютер?
Атлон, 2 ядра чего то там около 3ГГц, видюха джифорсовская 9600Гт, оперативки 2Гига - только одна планка (может важно).
Nick писал(а): во вкладке настроек пинов просто дублируешь пин направления и шага для оси X
Надеюсь, найду...
Nick писал(а):в нем еще и gimp сразу шел
Вообще круто!
Nick писал(а):По ошибке, пришли свои файлы конфигурации, hal и ini.
Я попробую еще сделать конфиг другой, если не получится, обязательно:)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Bладимир писал(а):Что там надо прописывать?
Просто в консоле напиши lshw и вывод сюда скопируй. lshw = list hardware - напишет все железо, которое есть в компе.
Аватара пользователя
Bладимир
Опытный
Сообщения: 149
Зарегистрирован: 10 янв 2012, 16:24
Репутация: 1
Откуда: Новокузнецк
Контактная информация:

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

Сообщение Bладимир »

Хорошо, завтра сделаю. Комп то у меня в цехе стоит..
миха

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

Сообщение миха »

Спасибо за разъяснения с картинками.
Я сейчас пытаюсь настроить концевики (они же датчики нулей в моем случае, простейшие зеленые индукционники ) и у меня появились пара вопросов :
1) если концевик =он же датчик нуля то надо забить на функцию "нуля" и тупо дать "зазор " от концевика 1-2мм ( или 1600-3200 степов при популярном нынче 1/8 шага) == я правильный вывод сделал из написанного в первом посте ?

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

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

Сообщение Nick »

1. лучше всего сделать положение концевика за пределами оси, т.е. Home switch location = -1 (это -1мм), потом положение home, это где станок остановится после поиска нуля должен быть вне зоны срабатывания датчика т.е. Home location = 0.
2. Они должны стать доступными, если будут назначены пины концевиков этой оси, т.е. пин homeX или Both limit & Home X.
muxa

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

Сообщение muxa »

уффф, задвигался станочек, пишу что получилось в итоге :
Home location 0
Table travel -3 (минус 3)
Home switch location -1 (минус 1)
Home search velocity -20 (тут важно что минус, а не что 20)
Home Latch Direction =Same
при этих раскладах станок с швп1605 и зеленым индукционным концевиком (PLL-01 на пурике)
ищет нуль в стороне установки мотора .
чуть чуть не бьется гайкой швп об опору,
отходит от концевика в нужном направлении ( и не выскакивает конкретно доставшее обьявление ошибки концевика в ЕМС)
tiaginalex
Новичок
Сообщения: 5
Зарегистрирован: 12 мар 2012, 16:26
Репутация: 0
Контактная информация:

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

Сообщение tiaginalex »

Добрый день всем!
У меня проблема. При установке EMC настроил все кажется правильно.(Спасибо этой теме!)
Двигатели тест проходят нормально.
А вот в программе начинается самое смешное.
При задании переместиться на 20мм едут на 335мм.
Может кто подскажет что с этим делать если есть готовое решение.
Если нет отпишусь более подробно.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Не дюймы ли где прописаны?(в настройках)
_taras_
Мастер
Сообщения: 546
Зарегистрирован: 16 мар 2011, 15:19
Репутация: 69
Контактная информация:

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

Сообщение _taras_ »

И шаг винта проверь
tiaginalex
Новичок
Сообщения: 5
Зарегистрирован: 12 мар 2012, 16:26
Репутация: 0
Контактная информация:

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

Сообщение tiaginalex »

Все проверил не один раз.
Все менял местами. Ни каких результатов.
В программе (забыл уточнить) с заданной скоростью перемещаться не желает. Дергается.
Пришлось снизить скорость до 27мм/min. Тогда только поехал с нормальной скоростью.
Ответить

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