ENNOID-BMS从控板分析-基于LTC6813的版本

news2024/9/20 22:57:42

LTC6813简单说明image.png

  1. 单体电压采集部分,总共可以采集18个电芯电压,这18个电压分别交给3个16位Delta-Sigma ADC来进行采样;官方手册宣称的采样误差低于2.2mV,采样范围为0~5V,所有18个电芯采样一次只要290uS时间。
  2. 电压均衡部分,提供18个电压均衡控制端口,配合外部的PMOS和放电电阻,可以在充电时对电压较高的单体电芯进行放电来减小电芯之间的压差。
  3. 辅助信息采集部分,连接外部的9个GPIO,当GPIO配置为模拟输入时,配合外部NTC就可以采集电芯温度;TEMP为片内温度信号,Vref2用于驱动多个10k热敏电阻,SC此电压信号用于判断电芯个数,Vreg为芯片供电电压信号。所有这些信号都经过AUX MUX交给ADC1进行采集。
  4. 数字接口部分,提供了两种串行通讯接口,通过ISOMD引脚选择。将ISOMD引脚接到V-,则串行端口A配置为为4线标准SPI模式,串行端口B配置为2线菊花链模式,这种模式适用于一体机BMS;将ISOMD接到Vreg,则串行端口A、B均配置为菊花链模式,这种模式适用于分布式BMS。
  5. TEMP用于测量片上温度;DTEN为放电定时器,连接到Vreg;WDT为看门狗复位指示,通过一个1M电阻上拉到Vreg或者悬空。
  6. 供电和参考电压部分,LDO1主要是负责为内部数字电路的供电,LDO2主要负责通过DRIVE引脚在外部电路的配合下向Vreg供电。参考电压Vref1用于给内部ADC提供参考电压,Vref2主要用于驱动外部的NTC电阻。

完整电路图

以下为完整的从控板电路原理图
LTC6813.pdf
整个电路图大概分为以下几个部分:

  1. 供电部分;
  2. 单体电压采集与被动均衡部分;
  3. 通讯部分;
  4. 拓展接口部分;

供电部分

image.png

功能分析

上图被橙色框框起部分为整个电路的供电部分,V+引脚过FB1磁珠过R1和C1组成的RC滤波电路接到最后一个电芯的正极,V-引脚接到第一个电芯的负极,同时作为整个电路的GND。FB1磁珠的主要作用应该是用于提高整个板子的EMI性能。
从V+处从电池组取电压(如果18串接满,每个电芯为3.2V,则输入电压为57.6V),经过R3和C4组成的RC滤波电路滤波后给到Q1(一个NPN三极管)的集电极,Q1的基极接DRIVE引脚,此引脚输出5.7V电压,由于三极管Vbe为0.7V,给到发射极的电压正好为5V,这个5V电压输入VREG引脚用来给整个AFE芯片供电。
C5、C6、C7三个电容为去耦电容,手册上推荐是接一个1uF电容即可,电容太大会增加AFE的上电启动时间,这里实际并了三个1uF电容。
D1、D2、D3为三个保护作用的二极管。其中D1、D2为1N4148W,反向击穿电压75V,D3为BZT52H-C62稳压二极管,稳压工作电压范围为58V~66V,用于过压保护。

核心器件选型

FB1磁珠,选用标称阻抗为33Ω@100MHz的。这个选取依据个人不是很明白。
D1、D2、D3防插拔浪涌二极管,由于最多会接18个电芯,按每个磷酸铁锂电芯极限最高4V计算,总电压最高为72V。D1、D2选用的1N4148二极管为小型高速开关二极管,反向击穿电压为75V,可以满足要求。D3选用BZT52H二极管为稳压二极管,稳压工作电压范围为58V~66V,如果考虑电芯最高充到3.65V,则也能满足要求。
C1、C4为RC电路的电容,这里需要注意选用耐压高于72V的。
Q1使用了手册上推荐的DZTT5551三极管,由于VREG需要最高35mA的电流供给,因此选用的三极管集电极电流Ic要大于此数值;同时在Vreg为5V的情况下,集电极和发射极的压差最高为72-5=67V,因此集射击穿电压Vceo要大于此数值;加在三级管上的功率峰值为67V*0.035A=2.345W,因此可能需要考虑布板时通过敷铜来进行散热。这里选用的DZTT5551的Ic为600mA,Vceo为160V,额定功率为2W,基本满足要求。就是功率没有选择2.345W以上的,可能是考虑峰值功率不会长时间维持。

