Amulet 运动控制器 – 机械狗项目组件

 Amulet 运动控制器是一款与 moteus 固件兼容的大功率无刷电机控制器。它专为集成到定制的准直驱(QDD)致动器中而设计,适用于有足机器人。

 

概览
Amulet 是专为集成到我们为四足机器人定制的准直驱执行器中而开发的。我们决定开发自己的电机控制器,以便在一些最关键的硬件方面拥有最大的灵活性。
Amulet 控制器是 moteus 控制器的改进版,具有更高的峰值功率、散热和冷却能力等。它运行的是 moteus 固件的改进分叉。
名称 Amulet 1.0
电压输入 12-44V
峰值相电流 100A (待进一步测试)
峰值功率 1500W (待进一步测试)
通信 5Mbps CAN-FD
散热 Low-side switched 12 fan
定位 2 个板载 14 位编码器
PWM 开关频率 15-60kHz
控制频率 15-30kHz
MCU STM32G474
尺寸 69.7 x 76.7mm

设计构架

作者的设计及文档相当规范,且优雅。在原理图中的第一页封面中标注了每个原理图的内容及页码(还做了跳转链接)。同时也加入了 PCB 视图及相关的注意事项。

原理图第二页就给出了设计的框图,模块之间的连接关系清晰可见:

原理图第三页为设计的根图纸,将框图实例化;

初始设计

引脚布局几乎与 moteus n1 控制器(https://github.com/mjbots/moteus)一一对应,以便更轻松地移植固件。主要改动在电源部分,其中包括一个 12V 电源和一个用于 ADC 基准的低噪声 3V3 电源。降压输入通过 Pi 滤波器滤波。大容量电容的数量也有所增加,以达到更高的峰值功率。
选择的 FET 采用双面冷却封装。这降低了封装的热阻,意味着使用外部散热器可以更有效地冷却场效应晶体管。低侧开关风扇连接器也可用于冷却。
在接地方案方面,决定在整个电路板上使用单一接地,并将回流路径限制在电路板的上半部分。就 EMI/EMC 而言,单一接地总比分路接地要好,而且还有利于通过内部地平面进行冷却。

机箱地线通过一个高阻抗 RC 网络连接到本地地线。

电源时序

设计了一个电源时序方案,以确保上电时的确定性行为。稳压器的排序如下:

通过实验验证电源时序非常重要,这样可以估算电路板进入工作状态所需的时间。示波器信号如下:

可以看出,电源时序并不完全遵循初始估计。最明显的差异是在 +A3V3 电源(低噪声 3V3 )中,它具有某种软启动功能。这是一个需要注意的重要功能,因为 moteus 固件使用此轨作为启动时 ADC 测量的参考,以确定主板系列和版本。修改后的电源排序图如下:

RC 缓冲器

为了减少振铃,在设计中添加了可选的 RC 缓冲器。它们尽可能靠近 FET,但由于空间有限,我只能使用 0402 作为 Csnub,使用 0603 作为 Rsnub。这限制了缓冲器中的最大耗散功率。
添加缓冲器之前:

添加缓冲器之后:

我决定使用 5 欧姆 0.4W 的电阻及3300pF 电容。事实证明,这在功耗和振荡衰减之间取得了良好的平衡。添加缓冲之前过冲约为 4%,而添加缓冲之前为 8-10%。

PCB Layout 的细节

层叠结构
电路板由 6 层组成,采用以下层叠结构:
厚度 功能
L1 2oz SIG/PWR
L2 1oz GND
L3 1oz SIG/PWR
L4 1oz SIG/PWR
L5 1oz GND
L6 2oz SIG/PWR
其中 L2 和 L5 是完整的地平面。为了获得良好的信号完整性和 EMC,在每个电源层和信号层旁边都有完整的地平面非常重要。选择该层叠是为了尊重这种约束并最大化电源层的数量(这些电源层是平行的,以提高电流承载能力)。

Layout

L1 层
第一层主要由信号组成,是唯一的阻抗控制层。在本项目的范围内,阻抗控制并非绝对必要,但我们决定对 RS422 和 CAN 接口使用 100 欧姆的阻抗。选择 100 欧姆而不是 120 欧姆作为 CAN 的阻抗,是因为制造能力的原因(120 欧姆需要的走线宽度/间距会增加价格)。
起初,我试图将 CAN 收发器和终端电阻尽可能靠近连接器,以缩短 stub 的长度。最后,我决定将它们放置在我认为是大接地回流路径的下方,以避免数字线路的接地偏移。在收发器之前,CAN 线路采用差分信号形式,这意味着它们对共模噪声的抗干扰能力很强。
栅极驱动驱动信号的走线是为了最大限度地减少电感;短而宽的走线,相关的回流路径靠近它。high-side 驱动信号的回流路径参考 high-side FET 的漏极。理想情况下,栅极驱动驱动信号应在内层中布线,以减少辐射到电路板外部的潜在噪声。但是,为了避免分割 +VBAT 平面(粉红色),我决定将它们在外层布线。
根据 IEC60664-1 标准,整个电路板尽可能保持较大的间隙。
可选的 RC 缓冲器靠近 FET,以减少开关期间的振铃。

值得注意的是顶端部分,如果需要更紧凑的占地面积,可以将其折断。这样就可以焊接电源线和 CAN 线。

L3 层

第一内层专门用于模拟信号和一些电源平面。我们特别注意将开尔文感应连接尽可能远离噪声信号。在相邻的两层中,它们都被地平面包围,开尔文走线上下的接地平面中没有来自任何一层的回流。

L4 层

在第 3 层和第 4 层的布局需要相当小心。从图片上可以看出,这两层上没有信号相互交叉。这样做是为了避免这两层之间出现任何潜在的串扰,因为这两层的介质厚度非常薄(只有 0.18 毫米,比 L2-L3 或 L4-L5 之间的空间还要薄)。

L6 层

第 6 层用于安装定位传感器、电容器、电源调节器和其他一些接口(热敏电阻和风扇)。
你可能会问,为什么我们要在电路板上使用两个磁性编码器。这是因为我们最初的 QDD 执行器使用了一种非常巧妙的机制,可以在减速后明确输出的位置。如果没有第二个传感器,减小后的位置就会模糊不清。

为了解决这个问题,我们的第一代致动器采用了与承载式减速器相同系数的反向驱动减速器,使第二个编码器上方的第二块磁铁旋转。这样就能以非常紧凑的方式消除输出歧义,但无法进行反向间隙估算,因为我们并没有测量输出端的实际位置。

原理图 & PCB

实物图

License

Apache 2.0

仓库 & 下载

可以在Github中获取开源仓库:

https://github.com/EPFLXplore/XRE_LeggedRobot_HW

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注