Skip to content

[BUG] Rebooting while homing #27496

Open
Open
@AndreySamokhin

Description

@AndreySamokhin

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

The board reboots while homing the Z-axis.

The issue occurs inside the do_homing_move() function with the planner.synchronize(); being the last executed line. Further investigation showed that the Planner::busy() function never returns 0 because the Planner::has_blocks_queued() function consistently returns 1.

The minimum required changes of default configuration files:

  • Add a fourth axis.
  • Use the TB6560 driver for X, Y, or I axis.
  • Perform homing at high speed.

configuration.zip

Bug Timeline

New bug.

Expected behavior

When homing with the Z endstop disconnected, the expected behavior is to receive the Printer halted. kill() called! error. This is achievable if the configuration specifies the A4988 driver for the I axis rather than TB6560.

fig02

Actual behavior

The board reboots a few seconds after initiating the homing routine along the Z-axis.

fig01

Steps to Reproduce

The bug can be reproduced using only motherboard without connecting any sensors, motors, etc.

  1. Modify the default configuration files to add a fourth axis, set the TB6560 driver for the I axis and perform homing at high speed.
// Configuration.h
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_MKS_GEN_L
#endif
#define BAUDRATE 115200
#define I_DRIVER_TYPE  TB6560
#define Z_MIN_ENDSTOP_HIT_STATE LOW
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4200, 80, 500 }
#define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 300, 25 }
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 3000, 10000 }
#define I_ENABLE_ON 0
#define INVERT_I_DIR false
#define I_HOME_DIR -1
#define I_MIN_POS 0
#define I_MAX_POS 50
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (5*60), (50*60) }


// Configuration_adv.h
#define HOMING_BUMP_MM      { 5, 5, 2, 5 }
#define HOMING_BUMP_DIVISOR { 2, 2, 4, 2 }
#define AXIS_RELATIVE_MODES { false, false, false, false, false }


// pins_MKS_GEN_L.h
#define I_STEP_PIN 49
#define I_DIR_PIN 50
#define I_ENABLE_PIN 51
#define I_MIN_PIN 52
  1. Establish communication with the board via UART.
  2. Send the M119 command to confirm that the Z-axis endstop is not triggered.
  3. Start homing routine using the G28 Z command.
  4. After a few seconds observe that the the board reboots.

Version of Marlin Firmware

bugfix-2.1.x (d2bda12); 2.1.2.4

Printer model

DIY

Electronics

Board - MKS GEN L V1.0 (ATmega2560); X, Y and Z drivers - A4988; I driver - TB6560

LCD/Controller

LCD is not used.

Other add-ons

No response

Bed Leveling

None

Your Slicer

None

Host Software

None

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions