1. About
  2. Features
  3. Explore

I'm in a situation where I'd like to move the XY axes on my printer extremely slowly (down to 0.05 mm/s = 3 mm/min). [I'm okay with 'smooth' motion not being possible].

First off, here's the (somewhat Frankensteined) setup I'm using:

I'm basically using the LulzBot TAZ 6 for motion control (XYZ, bed temp) with a custom extruder mounted in the place of the printhead. I've got a computer running a Perl script on Debian which sends synchronized commands to my extruder hardware and the board on the TAZ 6. So far I've only slightly modified the Marlin firmware to match the baud rate on my computer and shrink the motion command buffer.

Motion control for the TAZ 6 is accomplished by directly sending G-code line by line either from a terminal or from that Perl script.

What I've found is that while I can set arbitrarily slow speeds for the Z axis (lead screw), the X and Y (belts) won't go slower than about 15 mm/min. The printer will accept the e.g., G1 F0.1 X1 input, but will just move at the 15 mm/min.

Unfortunately, the experiment I'm trying is giving me good results at ~5 mm/min (on a commercial linear stage), so I'd like to resolve this.

I've tried setting the jerk to 0/low values via M205 S0 T0 X0 Y0, and the maximum acceleration lower as well (M203? I recall), but without resolution.

Is movement limited just by the type of actuator? It seems to work for the Z-axis but not the X/Y-axes, I think it might be some firmware setting.

Edit: I've attached an image of the default settings from an M503 call (acceleration, jerk, steps/unit, etc).<code>M503</code> Call

1 Answer 1

What I could suggest here is:

  1. set the acceleration to 1 instead 0 so we have M201 X1 Y1
  2. use G1 Xdest Ydest F3 - feed rate is given as an integer