单体电压采样与被动均衡部分

image.png

功能分析

橙色框内为18路电芯的电压采样与被动均衡电路,右边红框为每路电路的详细电路图。主要看右边红框。
每个电芯的正极经过Fx保险丝后,到网络标号C+,电芯的负极接到网络标号C-。C+过R83和C28组成的RC网络到C,最终接入对应的AFE电压采集引脚。
在C+和C-,也就是电芯的正负极上并联由Q19和R80||R81组成的放电电路,Q19为PMOS管,R80||R81组成放电电阻。当此电芯在充电过程中电压过高需要放电,则AFE对应的均衡引脚Sx输出低电平,使得PMOS导通,电芯通过放电电阻将能量消耗掉来降低电压。

核心器件选型

F1~F11为保险丝,保险丝保持电流根据均衡启动时最大会流过的电流选择,这里使用的放电电阻为两个15Ω电阻并联,假设电芯电压4V时,流过的电流为4V/7.5Ω=0.533A。这里选用保持电流250mA的保险丝感觉有点勉强了。
Q19为PMOS,为了让PMOS顺利导通,导通电压应该小于电芯的最小电压2.5V;选用的PMOS为TSM2323,导通电压为1V,最大过流20A。在Vgs为-2.5V左右时,导通电阻为41mΩ,结合上面的均衡电流0.533A,此PMOS在工作时最大功率不会高于11.65mW。
R80和R81并联组成7.5Ω的放电电阻,在电流为0.533A,电压为4V下,总功率为2.132W,单个电阻上的功率为1.066W,选用的电阻功率要大于此功率。
最后在每两个电芯电压采样线之间接了一个稳压二极管,型号为PDZ7.5B,稳压范围为7.28V~7.6V,主要用于防止电芯接口插拔时的浪涌损坏AFE引脚(也有说法是使得采样信号更稳定?待求证)。规格书上写芯片内部已经为每个采样接口内置了稳压二极管了,外部加感觉有点多余(也可能是分工不同外部的用于防浪涌,内部的用于使信号更稳定?)。

通讯部分

image.png

功能分析

ISOMD脚用于设定使用的通讯接口模式,这里通过一个0Ω电阻R6接到Vreg,表明设置端口A和端口B均为2线菊花链模式。
IBIAS引脚用于设置isoSPI接口的输出电流等级,此引脚在isoSPI通讯模式使能时输出2V电压,通过电阻R5+R2组成的分压器接到地。isoSPI接口的输出电流为流过这两个电阻电流的20倍。根据电路图中参数,流过这两个电阻电流为1mA,则isoSPI接口的输出电流为20mA。
ICMP用于设置isoSPI的输入电压比较阈值(用于判断高低电平),接到R5+R2电阻组成的分压器的中间。这样便可以通过调整分压器的比例来调整电压比较阈值。这里分压器的两个电阻是一样的,因此ICMP上的电压为IBIAS引脚输出电压的一半,为1V。对应的,电压比较阈值为ICMP上电压的一半,为0.5V。
红框中为菊花链隔离通讯电路,主控的通讯线接J11 Master,J10 Slave接到下块从控,最后一块从控的J10 Slave接100Ω终端电阻(当然如果主控支持环网功能,也可以接回主控)。主控发出的信息将会通过这条菊花链给到每一块从板,因此通过这条菊花链,主控可以访问任何一块从板。菊花链也支持反过来接。官方的demo板也给出了三种方案(正向、反向、环网)的接线示意图:
image.png
image.png
image.png

核心器件选型

TR1为隔离变压器,这里选用的HM2102NL隔离变压器封装内置两个独立的变压器,正好与使用场景契合。隔离变压器在这里主要是用来解决不同从板用不同电池组供电带来的共模电压问题,假设我有一个36串电芯组成的电池组。用从板1采电芯1-18,从板2采电芯19-36,从板1用电芯1负极作为参考地,从板2用电芯19负极作为参考地,则他们的参考地之间存在65.7V的电位差(按单个电芯3.65V计算),为了正常通讯,就需要隔离变压器或电容来做隔离。需要注意选用的隔离变压器的工作共模电压要大于65.7V(一般肯定是远大于的)。
TR1的次级线圈中间抽头接了个电容到底,我没查到靠谱的相关资料,不过规格书上也说明了如果选用的隔离变压器有中间抽头,则此抽头接10nF电容到地。如果两个从板之间使用两个变压器做隔离,则每个板子自己这侧的线圈接电容到地。如果两个从板共用一个变压器做隔离,则变压器两侧均接电容到地。
其他参数上的选择,可以参考官方手册第79到86页的说明:
image.png
image.png
image.png
image.png

