Начальная конфигурация автоматического выравнивания

Я близок к концу полной замены электроники на мертвый 3D-принтер. Я использую плату MKS Gen 1.4 с прошивкой Repetier. Это моя первая попытка настроить автоматическое выравнивание с нуля.

Я установил индуктивный зонд, расположил его и откалибровал так, чтобы запуск G30 (одиночного зонда) работал идеально и возвращал достоверные результаты.

Однако, когда я пробую G28 (home), а затем G29 выполнить полную последовательность автоматического выравнивания, непосредственно перед каждым зондированием ось Y наклоняется вперед (примерно)на 70 мм и остается кумулятивно не в том положении, в каком она накренилась вперед. Поскольку 70 мм x 3 больше глубины моего стола (200x200), ось Y ударяется и скрежещет против своего физического предела. Кроме того, это выводит Z-зонд за край стола, что приводит к переходу микропрограммы в режим ошибки, поскольку фактический z-нижний концевой выключатель срабатывает без срабатывания Z-зонда. Который, раздражая, посылает ось Z двигаться вверх, пока она в конечном счете не врезается в свой физический предел и не скрежещет, пока я не убью энергию.

  1. Почему моя конфигурация вызывает такое шаткое поведение? Как мне это исправить?
  2. Можно ли настроить/изменить поведение ошибки ТАК, чтобы она НЕ пыталась бесконечно двигаться в направлении Z+? (Это может не иметь значения, как только #1 будет исправлен, но мне не нравится идея о том, что мой принтер перейдет в режим, в котором Z-stepper может сгореть, если питание не будет отключено.)

Вот раздел Z-зонда моей конфигурации.h:

(Примечание: я попытался изменить Z_PROBE_Y_OFFSET на -75, чтобы увидеть, неправильно ли я ввел смещение. Казалось, это не заметно изменило его поведение.)

// #################### Z-Зондирование #####################

#define Z_PROBE_Z_OFFSET 0.2
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 1
#define FEATURE_Z_PROBE 1
#define Z_PROBE_BED_DISTANCE 8.0 // Ошибка расстояния выше максимального уровня стола в мм
#define Z_PROBE_PIN ORIG_Y_MAX_PIN
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 1
#define Z_PROBE_X_OFFSET 10
#define Z_PROBE_Y_OFFSET 75
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 5
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 1.5
#define Z_PROBE_REPETITIONS 5 // Повторения для зондирования в одной точке.
#define Z_PROBE_HEIGHT 22.68
#define Z_PROBE_START_SCRIPT "m117 Autoleveling..."
#define Z_PROBE_FINISHED_SCRIPT "m117 Autoleveling Complete"
#define Z_PROBE_REQUIRES_HEATING 0
#define Z_PROBE_MIN_TEMPERATURE 150
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 00
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 00
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 120
#define BED_LEVELING_METHOD 1
#define BED_CORRECTION_METHOD 0
#define BED_LEVELING_GRID_SIZE 5
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 0
#define BED_MOTOR_1_Y 0
#define BED_MOTOR_2_X 200
#define BED_MOTOR_2_Y 0
#define BED_MOTOR_3_X 100
#define BED_MOTOR_3_Y 200
#define BENDING_CORRECTION_A 0
#define BENDING_CORRECTION_B 0
#define BENDING_CORRECTION_C 0
#define FEATURE_AXISCOMP 0
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0

, 👍0

Обсуждение

Похоже, что концевой переключатель high-Z (возможно, также ось X&Y...) может быть целесообразным, если инструмент врезается в физические пределы. Естественно, что-то там тоже не так, но время от времени что-то будет не так, и концевые выключатели могут помочь справиться с этим, либо вызвав программное прерывание/остановку, либо фактически отключив мощность непосредственно на оси. В этом смысле декартовые оси проще, чем дельтаботы, установить концевые выключатели., @Ecnerwal


1 ответ


1

Ну, я использую marlin для своих принтеров, и обычно смещение отрицательное, эта разница от датчика значения 0.0 Z и сопла.

Например, у меня есть алюминиевая пластина, поэтому этот материал менее индуктивен, и я получаю высоту сопла 1,2 мм; обычно это значение должно быть выше 5 мм, но мои принтеры читают 1,2 мм

Таким образом, мое смещение составляет 1,2 мм (это значение опасно для меня), потому что я могу согнуть пластину, если датчик перестанет работать.

высота безопасности z на G28 составляет 4 мм, а также для автоматического зондирования G29 скорость тестирования Z ниже, чем перемещения X и Y.

    #ifdef AUTO_BED_LEVELING_GRID

    // установите прямоугольник для зондирования
    #define LEFT_PROBE_BED_POSITION 8
    #define RIGHT_PROBE_BED_POSITION 156
    #define BACK_PROBE_BED_POSITION 156
    #define FRONT_PROBE_BED_POSITION 8

     // задать количество точек сетки для каждого измерения
     // Я бы не видел причин подниматься выше 3 (=9 зондирующих точек на столе).
    #define AUTO_BED_LEVELING_GRID_POINTS 2


  #else  // not AUTO_BED_LEVELING_GRID
    // без сетки просто исследуйте 3 произвольные точки.  Простой кросс-продукт
    // используется для выравнивания плоскости печатного ложа

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 156
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 156
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID


  // это смещения зонда относительно наконечника экструдера (Hotend - Probe)
  // Смещения X и Y должны быть целыми числами
  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.2 //-12.35

  #define Z_RAISE_BEFORE_HOMING 4       // (в мм) Поднимите Z перед самонаведением (G28) для зазора зонда.
                                        // Убедитесь, что у вас есть это расстояние над вашим Z_MAX_POS в случае

  #define XY_TRAVEL_SPEED 7000         // Скорость перемещения по осям X и Y между зондами, мм/мин

  #define Z_RAISE_BEFORE_PROBING 4    //Насколько будет поднят экструдер перед перемещением в первую точку зондирования.
  #define Z_RAISE_BETWEEN_PROBINGS 4  //Насколько будет поднят экструдер при перемещении между следующими точками зондирования

Надеюсь, это поможет понять ваши настройки.

Я установил значения на ноль вместо 25 и 29, потому что я предварительно определил точки тестирования вручную на 8 и 156; конечно, центр сопла перемещается на 25 и 29 мм от центра пластины, это позволяет избежать столкновения с X0 и Y0. А я просто уровень использую 4 очка один раз, если ваш стол искорежен так, что нужно больше внутренних очков

  #define X_PROBE_OFFSET_FROM_EXTRUDER 0 //25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //29

,