[WIKI] FAQ по EMC2 LinuxCNC

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

[WIKI] FAQ по EMC2 LinuxCNC

Сообщение Nick »

FAQ переехал в wiki: FAQ по LinuxCNC
Вы можете помочь нам в оформлении статьи. Для внесения изменений надо залогинится в вики (логин и пароль такие же, как на форуме).
Как внести изменения в статью в wiki
(для просмотра содержимого нажмите на ссылку)
Q: EMC2 выдает такую ошибку: "Unexpected realtime delay: chek dmesg for details.". Что делать?
A: Это означает, что один из интервалов задержки стал больше Base period. Нужно увеличить base period в настройках EMC2. Запустите Приложения -> EMC2 -> Latеncy Test, попробуйте нагрузить компьютер, откройте несколько окон веб-браузера, запустите фильм, поставьте копироваться большой файл, по-перемещайте окна по экрану. После всего этого смотрим в окно Latency Test и запоминаем параметр Max Jitter для Base thread (если вы используете серво двигатели, Вам понадобятся оба параметра). Запускаем Приложения -> EMC2 -> Stepconf и в окне настройки конфигурации указываем Base period Maximum Jitter.

Q: При выполнении поиска начал осей (homing) EMC2 выдает ошибку "joint limit error"
A: Наверняка Вы используете в качестве датчика начала (home) один из концевых переключателей оси. Для корректного выполнения поиска в этом случае нужно:
  • Чтобы Home Location не было равно Home Switch Location. Т.к. после процедуры поиска начала станок остановится в положении Home Location, и оно не должно вызывать срабатывания концевого датчика оси.
  • Чтобы в конфигурационном файле в разделе описания оси присутствовала строчка "HOME_IGNORE_LIMITS = YES".
Q: Как запустить станок избегая процедуру поиска начал (homing)? Возникает ошибка: "Не могу исполнить программу если не найдены начала" ("Can't run a program when not homed").
A: EMC2 отказывается выполнять программы до тех пор пока не найдены начала осей потому, что EMC2 должен точно знать в каком положении находится станок, чтобы не дать ему выехать за пределы осей. Настоятельно рекомендую установить концевики и делать поиск нулей при каждом запуске EMC2 (при наличии концевиков это делается нажатием одной клавиши). Если концевиков нет, начала оси можно выставлять вручную.

Если совсем не хочется выставлять начала, то можно в файле конфигурации в раздел [TRAJ] нужно добавить строчку: "NO_FORCE_HOMING = 1" и EMC2 не будет выдавать эту ошибку. Но в этом случае нужно быть особенно внимательным следя за работой станка, т.к. EMC2 не сможет контролировать пределы осей и появится вероятность их превышения, что может привести к поломке станка :attention:!

Q: LinuxCNC не запускается, выдает ошибку RTAI[hal]: ERROR, LOCAL APIC CONFIGURED BUT NOT AVAILABLE/ENABLED.
A: Проблема с установкой EMC2 #48
Это незавершенный раздел, Вы можете помочь в его оформлении.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Не останавливается, скорее всего, потому, что не правильно настроил концевики. Опиши свой станок, за что отвечают датчики, только за home или работают как концевики осей?

ЗЫ скриншот можно делать с клавиатуры,кнопка Print Screen, рядом с F12, может быть Prt Scr.
redlew
Новичок
Сообщения: 13
Зарегистрирован: 25 мар 2012, 14:12
Репутация: 0
Настоящее имя: Евгений
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение redlew »

концевики отвечают только за home.Хочу сделать что бы при включении станка и нажатии одной кнопки все оси вставали в "0" . пины настраивал по этой ссылке http://www.georgegardner.info/software/ ... c-emc.html
И я попробовал нарисовать стандартную надпись EMC 4.2/ 4axis но у меня почемуто буква на букву залезла и все буквы верх ногами.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Кажись знаю почему он у тебя дальше едет - надо скорость уточнения home - HOME_LATCH_VEL сделать отрицательной. Т.е. станок ищет датчик в сторону "+" до замыкания, а потом уточняет в сторону "-" до размыкания.
А у тебя он уточняет в том же направлении.

Буквы вверх ногами - поставь инверт на пин y-dir.

