LinuxCNC похоже пропускает команды

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Всем доброго дня! Я тут впервые и опыт ЧПУ у меня не велик. Потому прошу сильно не пинать.
Проблема такая: есть у меня станок из китая CNC3020. С его помощью я гравирую печатные платы. И вот уже сбился с толку, т.к. не знаю вообще в какую сторону копать. Есть необходимость сделать одну достаточно сложную плату. Размеры не большие, но много напихано деталей и много сложных контуров. Поверхность текстолита изначально "сосканирована" кодом от g-code-ripper и исходный GCODE рисунка платы модифицирован тем же g-code-ripper-ом. Сам рисунок делал во FlatCAM.

Так вот: проблемы только с этим рисунком. С другими рисунками (плат делал много) таких проблем не было вообще. Причем в самом GCODE есть только G0 G1 F XYZ команды, и никаких там дуг или окружностей и т.п. Но g-code-ripper в соответствии с картой высот это все разбивает на огромную кучу коротких отрезков, и обычная прямая превращается в сотню маленьких прямых. И вот получается такой результат: сам LinuxCNC (AXIS) загружает файл нормально и отображает все корректно. Но после гравировки всплывают "косяки" некоторые детали рисунка получаются смещенные по X. Никогда не было смещения по Y, но возможно бывает смещение по Z. Причем если бы это был пропуск шагов, то "уезжало" бы все, что рисуется после пропуска. А тут нет! То есть какой нибудь прямоугольник нарисует смещенным, а все остальное - уже так как надо (это как пример). То есть и складывается ощущение, что какие-то из команд пролетают без выполнения.

Я уже и механику всю перетряхнул, и драйверы перебрал, и кабели... А нифига не помогает. Причем эта беда встречается пока только конкретно на одном рисунке платы. Просматривал код вручную - не помогло, ничего не увидел криминального.

Что делать? Куда копать?
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Вот сейчас подумал, пропуск команды особо ничего не даст... Там же везде абсолютные координаты. То есть если какая-то команда будет пропущена, все остальные-то отработают верно.

А тут получается что именно какой-то целый элемент, целая траектория (или даже группа рядом расположенных траекторий) вдруг смещаются по X, причем всегда в положительную сторону. Но потом остальные траектории рисуются правильно. Даже не знаю что это такое... Пропуски шагов вот так сами по себе не восстанавливаются, да и механика иначе сбоит...
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

И еще одно наблюдение. Когда сканирую кривизну текстолита, в файл probe_points.txt пишутся видимо тоже смещенные координаты. Во всяком случае мне так кажется. Вот почему: например я выставляю щуп (просто сверло в патроне) в X0 Y0 Z1 и даю MDI команду G90 F50 G38.3 Z-20. Щуп опускается до меди и останавливается. Далее я обнуляю Z координату. Для проверки несколько раз поднимаю щуп на высоту 1мм и той же командой G38.3 опускаю его на медь. Результат +/- 0.002 мм. Далее поднимаю щуп на высоту 1мм и запускаю код сканирования поверхности текстолита (от g-code ripper-а) и первая точка у меня получается всегда на 0.02 мм больше. То есть вместо 0.001 будет например 0.021 или около того. Причем если программу остановить, снова отодвинуть щуп в X0 Y0 Z1 и сделать касание - то будет 0.001 например, то есть координаты никуда не "уползают".

Если выполнять программу по шагам вручную - то такого смещения не происходит. Такое ощущение что в файл попадает значение координаты, не успев обновиться что-ли...

Вполне возможно, что это все взаимосвязано.

P.S. Компьютер - Intel Celeron 2.3ГГц, 1Гб оперативы, LPT порт на материнской плате.
Аватара пользователя
rehden
Мастер
Сообщения: 201
Зарегистрирован: 06 мар 2012, 12:31
Репутация: 33
Настоящее имя: Денис
Откуда: Павловский Посад
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение rehden »

