Gearbox Dynamometer

更新:15 小时前

作者: Mateo Peña Doll

我构建了这个定制的齿轮箱测功机(又称dyno),用于测试我从头开始设计和制造的船用变速器。通常,我的变速器用作水翼电动船的下单元齿轮箱。

作为电动船舶行业的咨询机械工程师,我需要一种方法来对开发的变速器进行长达 1000 小时的耐久性测试。但是,由于dyno实验室每小时收费 100 美元以上,因此外包对我来说不是一个选择。解决方案?构建我自己的 AC Dynamometer。最初出于需要,后来迅速发展成为一个完全集成、数据驱动的测试平台,配备定制的扭矩测量、水冷、CAN总线集成和基于Python的仪表板。

这个项目成为了一个论文级别的机械测试深入研究。从设计 8020 铝制框架、调整电机控制器到校准应变片,我感觉自己获得了控制系统和测试工程的学位。很多事情我都是通过实践学习的。这篇文章是关于dyno本身的:我是如何构建它的,我遇到的挑战,以及使其工作的技术细节。

Dyno 概览

Gearbox Dynamometer Overview

从左到右:输入电机(又名驱动电机),其垂直轴进入齿轮箱。从齿轮箱输出的是动态扭矩传感器,然后是皮带减速(提高速度)。皮带之后是输出电机(又名 Dyno,或 Regen)。

本质上,这个dyno测量进入齿轮箱的轴功率和输出的轴功率。 轴功率 = 扭矩 * 速度。有了正确的参数,我可以模拟从轻型巡航负载到全油门加速的任何情况,同时监控齿轮箱的性能。

dyno系统通过向驱动电机输入功率,然后从 Dyno 电机再生输出功率来工作。该系统有各种损耗,机械和电气损耗,因此再生功率是输入功率的一小部分(在最佳条件下约为 70% 的整体效率)。大约 30% 的损耗最终来自电源的 220VAC 分相输入(来自电网,需要花钱)。我将在下面详细介绍电源。dyno可以处理驱动电机处约 30kW 连续功率和 50kW 峰值功率

Power Cables Schematic

电缆原理图 (DR 为驱动电机,DY 为 Dyno/Regen)

我选择了所需功率范围内的 PMAC 电机,最终选择了 Motenergy ME1616。对于控制,我选择了 Sevcon Gen4 Size 6 控制器,它们有完善的文档且被广泛使用。让 ME1616 与 Sevcon 协同工作需要使用 Sevcon DVT 工具进行调整。现在我精通 Sevcon DVT。非常感谢 MotenergyEndless-Sphere 论坛支持我提供电机控制信息和配置文件。

传感器

测量扭矩和速度并非易事,除此之外,还需要跟踪几个其他参数来了解系统行为。所有数据都使用基于 Arduino 的 DAQ 系统运行我的自定义程序来捕获。

由于 Sevcon 控制器有自己的数据,并且需要监控/校准,我还监控:

Arduino Due based DAQ

基于 Arduino Due 的 DAQ 系统

对于传感器,我使用了低成本的 Arduino 兼容模块。 Arduino Due 捕获传感器数据,通过 CAN 总线传输,并且还充当错误检测器和故障触发器,如果需要,可以停止系统。每个传感器都有自己的通信协议、噪声敏感性,并且为我设置带来了独特的挑战。在本文章的末尾,我将详细介绍学习和未来改进。

仪表板和数据库

管理所有 50 多个数据点需要设置一个自动数据收集系统,使用 MongoDB 存储所有内容以供后期分析。为了管理数据库并实时监控数据,我使用 Tkinter 构建了一个自定义的 Python 仪表板,并通过 IXXAT 到 USB 转换器集成了 CAN 总线。特别感谢 ChatGPT 完成了大部分编码工作:)

Control and Data Flow Diagram

控制和数据图

Custom Python Dashboard to monitor real-time data

自定义 Python 仪表板

电源

如果我说,我为 dyno 提供 10kW 功率的方式很节俭。如前所述,该系统在最佳条件下以约 70% 的效率运行,并且驱动电机功率要求(齿轮箱的输入功率)设置为 30kW 连续。这意味着我需要至少 9kW 的连续电网功率来弥补系统损耗。需要明确的是,齿轮箱本身的机械损耗要低得多,大多数效率损失来自电机的热损失。

我首先使用了几年前我做过的电动汽车改造中的旧 NiMH 电池组。问题是什么?充电慢,效率低(~65%)。所以我开始寻找更好的电源,发现获得电源最便宜的方法是翻新的服务器电源单元(Server PSU)。我最终选择了白金级的 HP DPS-1200FB-1 A (RMN: HSTNS-PD19, P/N: 570451-101)​。我将 8 个这些连接在一起,构建了一个 10kW 的电源,花费约 125 美元,现在这才是便宜的电源!我使用了 this breakout from WizardOfWire。感谢在线社区,包括 Seidel-Philipp's blog 和这个 MoneroMining reddit post ,指导我选择、浮动和操作这些 PSU。

PSU 被浮动并串联连接,以提供 100A at 100VDC(免责声明:这些 PSU 的额定电压不是 100V,因此按规定此设置不安全,但它确实对我有用)。

Custom Power Supply