Одна на одну наезжают - а движки не пропускают шаги? Сфоткай, что получилось...
redlew
Новичок
Сообщения: 13
Зарегистрирован: 25 мар 2012, 14:12
Репутация: 0
Настоящее имя: Евгений
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение redlew »

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

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

redlew писал(а):Z-у меня стоит в самом верху и когда начинает искать нули едет в самый низ ,хотя по идее он должен ехать в верх а не вниз.
Тогда serach_seed отрицательным! А низ у тебя по Z это в сторону +100 или -100?

А что за расширение у фотки? jpg gif png svg и многие другие должны нормально добавляться...
redlew
Новичок
Сообщения: 13
Зарегистрирован: 25 мар 2012, 14:12
Репутация: 0
Настоящее имя: Евгений
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение redlew »

по Z- вверх"+" в низ "-" фотка JPG инверция y-dir у меня включена.только что пробовал ее отключить не помогает все равно буквы на буквы налазят:(
Вложения
e43c4b0b4a93.jpg (3250 просмотров) <a class='original' href='./download/file.php?id=4838&mode=view' target=_blank>Загрузить оригинал (73.64 КБ)</a>
Последний раз редактировалось redlew 29 мар 2012, 20:47, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

redlew писал(а):по Z- вверх"+" в низ "-"
Поставь скорость поиска - отрицательной.
redlew писал(а): фотка JPG
Странно, а можешь мне ее на мыло скинуть, интересно, чего ее форум не принял...
xepecine @ gmail.com

А буквы все ровные получились? Или не очень? Возможно он на G0 не успевает шагать...
redlew
Новичок
Сообщения: 13
Зарегистрирован: 25 мар 2012, 14:12
Репутация: 0
Настоящее имя: Евгений
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение redlew »

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

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Похоже что всетаки шаги пропускает, т.к. нормальных букв всего две, остальные размазаны. Скорее всего на них шаги пропускались...

Ты тестировал оси в Stepconf в течении хотя бы 3-4 минут?
Какие у тебя скорости перемещений, какие движки, какой драйвер, какое питание и какой микрошаг? И провода какие?


Хммм... от меня тоже этот файл не принимает, наверное что-то там iphone намудрил с форматом :thinking: .
redlew
Новичок
Сообщения: 13
Зарегистрирован: 25 мар 2012, 14:12
Репутация: 0
Настоящее имя: Евгений
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение redlew »

я в линуксе человек новый, подскажи как протестировать оси? Двигатели Nanotek (Nema 23) Драйвер китай TB6560 3-axis, питание 24 В 15 А ,провода от драйвера к мотору 3метра сечение провода 0,75 квадрат
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Берешь запускаешь stepconf и на шаге настройки оси нажимаешь тест.
Там ставишь +-50мм или просто +50, каким-нибудь образом точно отмечаешь текущее положение оси и нажимаешь тест. через несколько минут нажимаешь стоп и смотришь вернулась ли ось в начальное положение или нет.

Если есть индикатор, тогда можно его закрепить на оси и по нему определить точное возвращение оси или отметь примерное положение, а на двигатель повесь флажок и точное возвращение смотри по флажку.
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Viper »

Здравствуйте. Вторую неделю курю ваш форум( оч. много полезного и интересного :good: ).
Собираю станочек, весьма нестандартной конфигурации - сверлильно-присадочный. Передвижение по оси Х осуществляется посредством протяжных валов.
Не могу понять, как настроить LinuxCnc без нулевого концевика по Х(установка не возможна). И как заставить станок при каждом запуске управляющей программы программы сбрасывать Х на ноль? Если эта тема обсуждалась, ткните носом пожалуйста.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: FAQ по EMC2 LinuxCNC

Сообщение aegis »

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

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

aegis писал(а):немного не понял зачем сбрасывать в 0, да еще и без датчика. как вариант можно сделать через программу, в которой запускается нужное количество раз основная программа, в конце которой происходит смещение и переход в новую систему координат используя ж53 или ж92, смотря какого результата вы хотите добиться
Проблема в том, что linuxCNC будет следить за реальным положением оси. Надо делать ось бесконечной.
Viper писал(а):Не могу понять, как настроить LinuxCnc без нулевого концевика по Х(установка не возможна). И как заставить станок при каждом запуске управляющей программы программы сбрасывать Х на ноль? Если эта тема обсуждалась, ткните носом пожалуйста.
А в чем смысл сброса на 0? Если и правда эта ось бесконечная или радиальная, то просто настраиваем ее такой и делаем, как сказал aegis, G92 X0.
Сделай фотку станка, интересно что это такое и как оно работает :).
Еще можно сделать эмуляцию датчика home и заставлять linuxcnc в самом начале программы искать home по оси X.
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Viper »

