Hi Duragz,
about the resolution: you’re right, both motor type and driver microstepping are part of the equation:
200 steps per rev. motor and x16 microstepping driver = 3200 microsteps per revolution.
400 steps and x16 = 6400 microsteps, and
200 steps and x32 = 6400 microsteps, too. The slightly overkill version would be
400 steps and x32 = 12800 microsteps.
The commonly available DRV8825 boards use the same pin layout and are therefore “Pololu-compatible”, i.e. they can be used to replace any other stepper driver board of that pin layout. Note however, that the K8200 controller board as a default has all three mode select pins on high, which will set most drivers to their maximum microstepping mode. This pre-setting can be changed by scratching three short circuit paths if necessary. The board is prepared for the usual 3x2 pin headers for mode select function, but the default MS setting is 111.
This pre-selection of x32 microstepping when simply plugging in DRV8825 driver boards is most important for the E axis. While the extruder would surely benefit from more resolution for slow movements, it is also the fastest axis in the printer during retracts. For the default value of 600 steps per mm, the maximum speed calculates as follows:
[max steps / s] / [steps / mm] = [max speed mm / s], or in numbers
(40000 steps/s) / (600 steps/mm) = 66.67 mm/s.
With the x32 microstepping, the E steps per mm would be 1200:
(40000 steps/s) / (1200 steps/mm) = 33.33 mm/s.
Thus, the retract motion will be slowed down from the set value of 65 mm/s (in Slic3r) to 33.33 mm/s, because the firmware cannot drive the E stepper any faster. Obviously, the same would happen if a 400 steps/rev motor is used in the extruder, and with the 400/x32 combination the max speed would be further decreased down to 16.67 mm/s.
For the X and Y axes, it’s a different picture. They only have 64.25 steps per mm in the default config (theoretical value 64.0), so they’re far away from their step-frequency speed maximum:
(40000 steps/s) / (64.25 steps/mm) = 622.6 mm/s.
Anyways, this value cannot be reached since the axis is limited to 500 mm/s by the max feedrate setting.
With the x32 drivers, you can double the axis resolution (128[.5] steps / mm, calibrate with a test print to find out whether the .5 is ok or not), and could still use speeds exceeding 300 mm/s. Again, the same is true for 400/x16. The 400/x32 combo would, not surprisingly, increase the resolution by another factor of two and limit the (travel) speed to approx. 155 mm/s.
The lateral movement from a single microstep is of course the inverse of the steps per mm value:
200/x16: 0.016 mm,
200/x32 and 400/x16: 0.008 mm, and
400/x32: 0.004 mm.
(All values rounded to micrometers.)
Using different pulleys and belts may of course alter all those numbers due to different axis calibration.
Last one: the Z axis. Here, the question about the behavior of the motor when current is switched off is important (the other three axes are simply not switched off during printing). Using x16 or x32 drivers won’t make a difference, since the motor will tend to move to the nearest fullstep angle when idle. In contrast, this means that it definitely does make a difference whether you’re using a motor with 200 or 400 steps per rev, since the fullstep angle is of course 1.8° and 0.9°, respectively. Speed on the other hand is fairly unimportant, since most movements are very short (one layer height) and acceleration is low. Resolution is already quite good (0.4 micron per microstep, 6.25 micron per fullstep), so there’s no real need for an increase here - but it won’t hurt, either. As for the motor-off-fullstep issue: chosing a matching layer height reduces the occurance of this problem to a single time per print job: at the beginning of the first layer.
Final point (ok, that makes the previous one the second-to-last one, but let’s not split hairs): current. It’s true that most DRV8825 drivers can handle more current than the ones base on the A4988. But you have to take into account that you don’t use the full current, since you set a reduced reference voltage on the driver. Unfortunately, you cannot directly use the same ref voltage on both drivers.
A4988: 0.05 Ω shunts, I_motor between 1.06 and 1.37 A (0.425 and 0.55 V, respectively),
DRV8825: 0.1 Ω shunts, I_motor between 1 and 1.4 A relates to a V_ref range of 0.5 to 0.7 V.
See the Pololu website or the RepRap wiki for details on the calculation (apart from the resistors, the math is different, too).
Cheers,
kuraasu