ВОПРОС Проблема указания скорости для прошивки Marlin

plasmacut

НЕ ТОЛЬКО ЧИТАЕТ
ПРОВЕРЕННЫЙ
Регистрация
03.08.2020
Сообщения
61
Реакции
47
Баллы
38
Город
Одесса
У меня на станке применен offline контроллер Arduino Mega2560 /Ramps 1.4 с прошивкой Marlin.

После долгих экспериментов с моей прошивкой Marlin я обнаружил, что для для нее что G0 что G1 практически одинаковы. То-есть если в УП была записана скорость F для G1, а затем в следующем кадре идет G0 без параметра F, то эта G0 будет работать на той же скорости, что была у G1. Аналогично если была задана скорость для G0 с параметром F, а потом следует G1 без указания F, то ,будет использована предыдущая F. Я думал, что это у меня такая версия Marlin, но вот что я прочитал на их сайте:
==============
The most basic move sets a feedrate and moves the tool to the given position.

G0 X12 ; Move to 12mm on the X axis
G0 F1500 ; Set the feedrate to 1500 mm/min
G1 X90.6 Y13.8 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis
==============
Как видим G0 может быть с параметром скорости F. Непонятно для чего они это сделали? Эксперименты на смоем станке показали, что скорость F записывается в память и оттуда извлекается для отработки любой из следующих в УП команд G0 или G1, пока для них не укажем новую F.
Получается, что для гарантии правильной работы нужно, чтобы в скорость F указывалась каждый раз, когда ее нужно изменить независимо от того G0 или G1. Так например, если было сверление с указанием скорости G1 Z-0.3 F5, а затем нужно на быстром ходу подняться на безопасную высоту, то нужно написать не просто: G0 Z2, а так:G0 Z2 F100, иначе будет выполняться G0 на скорости сверления F5.

Вот например такая последовательность строк:
=============
G1 Z-0.3 F5
G1 F10 (эта строка относится к следующим за ней рабочим G1 перемещениям, но т.к. за ней сразу следует G0 Z2, то в моем случае скорость повлияет именно на G0)
G0 Z2
G0 X46.2 Y29.6
==============
Вопрос к тем, кто применял прошивку Marlin для фрезера: встречались ли с такой проблемой? Возможно ли, чтобы в УП G0 отрабатывалась со своей скоростью холостого хода, а не той, которая была задана перед ней для команды G1?
Простым решением этой проблемы была бы простановка скорости для G0 и G1 при формировании УП, но я не знаю как это делать в автоматическом режиме. Пока использую только StepCAM, который не позволяет проставлять скорость как описано выше.
 
Последнее редактирование:
Сейчас напишу не в тему, Юра удалит сообщение если не понравится. Я не понимаю ваш выбор. Если вы хотели использовать Ардуино мега +рампс1,4 , то была на гигхабе прошивка GRBL 1.1I , как раз для этого бутерброда, прошивка 5ти осевая , на станке не проверял , ибо 4 х осевая плата от инектра пришла, но подключение ШД, концевиков ,зонда и шпинделя проверил, вроде все работало. Нахрена вам этот Марлин сдался? , он избыточен для cnc станка. Кстати прошивка GRBL 1,1I не поддерживается в виду того , что бутерброд уже устарел морально и большинство перешло на 32 битные платы управления. Нет , Марлин на cnc , это наверное круто, но нахрена? Знаете , я когда пришел на форум ,в 2018 году, одним из первых моих вопросов был именно , как приделать мегу с рампсом к станку для управления 4той осью ( тогда ещё с grbl 0,9 на grbl 1.1 переходили) ибо бутерброд валялся , вот так он до сих пор и валяется, и ничуть не жалею об этом. В марлине пол прошивки переделать нужно ( утрировано конечно), но я одно время сунулся и забросил это дело, времени стало жалко.
 