拓展接口部分

image.png

功能分析

9个通用GPIO如下分配:

  1. GPOI1为模拟输入口,可以用于外接一个霍尔传感器来采集电池组上的充放电流;
  2. GPIO2为模拟输入口,接了一个100k NTC电阻用来测量环境温度;
  3. GPIO3看网络标号名称应该是作为了数字IO口(输入/输出);
  4. GPIO4和GPIO5用于I2C通讯,可以外挂I2C从机设备;
  5. GPIO6~GPIO9和Vref2一起引出到接口,可以外接NTC温感用于测量电芯温度;

核心器件选型

没有特别值得注意的地方。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1381801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++学习笔记——友元、嵌套类、异常

目录 一、友元 一个使用友元的示例代码 输出结果 二、嵌套类 一个使用嵌套类的示例代码 输出结果 三、异常 一个使用异常处理的示例代码 输出结果 四、结论 五、使用它们的注意事项 上一篇文章链接: C中的继承和模板是非常强大和灵活的特性,它…

跟着cherno手搓游戏引擎【5】layer(层)、Glad

编写基类层: Layer.h:提供Attach链接、Detach解绑、Update刷新、Event事件、GetName方法 #pragma once #include"YOTO/Core.h" #include"YOTO/Event/Event.h" namespace YOTO {class YOTO_API Layer{public:Layer(const std::string& nam…

【c/python】用GTK实现一个带菜单的窗口

一、用python 在GTK中创建一个带菜单的窗口,可以通过使用Gtk.MenuBar、Gtk.Menu和Gtk.MenuItem组件来构建菜单。以下是一个基本的例子,展示了如何使用Python的PyGObject库创建一个简单的带菜单栏的GTK窗口。 import gi gi.require_version(Gtk, 3.0) f…

在CMake中自定义宏 add_definitions(-DDEBUG)

hehedalinux:~/Linux/loveDBTeacher-v6$ tree . ├── CMakeLists.txt └── test.c0 directories, 2 files hehedalinux:~/Linux/loveDBTeacher-v6$ test.c #include <stdio.h> #define NUMBER 3int main() {int a 10; #ifdef DEBUGprintf("我是一个程序猿,我…

物联网介绍

阅读引言&#xff1a; 本文从多方面叙述物联网的定义以及在物联网当中的各种通信的介绍。 一、物联网的定义 1.1 通用的定义 物联网&#xff08;Internet of Things&#xff0c;IOT&#xff1b;也称为Web of Things&#xff09;是指通过各种信息传感设 备&#xff0c;如传感器、…

docker 安装redis (亲测有效)

目录 1 安装 1 安装 1 将redis 的 tar 包 上传到服务器 上传之后tar 包&#xff0c;将他变成镜像 输入docker images,发现目前是没有镜像的&#xff0c;现在将tar 包变成镜像 docker load -i redis.tar以上就将tar 包变成镜像了 现在在宿主机找一个地方&#xff0c;存放数据…

【Maven】003-基于 IDEA 创建 Maven 工程

【Maven】003-基于 IDEA 创建 Maven 工程 文章目录 【Maven】003-基于 IDEA 创建 Maven 工程一、关于 Maven 工程的 GAVP1、GAVP 简介2、GAV 坐标规范3、Packaging 定义规则 二、基于 IDEA 创建 Maven 工程1、创建 Maven 项目2、创建结果3、项目结构说明 一、关于 Maven 工程的…

机器人技能学习-构建自己的数据集并进行训练

概要 若想训练自己的场景&#xff0c;数据集的重要性不做过多赘述&#xff0c;下面就基于 robomimic 和 robosuite 构建自己的数据集进行讲解&#xff0c;同时&#xff0c;也会附上 train 和 run 的流程&#xff0c;这样&#xff0c;就形成了闭环。 自建数据集 采集数据 采…

linux安装系统遇到的问题

