如何在 Marlin 固件中获取或设置 Trinamic TMC 步进电机电流
在 Marlin 中,你可以动态配置 Trinamic 步进驱动器(如 TMC2208 或 TMC5160)的步进电机电流。
通过 G-Code 更改电机电流
最简单的选项是使用 G-Code。为了将 X、Y 和 Z 的步进电机电流设置为 2 安培(2000 mA),像这样使用 M906:
set_trinamic_current.gcode
M906X2000Y2000Z2000现在使用以下命令将设置保存到 EEPROM
save_eeprom.gcode
M500你也可以使用以下命令查询当前步进电机电流
m906_output.txt
M906
X driver current: 2000
Y driver current: 2000
Z driver current: 2000
E driver current: 800
ok在配置文件中更改电机电流
你也可以在 Marlin 配置文件中设置默认步进电机电流值。注意这些将被 EEPROM 中的任何值覆盖。
在 Configuration_adv.h 中,查找
Configuration_adv.h
#if HAS_TRINAMIC_CONFIG其中包含类似这样的轴定义
Configuration_adv.h
#if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS 电流。乘以 1.414 得到峰值电流。
#define X_CURRENT_HOME X_CURRENT // (mA) 用于无传感器归位的 RMS 电流
#define X_MICROSTEPS 32 // 0..256
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // -1..0: 未链式连接。1: MCU MOSI 已连接。2: 链中的下一个,...
//#define X_INTERPOLATE true // 启用以覆盖 X 轴的 'INTERPOLATE'
#endif更改行中的值
Configuration_adv.h
#define X_CURRENT 800 // (mA) RMS 电流。乘以 1.414 得到峰值电流。
因此,例如要设置 2A(=2000 mA),将其设置为
Configuration_adv.h
#define X_CURRENT 2000 // (mA) RMS 电流。乘以 1.414 得到峰值电流。
Check out similar posts by category:
3D Printing
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow