Проблемы с ЧПУ
Доброго времени суток!
Нужна Ваша помощь в решении проблемы с самодельным чпу-гравером.
Коротко о главном.
ОС - Win 10; Управление - arduino uno+ shield v3+ a4988; Прошивка - GRBL 0.9j/1.1j; ШД - Nema 17 2401; Программы - UniversalGcodeSender, GRBLControl.
Обрисую проблему на примере. Гравируется квадрат 100х100 с диагоналями и в каком-то случайном порядке происходит отклонение от координат (в противоположные стороны на 15 мм, в конкретно этом случае)
Вот траектория движения здорового гравера [ВНИМАНИЕ! Достаточно громкое видео]
А вот траектория движения курильщика (УП одинаковы) [ВНИМАНИЕ! Достаточно громкое видео]
Вот такие финты выдаёт постоянно. Как я ранее заметил, на одно и той же УП может проходить без отклонений и с разными, рандомно.
Ну и полностью вся история.
После сборки и настройки, поставил на ардуино прошивку - GRBL 1.1j. При первом запуске начались вот такие закидоны, подумал что подклинивает, ан нет, после проверок - всё норм. Переобжал проводку к ШД, менял местами ШД. В итоге закачал прошивку GRBL 0.9j- проблема осталась. Решил менять с самого дешёвого - бутерброд из ардуино.
В итоге. Пришла плата с новый шилдом и дровами и вчера подключил её. С самого первого перемещения станок начал глючить. Ушёл домой в расстроенных чувствах)
Сегодня решил заснять на видео сам глюк и гонял по квадрату 100х100.... 30 минут, нормально работала. Решил прогнать по диагоналям - сразу глюк, делал в GRBLControl. 2 раза начинал и 2 раза одинаково смещался. Решил попробовать через UniversalGcodeSender - всё норм, обрадовался, начал гравировку, 1й раз прогнал- норм, 2й - глюк.
И вот, на данный момент имею только 2 мысли:
1- Win 10 плоховато влияет на это дело (уже взял для завтрашних изысканий бук с вин 7)
2- экранирование проводки и самого бутерброда arduino
Буду благодарен за идеи/советы по разрешению данной проблемы.
P.S. В интернете искал, но ничего не нашёл... правда может неправильно искал...
Было без деления, вчера поставил 1/4 - подумал что вылечилось, не проканало, попробую на максимум тогда.
Я думал мне одному такая идея пришла в голову) Уже перебираю варианты из разряда фантастики)
Да, проблема решилась, сам бы наверное на 1/4 делении и остановился, хотя прогресс был виден, при 1/4 уже начало меньше глючить)
Спасибо за помощь!)
Питание ардуино.Начинает моросить при включении питания, лечится перезагрузкой.Если запитан от компа через USB то вынуть вставить разьем.Было похожее.
Если провода до концевиков прокинуты-экранировать конкретно.по полной.Концевики ещё не устанавливал...
Но вот по поводу питания (и как выше упомянули, передача данных), видимо мне надо съездить и прикупить новый кабель USB, завтра попробую
дело не в кабеле а в качестве питания раз и в инициализации com порта в usb два. там надо фильтр ставить сглаживающий, короче в этом направлении копать.
Обратите внимание на температуры драйверов ШД - у меня на станке были похожие глюки и их причина была в перегреве.
была, в самом начале, такая версия, я устроил мега обдув, разместив под тепловой завесой(в режиме обдува без нагрева)... не помогло(
Спрошу, как дилетант, ибо не в курсе - связь с компом по какому интерфейсу?
Если TTL RS232, то воткнуть в комп второй свисток USB--RS232 и зацепить его RX к лини RX Arduino и смотреть терминалом, что там реально из компа передалось.
Или скорость передачи понизить.
Да там обычный USB A-B.
Скорость порта не трогал, т.к. все пишут, что она фиксированная для этих прошивок... ну ради интереса вечером попробую.... спасибо за наводку
Я ошибался, интерфейс зовется не RS232 а UART.
у Ардуино, на сколько я видел, на самом процессоре нет USB, там всё равно USB-UART переходник, просто уже запаянный на плату. Выходит, нужно найти линию TX-RX между "переходником" и процессором.
Полез смотреть (всё время пользуюсь ProMini, а большая лежит в коробке) - на моей Mega2560 между USB и процом стоит чип CH340G. Однако линии TX/RX выведены на край, на контакты 0 и 1 (через резисторы 50 Ом)! Скорее всего это у всех Ардуин так.
Так что бери отдельный свисток USB-UART и его входом RX цепляй к контакту 0 (тоже RX).
Останется на свистке замкнуть на землю CTS, если он есть, и подобрать скорость.
Спасибо за совет! Но это для меня ппц сложно/непонятно) Сначала попробую отработать версию с экранированием, если она не прокатит буду разбираться с Вашей версией)
По поводу скоростей, скорости отличные от 115200, проги не воспринимают и пишут ошибки
Наводки давали бы одиночные сбои +- 1-2-3 шага.
Но видно, что сбой носит командный характер, то есть Ардуина выполняет команду перехода на кучу шагов длительностью в несколько секунд.
Варианты:
1) Она получила эту команду (комп)
2) Она придумала эту команду (прошивка)
3) Она неправильно исполнила команду (прошивка)
4) В текст команды влезло искажение (передача данных)
(4) на уровне USB не возможно -- там есть контроль ошибок данных. На уровне UART это сомнительно, проводники на печатной плате Ардуины.
Величина отклонения различна? Какие величины встречаются? Направление отклонения различно? Ошибка по обеим осям?
Сделай программу, которая бесконечно рисует квадрат и пусть режет - получишь ответы на эти вопросы. Скорее всего исключишь вариант (4).
Если потом прицепить монитор на поток команд - можно исключить вариант (1).
и заметь - ошибка возникает именно на границе между командами, ведь при черчении прямого отрезка передаётся одна команда а не мильён для каждого шага? (если честно - я не знаю как выглядит поток управления в CNC)
А у тебя все отрезки имеют правильный размер, просто возникают лишние отрезки, которые смещают продолжение картинки. Так ведь?
Суть в чём, когда делались проходы по диагоналям, в GRBLController- сразу были эти смещения, одинаковые, (УП писалась вручную), потом начал через Universal G-code Sender - первые 2 раза (холостой ход), прошёл без глюков, один проход, на глубину 1мм тоже был нормальным, а второй проход "уехал"
Поэтому, мне кажется, 1/2/3 варианты можно отклонить....а вот 4й вариант... поеду завтра куплю новый кабель USB - покажет по передаче данных и (как ниже писали) - по питанию
"УП писалась вручную" - то есть ты знаешь, какие команды заставляют двигаться механизм...
Попробуй представить, что и куда нужно добавить к УП для рукотворного повторения глюка.
А ток на драйверах шаговиков правильно настроен? Может они тупо шаги в некоторых режимах пропускают?
17HS2401: Vref =1,7/1,25=1,36В
Vref07 =1,36*0,7=0,95В
Сейчас поставил 0.9В
ферриты не помогут надо н-фильтр паять.
чем ниже тем лучше.начиная от "что не давится ферритом".
Не пробовали ардуинку перешить на другю прошивку (из другого источника)? А то как-то интересно у него координаты сбиваются...
Так это уже второй бутерброд из ардуино, на первой была прошивка 0.9j, на этой- 1.1... и та же история.
Все ссылаются на github, оттуда и эти брались
И на обоих ардуинах одинаковый глюк? Я имею ввиду одинаково сбиваются диагонали (расстояния)? Могу еще предположить что мусор в порт какой-то залетает, не проверяли это?
стандартная, из комплекта к ШД, около 1 метра, может даже меньше
У меня с 10й были проблемы при работе, перешли на 7ку и работает как нужно.
вот завтра буду пробовать.... сначала грешил на механику, потом на электронику, потом на электрику....сча на винду)
да, я так системы и не увидел в этих глюках... рандом жуткий
попробуй заменнить двиг, с большой вероятностью проблема в нем, тупо клинит, а силы прокрутить не хватает
я менял местами, и самый прикол в том, что он ведёт себя не как вклинивший....например, когда упирается в стенку- шуршит/жужит/усирается и вырубается... а при глюках - едет/возвращается в обратную сторону/ едет дальше (это при движении по прямой)
надо смотреть управляющую программу , судя по всему баг в ней , возможно железо как то не правильно воспринимает некоторые команды
УП написаны в ручном режиме... и одна и та же УП выполнялась по-разному...
Когда, раньше, делал более трудоёмкие детали, то тоже начал грешить на программу создающую УП, но тут нечему косячить:
Квадрат 100х100
G91
G01 Z-11 F300
G01 X100
G01 Y100
G01 X-100
G01 Y-100
G00 Z11
Диагонали
G91
G01 Z-11 F300
G01 X100 Y100
G00 Z11
G00 X-100
G01 Z-11 F300
G01 X100 Y-100
G00 Z11
G00 X-100
G91- я просто ещё не установил концевики, поэтому обнуляю вручную, ну и начинаю с G91
ДиагоналиG91
G01 Z-11 F300
G01 X100 Y100
G00 Z11
G00 X-100
G01 Z-11 F300
G01 X100 Y-100
G00 Z11
G00 X-100
В том и прикол, что 1й раз нормально проходит всю УП, а в 2й раз начинает глючить.. На других УП тоже рандомно по количеству нормальных проходов и точкам начала глюков.Всё больше начинаю склоняться, что дело в винде 10
Конкретно эти квадраты и диагонали писал вручную... сначала тоже грешил на УП, но делал модели в SolidWorks, а УП в SolidCam и ArtCam.
Станок глючил даже когда управляешь из программы, в простых перемещениях
математика в прошивке некорректна , пробуй менять алгоритм (последовательность заходов, или 2 шт программы квад.+ диагонали, обнаружишь глюк квадратичного приращение, или разверни "узор" на 45 гр.)
Но я использовал, в конечном итоге, 3 разных прошивки, которыми пользуются и не имеют проблем...
таки про экранирование вы правильно подумали
и заземлить не забудьте
это могут быть как наводки так и статическое электричество
я так понял витая пара подойдёт? экран на землю платы? я просто механик, в электрике/электронике не особо "бум-бум")
экранированная витая подойдет, но как писали может быстро сломаться
я видел как для этого использовали фольгу и скотч
ну, как минимум, для проверки сойдёт
ну, думаю начать с неё, чтобы убедиться в наличии/отсутствии воздействия помех на проводку
Первая мысль - что кого-то кинули по деньгам, и он таким образом мстит Вам.
Эм, можно немного развернуть мысль...не уловил немного
Во всех своих чпу, были и будут глюки без заземления(заземлять все, плату, компьютер, сам корпус станка) двигатели и трение создают нехилое такое статическое електричество.
Читал несколько постов, где заказчики нанимали людей, потом их кидали по оплате, илюди делали им бяку - например, программу в ЧПУ с хитринкой.
Но вряд ли это Ваш случай. Я, как понимаю, Вы сами занмиаетесь наладкой.
я понял) Нет, у меня на ардуино, там прошивка в общем доступе
Постою до завтра. Что семёрка скажет
Ничего 7ка не сказала...
Брал на пробу нетбук asus, всё установил, проверил через arduino ide отклик платы, всё нормально отзывалось.. при подключении слышно что ШД реагируют... а вот двигаться не хотели, прога пишет что подключено, а при задании движения писало ошибку.
Взял через свой бук и установленную на него виртуалку вин7 (WMware), добился отклика и движения... но тоже с такими же глюками
Так что, ОС (в конкретно моём случае) не влияет... Буду заморачиваться с экранированием проводки и самой ардуино
Что за фильтрация ? У меня обороты падают На ходу, что может быть?
так у меня даже без включённого шпинделя, буду пробовать на 7ке, ибо 10ка со своими закидонами,может в этом трабл
ОС не повлияет, GRBL принимает не шаги (которые ОС может и пропустить), а G-Code команды. Очевидно виноваты драйвер ШД/сам ШД/или провода. зачастую экранировки проводов не хватает. Если уменьшить максимум шагов/сек результат сразу проявится. К тому же ардуино тоже может работать некорректно, чем Вы её питаете? Видел похожую хрень когда ардуино и движки питались от одного БП, МК сбоил пока не поставили конденсатор для фильтрации питания ардуино.