Последнее редактирование:
Сейчас напишу не в тему, Юра удалит сообщение если не понравится. Я не понимаю ваш выбор. Если вы хотели использовать Ардуино мега +рампс1,4 , то была на гигхабе прошивка GRBL 1.1I , как раз для этого бутерброда, прошивка 5ти осевая , на станке не проверял , ибо 4 х осевая плата от инектра пришла, но подключение ШД, концевиков ,зонда и шпинделя проверил, вроде все работало. Нахрена вам этот Марлин сдался? , он избыточен для cnc станка. Кстати прошивка GRBL 1,1I не поддерживается в виду того , что бутерброд уже устарел морально и большинство перешло на 32 битные платы управления. Нет , Марлин на cnc , это наверное круто, но нахрена? Знаете , я когда пришел на форум ,в 2018 году, одним из первых моих вопросов был именно , как приделать мегу с рампсом к станку для управления 4той осью ( тогда ещё с grbl 0,9 на grbl 1.1 переходили) ибо бутерброд валялся , вот так он до сих пор и валяется, и ничуть не жалею об этом. В марлине пол прошивки переделать нужно ( утрировано конечно), но я одно время сунулся и забросил это дело, времени стало жалко.
Может Вы и правы, но у меня проект был начат, вернее остановился более 6 лет назад. Железо даже с избытком было куплено давно. Сейчас реанимирую. Это конечно не стойка FANUC, но возможности в принципе в целом устраивают. В Интернете много интересных новых решений. Их выбор тоже неоднозначный и как всегда есть свои плюсы и минусы. "Подводные камни" как описано выше могут также всплыть в любом из них. Я использовал Marlin специально заточенный для фрезерного станка в котором уже были обрезаны принтерные настройки. В целом работает нормально. Выбросить всю начинку и перейти на новое железо? Непонятно ради чего. Пока буду переходить опять появится что-то новенькое. Описанный выше недостаток является не проблемой железа, а проблемой программы или ее настроек. Ответ на эту проблему пытаюсь найти у людей, которые этот путь прошли. Подозреваю, что мой вопрос уже у кого-то возникал и как-то решался.
Вот только что нашел такую информацию от ИИ. Помещаю здесь перевод с английского:
"В прошивке Marlin для 3D-принтеров команды G0 (ускоренное перемещение) и G1 (линейное перемещение) обрабатываются одинаково, и обе используют заданную скорость подачи, в отличие от большинства других систем ЧПУ, где G0 перемещается с максимально быстрой скоростью. Чтобы ускорить перемещение по G0, необходимо вручную задать более высокую скорость подачи (параметр F) в G-коде или использовать настройки прошивки для отдельной скорости подачи по умолчанию для перемещений по G0.

Исключение Marlin:
Нет существенной разницы в скорости:
В отличие от других систем ЧПУ, где G0 — это «максимально возможное» перемещение, а G1 — контролируемая скорость, Marlin рассматривает G0 как псевдоним для G1."
Это именно то, о чем я писал. Также они пишут, что в новых версиях есть возможность изменять скорость отдельно для G0 и G1. Вот только какая версия эти настройки содержит? Уж очень не хочется перелопачивать с нуля "новую версию" с сайта Марлин.
 
Выбросить всю начинку и перейти на новое железо? Непонятно ради чего.
Если не очевидно, то смысла нет. Юзал марлин, нужна автономность, с кучей возможностей с экрана. После успешно перекочевал на FluidNC заменив плату на MKS Tiny Bee, где Wi-Fi. Дополнил экраном с проекта FluidDial и счастлив.
 
