欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Open Battery Information:用开源工具解锁被锁死的电池管理系统

1970/1/1生活百科

本文介绍一个开源项目,它通过 Arduino 硬件和 Web 工具,帮助用户读取、诊断甚至修复因故障被锁定的电池管理系统(BMS),从而避免浪费可修复的电池。

背景:BMS 锁死 —— 安全机制与维修困境

现代电池(尤其是锂电池)内部都有一块电池管理系统(Battery Management System, BMS)芯片。BMS 负责监控电池的电压、电流、温度,并执行充放电控制。当它检测到异常(如过充、过放、短路、温度过高)时,会触发保护机制,将电池的电子开关切断,甚至在内部标记故障状态,使得 BMS 永久锁定。

这种锁死机制本身是出于安全考虑 —— 防止损坏的电池引发火灾或爆炸。但从维修角度看,它带来了严重问题:

  • 误触发:保护逻辑可能偶尔误判(比如电压瞬态波动),导致电池被无辜锁定。
  • 瞬时故障:真正的问题(如低温保护)可能只是临时的,待环境恢复后,电池本身并没有损坏,但 BMS 仍停留在故障状态。
  • 可修复故障:有些故障(如个别电芯压差过大)实际上可以更换电芯或重新均衡来修复,但锁死的 BMS 会阻止一切后续操作。

后果是:一块完好的电芯组,仅仅因为 BMS 的软件状态,就被整体判死,被扔进垃圾桶 —— 这不仅浪费钱,还增加了电子垃圾和资源浪费。

Open Battery Information 项目简介

Open Battery Information(OBI)是为解决上述问题而生的开源项目,目前已获 1.7k Star。其核心使命是:提供必要的工具和信息,帮助用户绕过或重置 BMS 的锁定状态,从而挽救本可继续使用的电池。

项目包含两个主要部分:

  1. Arduino 固件(位于 ArduinoOBI/ 目录),烧录到廉价的开发板上(如 Arduino Uno 或 ESP32-C3),用于与电池 BMS 进行底层通信。
  2. Web 端 UI(OBI-1 工具),托管在 GitHub Pages 上,通过浏览器的 Web Serial API 与开发板通信,并提供一个友好的用户界面。

需要注意的是,早期基于 Python/Tkinter 的桌面应用已被弃用,不再维护。如果你仍需要使用旧版 Python 程序,可以找到 v0.2.3 标签下的代码。但推荐使用全新的 Web UI —— 它免去了 Python 环境的配置,直接用浏览器就能完成刷固件、读取电池等操作。

为什么需要硬件?BMS 通信协议是专有的

各品牌电池的 BMS 芯片通常采用自定义协议(如 I2C、SMBus 或单线协议),且通信命令、寄存器地址等细节往往不公开。要读取或重置 BMS,必须与它建立物理连接并发送特定的命令序列。

Arduino(或 ESP32-C3)在这里充当一个 协议翻译器:它通过引脚与 BMS 的通信线(如 SMBus 的 SMBC、SMBD)相连,将 Web UI 发来的高级指令翻译为底层时序信号,再将 BMS 的响应反馈给上位机。由于不同电池的 BMS 芯片和协议不同,项目可能支持有限范围的电池型号,但其设计目标是提供一个通用框架,允许社区为更多 BMS 添加支持。

使用步骤:从零开始读取电池信息

第一步:搭建 Arduino 环境

  1. 将 ArduinoOBI 文件夹复制到本地。
  2. 阅读该文件夹内的 README.md,那里有构建和配置的详细说明。
  3. 根据你的硬件购买合适的开发板:
    • Arduino Uno(基于 ATmega328P)—— 较低成本,5V 逻辑电平。
    • ESP32-C3 —— 内置 USB 转串口,支持 3.3V 逻辑,功能更强。

第二步:刷写固件(两种方式任选)

  • 方式 A:浏览器直刷(推荐)
    无需安装任何工具链。使用 Chrome 或 Edge 浏览器打开官方 固件烧录网页,用 USB 线连接开发板,点击烧录按钮,固件便会直接写入。这种方式特别适合不熟悉编译环境的用户。

  • 方式 B:本地编译(PlatformIO)
    如果你熟悉嵌入式开发,可以安装 VS Code 和 PlatformIO 扩展,打开 ArduinoOBI文件夹作为项目,然后编译并上传。这个方法更“正宗”,便于二次开发。

此外,在项目的 Releases 页面 也提供了预编译好的固件文件:uno.hex(Arduino Uno)和 esp32.bin(ESP32-C3)。你可以用其他工具(如 AVRDUDE)直接烧录,不一定非要用网页方式。

第三步:使用 OBI-1 工具读取电池

  1. 将刷好固件的开发板,正确连接到待检测电池的 BMS 通信接口(具体接线方式请参见 ArduinoOBI/README.md)。
  2. 在 Chrome/Edge 浏览器中打开 OBI-1 工具页面。
  3. 点击“连接设备”按钮,选择对应 Arduino 的串口(USB 虚拟串口)。
  4. 放入电池(或已连接好)后,点击 “读取电池” 按钮。

之后你会看到以下关键参数:

  • 电池型号:帮助确认 BMS 型号和兼容性。
  • 电芯电压(每节电池的电压值)—— 这是判断电芯是否均衡、是否损坏的重要依据。
  • 电池温度:防止热失控风险。
  • 充电次数:对于锂电池,通常可用来评估循环寿命。
  • 状态标志:比如故障码、锁定状态。

这些数据不仅有助于诊断电池的“健康度”,更重要的是,你可以基于它们判断被锁定的原因。例如,如果只是某节电芯电压过低触发了保护,在充满电或均衡后,可以尝试复位 BMS 状态位,从而解锁电池。

技术亮点与设计思路

  1. Web Serial + 浏览器刷固件:免去安装复杂驱动和工具的负担,降低入门门槛。
  2. 开源硬件 + 开源固件:任何人都可以查看、修改、适配新电池。
  3. 安全性:该项目提醒,BMS 锁定是安全功能,用户自行操作需承担风险,切勿对损坏严重的电池强行解锁。项目可能也提供“重置”功能,但实际效果取决于 BMS 型号和故障类型。

局限与未来

  • 兼容性:目前仅支持特定的 BMS 芯片或电池型号(具体请查看项目文档)。大量笔记本电池、电动工具电池可能仍未覆盖。
  • 法律责任:绕过 BMS 可能导致安全保证失效,在操作电子设备时需谨慎,最好只针对自己拥有且可确认安全的电池。
  • 社区支持:项目鼓励用户贡献新 BMS 的支持代码。通过大家在 GitHub 上的协作,这一项目有潜力支持更多设备。

总结

Open Battery Information 是维修爱好者的福音。它提供了一个开源、低成本(一块 Arduino 不到 10 美元)的方案,让你能够深度访问电池内部状态,打破“BMS 锁死即报废”的宿命。虽不能保证所有电池都能救活,但对于那些因误报或瞬时故障而被锁的电池,它提供了一个真正拯救它们的机会。

如果您对此项目感兴趣,可以访问其 GitHub 主页,阅读文档、下载固件、加入讨论。如果项目帮助到了您,也别忘了给作者点个 ★ Star 或 Buy Me a Coffee,支持持续开发。

原文链接:https://github.com/mnh-jansson/open-battery-information

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消