MPCNC stutters

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