开源改变世界!!

联动 Y 轴不以相等的步长/毫米移动 #835

推推 grbl 2年前 (2022-10-18) 204次浏览 0个评论

关闭
ofek256 打开了这个问题 on 20 Mar 2021 · 9 条评论
关闭

联动 Y 轴不以相等的步长/毫米移动#835

ofek256 打开了这个问题 on 20 Mar 2021 · 9 条评论

注释

联动 Y 轴不以相等的步长/毫米移动 #835

ofek256 评论 on 20 Mar 2021  

请只提交最新的主分支或开发分支的错误。您可以检查启动消息中的版本号并将其与grbl.h中的版本进行比较

Fysetc E4 板上最新的 GRBL 版本,稍微修改了配置文件以将 A 设置为 Y2 电机。
每次我尝试移动 Y 轴时,两个电机都会以不同的步数/毫米移动。当我在驱动程序之间切换电机时,问题仍然存在,但会切换电机,这是意料之中的。

我的板的配置:

#define MACHINE_NAME “FYSTEC E4 3D 打印机控制器”

#define N_AXIS 3

#define TRINAMIC_RUN_MODE TrinamicMode :: StealthChop
#define TRINAMIC_HOMING_MODE TrinamicMode :: StealthChop

#define TMC_UART UART_NUM_1
#define TMC_UART_RX GPIO_NUM_21
#define TMC_UART_TX GPIO_NUM_22

#define X_TRINAMIC_DRIVER 2209
#define X_STEP_PIN GPIO_NUM_27
#define X_DIRECTION_PIN GPIO_NUM_26
#define X_RSENSE TMC2209_RSENSE_DEFAULT
#define X_DRIVER_ADDRESS 1
#define DEFAULT_X_MICROSTEPS 16

#define Y_TRINAMIC_DRIVER 2209
#define Y_STEP_PIN GPIO_NUM_33
#define Y_DIRECTION_PIN GPIO_NUM_32
#define Y_RSENSE TMC2209_RSENSE_DEFAULT
#define Y_DRIVER_ADDRESS 3
#define DEFAULT_Y_MICROSTEPS 16

#define Z_TRINAMIC_DRIVER 2209
#define Z_STEP_PIN GPIO_NUM_14
#define Z_DIRECTION_PIN GPIO_NUM_12
#define Z_RSENSE TMC2209_RSENSE_DEFAULT
#define Z_DRIVER_ADDRESS 0
#define DEFAULT_Z_MICROSTEPS 16

#define Y2_TRINAMIC_DRIVER 2209
#define Y2_STEP_PIN GPIO_NUM_16
#define Y2_DIRECTION_PIN GPIO_NUM_17
#define Y2_RSENSE TMC2209_RSENSE_DEFAULT
#define Y2_DRIVER_ADDRESS 2
#define DEFAULT_Y2_MICROSTEPS 16

#define X_LIMIT_PIN GPIO_NUM_34
#define Y_LIMIT_PIN GPIO_NUM_35
#define Z_LIMIT_PIN GPIO_NUM_15
#define Y2_LIMIT_PIN GPIO_NUM_36 // 标记为 TB
#define PROBE_PIN GPIO_NUM_39 // 标记为 TE

// 可以注释掉以将 pin 用于其他功能
#define STEPPERS_DISABLE_PIN GPIO_NUM_25

#define SPINDLE_TYPE SpindleType::RELAY
#define SPINDLE_OUTPUT_PIN GPIO_NUM_13 // 标记为风扇
#define COOLANT_MIST_PIN GPIO_NUM_2 // 标记为温床
#define COOLANT_FLOOD_PIN GPIO_NUM_4 // 标记为加热器

任何帮助表示赞赏,谢谢!

联动 Y 轴不以相等的步长/毫米移动 #835 ofek256 添加了 漏洞 有些东西不工作标签 2021 年 3 月 20 日
联动 Y 轴不以相等的步长/毫米移动 #835
所有者

婚戒 评论 2021 年 3 月 20 日

您在地址#3有 2 个电机

联动 Y 轴不以相等的步长/毫米移动 #835 添加了 bdring把招工广告 需要额外注意并删除 漏洞 有些东西不工作标签 2021 年 3 月 20 日
联动 Y 轴不以相等的步长/毫米移动 #835
作者

ofek256 评论 2021 年 3 月 20 日  

您在地址#3有 2 个电机

谢谢,我改了,但是两个电机还是不同步。
它可能与微步进有关,我的 Z 轴有一个类似的问题,没有使用与控制台中配置的相同数量的微步进。

联动 Y 轴不以相等的步长/毫米移动 #835
所有者

婚戒 评论 2021 年 3 月 20 日

它们有多大不同?一点点?…双倍?

你的电机电流设置是多少?

联动 Y 轴不以相等的步长/毫米移动 #835
作者

ofek256 评论 2021 年 3 月 20 日  

经过一番研究,我发现 Y2 驱动程序的 Rsense 应该是 0.22f,但是当我在配置中更改它并上传到板上时,我在 SPI 中运行时得到相同的结果。在 UART 中它似乎可以工作,但 X 轴在 UART 中由于某种原因只能顺时针移动,所以我试图让它在 SPI 中工作:

#define MACHINE_NAME “FYSETC E4 3D 打印机控制器”

#define N_AXIS 3