这两天打算攻克下来网络编程&#xff0c;发现这也确实是很重要的一个东西&#xff0c;但我就奇了怪了&#xff0c;老师就压根没提&#xff0c;反正留在我印象的就一个tcp/ip七层网络。也说正好&#xff0c;把linux命令也熟悉熟悉&#xff0c;拿着我大一课本快速过过 连接cento…

【踩坑】flask_uploads报错cannot import name ‘secure_filename‘

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 截至目前&#xff0c;用新版的flask实现文件上传(用到flask_uploads库)&#xff0c;会出现这个问题。 问题原因 版本问题&#xff0c;新的werkzeug已经把secure_filename的位置改了。 解决方法 手动修改…

数据结构与算法(十一) 排序算法一

int nArray[] { 8,5,3,2,7 };如下一个数组&#xff0c;现对其进行从小到大排序 选择排序 选择排序&#xff1a;将小的依次放在前面 具象化如下&#xff1a; void swap(int *nSValue,int *nDValue) 交换函数 { int nTempValue 0; nTempValue *nSValue; *nSVal…

RocketMQ5-03RocketMQ-Dashboard和Java客户端访问示例

接上篇02快速部署RocketMQ5.x(手动和容器部署) 已经完成 RocketMQ5.0 环境的部署&#xff0c;就需要对这个环境进行测试&#xff0c;查看集群、写入消息、读取消息等 本篇教你如何使用和查看部署的服务&#xff1a; Docker部署 Dashboard 获取镜像并下载部署服务 客户端连接 …

ZooKeeper初探:分布式世界的守护者

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 ZooKeeper初探&#xff1a;分布式世界的守护者 前言Zookeeper的概述分布式系统中的角色和作用&#xff1a; Zookeeper的数据模型Znode的概念和层次结构&#xff1a;Znode的类型和应用场景&#xff1a;…

anoconda 安装报错

表现形式&#xff1a;Output folder: D:\anoconda\Lib Extract: _nsis.py Extract: _system_path.py Output folder: D:\anoconda........................ 解决办法&#xff1a; 网址&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Sour…

【LabVIEW FPGA入门】使用数字IO卡实现计数器输入功能

方法1&#xff1a; 1.首先需要用一个数字IO的输入FPGA端口&#xff0c;并将其拖入程序框图中&#xff0c;同时创建一个循环。 2.如果想要在循环中实现累加功能&#xff0c;就可以使用移位寄存器。 数字输入的当前值和历史值进行比较&#xff0c;用于一个判断大于&#xff0c;来…

【论文解读】SiamMAE:用于从视频中学习视觉对应关系的 MAE 简单扩展

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://siam-mae-video.github.io/resources/paper.pdf 项目主页&#xff1a;https://siam-mae-video.github.io/ 1.背景 时间是视觉学习背景下的一个特殊维度&#xff0c;它提供了一…

年终关账四大财务处理技巧|柯桥会计做账,财税知识

2023年即将落下帷幕&#xff0c;无数公司最忙碌就是“年终关账“这件事了。 “年终关账”不仅是企业内部结算一年经营结果的事&#xff0c;还与企业所得税汇算清缴息息相关&#xff0c;甚至还可能关乎企业税负高低与企业是否依法纳税&#xff0c;千万不可小觑。 同时&#xff0…

MySQL 管理端口

错误 客户出现 MySQL连接数 超过 最大连接数的现象 ERROR 1040 (HY000): Too many connections 出现该现象&#xff0c;一般的解决方法&#xff1a; 1.修改配置文件中的最大连接数&#xff0c;之后重启数据库 2.如果配置文件中没有设置 连接超时时间的参数。8小时后&#…

平衡小车——编码器

学习目标 了解编码器的构成理解编码器采样原理掌握编码器获取转速信息学习内容 编码器组成 左侧的减速齿轮中间的电机部分右侧的电路板减速齿轮 将电机转速通过齿轮按照一定比例进行降速。 电路板 电路板中,包含了一个圆形磁体,还有两个霍尔传感器。 电机转动时,圆形的磁…

Spring之AOP源码(一)

文章目录 一、动态代理1. 概念2. Cglib动态代理的使用3. JDK动态代理的使用 二、SpringAOP1. 简介2. Spring AOP使用 一、动态代理 1. 概念 动态代理&#xff08;Dynamic Proxy&#xff09;是一种在运行时动态生成代理对象的技术。它是一种设计模式&#xff0c;用于在不修改原…