Welcome! Log In Create A New Profile

Advanced

Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers

Posted by rouhit110 
Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 09, 2022 03:16PM
Hello there,
My printer cannot print long, vertical cubes perfectly flat and vertically. Print is skewed to X+ and Y+
I'm using a MKS Sbase V1.3 board that I have tried the bugfix2.0 firmware
Because I needed more power, I used Leadshine DM870 and DM556 external drivers
After many tests and incurring a lot of costs, I used an 8-bit MKS Gen1.4 board with marlin 1.1.7, which I saw in disbelief that the problem was solved.
After much research, I found out that the driver type selection settings in Marlin caused this to happen. I choose TB6600
I even chose TB6560 but the result was negative
A friend on github suggested that pulling up the pulse pins to + 5v with a 10k resistor.
He said the logic level minimum is 3.5v. A typical signal from a 32bit CPU is 3.3v so this is likely the issue.
I did his solution and unfortunately the problem still persisted.
One thing I have to tell you and that is that I saw two different behaviors of an 8-bit controller. This worked well and without printing errors with Marlin 1.1.7,
But with Marlin 1.1.9, which has driver-type selection settings, the print was skewed.

What solution do you suggest?
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 09, 2022 10:17PM
These big external drivers use opto isolated inputs. Most need about 8mA input current minimum. A lot of the 32bit CPUs can't supply that much into a logic high but can sink about that amount. That's why most of the interface diagrams you see have the + side of the driver's inputs all tied to +5V and the - sides all tied to logic inputs or to power FETs.
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 10, 2022 04:19AM
Thanks for your guidance
But the very important point is why an 8-bit controller with Marlin 1.1.7 should give a great print, but the same controller with Marlin 1.1.9, which has driver selection settings, gives a crooked print!
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 11, 2022 01:37AM
Most likely the firmware is not meeting the minimum direction-to-step setup time required by the drivers, because of the faster processor. There may be a firmware configuration setting to add a delay to fix this.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 11, 2022 12:01PM
Marlin 2.0.9 in configuration_adv.h: //#define MINIMUM_STEPPER_POST_DIR_DELAY 650
Marlin 1.1.9 in configuration_adv.h: //#define MINIMUM_STEPPER_DIR_DELAY 650

---

FYI - I had good luck driving NEMA 23 steppers using TMC5160 based stepsticks. Requires higher end printer controllers if you want the SPI cabling built into the controller.
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 11, 2022 02:06PM
Quote
[email protected]
Marlin 2.0.9 in configuration_adv.h: //#define MINIMUM_STEPPER_POST_DIR_DELAY 650
Marlin 1.1.9 in configuration_adv.h: //#define MINIMUM_STEPPER_DIR_DELAY 650

Thanks dear Bob kuhn,
If I activate and change it, will the problem be solved with this controller and driver that I have?
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 11, 2022 04:48PM
DM556 & DM870 user manuals both say:
  • 2.5 uS step pulse minimum (200KHz max)
  • 5 uS dir to step minimum delay

Can't guarantee results but it's worth a try.




Here's the default settings for Marlin 2.0.x


#ifndef MINIMUM_STEPPER_POST_DIR_DELAY
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 15000
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 1500
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 650

#ifndef MINIMUM_STEPPER_PULSE
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_PULSE 30
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_PULSE 3
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_PULSE 2

#ifndef MAXIMUM_STEPPER_RATE
  #if HAS_DRIVER(TB6560)
    #define MAXIMUM_STEPPER_RATE 15000
  #elif HAS_DRIVER(TB6600)
    #define MAXIMUM_STEPPER_RATE 150000
  #elif HAS_DRIVER(DRV8825)
    #define MAXIMUM_STEPPER_RATE 250000
rq3
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 11, 2022 05:58PM
Quote
[email protected]
DM556 & DM870 user manuals both say:
  • 2.5 uS step pulse minimum (200KHz max)
  • 5 uS dir to step minimum delay

Can't guarantee results but it's worth a try.




Here's the default settings for Marlin 2.0.x


#ifndef MINIMUM_STEPPER_POST_DIR_DELAY
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 15000
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 1500
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 650

#ifndef MINIMUM_STEPPER_PULSE
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_PULSE 30
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_PULSE 3
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_PULSE 2

#ifndef MAXIMUM_STEPPER_RATE
  #if HAS_DRIVER(TB6560)
    #define MAXIMUM_STEPPER_RATE 15000
  #elif HAS_DRIVER(TB6600)
    #define MAXIMUM_STEPPER_RATE 150000
  #elif HAS_DRIVER(DRV8825)
    #define MAXIMUM_STEPPER_RATE 250000