Фото до понедельника, на работе. Смысл оси, в двух словах: под деталью(ЛДСП) стоят два обрезиненных вала привешенных на шаговик с редуктором, через зубчатый ремень, над деталью два ответных вала. Конструкция предусматривает пневматический подъем верхних валов. Принцип работы: верхние валы подняты - заводится деталь, опустились валы ОБНУЛИЛИ ось, и поехали сверлить, цикл кончился - валы поднялись и на новый цикл.... Ну как - то так перимерно. Тоесть ось получается бесконечная, как и сказал Nick, если не сделать ее такой emc заругается на длину оси. А вот как сделать бесконечную ось я не знаю...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Nick »

Надо просто пределы осей стереть :). Открываем конфиг и трем из раздела AXIS0 в ini
MIN_LIMIT = 0.0
MAX_LIMIT = 300.0

Также можно записать в пин axis.N.home-sw-in 1 и тогда при нажатии на home X будет обнуляться. Также можно попробовать ее автоматически захоумить.

Но наверное проще бужет с бесконечной осью и g92.
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Viper »

Еще вопросец назрел... На станке механика почти готова, а вот из электроники тока драйвера да блок питания. Надо делать интерфейсную платку, но тут у меня два пути. Так как в станке получилась кучка релюшек и кнопочек, то придется либо второй лптшник приделывать, что оч не хоца(неэстетично как-то), либо научить емц общаться с мк, по принципу емц посылает управл. сиггал на, скажем ком порт и ждет ответа мк, только потом отрабатывает следующ. строку кода. Подскажите реально такое реализовать в емц, и где мона подглядеть как его настроить если реально? Заранее спасибо!
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: FAQ по EMC2 LinuxCNC

Сообщение aegis »

намного проще и дешевле купить переходник пси-лпт и заиметь еще один полноценный порт лпт. заморочек меньше, стабильней работать будет. а насчет эстетизма даже не знаю... неужели вторая плата опторазвязки и шнурок в комп выглядит страшно?
как по мне, то внешний вид на порядок менее важен чем функциональность и стабильность
нікому нічого не нав'язую.
Viper
Новичок
Сообщения: 23
Зарегистрирован: 30 мар 2012, 20:58
Репутация: 3
Настоящее имя: Сергей
Откуда: Россия г. Рыбинск
Контактная информация:

Re: FAQ по EMC2 LinuxCNC

Сообщение Viper »

Смысл МК был скорее не в эстетике ;), а в функциональности. У меня получился довольно непростой код обработки сверления. У меня сверлильная головка состоит из четырех подъемных шпинделей, расположенных по оси У через 34мм , которые поднимаются(сверлят) пневмоцилиндром с магнитным штоком. Цилиндр поднимается (управляется реле - вкл. выкл.), пока его шток не дойдет до герконового датчика. Датчик уже подвешен на шаговик(глубина по зет). То есть чтобы выполнить одно отверстие код должен выглядеть примерно так:
1. G54-58 в зависимости от шпинделя
2. G0 X Y Я
3. вкл. реле для нужного шпинделя
4. ждем пока сработает геркон и выключаем реле
5. ждем пока сработает датчик, чо шпиндель опустился( или просто задержка :thinking: )

А хотелось просто передавать в МК параметр с номером шпинделя и получать от него ответ, когда цикл отработан.

ЗЫ: помимо сверлильной головы, там еще много заморочек с релюшками по Х, хотелось тоже их в МК запехать...
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: FAQ по EMC2 LinuxCNC

Сообщение aegis »

Viper, что-то мне подсказывает что повесить на каждый мотор свой шаговик и все это прилепить к отдельному порту будет куда проще
нікому нічого не нав'язую.
Ответить

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