MPCNC stutters

I will check everything when I’m home… could it be that the bolts are too tight? I’ve tightened everything. The X and y axis doesn’t have to be really tight right?

And what about firmware settings of my stepper motors? I saw this thread:
https://forum.v1e.com/t/skr-v1-3-tmc5160-voltage-question/11988

Is this possible for the MKS Sbase board?

I have these stepper motors, 17HS19-2004S1

What kind of drivers do you have? Drv8825s have a little screw on the top to adjust the current.

Yes those drivers, but they are on the board I think… they can’t be taken off or something.
Maybe a jumper?

Ah. It probably has digipots. But I’m not familiar with that board.

Oké, so I should be looking in the firmware somewhere?

This is what I found on a google search:
https://www.modelbouwforum.nl/media/50095652_598514860601811_7200556317201661952_n.244408/full

Hey Jefe,

In my first thread you also mentioned digipot, I didn’t understand it at the time but I still don’t know what you meant by it. Could you have a look again please?

In ‘Configuration_adv.h’ is where I find the settings of digipots, btw how do I post the code like you do in the other thread?:

/**

  • @section stepper motor current

  • Some boards have a means of setting the stepper motor current via firmware.

  • The power on motor currents are set by:

  • PWM_MOTOR_CURRENT - used by MINIRAMBO & ULTIMAIN_2

  •                     known compatible chips: A4982
    
  • DIGIPOT_MOTOR_CURRENT - used by BQ_ZUM_MEGA_3D, RAMBO & SCOOVO_X9H

  •                     known compatible chips: AD5206
    
  • DAC_MOTOR_CURRENT_DEFAULT - used by PRINTRBOARD_REVF & RIGIDBOARD_V2

  •                     known compatible chips: MCP4728
    
  • DIGIPOT_I2C_MOTOR_CURRENTS - used by 5DPRINT, AZTEEG_X3_PRO, AZTEEG_X5_MINI_WIFI, MIGHTYBOARD_REVE

  •                     known compatible chips: MCP4451, MCP4018
    
  • Motor currents can also be set by M907 - M910 and by the LCD.

  • M907 - applies to all.

  • M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H

  • M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2

*/

//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps

#define DIGIPOT_MOTOR_CURRENT { 138,138,138,138,138 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)

//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis

// Use an I2C based DIGIPOT (e.g., Azteeg X3 Pro)

//#define DIGIPOT_I2C

#if ENABLED(DIGIPOT_I2C) && !defined(DIGIPOT_I2C_ADDRESS_A)

/**

  • Common slave addresses:

  •                    A   (A shifted)   B   (B shifted)  IC
    
  • Smoothie 0x2C (0x58) 0x2D (0x5A) MCP4451

  • AZTEEG_X3_PRO 0x2C (0x58) 0x2E (0x5C) MCP4451

  • AZTEEG_X5_MINI 0x2C (0x58) 0x2E (0x5C) MCP4451

  • AZTEEG_X5_MINI_WIFI 0x58 0x5C MCP4451

  • MIGHTYBOARD_REVE 0x2F (0x5E) MCP4018

*/

#define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT

#define DIGIPOT_I2C_ADDRESS_B 0x2D // unshifted slave address for second DIGIPOT

#endif

//#define DIGIPOT_MCP4018 // Requires library from GitHub - stawel/SlowSoftI2CMaster

#define DIGIPOT_I2C_NUM_CHANNELS 8 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 MKS SBASE: 5

// Actual motor currents in Amps. The number of entries must match DIGIPOT_I2C_NUM_CHANNELS.

// These correspond to the physical drivers, so be mindful if the order is changed.

#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO

This is what I fine on this website:
https://git.x2d2.de/3D-Printing/Marlin-Firmware/blob/1dad6e754b1fc09e9018e663c7afc5da1794d0ae/config/examples/Mks/Sbase/Configuration_adv.h

So I think I have to alter this line:
#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO

to something like:
#define DIGIPOT_I2C_MOTOR_CURRENTS { X.X, X.X, X.X, X.X, X.X } // MKS SBASE: 5

Fill in the Current of my stepper motors in the ‘X.X’

Older drivers line the A4988 and the DRV8825 have small potentiometers (pots) on the board for manually adjusting the maximum current to the motors. Newer drivers allow this to be set digitally through firmware/software, so they are digi-pots.

Thanks Tom,

So should I alter the line in the ‘Configuration_adv.h?’
And my stepper current is 2.0A, so should I change it to 2 Amps?

I’m running the older drivers, so I can’t advise you on what settings to use. I do recall reading you had to pick a value that mapped to the current you were aiming for, it wasn’t as simple as entering the amps you wanted, but since it wasn’t directly applicable to my situation it hasn’t stayed in my head.

I will wait untill someone verified it before I change something

Like I said, I haven’t used that board, so I’m not sure which of the current settings is the right one.

But it is probably one of those you mentioned.

Digipots are potentiometers that are set digitally. Which means the software can control the current limit. There are many different types, controlled with different software. So you’ll need to figure out which software setting is right for your board.

What current shall I try? It’s rated for 2.0A… if I feed it with 1.6A (80%) would that be a good value?

If you go too high, the motors will heat uo enough to deforn the pla. You want to keep them under about 50C. 1A seems like it should be fine, honestly.

Oké… I feel really stupid… I think I know why my latest test/work was out of ratio (squased).
1 of the stepper motors wasn’t connected and it wasn’t really obvious at all.

Now the next problem… now I want to get the dual endstops to work.
When I home the Y-axis everything is fine, but when I home the X-axis something is not working.
1 of the stepper motors isn’t moving at all.

Did you connect it? :stuck_out_tongue:

Yes yes, I made sure it was connected… When I first got my MPCNC I also tried the dual endstop and 1 wasn’t working, so I ordered some new ones from Ali. They look simular but this ones apperently also has a blue light. So I replaced the ‘broke’ endstop, but then it wasn’t working. When I ran the M119 command that one was ‘Triggered.’ Then I replaced it again with the old one and ran the M119 command again. Now all endstops where ‘open.’ I hit the home commands and… YES it was working.

I have a question about the endstops I ordered… why do they show up as ‘triggered’?
Is this something you have to set in the firmware?

Also I re ran my latest test/work again and now it came out great!

Also I tried CNCjs and I really like it. it’s a bit different from Repetier, but I like it more.
The one thing that doesn’t seem to work as well are the manual commands… I’m used to run G92 command, but that didn’t work in CNCjs. After some fiddleing I did it another way

The coordinate display isn’t always updating in cncjs. So you can send G92 and it doesn’t look like it worked. I think M115 updates the coords.

Oké but when I type for example ‘G1 X0 Y0 F400’ it doesn’t work either…

I typed it in the black console part

Weird. That should go straight through to Marlin.