电源,10kW (100V, 100A),使用 HP DPS-1200FB-1 A (RMN: HSTNS-PD19, P/N: 570451-101)​

220VAC Power Distribution with Energy Meter

220VAC 分相配电,带有 KETOTEK 电能表 (‎D52-2047HD)。

扭矩校准

输入反作用扭矩传感器内置于带有挠性构件的定制电机板中,我在其中放置应变片以测量扭矩引起的应变。我使用了 Omega 剪切应变片 SGT-2H/350-SY13,带有 Vishay 精密电阻 PTF65350R00BXEK 用于惠斯通电桥。最初,我从单个应变片开始,但横向力引入了太多的误差。添加第二个径向对称的应变片可以进行差分应变测量,从而显着提高了精度。

FEA of Strain Gauge Flexure on Motor Mounting Plate

电机安装板上挠曲的 FEA 结果

Strain Gauges mounted on Motor Plate, Reaction Torque Sensor

安装到电机板的差分应变片

为了校准输入反作用扭矩传感器,我使用了 DYN-200 动态扭矩传感器作为参考。我编写了一个自定义 Arduino 程序,该程序执行自动稳定性检测,确保仅在读数稳定时才记录读数。然后,该程序输出施加的扭矩 (Nm) 和测得的应变之间的相关曲线,从而可以准确地将应变片读数映射到实际扭矩值。

Torque Calibration Setup with Computer and DAQ

运行扭矩校准 Python 脚本,从 Arduino Due 读取数据

Torque Calibration of Strain Gauges

使用 DYN 动态扭矩传感器校准电机板上的应变片(反作用扭矩传感器)

Torque vs Strain Calibration Plot

校准结果;Y 轴显示 DYN 扭矩传感器报告的扭矩,单位为 N*m;X 轴显示 HX711 应变片放大器报告的反应应变(无单位)

示例结果

由于保密原因,我无法详细介绍测试结果,但我可以给出一个带有部分删除的通用示例。

dyno 最重要的结果是齿轮箱效率。我以恒定速度运行 dyno,并改变扭矩。这是一个图,您可以在其中看到齿轮箱的输入和输出轴功率,以及效率。我通过获取速度的导数来过滤加速度接近零的数据,该导数在图中以黄色突出显示。只有突出显示的部分才令人感兴趣,因为瞬态结果将包括各种动态组件的动量变化(对此分析不感兴趣)。

Power and Efficiency Plot

轴功率和效率随时间变化

如果采用突出显示的效率区域,并将其绘制在漂亮的颜色编码图上,您将得到以下结果。然后我在各种速度下重复此操作。

Efficiency Map of Gearbox

扭矩与速度的效率图

从齿轮箱测功机学习

我在构建 dyno 时学到了很多东西。我的大多数挫折和调试都与传感器和噪声有关。来自电机控制器的 EMI 定期关闭我的 CAN 总线(和其他数字通信线路),EMI 还将噪声引入我的模拟传感器,并且在高电流导体上的接地差难以管理。

Sevcon 接地

SevconGen4 被认为是低压系统,设计师决定将其制成单电压系统。电压在逻辑和功率电子器件之间共享。Size 6 控制器可以处理高达 550A 的电流(我只将其推到约 300A),因此两个 Sevcon 之间的负极电缆上的压降对 IO 和 CAN 总线造成了严重破坏。我设法通过在两个 Sevcon 之间连接一根巨大的 2/0 负极电缆来缓解这种情况。将来,我肯定会尝试寻找具有隔离逻辑的控制器。Sevcon Dragon 8 系列具有这种隔离,但它们对于我的应用来说功率不足。

模拟传感器隔离

事实证明,在嘈杂的环境 (EMI) 中读取模拟传感器是一项挑战,尤其是在存在任何接地泄漏或回路的情况下。最好的方法是将模拟传感器与电源系统隔离,特别是保持 Arduino 与 Sevcon 控制器隔离。目前,唯一共享接地的原因是 CAN 总线通信,但隔离的 CAN 收发器可以解决此问题。

此外,一些传感器会引入自己的接地泄漏,这会导致问题且难以检测。完全隔离的传感器架构(其中每个传感器都是单独隔离的)将显着提高可靠性。

迁移到专用 DAQ 系统

更强大的解决方案是使用专门构建的数据采集系统 (DAQ),而不是在 Arduino Due 的输入引脚上管理多个模拟传感器。DataQ DI-4718B-E 看起来很有希望,因为它支持范围广泛的输入,并且可以消除手动集成每个传感器的开销。主要挑战是 Arduino(处理 CAN 总线)和 DataQ(传感器采集)之间的通信。

一个可能的解决方案是 Arduino 和 DataQ 之间的串行通信。根据 DataQ 的 GitHub 存储库,使用 UDP 数据包通过以太网集成可以在本地网络上实现 1 到 3 毫秒的延迟。由于这不需要互联网访问,我可以简单地将两个设备连接到本地网络交换机以进行高速通信。

另一种选择是切换到 Raspberry Pi 或 Teensy,它们是 USB 主机(与 Arduino 不同,后者只是 USB 设备)。这将简化与基于 USB 的 DataQ 的集成,并保持 CAN 总线上的实时数据流。

这些改进将显着减少噪声问题,提高传感器精度,并简化数据采集,从而使dyno系统更加强大和可扩展。

非常感谢你的阅读!