Snapmaker / SnapmakerController-IDEX

Controller firmware for Snapmaker IDEX machines
GNU General Public License v3.0
27 stars 12 forks source link

Layer Shifting #10

Open jledgett opened 1 year ago

jledgett commented 1 year ago

This is an already known issue, but posting here for tracking purposes.

The J1 encounters an unexpectedly high number of failed prints due to layer shift issues.

I have attempted to print larger models using both a dual extruder (Polymaker PC-FR in left extruder, PolyDisolve S2 in the right extruder) and single extruder (PC-FR in left extruder). In almost all of the attempts, these larger prints suffer layer shifts and result in a useless print.

Belts have already been tensioned using the belt tensioning tools printed with the Snapmaker-provided PLA. A decent number of other users are reporting this issue too, so not likely a unit-specific issue.

I have uploaded two example GCODE files, evidence photos, along with the associated log files to this link: https://drive.google.com/drive/folders/1ZvvkiYfUxH5ddxh6Y5LxWpnU2P1t6BhH?usp=share_link

I have also included my current Cura profile at this link also.

747lulu747 commented 1 year ago

Hi jledgett,

We analyzed the log file you uploaded and found helpful information.

In the first example's log, "statistics_slowdown_cnt xxx" appears. This is because the gcode transmission is not fast enough (guess using Octoprint), and printer has to slowdown. You could try to use the screen to initiate printing. Because the screen is transferring gcode in batches, it is faster.

In the second example, we found some unexpected logs. These logs will cause speed discontinuities, which may also cause step loss.

We are currently trying to reproduce the lost step phenomenon with your gcode file and locate the problem.

jledgett commented 1 year ago

While there is an OctoPrint server attached, it is only there for monitoring progress.

I do not use it to upload files to the printer.

I send the files directly via Cura, so the files should be reading from the printers’ memory.

Googliola commented 1 year ago

I keep getting multiple layer shifts too. No octoprint attached.

The likelihood of layer shifts increases with Z. I suspect that the under-powered stepper motor is getting hot after a while and causes missed steps. I slightly reduced tension on the X belt to relieve the motor. Not yet tested on the same model but on another one using TPU and therefore much slower speeds. No issue so far.

By the way: why doesn't Snapmaker increase BAUD rate to 230000 in the firmware (android and marlin)? Might help to benefit from the speed the J1 might be capable of.

Enclosure doors closed with PETG 20230526_225212.jpg

jledgett commented 1 year ago

@Googliola are you using single or dual extruder?

Googliola commented 1 year ago

Single extruder (left)

jledgett commented 1 year ago

Are yours on the X or Y axis or both. I think from the photos it looks like the X?

Googliola commented 1 year ago

That is correct. Only X axis so far. Why are you asking?

jledgett commented 1 year ago

Struggling with layer shifts myself, but mine was on primarily on the Y axis

747lulu747 commented 1 year ago

Many reasone can cause a layer shifts. Here are some of the reasons and responses we summarized:

  1. Warping cause by Insufficient heat dissipation or high printing speed and warping will increase the friction of printing and product a layer shift. Slow down the printing speed improve heat dissipation may fix it.
  2. High friction of XY linear rails. Turn off the power of the printer and slide the print head by hand to see if it is smooth.
  3. Bug in firmware that will cause discontinuous steps when print large modle without G92 E0 (to reset the E position) in gcode. This bug has been fixed in version V2.2.10
jledgett commented 1 year ago

@747lulu747 No warping, running latest firmware, no obvious friction on the rails.

What is the motor amperage rating for the Y stepper. You have it driving 1400ma in firmware. Unless it os a 2.0A or higher peak stepper setup, then you may be overdriving the motor which can cause missed steps.

Googliola commented 1 year ago

@747lulu747 No warping either, downgraded to 2.5.10, almost 0 friction

You have it driving 1400ma in firmware. Unless it os a 2.0A or higher peak stepper setup, then you may be overdriving the motor which can cause missed steps.

That's a good point. The Nema17 seem a bit short to provide that kind of peak power? Maybe less amperage is better? (If only the documented process of firmware compilation would actually produce a useable .bin file....)

But I suspect that the culprit is to be found elsewhere: OVERHEATING. Given the size of the motor(s), the enclosure, and the fact that it happens mostly on large prints, I try the following:

  1. Slightly reduced tension on the X-axis in my case to reduce motor stress. That already seemed to help with other large prints
  2. Ordered heatsinks for the X motors, will add one to Y-motor too if space allows.
  3. Remove top lid. Not my favourite option as it makes enclosure futile.

Last but not least, stepper drivers might be the source, also because of overheating. As the J1 comes with TMC2209 I think this is unlikely though.

jledgett commented 1 year ago

If they are TMC2209 drivers, the maximum suggested run current for them is 1.2A, so 1.4A is overdriving it for sure!

On prints with repeated movement on the Y axis this could be overheating the stepper driver — especially if you already have ambient heat build-up due to something like a long-running print, a warm printing environment (i.e. a garage or light industrial space), or printing with higher temps (PA or PC).

@747lulu747 can you confirm what drivers and motors are used?

Googliola commented 1 year ago

TMC2209 continuous drive current is 2A and peak current is 2.8A. (according to bigtreetech GitHub)

In the J1 firmware config, TMC2209 are configured. So I guess that's the case

jledgett commented 1 year ago

TMC2209 continuous drive current is 2A and peak current is 2.8A. (according to bigtreetech GitHub)

Interesting, Voron’s driver current documentation stated lower: https://docs.vorondesign.com/community/howto/120decibell/calculating_driver_current.html

jledgett commented 1 year ago

But you are correct: Trinamic’s product page indicates 2.0A RMS. Not sure where Voron got their number from.

Googliola commented 1 year ago

TMC2209 continuous drive current is 2A and peak current is 2.8A. (according to bigtreetech GitHub)

Interesting, Voron’s driver current documentation stated lower: https://docs.vorondesign.com/community/howto/120decibell/calculating_driver_current.html

Hmm, that is weird. I must admit though, that I suck at physics / electronics, so I do not really understand what and why is being claimed or even in what ways the two statements relate to each other (Where does that .707 factor come in again? Read about it elsewhere but, well, I never understood).

Long story short, my gut tells me the drivers are not the main culprits causing the layer shifts. It's underpowered motors and heat-tolerance.

747lulu747 commented 1 year ago

If they are TMC2209 drivers, the maximum suggested run current for them is 1.2A, so 1.4A is overdriving it for sure!

On prints with repeated movement on the Y axis this could be overheating the stepper driver — especially if you already have ambient heat build-up due to something like a long-running print, a warm printing environment (i.e. a garage or light industrial space), or printing with higher temps (PA or PC).

@747lulu747 can you confirm what drivers and motors are used?

Our motor is customized. The Y-axis utilizes a 42-mm hybrid stepper motor with a length of 48mm. The X-axis has a length of 40mm.