The latest Marlin bugfix (and all earlier Marlins) defaults to a pulsewidth of 2 microseconds (settable in configuration_adv.h), which was fine for the older drivers. But is too fast for the later drivers.
Fast, silent, accurate. Pick two, and that's your stepper driver. Like all engineering, it's a trade-off, and you can't have everything. Personally, I go for fast and accurate (fast is relative, accuracy is non-negotiable), and whatever noise results is just the facts of life. I wouldn't want my printer in my bedroom, but I can easily carry on a phone conversation 1 foot from the printer when its active.
And these are 4988 drivers.

Edited 1 time(s). Last edit at 05/11/2022 06:04PM by rq3.
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 12, 2022 12:24PM
Quote
rq3
Quote
[email protected]
DM556 & DM870 user manuals both say:
  • 2.5 uS step pulse minimum (200KHz max)
  • 5 uS dir to step minimum delay

Can't guarantee results but it's worth a try.




Here's the default settings for Marlin 2.0.x


#ifndef MINIMUM_STEPPER_POST_DIR_DELAY
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 15000
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 1500
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_POST_DIR_DELAY 650

#ifndef MINIMUM_STEPPER_PULSE
  #if HAS_DRIVER(TB6560)
    #define MINIMUM_STEPPER_PULSE 30
  #elif HAS_DRIVER(TB6600)
    #define MINIMUM_STEPPER_PULSE 3
  #elif HAS_DRIVER(DRV8825)
    #define MINIMUM_STEPPER_PULSE 2

#ifndef MAXIMUM_STEPPER_RATE
  #if HAS_DRIVER(TB6560)
    #define MAXIMUM_STEPPER_RATE 15000
  #elif HAS_DRIVER(TB6600)
    #define MAXIMUM_STEPPER_RATE 150000
  #elif HAS_DRIVER(DRV8825)
    #define MAXIMUM_STEPPER_RATE 250000

The latest Marlin bugfix (and all earlier Marlins) defaults to a pulsewidth of 2 microseconds (settable in configuration_adv.h), which was fine for the older drivers. But is too fast for the later drivers.
Fast, silent, accurate. Pick two, and that's your stepper driver. Like all engineering, it's a trade-off, and you can't have everything. Personally, I go for fast and accurate (fast is relative, accuracy is non-negotiable), and whatever noise results is just the facts of life. I wouldn't want my printer in my bedroom, but I can easily carry on a phone conversation 1 foot from the printer when its active.
And these are 4988 drivers.

Thank you for your attention
Can you better advise what changes to make?
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 12, 2022 09:22PM
As best I can tell these should fit your drivers.


Marlin 2.0.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_POST_DIR_DELAY 10 
 #define MINIMUM_STEPPER_PULSE 3


Marlin 1.1.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_DIR_DELAY 10
 #define MINIMUM_STEPPER_PULSE 3
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 13, 2022 04:56AM
Quote
[email protected]
As best I can tell these should fit your drivers.


Marlin 2.0.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_POST_DIR_DELAY 10 
 #define MINIMUM_STEPPER_PULSE 3


Marlin 1.1.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_DIR_DELAY 10
 #define MINIMUM_STEPPER_PULSE 3

Thank you for your time and attention, Mr. Bob
Now I have made these changes and I am testing, I hope the problem is solved, I am really tired
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 13, 2022 10:18AM
Unfortunately, the problem still persists
I even tried to set this option ( #define MINIMUM_STEPPER_PULSE 3) to zero like Marlin 1.1.7, but it did not change and the print was skewed.
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 14, 2022 04:55AM
Quote
[email protected]
As best I can tell these should fit your drivers.


Marlin 2.0.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_POST_DIR_DELAY 10 
 #define MINIMUM_STEPPER_PULSE 3


Marlin 1.1.9 in configuration_adv.h:
 #define MINIMUM_STEPPER_DIR_DELAY 10
 #define MINIMUM_STEPPER_PULSE 3

Hi Mr Bob, excuse me, a question
To do your test، driver type selection should be uncomment and set on TB6600?
Re: Skewed print in marlin 1.1.9 & bugfix2.0.x with external drivers
May 14, 2022 02:52PM
They need to be set to something. TB6600 seems to be a good choice.
Sorry, only registered users may post in this forum.

Click here to login