Notifications
Clear all

Motor Current Adjustment  

  RSS
ingybing
(@ingybing)
New Member
Motor Current Adjustment

Hi,

I've moved over to a Bear Frame but I'm having a slight binding issue at the top of the Z-Axis. I was wanting to just play about with the current to see if a little more grunt would get it through where it's binding since it seems to go through fairly freely when powered off and done by hand. The older Rambo boards just seem to have #define DEFAULT_PWM_MOTOR_CURRENT {270, 830, 450} // {XY,Z,E} to tweak the current in the firmware but the Einsy is somewhat more involved. I can see the: 

 

#define TMC2130_CURRENTS_H {16, 20, 35, 30} // default holding currents for all axes
#define TMC2130_CURRENTS_R {16, 20, 35, 30} // default running currents for all axes

 

but I'm not sure how this relates to the typical current value I've played with before on other printers when I just want to jump up the mA by a bit.

 

Any help or pointer on what to set how the TMC2130 value relates to current would be helpful. 🙂

Posted : 29/04/2019 11:23 pm
--
 --
(@)
Illustrious Member
RE: Motor Current Adjustment

Why not ask the vendor you purchased the frame from for assistance? Seems they'd be best able to answer questions about problems with the product they are selling.

Posted : 30/04/2019 12:04 am
Vojtěch
(@vojtech)
Honorable Member
RE: Motor Current Adjustment

On the Einsy, accordintg to The Internet, the currents are scaling linearly from 0 = 0A to 63 = 0.96A. The LDO motors on the Prusa have all a maximum rating of 1A. There is a nonlinearity in the middle of the scale (31 to 32) as the TMC2130 is reconfigured to half the current sensitivity to be able to do the higher currents. The TMC2130 could do even more, but that'd require a change of sense resistors on the Einsy and a heatsink on the back of the board, because things would be getting hot.

Posted : 30/04/2019 6:13 am
Vojtěch
(@vojtech)
Honorable Member
RE: Motor Current Adjustment

Btw, did you check that the frame is properly square? Binding at the ends of the Z axis can happen because the smooth rods and threaded rods aren't all perfectly parallel.

Posted : 30/04/2019 6:15 am
DockGuy
(@dockguy)
Member
Mapping of RMS current to TMC2130_CURRENT 0-63 value

Posted by: @ingybing

 

...Any help or pointer on what to set how the TMC2130 value relates to current would be helpful. 🙂

 

I found the mapping in the Prusa source code here: https://github.com/prusa3d/Prusa-Firmware/blob/43c823987ce8fa9c6a741cd64e87091c9eb1b721/Firmware/tmc2130.cpp#L992

Latest firmware settings:

  • //new settings is possible for vsense = 1, running current value > 31 set vsense to zero and shift both currents by 1 bit right (Z axis only)
    #define TMC2130_CURRENTS_H {16, 20, 35, 30}  // default holding currents for all axes
    #define TMC2130_CURRENTS_FARM 36             // E 805 mA peak for ECool/farm mode
    #define TMC2130_CURRENTS_R {16, 20, 35, 30}  // default running currents for all axes
    #define TMC2130_CURRENTS_R_HOME {8, 10, 20, 18}  // homing running currents for all axes

 

correspond to

  • X = 0.3 amps RMS
  • Y = 0.37 amps RMS
  • Z = 0.58 amps RMS
  • E = ~0.54 amps RMS

 

FWIW, Mk2 firmware specified peak current:

  • #define DEFAULT_PWM_MOTOR_CURRENT_LOUD  {540, 830, 500} // {XY,Z,E}

 

For further tuning of the original motors, here are the specs of the actual motors Prusa uses for Mk2-Mk3S:

X/Y/E motors: LDO-42STH40-1004A

 

Z motors: LDO-42STH34-1004 L321E

 

Posted : 20/07/2023 8:28 pm
Share: