Speed Tower Issues

Hi,
I’m trying to create a speed tower for my A250. I’ve downloaded some speed towers and attempted to use them in Cura, but it’s not putting the correct entries into the gcode.

Using the speed tower from PrusaPrinters, I imported the stl into Cura, then created a custom post-processing script that changed the print speed at specific layers. Instead of putting a speed command in Cura (known bug) is just putting in this.

;LAYER:6
;[CAZD:
;PRINTSPEED 25
;:CAZD]
;TYPE:FILL
;MESH:speed-tower.stl

As everything is commented out, I went in and manually changed the gcode from “;PRINTSPEED 25” to “M220 S25”, as per marlin - Can I adjust print speed on the fly? - 3D Printing Stack Exchange

This isn’t working. The very first speed test block is running at around 1mm/sec, not the 25mm/sec as expected. Yes, I know that S25 means 25% of the print speed.

Anyone have any ideas on what’s going wrong, or conversely, gcode examples showing the A250 changing it’s speed at a certain layer?

I’m uploading the gcode that’s not working.

Thanks,

Gwfami
S2A_speed-tower2.gcode (2.7 MB)

;LAYER:6
;[CAZD:
M220 S25
;:CAZD]
;TYPE:FILL
;MESH:speed-tower.stl
G1 F900.0 X123.462 Y133.462 E771.23101;[CAZO:G1 F3600 X123.462 Y133.462 E771.23101:CAZO]

It’s programmed to run at a feedrate of 900mm/min, or 15mm/s. 25% of 15 is 3.75mm/s. That’s a lot closer to 1 than 25.

Why do you think it should run at 25mm/s?

Are you double applying the 25% in the slicer and again on the machine with M220?

25% of 3600mm/min (60mm/s) is 15mm/s, which what I’m guessing you’re referring to instead of 25mm/s. The comment of ;[CAZO:G1 F3600 X123.462 Y133.462 E771.23101:CAZO] is telling me the ChangeAtZ script is reducing the speed from 3600 to 900 already. By manually editing it you’re reducing it by a factor 4 again.

1 Like

Yes, I meant 25% of the feed rate. What you are saying makes sense. So in the following example, the speed is 30% of 3600, or 1080 mm/minute = 18 mm/sec, correct?

;LAYER:129
;TYPE:CUSTOM VALUE
M204 S30
M117 Acceleration S30
;TYPE:FILL
;MESH:speed-tower.stl
G1 F3600 X123.462 Y133.462 E2301.29565

What I’m trying to do is to get the mm/sec to match the values on the tower. But since it’s already running at 60 mm/sec, I’m going to ignore that and just start it at S100, and increment by 10 like this.
(actually the second cube, the one labeled 20mm in the stl).

;LAYER:67
;TYPE:CUSTOM VALUE
M204 S110
M117 Acceleration S110
;TYPE:FILL

The cube numbers won’t match the actual values, but as long as I know what they are I can live with that.

Does that sound right?

There’s some issues with what you said, but the common thread it seems as you’re trying to learn the G-Code but don’t understand what it’s doing.

I’d suggest reading your gcode line by line and looking up how to use each command in the documentation, to understand the units and parameters involved.

Note, the snapmaker does not support M117

I’m trying to relearn it. The last bit of code for layer was generated by Cura. It’s been almost 10 years since I used it last, and I’m an old COBOL mainframe programmer. I appreciate all your help.

Thanks