开源改变世界

TMC5161:需要一些帮助 #623

推推 grbl 3年前 (2023-01-30) 156次浏览
打开
roberthuitema 打开了这个问题 2020 年 10 月 2 日 · 8条评论
打开

TMC5161:需要一些帮助#623

roberthuitema 打开了这个问题 2020 年 10 月 2 日 · 8条评论

注释

TMC5161:需要一些帮助 #623

嗨,大家好,

我正在尝试让我的 4 轴 SPI CNC 控制器板 V1.3 板与我从 Bigtreetech 购买的一组 TMC5161 驱动程序和一些 Nema23 电机(2.80A/相)一起用于我的 CNC 项目。

一切正常,除了当我在设置中将安培设置为大约 0.4A 或更高时电机停止移动(0.25A 的标准设置通常在一定程度上起作用)。当我发出点动命令时,电机会出现一些抖动/振动,但不会旋转。有时这会立即发生,有时会在几次动作后发生。所有四个驱动程序都显示此行为。有时,当发生这种情况时,驱动器会不断汲取电流并变热。重置后,我猜想重新配置驱动程序后它们会再次运行(直到再次出错)。

我的设置:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
[MSG:Grbl_ESP32 Ver 1.3a Date 20200928]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:SPI_DAISY_4X_xyyz]
[MSG:Axis count 3]
[MSG:RMT Steps]
[MSG:Init Motors]
[MSG:X  Axis Trinamic TMC5160 Step:GPIO(12) Dir:GPIO(14) CS:GPIO(17) Disable:None Index:1 Limits(0.000,0.000)]
[MSG:Y  Axis Trinamic TMC5160 Step:GPIO(27) Dir:GPIO(26) CS:GPIO(17) Disable:None Index:2 Limits(0.000,0.000)]
[MSG:Y2 Axis Trinamic TMC5160 Step:GPIO(15) Dir:GPIO(2) CS:GPIO(17) Disable:None Index:3 Limits(0.000,0.000)]
[MSG:Z  Axis Trinamic TMC5160 Step:GPIO(33) Dir:GPIO(32) CS:GPIO(17) Disable:None Index:4 Limits(0.000,0.000)]
[MSG:X  Trinamic driver test passed]
[MSG:Y  Trinamic driver test passed]
[MSG:Y2 Trinamic driver test passed]
[MSG:Z  Trinamic driver test passed]
[MSG:TMCStepper Library Ver. 0x000701]
[MSG:PWM spindle Output:GPIO(25), Enbl:GPIO(4), Dir:None, Freq:5000Hz, Res:13bits]
[MSG:Local access point GRBL_ESP started, 192.168.0.1]
[MSG:Captive Portal Started]
[MSG:HTTP Started]
[MSG:TELNET Started 23]
[MSG:X  Axis limit switch on pin GPIO(36)]
[MSG:Y  Axis limit switch on pin GPIO(39)]
[MSG:Z  Axis limit switch on pin GPIO(34)]
Grbl 1.3a ['$' for help]

和 GRBL 设置:

$0 = 3    (Step pulse time, microseconds)
$1 = 250    (Step idle delay, milliseconds)
$2 = 0    (Step pulse invert, mask)
$3 = 0    (Step direction invert, mask)
$4 = 0    (Invert step enable pin, boolean)
$5 = 1    (Invert limit pins, boolean)
$6 = 0    (Invert probe pin, boolean)
$10 = 1    (Status report options, mask)
$11 = 0.010    (Junction deviation, millimeters)
$12 = 0.002    (Arc tolerance, millimeters)
$13 = 0    (Report in inches, boolean)
$20 = 0    (Soft limits enable, boolean)
$21 = 0    (Hard limits enable, boolean)
$22 = 0    (Homing cycle enable, boolean)
$23 = 3    (Homing direction invert, mask)
$24 = 200.000    (Homing locate feed rate, mm/min)
$25 = 2000.000    (Homing search seek rate, mm/min)
$26 = 250.000    (Homing switch debounce delay, milliseconds)
$27 = 1.000    (Homing switch pull-off distance, millimeters)
$30 = 1.000    (Maximum spindle speed, RPM)
$31 = 0.000    (Minimum spindle speed, RPM)
$32 = 0    (Laser-mode enable, boolean)
$N1=
$N0=
$33 = 5000.000   
$34 = 0.000   
$35 = 0.000   
$36 = 100.000   
$100 = 1066.666    (X-axis travel resolution, step/mm)
$101 = 1066.666    (Y-axis travel resolution, step/mm)
$102 = 1066.666    (Z-axis travel resolution, step/mm)
$103 = 100.000   
$104 = 100.000   
$105 = 100.000   
$110 = 3000.000    (X-axis maximum rate, mm/min)
$111 = 3000.000    (Y-axis maximum rate, mm/min)
$112 = 3000.000    (Z-axis maximum rate, mm/min)
$113 = 1000.000   
$114 = 1000.000   
$115 = 1000.000   
$120 = 50.000    (X-axis acceleration, mm/sec^2)
$121 = 50.000    (Y-axis acceleration, mm/sec^2)
$122 = 50.000    (Z-axis acceleration, mm/sec^2)
$123 = 200.000   
$124 = 200.000   
$125 = 200.000   
$130 = 300.000    (X-axis maximum travel, millimeters)
$131 = 300.000    (Y-axis maximum travel, millimeters)
$132 = 300.000    (Z-axis maximum travel, millimeters)
$133 = 300.000   
$134 = 300.000   
$135 = 300.000   
$140 = 0.250   
$141 = 0.250   
$142 = 0.200   
$143 = 0.250   
$144 = 0.250   
$145 = 0.250   
$150 = 0.125   
$151 = 0.125   
$152 = 0.125   
$153 = 0.125   
$154 = 0.125   
$155 = 0.125   
$160 = 8   
$161 = 8   
$162 = 8   
$163 = 16   
$164 = 16   
$165 = 16   
$170 = 16   
$171 = 16   
$172 = 16   
$173 = 16   
$174 = 16   
$175 = 16 

