开源改变世界

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

推推 grbl 3年前 (2023-02-08) 375次浏览
打开
jevermeister 打开了这个问题 2022 年 1 月 31 日 · 57条评论
打开

使用 Trinamic 驱动器支持联动电机的要求是什么#58

jevermeister 打开了这个问题 2022 年 1 月 31 日 · 57条评论

评论

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

我目前正在将 grblHAL 移植到具有 UART 模式的 BTT Rumba32 板,用于我将要使用的 TMC2209。

我读了 SKR 2.0 驱动程序文件

#if TRINAMIC_ENABLE && N_GANGED > 0
#error “BTT SKR-2 不支持带有 Trinamic 驱动程序的联动电机。”
#万一

然而 SKR 1.1 驱动程序没有这样的限制,尽管两个板都支持 UART 模式。

你能说出 SKR 2.0 不支持带 Trinamic 驱动器的联动电机的原因吗?所以我在我的 Rumba32 端口上尝试这个之前就知道了?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

你能说出 SKR 2.0 不支持带 Trinamic 驱动器的联动电机的原因吗?所以我在我的 Rumba32 端口上尝试这个之前就知道了?

最有可能的原因是在将联动支持添加到电机插件时没有删除测试。尝试删除线条。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

你好@jevermeister,您是否设法让联动电机在 skr 2 上工作?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

你好@jevermeister,您是否设法让联动电机在 skr 2 上工作?

你好,

我没有 SKR 2,而是 Rumba32。由于两者都为 Trinamic 驱动程序使用 UART 模式,我假设如果它有效,它将适用于两个板。但是目前我仍在构建我的 MPCNC,还没有切换到 grblHAL。所以我不知道,抱歉。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

@WellDone2094删除我提到的行后它对你来说失败了吗?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

@terjeio没有这些行编译很好,但我仍在等待交付的电路板进行测试。
我使用了 N_GANGED=2 和 N_ABC_MOTORS=2,如果我想要 2 个 X 电机和 2 个 Y 电机以及每个电机的限位开关,这是否正确?我想在两个轴上都有自动平方。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

我使用了 N_GANGED=2 和 N_ABC_MOTORS=2,如果我想要 2 个 X 电机和 2 个 Y 电机以及每个电机的限位开关,这是否正确?

不 – 不要更改这些符号 – 配置应该在my_machine.h中完成,预处理器会整理出其余部分。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

哦,我没看到那个文件,那更容易,我会试试的。谢谢

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

我可以确认它可以编译,这个周末我应该可以在板上测试它。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

你好@terjeio
我评论了 -D OVERRIDE_MY_MACHINEplatformio.ini 中的行并#define TRINAMIC_ENABLE 2209 // Trinamic TMC2209 stepper driver support. NOTE: work in progress.在 my_machine.h 中设置

然后我用命令`pio run –environment btt_skr_2_tmc2130 构建了固件。
固件构建没有问题,并且成功刷写,但刷写后我的电脑再也看不到主板了。

有什么建议么?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

你用 SD 卡(引导加载程序)刷写?如果是这样,请检查此评论

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

谢谢,工作!并且联动+自动平方工作!

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
做得好2094 评论了 2022 年 2 月 7 日  

一切似乎都在工作,但 iosender/grblhal 经常冻结,我认为固件存在一些问题,因为重新启动 ioSender 无济于事,但重置电路板可以解决问题

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

再次闪烁后,它似乎更加稳定。
现在唯一的问题是设置正确的微步和 set/mm 似乎移动太多(大约两倍)。
我有一条 gt2 皮带、1.8 步进驱动器、16 微步、16T 滑轮。正确的值应该是 100,但如果我想移动正确的距离,我必须设置 50

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

一切似乎都在工作,但 iosender/grblhal 经常冻结,我认为固件存在一些问题,因为重新启动 ioSender 无济于事,但重置电路板可以解决问题

发生这种情况时,您可以使用 PuTTY 等终端程序进行连接吗?通过键入来自实时报告请求的任何响应?

现在唯一的问题是设置正确的微步和 set/mm 似乎移动太多(大约两倍)。

我检查了两个未标记的步进器,我认为它们是 1.8 度/步并且旋转与设置一致。我将 steps/mm 设置为 200,并在检查时发送命令移动一圈。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

在 iosender 冻结后,我厌倦了使用腻子连接到电路板,但它没有连接。我还尝试拔下并重新插入电路板以确保没有任何东西在使用该端口,但是当我将其插入电脑时无法识别它。重置后一切正常,我可以毫无问题地使用腻子连接到它。我可以做些什么来调试它吗?调试模式,以不同于 usb 或其他任何方式的连接方式?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

关于步进/毫米,我使用的是 1.8 度电机,带 16T 皮带轮和 gt2 皮带,这应该有 100 步/毫米,但如果我想正确移动,我需要使用 50。skr 2.0 与 tmc 2209

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

我还尝试拔下并重新插入电路板以确保没有任何东西在使用该端口,但是当我将其插入电脑时无法识别它。

好的,那么很可能控制器由于某种原因崩溃了,一个错误或电气干扰?仅供参考,我昨天用 F446 板进行了 3 小时的测试,没有出现问题 – 今天晚些时候将进行更长的测试。

我可以做些什么来调试它吗?调试模式,以不同于 usb 或其他任何方式的连接方式?

如果没有调试器,您的选择是尝试使用不同的 USB 电缆,绕过任何 USB 集线器或通过 UART <> 分线板连接绕过 USB 板。挂起需要很长时间吗?闲置时会发生吗?主轴什么时候启动?……?

关于步进/毫米,我使用的是 1.8 度电机,带 16T 皮带轮和 gt2 皮带,这应该有 100 步/毫米,但如果我想正确移动,我需要使用 50。skr 2.0 与 tmc 2209

将 steps/mm 设置为 200,将微步设置为 16 并将轴移动 16mm – 电机转一圈吗?我为我做了。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
做得好2094 评论了 2022 年 2 月 8 日  

将 steps/mm 设置为 200,将微步设置为 16 并将轴移动 16mm – 电机转一圈吗?我为我做了。

我试过了,步进器在这里转
了两圈,你可以看到我的 grblahl设置

挂起需要很长时间吗?闲置时会发生吗?主轴什么时候启动?……?

它似乎是随机的,有时在 30 分钟后的某个时间它仍然工作需要 2 分钟才能崩溃。
当我尝试移动它或更改设置时,它经常发生。
我还没有连接主轴

今天我将使用不同的电缆,看看是否有帮助。

感谢您的支持

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

是否M122回复驱动程序详细信息或错误消息?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
做得好2094 评论了 2022 年 2 月 8 日  

M122
[MSG:Warning: Could not communicate with stepper driver!]
ok

这是 M122 输出。

如果没有调试器,您的选择是尝试使用不同的 USB 电缆,绕过任何 USB 集线器或通过 UART <> 分线板连接绕过 USB 板。挂起需要很长时间吗?闲置时会发生吗?主轴什么时候启动?……?

我认为这是电缆问题,我换了一根短电缆,从那以后它就没有崩溃过。对不起误报

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

我刚刚提交了重构的 TMC 软 UART 代码,希望现在可以使用。由于我没有 SKR 2.0 板,我无法用它验证代码,但已经用 F446 Nucleo 板和两个 Watterot TMC2209 模块对其进行了部分测试。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

我今天晚些时候会测试它,我得到了一个 st-link v2 如果它可以帮助识别问题

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

我刷新了新版本并再次运行 M122,这次它成功了,我得到了这个输出

M122
[TRINAMIC]
                      X       Y       Z      X2      Y2
Driver          TMC2209 TMC2209 TMC2209 TMC2209 TMC2209
Set current         700     700     500     700     700
RMS current         673     673     489     673     673
Peak current        951     951     691     951     951
Run current       21/31   21/31   15/31   21/31   21/31
Hold current      10/31   10/31    7/31   10/31   10/31
CS actual         10/31   10/31   10/31   10/31   10/31
PWM scale            10      10      10      10      10
vsense          1=0.180 1=0.180 1=0.180 1=0.180 1=0.180
stealthChop        true    true    true    true    true
msteps               16      16      16      16      16
tstep           1048575 1048575 1048575 1048575 1048575
pwm
threshold             0       0       0       0       0
[mm/s]                0       0       0       0       0
OT prewarn        false   false   false   false   false
OT prewarn has
been triggered    false   false   false   false   false
off time              3       3       3       3       3
blank time            1       1       1       1       1
hysteresis
-end                 -1      -1      -1      -1      -1
-start                1       1       1       1       1
Stallguard thrs       0       0       0       0       0
DRIVER STATUS:
stallguard     
sg_result             0       0       0       0       0
fsactive                                               
stst                  *       *       *       *       *
olb                                                    
ola                                                    
s2gb                                                   
s2ga                                                   
otpw                                                   
ot                                                     
STATUS REGISTERS:
 X = 0xC0:0A:00:00
 Y = 0xC0:0A:00:00
 Z = 0xC0:0A:00:00
 X2 = 0xC0:0A:00:00
 Y2 = 0xC0:0A:00:00
ok

我尝试设置 step/mm=200 并移动 16mm,但步进器仍转 2 圈

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

确保移除 MS1 和 MS2 上的跳线。TMC2209 的 UART 引脚上应该只有一个。

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

司机下面只有一根这样的跳线

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

我尝试设置 step/mm=200 并移动 16mm,但步进器仍转 2 圈

如果更改微步设置会怎样?
我可以看到 Z 驱动程序的电流设置与上面报告中的其他驱动程序不同,您能否尝试对每个驱动程序进行不同的设置,看看是否报告正确?

使用 Trinamic 驱动器支持联动电机的要求是什么 #58

我将每个轴设置为不同的电流,这似乎有效,但是当我将 Y 轴设置为 8 微步时,所有干燥器都更改为 8。移动 16 毫米,8 或 16 微步保持 50 步/毫米产生相同的结果。步进器旋转相同的量。

M122
[TRINAMIC]
                      X       Y       Z      X2      Y2
Driver          TMC2209 TMC2209 TMC2209 TMC2209 TMC2209
Set current         700     600     500     700     600
RMS current         673     581     489     673     581
Peak current        951     821     691     951     821
Run current       21/31   18/31   15/31   21/31   18/31
Hold current      10/31    9/31    7/31   10/31    9/31
CS actual         10/31   10/31   10/31   10/31   10/31
PWM scale            10      10      10      10      10
vsense          1=0.180 1=0.180 1=0.180 1=0.180 1=0.180
stealthChop        true    true    true    true    true
msteps                8       8       8       8       8
tstep           1048575 1048575 1048575 1048575 1048575
pwm
threshold             0       0       0       0       0
[mm/s]                0       0       0       0       0
OT prewarn        false   false   false   false   false
OT prewarn has
been triggered    false   false   false   false   false
blank time            1       1       1       1       1
hysteresis
-end                 -1      -1      -1      -1      -1
-start                1       1       1       1       1
Stallguard thrs       0       0       0       0       0
DRIVER STATUS:
stallguard     
sg_result             0       0       0       0       0
fsactive                                               
stst                  *       *       *       *       *
s2gb                                                   
s2ga                                                   
STATUS REGISTERS:
 X = 0xC0:0A:00:00
 Y = 0xC0:0A:00:00
 Z = 0xC0:0A:00:00
 X2 = 0xC0:0A:00:00
 Y2 = 0xC0:0A:00:00

重置电路板后,所有驱动程序都回到 16 微步,即使 grblhal 显示 Y 轴为 8

使用 Trinamic 驱动器支持联动电机的要求是什么 #58
贡献者

Do you have an oscilloscope? I wonder if this somehow is related to the motor power circuitry on this board.
If I remove motor power from the stepper driver and reconnect it msteps goes to 8 which I assume is the default value in the driver. Some data presented in the M122 report are read from the driver and some from “shadow registers” kept in MCU RAM only – since some changes and others not suggests that the drivers somehow are reset when they should not be.

In my test setup a M122I restores msteps to the configured value after reconnecting motor power.

喜欢 (0)