百工联工业互联网技术服务平台

ODrive双电机驱动电路设计方案

电机驱动无刷电机驱动ODrive双电机驱动
简介
ODrive双电机驱动电路设计方案是为实现高性能机器人项目中使用廉价无刷电机而提出的解决方案。该方案提供精确的驱动无刷电机,并具有相对较低的价格。方案建议使用单个电机和编码器进行测试,并提供了硬件连接和通信配置的说明。此外,方案还介绍了校准和命令发送的方法,并提供了与ODrive进行通信的Arduino库。该方案适用于ODrive v3.2及以上版本,具有5V宽容GPIO引脚。方案还介绍了新的配置变量和注意事项。如果需要帮助或有任何问题,请随时联系ODrive社区。
正文
ODrive双电机驱动电路设计方案

为了实现在高性能机器人项目中使用廉价的无刷电机的目标,我们提出了ODrive双电机驱动电路设计方案。该方案旨在提供精确的驱动无刷电机,并且价格相对较低。

首先,我们建议使用单个电机和编码器进行测试。确保编码器和电机之间有良好的机械连接,以避免可能导致灾难性振荡的滑动。所有非电源I/O都是3.3V输出和5V输入容限,但需要注意,在ODrive v3.2及更早版本中,GPIO 3和GPIO 4不支持5V电压。

为了开始使用该方案,您需要一个或两个无刷电机、正交增量编码器和功率电阻。功率电阻的值取决于您的电机设置和峰值/平均偏移功率,一个好的起点是一个0.47欧姆,50W的电阻。将电机相连接到3相螺丝端子,并将功率电阻连接到AUX端子。将电源(12-24V)连接到直流DC端子,确保注意极性。

在连接硬件之后,您可以选择使用USB、UART或STEP/DIR命令模式进行通信。如果通过USB发送命令,只需将电缆插入micro-USB端口。如果通过UART发送命令,请参考设置UART进行配置。如果使用STEP/DIR模式,请参考设置STEP/DIR进行配置。

在启动程序之前,请确保转子在起动过程中允许转动,没有任何偏置负载。这意味着质量和微弱的摩擦载荷都是可以接受的,但重力或弹簧载荷则不适用。另外,请注意,默认行为是将位置控制设置为位置0(即启动时的位置)。

如果您的编码器带有索引(Z)信号,您可以进行一次校准,并在启动时恢复校准。有关如何执行此操作的说明,请参考相关文档。

在发送命令方面,我们提供了USB和UART命令的记录。您还可以使用ODrive Arduino库,通过Arduino上的UART接口轻松与ODrive进行通信。

对于UART模式,波特率为115200,引脚分配如下:
- GPIO 1:Tx(连接到其他设备的Rx)
- GPIO 2:Rx(连接到其他设备的Tx)
- GND:将设备的地线连接在一起,使用ODrive的J3上的任何GND引脚。

对于STEP/DIR模式,引脚分配如下:
- GPIO 1:M0 STEP
- GPIO 2:M0 DIR
- GPIO 3:M1 STEP
- GPIO 4:M1 DIR
- GND:将设备的地线连接在一起,使用ODrive的J3上的任何GND引脚。

请注意,ODrive v3.2及更低版本的GPIO_3和GPIO_4不允许5V电平,只能使用3.3V信号。而ODrive v3.3及以上版本具有5V宽容GPIO引脚。

此外,我们还引入了一个名为counts_per_step的新配置变量,用于指定编码器数量与“步长”之间的关系。它可以是任何浮点值。步进速率正在等待测试,但它应该至少处理16kHz。如果您想要测试它,请注意,过高的步进速率可能导致电机关闭和滑行。

需要注意的是,目前没有启用线路,并且步进/方向界面默认启用。只要ODrive处于位置控制模式,它就会保持活动状态。默认情况下,ODrive在位置控制模式下启动,因此您不需要通过USB发送任何命令即可开始。当然,如果您愿意,仍然可以发送USB命令进行控制。

如果您在使用过程中遇到任何问题或需要帮助,请随时与我们联系。ODrive社区将热烈欢迎您的加入。

感谢您选择ODrive双电机驱动电路设计方案,我们相信它将为您的高性能机器人项目带来便宜而精确的无刷电机驱动解决方案。

雪孩*******

有类似项目?立即免费发布需求