亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

ED BMSdiag

组件和用品

Arduino UNO
× 1
SparkFun CAN-BUS 屏蔽
× 1
Male-Header 36 Position 1 Row- Long (0.1")
用于 SparkFun CAN 总线屏蔽
× 1
SparkFun OBD-II 至 DSUB-9 电缆
面向国际“制造商”
× 1
OBD-II 转 DSUB-9 线缆
适用于德国(或欧洲)“制造商”
× 1
CANdiy-Shield v2 CAN-Bus Shield
IO 电压可在 3.3V 和 5V 之间选择,因此您可以将此屏蔽用于 3.3V 板!
× 1
Arduino 的 Arduino 盒
@Arduino 商店缺货,但您仍然可以在一些分销商处找到它;-)
× 1

应用和在线服务

Arduino IDE

关于这个项目

意图

我正在驾驶一辆电动车——一款智能两用电动车。牵引电池的健康至关重要,由电池管理系统 (BMS) 维护。它将在充电/放电过程中监控所有 93 节电池,并关注相同的电压电平平衡。通常只有服务工具才能从这个ECU读取信息。

该车配备了 GSM 调制解调器,用于访问充电状态 (SOC)、可用范围和其他简单信息等状态数据。在一段时间内,调制解调器处于扩展模式,收集有关汽车的诊断信息。对我试图嗅探 CAN 总线以了解传输的内容的内容感到好奇。

受到其他电动汽车类似项目的启发——比如 Nissan Leaf——我在驾驶或给汽车充电时记录了完整的 CAN 总线流量。第一个嗅探到的流确实包含了那些诊断数据 - 但如何对其进行解码?

您将在此处的另一篇文章中找到有关 CAN 总线嗅探和逆向工程的详细信息。

需要什么

获取所需的硬件。在现代汽车上,物理层是通过 CAN 总线完成的。至少有两个 CAN 总线屏蔽可用 - 请参阅组件列表。您必须连接到汽车诊断端口 - OBD 连接器,因此请购买电缆或自己制作。注意:OBD 到 DSUB-9 电缆有两种标准 - 选择正确的一种!见下图:

当您制作自己的电缆时,最好使用旧的双绞线网络电缆。为 CAN-H 和 CAN-L 使用这些成对电线之一。这将提高信号完整性。长度也不要超过 1 m,以尽量减少信号反射。

开始使用

第 1 步

准备硬件并为电路板找到一个合适的外壳。

第 2 步

从我的 github 存储库下载项目。有关安装,请参阅此处的详细信息。编译代码并烧写到Arduino。

第 3 步

连接到汽车并为其通电。启动诊断会话并获取有关电池组的有用信息...

第 4 步

使用电子表格程序并找出相关数据。例如,将 SOC(充电状态,来自仪表板)与来自 BMS 的真实 SOC 进行比较。或者绘制电池电压并查看某些电池在充电时限制电池组,因为它们首先达到了截止限制...

步骤 5

如果您愿意,可以改进代码 - 进行自己的黑客攻击。 Spakfun shield 有一个 SD 卡读卡器,因此您可以构建自己的 CAN 总线记录器。

或者你构建了一个很好的前端/应用程序来显示数据......

我希望这个工具会有所帮助 - 玩得开心!

代码

ED_BMSdiag Arduino 软件
https://github.com/MyLab-odyssey/ED_BMSdiag.git

示意图

用于 Sparkfun CAN 总线屏蔽 用于CANdiy-shield

制造工艺

  1. ILI9341 TFT 触摸屏显示盾上的位图动画
  2. Web 操作的 DMX 控制器
  3. Arduino Spybot
  4. FlickMote
  5. 自制电视 B-Gone
  6. 主时钟
  7. HSVClock
  8. 使用 Raspberry Motor Shield 的 Android 控制玩具
  9. 找到我
  10. Arduino Power
  11. Tech-TicTacToe
  12. Arduino Quadruped