Последнее редактирование:
Может Вы и правы, но у меня проект был начат, вернее остановился более 6 лет назад. Железо даже с избытком было куплено давно. Сейчас реанимирую. Это конечно не стойка FANUC, но возможности в принципе в целом устраивают. В Интернете много интересных новых решений. Их выбор тоже неоднозначный и как всегда есть свои плюсы и минусы. "Подводные камни" как описано выше могут также всплыть в любом из них. Я использовал Marlin специально заточенный для фрезерного станка в котором уже были обрезаны принтерные настройки. В целом работает нормально. Выбросить всю начинку и перейти на новое железо? Непонятно ради чего. Пока буду переходить опять появится что-то новенькое. Описанный выше недостаток является не проблемой железа, а проблемой программы или ее настроек. Ответ на эту проблему пытаюсь найти у людей, которые этот путь прошли. Подозреваю, что мой вопрос уже у кого-то возникал и как-то решался.

Если не очевидно, то смысла нет. Юзал марлин, нужна автономность, с кучей возможностей с экрана. После успешно перекочевал на FluidNC заменив плату на MKS Tiny Bee, где Wi-Fi. Дополнил экраном с проекта FluidDial и счастлив.
Ваши сообщения автоматически объединены:

Уважаемый trew21. Вы мне не так давно дали свою версию Marlin для фрезера, но как я понимаю она тоже сделана на относительно старом Марлине. Вы писали, что использовали ее какое-то время. В принципе в моей практически все заработало. Осталась проблема с G0 и G1, которые в старых версиях Марлин фактически используют одну и ту же ячейку памяти, куда УП записывает скорость F. Об этом пишут англоязычные ресурсы. Также пишут, что в новых версиях Марлин эта проблема устранена и можно указывать отдельно скорость для G0 и G1. Я бы использовал новую версию, но нужна ее фрезерная адаптация, исключающая функции 3Д принтера. Самому мне такое не сделать за неимением опыта. Правда есть еще вариант: используя старую версию Марлин указывать значение скорости для G0 и G1 в тексте УП. Тут опять же возникает вопрос: какая программа или постпроцессор сможет вставлять скорость в каждую строку УП, где есть перемещения G0 и G1?. Например последняя версия StepCAM это не делает, а в текстовом редакторе править здоровенные файлы УП - это не наш метод. Может кто знает решение по по одному из этих двух вариантов: либо ссылка на фрезерную версию на основе нового Марлин или возможность формирования УП с явным указанием скоростей для G0 и G1?
 
В Интернете много интересных новых решений. Их выбор тоже неоднозначный и как всегда есть свои плюсы и минусы.
Главный минус рампса с мегой - это бутерброд, при вибрации значительно большей чем на 3д принтере ( где от него то же старались избавится) надежность такой связки вызывает большие сомнения. На данном этапе есть уже готовое решение, можно и им воспользоваться, для работы с cnc станками, плата от inectra, надежность которой проверенна многими (причем варианты на любой вкус, хотите попроще серия хобби, посложнее и подороже - серия мастер). Поставляемое с платой программное обеспечение, вполне перекрывает большинство потребностей (если не все) при работе с CNC станками. Это вам к сведению, от того, кто то-же возился с бутербродом, правда я репитиер (он попроще марлина) пытался довести, но если хотите, то можете продолжить править марлин.
 
Последнее редактирование:
а в чем разница между фрезерным и 3д марлином? еще на первых марлинах убирал алармы по температуре и в путь(правда управление шпинделем не делал от платы, просто вручную включал-регулировал).. повесиш фрезер, фрезеруеш, повесиш хотенд, печатаеш, не трогая прошивку... на втором марлине есть дефолты для некоторых фрезерных фишек, но не копал глубоко(строчку о включении разницы Г0 и Г1 точно видел)
 
какая программа или постпроцессор сможет вставлять скорость в каждую строку УП, где есть перемещения G0 и G1?
Любая программа, с правильным постпроцессором. Посмотрите в настройках Степкама, возможно есть такое. Попробуйте отредактировать постпроцессор, что-нибудь измените и проверяйте результат (долго, нудно, неприятно, бесит!). Эксперименты проводить на "кошках", оригинал постпроцессора скопировать в недоступное для опытов место.
 
