Welcome! Log In Create A New Profile

Advanced

ENDSTOP Triggered but mothor doesn't stop when homing

Posted by candylife9 
ENDSTOP Triggered but mothor doesn't stop when homing
April 21, 2020 11:02PM
i migrate my marlin2.0.4 firmware to an ender3 3D printer, everything works ok but when I test the homing function with G28 or G28 X,G28 Y,G28 Z, I came accross a simple but confusing problem: the endstops triggered but motors just didn't stop and ran into the edge of the machine, the serial keeps output busy information, it means the machine is still in homing. I tried the following steps to struggle with the problem:
1) I checked my pin assignment and my configuration.h, nothing wrong discovered.
2) My X-,Y-,Z- use the SPI1 pins on stm32f103ret6, so I removed the SPI related source files from project, but didn't help.
3) Then I migrate to the marlin2.0.5, same thing happened.
4) I try M119 to check the endstop status with and without endstop pressed, report is right.

Then I got totally lost, I didn't konw what's the reason of this problem, I just attached some images of my M119 report and related configuration.h about endstops to the post, any help is appreciated.
Attachments:
open | download - 1_m119.JPG (44.9 KB)
open | download - 2_endstop.JPG (65.4 KB)
open | download - 3_endstop_invert.JPG (50.8 KB)
open | download - 4_direction.JPG (22.3 KB)
open | download - 5_dir_reverse.JPG (24.5 KB)
Re: ENDSTOP Triggered but mothor doesn't stop when homing
April 22, 2020 04:35AM
most common issue is endstops on wrong axis...
eg you home X, Y endstop gets triggered. controller keeps moving X

test with M119, hold down each endstop intern with a finger (presuming they are switch type) and check m119 says the correct endstop is triggered
Its really easy to see triggered and not notice it was the wrong endstop.
Re: ENDSTOP Triggered but mothor doesn't stop when homing
April 25, 2020 03:26AM
I'm sorry but it does nothing to endstop or the direction, it's not that easy.
Finally ,I compare my 2.0.4.4 project with my workmate's 2.0.0.0 project,there's a tiny distinct between them.

in the source file timers.h

my file has the following macro defines:
#define STEP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts
#define TEMP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts

but my workmate's is:
#define STEP_TIMER_CHAN 1 // Channel of the timer to use for compare and interrupts
#define TEMP_TIMER_CHAN 4 // Channel of the timer to use for compare and interrupts

I change TEMP_TIMER_CHAN to 2, then everything's okay for me. But I still don't konw the reason.why temprature timer channel have dead influence on the endstop function.
I think it's just a bug of marlin.
Sorry, only registered users may post in this forum.

Click here to login