littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于ESP32和CAN模块的AntBmsToCan项目

项目简介

本项目是基于ESP32和MCP2515/TJA1050 CAN模块的DIY项目,名为AntBmsToCan。其主要作用是在AntBMS和逆变器之间启用CAN总线通信。项目焊接需求极少,采用现成组件和跳线线完成大部分工作,运行于ESP32微控制器,使用少量支持组件,预计建造成本约15英镑。

项目的主要特性和功能

  • 将AntBMS数据包装成适合CAN通信的格式,通过钩入AntBMS和可选显示器之间的数据,将数据发送到逆变器。
  • 支持用于测试和配置的WiFi和MQTT,便于消耗值、错误和其他输出,辅助调试。
  • 专为与AntBMS通信设计,兼容包括SOFAR在内的多种使用Pylontech的CAN总线协议的逆变器。

安装使用步骤

下载和安装Arduino IDE

访问Arduino官网下载并安装Arduino IDE。

安装ESP32库

按照此指南安装ESP32库。

安装其他必要的库

使用Arduino IDE的“工具” -> “管理库”菜单,安装以下库: - PubSubClient by Nick O'Leary - mcp_can by coryjfowler

配置项目参数

  • 下载AntBmsToCan.ino文件到名为AntBmsToCan的文件夹中。
  • 打开AntBmsToCan.ino文件,根据需要配置以下定义:
  • 若需使用WiFi进行测试,确保#define USE_WIFI_AND_MQTT未被注释。
  • 设置WiFi SSID、密码、MQTT服务器IP和端口。
  • 设置设备名称、充电电压限制、充电电流限制、放电电流限制和放电电压限制。

编译并上传代码到ESP32

选择NodeMCU - 32S作为开发板,选择对应的COM端口,然后上传代码。

根据是否使用显示器,进行最终设置

  • 若使用显示器,只需连接两芯线到BMS,并使用一个3.5k电阻。
  • 若不使用显示器,需要连接三芯线到BMS,并使用两个3.5k电阻。

测试并调整设置

连接CAN H和CAN L到逆变器,并确保设备正常工作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】