atomichammer писал(а):Добрый день
Пилил несколько деталей на своем роутере и под конец, когда уже проходил контуры, сдвинулась заготовка. Материал (и время) выкидывать жалко и я знаю, что есть возможность заново закрепить заготовку с уже насверлеными отверстиями и забазироваться по ним. Проблема только в том, что лень идеально выставлять заготовку параллельно осям. Поэтому ведь можно как-то посмотреть текущие координаты пары отверстий и на основании этой инфы подвинуть/повернуть систему координат? Как это сделать?
как вариант можно фальшствол подложить. примерно привязаться к размерам заготовки. из кода выдернуть 3 точки сверления. просверлить 3 отверстия по этим точки таким же диаметром. и через штифты отцентровать заготовку.
или просто штифт или сверло диаметра просверленных отверстий зажми и без включенного шпинделя потыкайся по координатам сверления. и деталь отцентрует. можно в реверс шпинель включить. или же нужно искать угл рассогласования. программу коррекции кодп и корректировать на угол. готовых решений не встречал... особенно на поворот системы координат по нескольким точка привязки....
ну или если есть 2 параллельных отверстия то смотри http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=7981 Probe Screen V2
ток там по углам мож как то и по другому можно до эт создателю нужно вопрос адресовывать))
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

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

Re: LinuxCNC похоже пропускает команды

Сообщение solo »

я бы на LinuxCNC грешил в последнюю очередь или вообще не думал бы о том, что LinuxCNC может, что то пропустить , ищите проблемы в механика , в соединительных кабелях , в электронике (драйвера шд, блок питания ) и т д
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение Serg »

vivalzard писал(а):А тут получается что именно какой-то целый элемент, целая траектория (или даже группа рядом расположенных траекторий) вдруг смещаются по X, причем всегда в положительную сторону.
Весь форум заполонён такими симптомами - причина скорее всего в механике или в пропуске шагов, что скорее всего тоже из-за механики.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

В том-то и дело: везде от пропуска шагов/кривой механики смещения носят перманентный характер вплоть до окончания программы. У меня же не так. Смещается только какая-то дискретная часть, а потом все остальное вдруг рисуется правильно. Причем рисуется правильно в тех же местах, где до этого было смещение. И ниразу не бывало такого, чтобы например прямая по середине оборвалась и стала идти смещено. Смещение происходит (скорее всего) во время перемещения по воздуху.

Но если бы это был пропуск шагов - то сместилось бы вообще все, что после пропуска рисуется. А тут смещается небольшой элемент (или группа элементов, которые идут в коде подряд), а потом все нормализуется. Возвращается очень точно назад, т.к. после гравировки я проверяю не "уползли" ли координаты по XYZ - и оказывается что по Z максимум "убежало" +/- 0.005 мм, а по XY точно попадает в 0.5мм отверстие, которое было намечено перед гравировкой - специально как исходная точка. Как вот такое может быть, причем многократно?

И еще что может такое быть со сканом поверхности текстолита? Вручную-то все нормально идет, и если команды выполнять по-одной тоже все норм. А при выполнении кода - почему-то значения на 0.02мм становятся больше.

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

Re: LinuxCNC похоже пропускает команды

Сообщение solo »

я LinuxCNC пользуюсь уже 7лет за это время у меня были программы которые выполнялись по 20 часов и все это без единого пропуска
если комп медленный то обычно выдается ошибки с предупреждением или описанием ,
перед использованием компа под чпу проводят тест Re: EMC2 Integrators Manual Перевод на русский язык #5
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Latency Test выдает джиттер базового периода максимум 20000нс. Я в Stepconf указал 25000нс, и 15000нс - длительность импульса для драйвера. В итоге базовый период у меня 40000нс. Ошибок от LinuxCNC типа -слишком длинная задержка RT- (или как-то там) не всплывает.

Я понимаю что глупо винить LinuxCNC. Но даже не знаю к чему тут прикопаться. Механику всю подергал/пересмотрел - все нормально. Платы с другим рисунком гравировались с первого раза нормально!. Беда только с этой платой почему-то. Видимо на ней проклятье, потому что развел не по фен-шуй :-)

И вот это сканирование высоты - тоже не понятно... Ведь вручную и по шагам все нормально идет - скорости там те же. А когда выполняется код автоматически, то данные пишутся со смещением.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11628
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4638
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение michael-yurov »

Похоже на проскальзывание муфты.
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

michael-yurov писал(а):Похоже на проскальзывание муфты.
Вот и мне только что пришла такая мысль... Причем я ведь механику проверял, шевелил все... но на холодную и голыми руками. Вполне возможно что под нагрузкой, да когда шаговик разогреется от долгой работы, муфта чуток прослаблялась и винт в ней прокручивался на пол-оборота например... Причем это вероятнее произойдет на большой скорости, когда идет движение по воздуху. А потом в какой-то момент винт "вкручивался" обратно.

