注释
所有者
FWIW:我很快就会有一大批这样的板。已经通过 DHL 发货,但最近速度很慢。 带有 Trinamic 驱动程序的联动轴尚未实现。我将在本周补充这一点。驱动程序的顺序当前是这样指定的。我需要使其动态化以允许插入联动轴。最有可能的典型顺序是 XY-Y2-Z。 #ifndef TRINAMIC_DAISY_CHAIN
#define X_DRIVER_SPI_INDEX -1
#define Y_DRIVER_SPI_INDEX -1
#define Z_DRIVER_SPI_INDEX -1
#define A_DRIVER_SPI_INDEX -1
#define B_DRIVER_SPI_INDEX -1
#define C_DRIVER_SPI_INDEX -1
#else
#define X_DRIVER_SPI_INDEX 1
#define Y_DRIVER_SPI_INDEX 2
#define Z_DRIVER_SPI_INDEX 3
#define A_DRIVER_SPI_INDEX 4
#define B_DRIVER_SPI_INDEX 5
#define C_DRIVER_SPI_INDEX 6
我的板是为 4 个完全独立的轴设计的,因此它还需要一个 Y2_DIRECTION_PIN。这为控制器提供了更大的灵活性,但您不需要在控制器上执行此操作。 master 分支不支持通用无传感器归位,但已在wallbot等其他分支上进行了演示。 现在,Trinamic 电机的基本功能由#defines 设置。这不是很好的可扩展性,并且在尝试实现太多功能时会使代码混乱。这是我们正在研究的从 AVR Grbl 继承而来的全球性问题。 还有调整电机的问题。wallbot 代码可以做到这一点。在我的控制器上,我有一些跳线可以在驱动器上的开关和诊断引脚之间进行选择。我建议这样做并试验无传感器归位。 注意:根据我的经验,无传感器寻的最多精确到大约 1 个完整步骤。在大多数情况下,开关会更准确。 |
作者
哦,太棒了,谢谢巴特的快速回复!一旦可用,我一定会在 Tindie 上查看。看起来,当添加带有 trinamic 驱动程序的联动轴时,该板将支持我需要的一切,所以可能不需要我自己设计。 因此,当启用联动轴时,X 或 Y 轴的 $$ 设置将简单地复制到第二个驱动程序,对吗?我认为不需要为 1 轴的两个驱动程序单独设置。 |
所有者
每个字母轴只能有一组分辨率、加速度等值。 |
所有者
我进行了更改并将代码推送到 devt 分支。那将很快合并到主分支。 一切正常。我很高兴这个问题出现了,这样我就可以在木板到达之前把它解决掉。 |
你好,
首先,感谢你们为这个项目所做的出色工作!我正在为菊花链模式下的 4 个 TMC5160 驱动器设计一个简单的 PCB。(与https://github.com/bdring/4_Axis_SPI_CNC非常相似)。
我希望它具有以下功能:
到目前为止,我了解到我必须为所有驱动器使用 1 个 CS 引脚,为第二个 Y 轴电机使用一个单独的 STEP 引脚。为了使自动平方工作,我需要将两个限位开关(每个 Y 轴电机 1 个)连接到相同的 Y_LIMIT_PIN,对吗?machine.h 看起来像这样:
`#define MACHINE_NAME“TEST_CNC”
#define USE_TRINAMIC
#define TRINAMIC_DAISY_CHAIN
#define USE_TRINAMIC_ENABLE
#define USE_GANGED_AXES // 允许一个轴上有两个电机
#define X_DRIVER_TMC5160
#define X_RSENSE 0.075f
#define X_STEP_PIN GPIO_NUM_12
#define X_DIRECTION_PIN GPIO_NUM_26
#define X_TRINAMIC
#define X_CS_PIN GPIO_NUM_17
#define Y_DRIVER_TMC5160
#define Y_RSENSE 0.075f
#define Y_STEP_PIN GPIO_NUM_14
#define Y2_STEP_PIN GPIO_NUM_21 // 联动电机
#define Y_DIRECTION_PIN GPIO_NUM_25
#define Y_TRINAMIC
#define Y_CS_PIN X_CS_PIN
#define Y_AXIS_SQUAR
#define Z_DRIVER_TMC5160
#define Z_RSENSE 0.075f
#define Z_STEP_PIN GPIO_NUM_27
#define Z_DIRECTION_PIN GPIO_NUM_33
#define Z_TRINAMIC
#define Z_CS_PIN X_CS_PIN
#define X_LIMIT_PIN GPIO_NUM_2
#define Y_LIMIT_PIN GPIO_NUM_4
#define Z_LIMIT_PIN GPIO_NUM_15`
所以第二个 Y 轴电机由 Y2_STEP_PIN 定义。对于 SPI 设置,看起来您需要按正确的顺序放置驱动程序,即 X、Y,然后是使用菊花链模式时的 Z。如何设置与第一个 Y 轴电机具有相同设置的第二个 Y 轴电机,它在菊花链中的位置?你必须在第一个 Y 之后连接它,所以 XY-Y2-Z,还是在最后,就好像它是 A-AXIS XYZ-Y2?当您启用 USE_GANGED_AXIS 和 Y2_STEP_PIN 时,是否会自动发送一组额外的位,所以 (4) 组 40 位?
最后一个问题:GRBL_Esp32 是否已经支持无传感器归位,即将 diag1 或 diag0 连接到限位开关引脚?
感谢您的任何帮助。
胡麻