Ось Z на клоне i3 вообще не будет двигаться, проблема с драйвером Melzi A4982
Я настраиваю сменную плату Melzi 2.0 от TRONXY для своего клона i3 (Monoprice Maker Select v2 для тех, кто интересуется), которая, согласно RepRap wiki, имеет драйверы A4982 для всех степперов. Я пытаюсь настроить Marlin 2.0.x для этого принтера, и это последняя большая проблема, с которой я сталкиваюсь.
Проблема: ось Z (или любые двигатели, подключенные к драйверу оси Z) не сдвинется с места, как бы я ни старался. Все остальные мои степперы работают нормально.
Что я пробовал: Я сделал все, что мог, чтобы побудить ось Z двигаться, от команд Gcode до самонаведения через ЖК-дисплей и Pronterface. Я подключил свой двигатель оси X к драйверу оси Z, и он тоже не двигается. Иногда, когда я посылаю им команду двигаться, они издают небольшой шум, как будто получают энергию, но не двигаются. Я прощупал разъемы двигателя на плате и не получил ничего, кроме нескольких случайных милливольт здесь и там, очень отличающихся от нескольких вольт на моем двигателе оси Y, когда я делал то же самое. Имейте в виду, что это был всего лишь один тест, перемещающий их с ЖК-дисплея, и на этот раз они не издавали никакого шума и не пытались двигаться. Я переключил определения контактов в прошивке для X/Z ENABLE/STEP/DIR, и драйвер Z снова оказался виновником, сохраняя ось Z установленной, даже если она управлялась так, как если бы это была ось X.
Я думаю, что проблема может быть в следующем: Для меня это похоже на проблему программного обеспечения. Я настраиваю Marlin в первый раз и думаю, что где-то что-то испортил. Может быть, это проблема с отделочными горшками, токами двигателя, включением двигателя или чем-то еще? Кроме того, может быть, водитель просто мертв?
Мой Marlin 2.0.x config.h для справки:
// These are all excerpts from various parts of Configuration.h
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
#define DEFAULT_MAX_FEEDRATE { 300, 300, 4, 25 }
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
#define DEFAULT_ACCELERATION 2800 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 2800 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 2800 // X, Y, Z acceleration for travel (non printing) moves
//#define CLASSIC_JERK //left at default
// :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 150
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
//#define MIN_SOFTWARE_ENDSTOP_Z //disabled until the driver works correctly
#endif
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
#define MAX_SOFTWARE_ENDSTOP_X
#define MAX_SOFTWARE_ENDSTOP_Y
//#define MAX_SOFTWARE_ENDSTOP_Z
#endif
//#define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing
#define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing
#endif
// Homing speeds (mm/min)
#define HOMING_FEEDRATE_XY (50*50) //changed from 3000 to 2500
#define HOMING_FEEDRATE_Z (4*60)
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS
// Sorry if that was a bit much, I tried to include all the settings that could
// potentially have an effect on the Z motion.
Я действительно понятия не имею, где даже искать решение этой проблемы, поэтому любое руководство или совет были бы чрезвычайно оценены!! Спасибо!
Мой вывод заключается в том, что сам чип драйвера мертв, и его замена должна устранить проблему. Если это сработает, я опубликую ответ на этот вопрос.
@malachik, 👍1
Обсуждение1 ответ
Лучший ответ:
Я заменил шаговый драйвер оси Z на внешний драйвер Pololu в стиле A4988, припаяв провода к контактам 2 и 3 на плате Melzi, а затем подключив их к драйверу на отдельной плате. Ось Z теперь движется правильно. Когда я столкнулся с проблемами со ступенчатым штифтом (штифт 3), я подключил его к штифту 12 (нагреватель стола), оставив стол нагреваться вручную. До сих пор это работало, и единственными проблемами, с которыми я столкнулся, были незначительные проблемы с электрическим шумом, которые я смог исправить с помощью экранированного кабеля.
- Слишком короткие импульсы Z-шага (Marlin 2.0.x)
- Marlin 2.0 - установить шаговые драйверы?
- Драйверы TMC2208 - Микропереходы настроены неправильно
- Как рассчитать Vref и X_CURRENT для шагового драйвера TMC2130, зная номинальный ток шагового двигателя?
- Я могу установить напряжение и ток драйвера TMC2130 вручную. Но в каких случаях некоторые компоненты могут сгореть?
- Почему надо уменьшать шаги по оси Z на мм?
- Наведение 3D-принтера
- Ассистированное ручное выравнивание с помощью Marlin
Привет! Если X,Y работают нормально, то, возможно, попробуйте поменять местами шаговые контакты ("ВКЛЮЧИТЬ", "DIR", "ШАГ") Z и, например, Y в конфигурации прошивки на некоторое время и попробуйте вручную переместить (ЖК-дисплей или G-код) оси Y и Z немного ? (Лучше поменять местами также конечные точки, если вы собираетесь домой и т. Д.). Тогда вы будете намного лучше знать, действительно ли это проблема с программным обеспечением., @octopus8
Привет, теперь я попытался изменить все эти параметры для оси Z, и, похоже, ничто на это не повлияло. Я продолжал исследовать степперы и все еще не видел никакого сигнала вообще. Я думаю, что проблема либо где-то глубоко в программном обеспечении, либо в том, что сам драйвер каким-то образом плох., @malachik
Мои извинения, но я не совсем понимаю, что вы сделали... То, что я предложил, - это визуальный тест, в нем нет ничего для зондирования. Цель состоит в том, чтобы обменять назначение двух физических драйверов: Z и Y (или любого драйвера, который работает нормально). Итак (1) поменяли ли вы соответствующие значения pin Z и Y в настройках вашей платы (какой-то файл Marlin) и переустановили? (2) После этой замены, если она все еще приводила к перемещению одного шагового устройства, а другое остановилось? (3) Решение: если заглохший двигатель был подключен к драйверу с пометкой "Z" на плате, то это аппаратная проблема. Если он был подключен к драйверу с пометкой "Y", то это проблема с программным обеспечением., @octopus8
( Если вы получили настройки прошивки из надежного источника, то это менее вероятно, но есть и другая возможность для варианта "Z": значения контакта, первоначально установленные для драйвера Z в файлах вашей прошивки, были неверными с самого начала. Тогда сигналы от микропроцессора проходили бы через несвязанные ветви и никуда не поступали. Или прибудьте в другое место - вы можете дважды проверить в настройках, если эти выводы не используются для каких-либо других целей. ), @octopus8
Вы, вероятно, знаете это, но конфигурация Marlin по умолчанию не должна перемещаться, если температура экструдера не будет минимальной., @DoxyLover
@octopus8 Мои извинения, я неправильно истолковал ваш комментарий в первый раз. Теперь я поменял определения выводов для осей X и Z местами. Ось X счастливо двигалась, как если бы она была Z, а фактическая ось Z снова отказывалась двигаться. Мой вывод заключается в том, что мне нужно будет купить новый драйвер и подключить его вместо текущего драйвера. Спасибо вам за вашу помощь!, @malachik
@malachik Пожалуйста, не забудьте опубликовать ответ, когда вы обнаружили, что замена драйвера сработала. Вы даже можете принять свой собственный ответ через 48 часов после публикации., @0scar