#define TRINAMIC_RUN_MODE TrinamicMode :: StealthChop
#define TRINAMIC_HOMING_MODE TrinamicMode :: StealthChop

#define TMC_UART UART_NUM_1
#define TMC_UART_RX GPIO_NUM_21
#define TMC_UART_TX GPIO_NUM_22

#define X_TRINAMIC_DRIVER 2209
#define X_STEP_PIN GPIO_NUM_27
#define X_DIRECTION_PIN GPIO_NUM_26
#define X_RSENSE 0.11f
#define X_DRIVER_ADDRESS 1
#define DEFAULT_X_MICROSTEPS 16

#define Y_TRINAMIC_DRIVER 2209
#define Y_STEP_PIN GPIO_NUM_33
#define Y_DIRECTION_PIN GPIO_NUM_32
#define Y_RSENSE 0.11f
#define Y_DRIVER_ADDRESS 3
#define DEFAULT_Y_MICROSTEPS 16

#define Z_TRINAMIC_DRIVER 2209
#define Z_STEP_PIN GPIO_NUM_14
#define Z_DIRECTION_PIN GPIO_NUM_12
#define Z_RSENSE 0.11f
#define Z_DRIVER_ADDRESS 0
#define DEFAULT_Z_MICROSTEPS 16

#define Y2_TRINAMIC_DRIVER 2209
#define Y2_STEP_PIN GPIO_NUM_16
#define Y2_DIRECTION_PIN GPIO_NUM_17
#define Y2_RSENSE 0.22f
#define Y2_DRIVER_ADDRESS 2
#define DEFAULT_Y2_MICROSTEPS 16

#define X_LIMIT_PIN GPIO_NUM_34
#define Y_LIMIT_PIN GPIO_NUM_35
#define Z_LIMIT_PIN GPIO_NUM_15
#define Y2_LIMIT_PIN GPIO_NUM_36 // 标记为 TB
#define PROBE_PIN GPIO_NUM_39 // 标记为 TE

// 可以注释掉以将 pin 用于其他功能
#define STEPPERS_DISABLE_PIN GPIO_NUM_25

#define SPINDLE_TYPE SpindleType::RELAY
#define SPINDLE_OUTPUT_PIN GPIO_NUM_13 // 标记为风扇
#define COOLANT_MIST_PIN GPIO_NUM_2 // 标记为温床
#define COOLANT_FLOOD_PIN GPIO_NUM_4 // 标记为加热器

这是我目前的配置。

它们有多大不同?一点点?…双倍?

你的电机电流设置是多少?

是的,Y2 电机的步数是 Y1 电机的一半。
两者的微步都设置为16,电流为1A。
Y 设置为每毫米 400 步,如果 A 发生任何变化,则 A 也是如此。

联动 Y 轴不以相等的步长/毫米移动 #835
所有者

婚戒 评论 2021 年 3 月 20 日

我有一块 Fytec 板,它适用于 Gbrl_ESP32 中包含的机器定义

联动 Y 轴不以相等的步长/毫米移动 #835
作者

ofek256 评论 2021 年 3 月 20 日

我有一块 Fytec 板,它适用于 Gbrl_ESP32 中包含的机器定义

根据此@第 2238 行:https
://github.com/FYSETC/FYSETC-E4/blob/main/examples/Ender-3/Configuration_adv.h 对于第二个电机,Rsense 应该是 0.22。无论哪种方式,由于某种原因,更改什么都不做,并且运行 UART 会使 X 电机只旋转一个方向。也许我的电路板有问题?

联动 Y 轴不以相等的步长/毫米移动 #835
作者

ofek256 评论 2021 年 3 月 20 日  

没关系,只是设法让它工作!我真的不知道发生了什么,但它现在在 UART 上工作。
我附上了我的配置,以防有人遇到和我一样的问题,但我非常怀疑。
谢谢你的帮助!

我正在关闭这个问题。

编辑:最后一条消息中的文件。

联动 Y 轴不以相等的步长/毫米移动 #835
所有者

婚戒 评论 2021 年 3 月 20 日

他们的文档不正确。控制器采用 0.11 欧姆电阻器构建。很容易检查你的电路板。电流检测电阻器位于电机连接器上方。

检测电阻器用于电流调节。驱动器正在寻找该电阻器上的电压降来检测电流。如果您指定 0.22 而不是 0.11,则电流将关闭 2 倍。您可能无法在正常运行中注意到这一点。

电机和驱动器的温度和保持转矩将减少 2 倍。

联动 Y 轴不以相等的步长/毫米移动 #835
作者

ofek256 评论 2021 年 3 月 20 日

好吧,它现在可以在 Y2 中使用 0.11f。我真的不知道是什么导致了最初的问题。我将附上更新的文件并删除旧文件。
谢谢!

fystec_e4.zip

联动 Y 轴不以相等的步长/毫米移动 #835
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

请记住,对此存储库的贡献应遵循我们的 GitHub 社区指南
通过赞助他们 来表达 您对 bdring的支持。

 赞助

标签
把招工广告需要额外注意
项目

还没有

发展

没有分支或拉取请求

2名参与者
联动 Y 轴不以相等的步长/毫米移动 #835联动 Y 轴不以相等的步长/毫米移动 #835

喜欢 (0)

您必须 登录 才能发表评论!