到目前为止我尝试了什么:

  • 在 spi_daisy_4axis_xyyz.h 中使用 TMC5160 的定义并将 TMC5160_RSENSEDEAULT 的值更改为 0.062f(因为感应寄存器为 0.062 欧姆)
    -复制了一些代码以便能够将驱动程序定义为 5161,并且不会收到它们是不受支持的驱动程序的消息.
 if (_driver_part_number == 2130) {
            tmcstepper = new TMC2130Stepper(cs_pin, _r_sense, spi_index);
        } else if (_driver_part_number == 5160) {
            tmcstepper = new TMC5160Stepper(cs_pin, _r_sense, spi_index);
	} else if (_driver_part_number == 5161) {
            tmcstepper = new TMC5161Stepper(cs_pin, _r_sense, spi_index);
        } else {
            grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "%s Axis Unsupported Trinamic part number TMC%d", _axis_name, _driver_part_number);
            has_errors = true;  // as opposed to NullMotors, this is a real motor
            return;
        }
  • 使用 24V 和 10A 可变工作台电源和标准 24V 9A Meanwell 电源。
  • 使用更少的微步 (8)
  • 使用当前设置($140-$142)
  • 使用 StealthChop 模式代替 CoolStep

这一切都没有太大的成功,我不知道如何让驱动器正常工作。所以我希望你们中的一个能给我一些想法或建议,我接下来可以尝试。:) 任何帮助将非常感激!

TMC5161:需要一些帮助 #623
所有者

一些人报告了 TMC5160 在更高电流和电压下的问题。目前我们认为它与固件中的寄存器值有关。

https://github.com/bdring/Grbl_Esp32/blob/main/Grbl_Esp32/src/Motors/TrinamicDriver.cpp#L207

我们不是该芯片或设置方面的专家,因此无法找到解决方案。Trinamic 出售评估套件和一些帮助调整驱动程序的软件。它是 200 美元,尚未列入预算。

目前我们认为它与硬件没有任何关系。

TMC5161:需要一些帮助 #623

感谢您的回复。所以我理解正确,您也只能在较低电流下使用 5160 进行测试?

TMC5161:需要一些帮助 #623
所有者

我个人一直能够将它们一直使用到 3.5A@12v& 24V。其他人不能超过 0.6A。

我的驱动程序是 BigTreeTech 品牌并使用 0.075 欧姆电阻器。遇到麻烦的人也在使用 BigTreeTech。

TMC5161:需要一些帮助 #623

好的,我刚刚尝试了我的第二套 TMC5161 驱动程序(我不小心收到了我的订单两次),但不幸的是它们的行为完全相同。感谢您的帮助,如果我设法找到让他们工作的方法,我会在这里发布。

TMC5161:需要一些帮助 #623

我原来的 TMC5160 也有类似的问题。但我的问题是电源设置不正确。(放大器到低)。我不确定了,但我在微步进方面也遇到了一些麻烦,将微步(SPI 驱动程序)设置为 255 或 256 不知道了。之后,步进器工作正常。

同时在 defaults.h 中将电机电流(SPI 驱动程序)设置为 2.80,并将电机保持电流(SPI 驱动程序)设置为较低值。不知道这是否已修复/返工。

@bdring
如果 defaults.h 也在机器列表中不是更好吗?所以你有一个数据中的每个设置?例如 i2s_out_xyzabc_trinamic.h 或 3axis_xyz.h 中的所有 defaults.h 设置。那里只有与“董事会”或“机器”相关的选项?
如果您不必搜索常用设置,那就太棒了。

TMC5161:需要一些帮助 #623
所有者

@KingMo5hDefaults.h 中的项目仅在您未在机器定义文件中定义它们时使用。

midtbot.h是具有大量设置默认值的一个很好的示例。

TMC5161:需要一些帮助 #623

我尝试了更多的微步设置并更改了 defaults.h 中的值,不幸的是这对我不起作用。

然而,当我改变微步数时,它实际上似乎改变了步数/毫米?至少我的电机在改变微步值时旋转得更快或更慢(更高的微步值 = 更慢/更少的旋转),而我没有改变任何其他设置。我在这里做错了什么?

TMC5161:需要一些帮助 #623
lav8org 评论了 2021 年 2 月 28 日  

当我遇到 2130s/5160s 崩溃的问题时(步进停止,但就串行调试显示而言,驱动程序上没有记录明显的错误;电源循环需要恢复步进)StealthChop 是罪魁祸首;完全禁用它并仅使用 SpreadCycle 解决了问题。我发现一个 Trinamic 代表在某处发表评论(只是认​​真地试图再次找到它,但没有骰子)说这是由于停止/反转太大/突然导致 StealthChop 触发安全。IIRC 他们声称 StealthChop2(在 5160 上发现)会更好地处理这种情况,但在这一点上我的里程数肯定会有所不同。

我经历过两种设置的崩溃:BTT SKR 1.3 w/BTT TMC2130,24V 0.6-1.2 A,BTT SKR 1.4 w/BTT TMC5160 12V 逻辑和 34V 0.6-1.2 A 电机。我已经运行了相当多的时间,没有任何驱动程序崩溃……除了少数几次我屈服于诱惑并重新启用了 StealthChop。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

4人参加
TMC5161:需要一些帮助 #623TMC5161:需要一些帮助 #623TMC5161:需要一些帮助 #623TMC5161:需要一些帮助 #623

喜欢 (0)