Слуш, спасибо за наводку! Завтра буду ковырять в эту сторону!

P.S. Вообще станок тот еще. Много боли и печали. Если кому интересно, вот немного видео про него снял:
раз - почти сразу после покупки (когда пришел из китая)
два,три,четыре - уже после доработки
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение Serg »

vivalzard писал(а):Вполне возможно что под нагрузкой, да когда шаговик разогреется от долгой работы, муфта чуток прослаблялась и винт в ней прокручивался на пол-оборота например... Причем это вероятнее произойдет на большой скорости, когда идет движение по воздуху. А потом в какой-то момент винт "вкручивался" обратно.
Как правило ослабляется сцепление вала с муфтой и при небольших ускорениях этого сцепления ещё хватает, а при больших начинает проскальзывать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Таки да. "Дело было не в бобине..."

Муфта проскальзывала, причем не на вращении, а вдоль оси. На валу шаговика есть лыска, вот по этой лыске и скользило. Причем на холодную сидело плотно - руками не сдвинуть. А вот когда мотор прогревался - с усилием можно было двинуть вперед/назад где-то на миллиметр. Причем с характерным щелчком, то есть "застревала" в четких позициях, что и объясняет возврат станка в прежние координаты. Виной всему - чуток (наверное от вибраций) ослабли винты муфты со стороны шаговика. Затянул вот, сейчас тестировать буду.

И вроде как смещение 0.02мм по Z ушло при сканировании...
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Нифига проблема со сканированием поверхности по Z не ушла. Причем я глазами смотрю на цифры координат на экране - и вижу что при касании мелькает цифра типа 0.001 мм. А в файл пишется 0.021 или 0.0198.
С чем это связано? Как будто в файл пишется значение координаты, которая не успела обновиться.

upd:
Блин, как-то все сложно: к примеру если делать касание поверхности на скорости 50 мм/мин, то получается к примеру 0.001 мм. А если в ту же точку сделать касание со скоростью 5 мм/мин то получается 0.021 мм. Как бы скорость ниже - выше точность. И получается что в файл пишутся более точные данные, хотя касания при сканировании идут со скоростью 50 мм/мин. Но почему на экране-то они отображаются не так?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение solo »

я когда вижу такие станки , и когда рядом с этим станком идет упоминание о точности станка выше 0.1 мм( это очень крутой результат если так будет в реальности ) мне в это верится с трудом
может просто для начала взять обычный индикатор и посмотреть как станок ездит , я думаю, что результат вас оочень удивит
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

Да я знаю что станок пластилиновый, но тем не менее - практика показывает что точность достаточна чтобы гравировать платы. По крайней мере глубина гравировки в 0.1мм и 0.05мм очень хорошо различаема глазом, а под микроскопом тем более. Практика показала что за два часа гравировки глубина вреза в текстолит (естественно после предварительного сканирования) меняется в пределах не более +/- 0.02 мм.

Индикатора у меня нет, но есть микроскоп МБР-1 с микрометрическим окуляром МОВ-1-15х - это точный и выверенный прибор и им я изучаю то, что получается в результате. И в общем-то точности в +/- 0.02мм мне за глаза для гравировки плат. Причем по XY можно и на 0.1мм ошибиться - там не критично.

Потом гравировка рисунка платы на текстолите подразумевает не особо большие нагрузки (если гравер не убитый) - следовательно важна точность.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение MX_Master »

Константин, у тебя механика не поддерживает такую точность (0.02).
vivalzard
Новичок
Сообщения: 13
Зарегистрирован: 28 фев 2019, 14:11
Репутация: 0
Настоящее имя: Константин
Контактная информация:

Re: LinuxCNC похоже пропускает команды

Сообщение vivalzard »

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

Re: LinuxCNC похоже пропускает команды

Сообщение solo »

по скольку тема по LCNC и о пропуске команд
у Lcnc есть инструмент халметр Re: EMC2 Integrators Manual Перевод на русский язык #52
там можно выбрать пин axis.0.f-error и в реальном времени смотреть величину ошибки между заданной и реальной координатой , ( частности оси Х) , если виновник ком управления там будет все видно
Ответить

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