Есть ли способ изменить направление двигателя с помощью GCode вместо встроенного ПО в Marlin

Есть ли способ изменить направление движения двигателя с помощью GCode вместо перенастройки прошивки Marlin?

, 👍11

Обсуждение

Я не понимаю цели вашего вопроса, но вы можете попробовать инвертировать проводку шаговых двигателей вместо создания другого G-кода или изменения прошивки., @Fernando Baltazar

Цель инвертирования направления двигателя в программном обеспечении заключается в том, чтобы переключиться на переключатель, расположенный в противоположном направлении от обычного, чтобы использовать процедуру самонаведения в качестве зонда Z., @jbiondo

Таким образом, вам не нужно инвертировать направление движения для этого порпуза, вам нужно указать направление самонаведения в обратном направлении., @Fernando Baltazar

Да, спасибо, в этом есть смысл. Есть ли способ сделать это с помощью команды GCode вместо редактирования встроенного ПО?, @jbiondo


2 ответа


12

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

Однако это скорее взлом, чем реальное, предполагаемое решение. Было бы лучше (если вас интересует направление самонаведения) изменить конфигурацию, чтобы принтер находился дома в другом направлении. К сожалению, это можно сделать только путем изменения прошивки, а не с помощью G-кода.


,

Какой блестящий и творческий ответ! Это сработало идеально. Теперь я могу использовать вход Z-MAX в качестве зонда Z, что позволяет мне зондировать в направлении вниз, и я могу перемещаться в направлении вверх, используя вход Z-MIN, просто изменив шаги оси на отрицательные или положительные, как вы описали., @jbiondo

Я хочу проголосовать за вас, но этого не видно, потому что у меня недостаточно очков репутации., @jbiondo

Это также полезно, инвертируя число M92, для тех случаев, когда вы пробуете разные экструдеры, которые могут двигаться с разных сторон филамента. Спасибо вам за этот совет!, @T Newcomb

Как это сделать на двигателе экструдера? Я перешел на редукторный экструдер, так что он вращался в противоположную сторону. Я попробовал решение, перечисленное выше, в результате чего двигатель экструдера включился, но не повернулся. Я использовал "M92 E-420.00"., @Liam Willey

@LiamWilley Я только что проверил исходный код marlin, и, по - видимому, есть недокументированная "функция", которая заставляет marlin - специально для оси E-интерпретировать значения меньше 20 (включая все отрицательные значения) как своего рода "коэффициент масштабирования", а не как значение шагов/мм для обеспечения совместимости с netfab. Это означает, что это решение можно использовать только с осями X/Y/Z., @Tom van der Zanden

Будущим читателям я бы не рекомендовал пробовать это. Возможно, это работало когда-то, но, вероятно, это было ошибкой. В Marlin 1.19 я пробовал устанавливать отрицательные шаги X, которые изначально работали для реверсирования двигателя, однако, возврат X не работал, головка инструмента сильно ударяла по концевому упору и заставляла сервопривод прыгать/проскакивать (к счастью, не вызывая никаких повреждений). Так что, похоже, отрицательные шаги меняют направление двигателя, но ценой поломки возврата X. Я механически реверсировал двигатель, перевернув разъем, переустановил положительные шаги, и он заработал нормально., @BetterSense


1

Вы не можете использовать M92 E- на Marlin (больше).

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

,