I could use some help
-
@mac said in I could use some help:
@droftarts I learned yesterday that there are two settings for Microstepping: x32 and x32 (on). I had changed my settings to x32 (on) because the Xvico board has a 32 bit processor. I thought they would use 32 (bit?) microstepping, so to be inline with their choices, I should use those choices on my board.
What's the difference? Can I use an even higher setting to get more microstepping?
Mac
Microstepping has NOTHING to do with the processor. Duet has a 32-bit processor too, but we generally recommend x16 microstepping, with interpolation turned 'on'. Using x32 microstepping will limit the maximum step rate, and generally doesn't offer any extra accuracy. Why? Now, how much stepper motor theory do you want to know?! Here goes...
Stepper motors move in... steps. Generally, stepper motors that are used in 3D printers are either 1.8° or 0.9° motors, and each full step rotates the motor that far. That means they have either 200 or 400 'full' steps per rotation (yours are 1.8°/200 steps per rotation). Remember the 4 wires/2 phases you connected to the stepper driver? Each pair connects to a coil. As each coil is energised, the magnets on the motor shaft move towards it. By controlling the order in which each coil is turned on and off, you can control which way the motor turns. There's a good explanation here: https://youtu.be/eyqwLiowZiU
So that is full stepping. Rather than just turning the coils on and off, if you use a variable voltage, you can add extra steps between the full step. This is microstepping, and increases the positional resolution (ie instead of moving 1mm for each step, it can move 0.1mm for each step). However, most motors have an accuracy on the full step of +/- 5°. When you do the math, this means you don't get much more positional accuracy once you go beyond about x10 microstepping. You can generally see a small improvement between x8 and x16, so we recommend x16. Using higher microstepping has its uses, but comes with an overhead on the processor if you are trying to move the axis fast, and will limit the step rate.
Lastly, interpolation. This is controlled by the stepper driver itself. It smooths the voltage transition between one microstep and the next, making movement smoother. You want that switched on.
TL/DR: Use x16 microstepping, with interpolation on. If you change the microstepping, it will also affect you steps per mm (M92) for that axis.
Edit: Though you're probably okay with x32 microstepping if you're not planning on moving the axes very fast.
Ian
-
I changed the microstepping back to 16x. I need to check to see if I had interpolation checked.
Mac
-
-
droftarts said in I could use some help:
If you change the microstepping, it will also affect you steps per mm (M92) for that axis.
@Mac
To expand on what droftarts said:
If you place the M92, in the config.g file, before the M350 and set M92 based on 16x micro-stepping then you can freely change M350 while leaving M92 alone.
The firmware will make the needed adjustments.
Frederick
-
With 16x (on)
-
@mac From the video, it looks like you haven't changed your steps per mm (you need to halve them if you go from x32 to x16), and at the least your Z motor is going the wrong way.
Did you test your X and Y endstops with M119?
Ian
-
; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X220 Y220 Z240 S0 ; set axis maxima ; Endstops M574 X2 S1 P"!io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !io5.in M574 Y2 S1 P"!io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !io6.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"io3.out" ; create servo pin 0 for BLTouch M558 P9 C"io3.in" H5 F120 T3600 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X15.875 Y0.625 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X5:190 Y5:215 S10 ; define mesh grid
-
@mac Try
M92 X40.00 Y40.00 Z2000.00 E420.00
Ian
-
@droftarts ahhhhh, where do I half the steps?
-
@droftarts you're saying type that in to the command line in DWC, and send it, correct?
-
@mac
I recall from the video that the endstops for X and Y were at the low (min) end of the axis.
IF that is true you need to change your M574 commands to use X1 and Y1.
And your M574 for the Z axis is incomplete - it has no P parameter.
Frederick
-
@mac said in I could use some help:
@droftarts you're saying type that in to the command line in DWC, and send it, correct?
Yes. And if it works, add it to config.g, and then set it like that in the configuration tool so it outputs correctly next time.
Ian
-
@droftarts okay, I did that first command (M92 etc. that you suggested).
I feel like I'm on thin ice here. Obviously, I'm more comfortable with using RRF to make these changes?
But maybe that's the problem?
I'm having a hard time going forwards at this point.
-
@droftarts "add it to config.g" means what, exactly?
-
@mac said in I could use some help:
@droftarts "add it to config.g" means what, exactly?
You already have an M92 and an M574 in your config.g file.
Just edit the file via the DWC and enter the new values for those commands - if those values have changed.
And read what I posted about the relationship of M92 and M574.
Frederick
-
@fcwilt on RRF Config Tool, Endstop Configuration, X-Switch-High end, Y-Switch-High end, Z-Z-probe-Low end.
Change to?
-
@mac said in I could use some help:
But maybe that's part of the problem?
I do think that relying on the configuration tool keeps you from learning and understanding all that is going in the various files.
Frederick
-
@mac said in I could use some help:
@droftarts "add it to config.g" means what, exactly?
It means edit it in DWC, by going to System, then clicking config.g, then edit and save. That changes it on the machine. You need to reset the board (turn power on and off) to get it to read config.g again at start up, which it will ask you when you save.
Sending the command directly, in the 'Gcode console', will execute the command and change the setting immediately, but will be overridden by the contents of config.g the next time you turn off and turn on the printer.
Ian
-
@fcwilt indeed.
-
@droftarts I actually understand what you just wrote. Thanks!