повесиш фрезер, фрезеруеш, повесиш хотенд, печатаеш, не трогая прошивку
В результате и то и другое работает через одно место, как вам печать на скорости 20 мм/сек или фрезеровка на 80+мм/сек? Писали уже не однократно, идея совместить 3д принтер с фрезерным cnc, провальна, с лазером еще можно, но с фрезой - вещи практически не совместимые, с одной стороны - скорость печати, с другой - усилие на фрезу и повышенная вибрация. Короче, скрещивание ужа с ежом не даст моток колючей проволоки.
 
Последнее редактирование:
Простым решением этой проблемы была бы простановка скорости для G0 и G1 при формировании УП, но я не знаю как это делать в автоматическом режиме. Пока использую только StepCAM, который не позволяет проставлять скорость как описано выше.
Как уже написали:
Любая программа, с правильным постпроцессором.
Для плат есть CopperCAM, где можно редактировать "постпроцессор".
Там даже готовые примеры есть с F при G0:
ClearXYZ=G00[ F<V>][ X<X>][ Y<Y>][ Z<Z>]
PlungeZ=G01[ F<V>][ Z<Z>]
FeedXYZ=G01[ F<V>][ X<X>][ Y<Y>][ Z<Z>]
LiftUpZ=G00[ F<V>][ Z<Z>]
FeedArc2=G02[ F<V>] I<CX> J<CY> X<X2> Y<Y2>
FeedArc3=G03[ F<V>] I<CX> J<CY> X<X2> Y<Y2>

Для чертежей в DXF есть DXF2Gcode, где можно редактировать "постпроцессор".
rap_pos_plane = G0 X%XE Y%YE F1000%nl
по крайней мере жёстко вписать значение позволяет.
 
Последнее редактирование:
Как уже написали:

Для плат есть CopperCAM, где можно редактировать "постпроцессор".
Там даже готовые примеры есть с F при G0:
ClearXYZ=G00[ F<V>][ X<X>][ Y<Y>][ Z<Z>]
PlungeZ=G01[ F<V>][ Z<Z>]
FeedXYZ=G01[ F<V>][ X<X>][ Y<Y>][ Z<Z>]
LiftUpZ=G00[ F<V>][ Z<Z>]
FeedArc2=G02[ F<V>] I<CX> J<CY> X<X2> Y<Y2>
FeedArc3=G03[ F<V>] I<CX> J<CY> X<X2> Y<Y2>

Для чертежей в DXF есть DXF2Gcode, где можно редактировать "постпроцессор".
rap_pos_plane = G0 X%XE Y%YE F1000%nl
по крайней мере жёстко вписать значение позволяет.
Благодарю, теперь буду знать какую прогу применить
Ваши сообщения автоматически объединены:

Любая программа, с правильным постпроцессором. Посмотрите в настройках Степкама, возможно есть такое. Попробуйте отредактировать постпроцессор, что-нибудь измените и проверяйте результат (долго, нудно, неприятно, бесит!). Эксперименты проводить на "кошках", оригинал постпроцессора скопировать в недоступное для опытов место.
Постпроцессоров в StepCAM нет как таковых. В старых версиях не было практически никаких опций. В последней появилась возможность примитивной подстановки некоторых команд, но не более. Она даже скорость ставит в отдельную строку, а не в ту, где задается перемещение. Буду пробовать другие варианты трансляторов HPGL в G-codes. Постпроцессоры когда редактировал для некоторых CAM.
Я уже добился некоторых результатов с правильной интерпретацией скоростей для G0 и G1. Для этого пришлось использовать Марлин 2.0. Она намного больше чем старая. Компиляция скетча длится намного дольше, поэтому при малейших изменениях теряешь очень много времени для их проверки. Во всяком случае уже холостой ход работает без явного указания скорости. Спасибо всем откликнувшимся на проблему и за советы по ее решению. По мере продвижения напишу - может кому еще пригодится.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать