Setup Micro-stepping/Steps DBOT CoreXY

  • First off thank you for any assistance I'm sure the question has been asked a million times, Im more then happy to read another thread or docs as well. Im having a tough time figuring out how to setup the micro-stepping/speeds ect for movement.

    At the moment I just found the RepRap Calculator and punched in the numbers and put them in the problem is Im not even sure if the baseline it gave me is a good base line. Any help would be appreciated.

    It's a DBOT which I extended to 300x300. Angle 1.8, Pitch 2mm,GT2 Belts, 16Tooth, 8mm Lead Screw, 2mm pitch

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin

    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X300 Y300 Z300 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 Z1 S0 ; Define active low and unused microswitches
    M558 P0 X0 Y0 Z0 H5 F120 T6000 ; Set Z probe type to switch, the axes for which it is used and the probe + travel speeds
    G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 X15:285 Y15:285 S20 ; Define mesh grid

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X100 Y100 Z1600 E500 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S290 ; Set maximum heater temperature to 290C
    M305 P0 R4700 T100000 B3950
    M305 P1 R4700 T100000 B4388
    M307 H1 A446.6 C206.1 D4.9 S1.00 B0

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Network
    M550 Ploftduet ; Set machine name
    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Custom settings are not configured

  • I don't pretend to be an expert and I have no experience with Core XY machines in particular.

    Running the calculations again, I can confirm that for 16 micro-steps your steps per mm calculations are correct.

    Personally I'm using 60% idle current (M906 I60) and at 800mA I doubt you'd have a problem with temperatures.

    In a CoreXY, I'd expect the X and Y settings to both be the same, however your accelerations are different:

    M201 X500 Y20

    I'd start off with your maximum speeds, realistically these can be set to the fastest the machine can do - Do a long move to take acceleration out of the picture and try various speeds until it starts missing steps, then back it off. With your current setting of 6000 for the X and Y axes, it will take 3 seconds (Plus acceleration time) to cross the bed. When trying different values, make sure that the acceleration you're using will allow it to reach the maximum speed for your test move - The reprap calculator has a section at the bottom to check this.

    After you're happy with the maximum speeds, acceleration can be tuned. I personally adjusted these while doing various moves until I wasn't happy with how sharp the change was - The maximum here depends on the mass of your effector and the rigidity of your machine. This property will affect print quality so it pays to be a little conservative, but on the flip side it is likely to affect print times far more than the maximum speed.

    To give an idea of accelerations, I'm currently using (On a Prusa i2 frame which is as rigid as a piece of wet string, using a bowden setup):

    M201 X3200 Y3200 Z128 E3200

    M566 (Jerk) is the speed required before acceleration takes effect. I personally just used the defaults, but I believe it affects the definition of curves.

    Don't forget to apply lubricant to your leadscrew(s).

  • administrators

    The X Y and E accelerations look very low - especially Y - and the Z acceleration looks high. I haven't spotted anything else untoward in your config file.

  • @loft - Hi and welcome.

    I have a CoreXY. Build area a tad under 400 x 400 x740 with a great big heavy Diamond hot end, 3off 8mmx 1mm lead screws driven by a single motor and continuous belt. As others have said, your steps/mm look fine but your speeds and accelerations look a bit off. I don't know what your stepper motor specs are but as you are using 800mA current I'd guess they are 1Amp? Also, I don't know what voltage you are running at (12 of 24?) My steppers are 2Amp and I'm using 24v so likely to have a bit more torque but on the other hand, my X axis weighs 520gms and the Y axis on it's own weighs 820 gms. Of course, on a CoreXY, the effective Y axis mass has to include the X axis, making it 1,340gms but on the other hand, both motors contribute to pure X or pure Y movement.

    So given that I've probably got a bit more torque available but I probably also have more mass to move, my settings might be about right for you (but I'd start off a bit lower just to be safe). Anyway, here is a copy and paste of the relevant section of my config.g file

    M566 X600 Y600 Z10 E300:300:300 ; Set maximum instantaneous speed changes (mm/min)
    M203 X70000 Y45000 Z300 E2400:2400:2400 ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z10 E1000:1000:1000 ; Set accelerations (mm/s^2)

    Note, I deliberately use lowish acceleration to restrict the speed for short zigzag moves.


  • Thank you all for the welcome, suggestions and help! This gets me going in a direction for testing and getting the right config much appreciated!

    Just added info:

    @deckingman I followed the build materials of the original and bought the same motors he listed

    I am running 24v and the motors 1.5amp

    NEMA 17 BIPOLAR STEPPER MOTOR, KL17H248-15-4A, 76 oz-in

    Shaft: 5mm diameter with flat
    Current Per Phase: 1.5A
    Holding Torque: (76 oz-in)
    Rated Voltage: 4.2V
    NO.of Phase: 2
    Step Angle: 1.8° ± 5%
    Resistance Per Phase: 2.8Ω± 10%
    Inductance Per Phase: 4.8mH± 20%
    Insulation Class: Class B
    Dielectric Strength: 100Mohm
    Operation Temp Range: -20 ~ +40° C
    Lead Wire: 22AWG / 750mm with connector to stepper motor driver

  • @loft.

    In which case, I'd have thought that the speed and acceleration figures I gave should be a good starting point. Probable best if you set the print speeds in you slicer to fairly conservative values to start with, then build up if all is well.

  • @deckman , Thank you!

Log in to reply