LTC6804、LTC6811、LTC6813的使用
FSEC自制BMS第一步:从零开发使用LTC6804采集电池电压
LTC6811特性
LTC6811 是 LTC6804 的引脚兼容型升级器件,LTC6804官方已经不推荐选用
可测量多达 12 节串联电池
1.2mV 最大总测量误差
可堆叠式架构能支持几百个电池
内置 isoSPI™ 接口
可在 290μs 内完成系统中所有电池的测量
采用可编程定时器的被动电池电荷平衡
LTC6813特性
可测量多达18个串联电池的电压
2.2mV最大总测量误差
其他的特性跟LTC6811 相同
LTC6811 引脚和典型应用

C0 至 C12:电池输入。
S1 至 S12:平衡输入 / 输出。在 S(n) 和 C(n – 1) 之间连接了 12 个 N-MOSFET,用于对电池进行放电。
V+:正电源引脚。接到电池组正极。
V–:负电源引脚。接到电池组的负极。所有 V– 引脚必须在 IC 的外部短接在一起。
VREF2:经过缓冲的第二基准电压,用于驱动多个 10k 热敏电阻。采用一个外部 1μF 电容器进行旁路。
VREF1:ADC 基准电压。採用一个外部 1μF 电容器进行旁路。不得给该引脚添加 DC 负荷。
GPIO[1:5]:通用 I/O。可用作数字输入或数字输出,或者用作具有一个从 V– 至 5V 之测量范围的模拟输入。GPIO[3:5] 可用作一个 I2C 或 SPI 端口。
SWTEN:软件定时器启用。把该引脚连接至 VREG 以使能软件定时器。不使用就接地。
DRIVE:将一个 NPN 的基极连接至该引脚。把该 NPN 的集电极连接至 V+,发射极连接至 VREG。
VREG:5V 稳压器输入。采用一个外部 1μF 电容器进行旁路。
ISOMD:串行接口模式。把 ISOMD 连接至 VREG 即可针对两线式隔离型接口 (isoSPI) 模式来配置 LTC6811 的引脚 41 至 44。而将 ISOMD 连接至 V– 则可针对四线式 SPI 模式来配置 LTC6811。
WDT:看门狗定时器输出引脚。该引脚是一个漏极开路 NMOS 数字输出。其可被置于不连接状态或通过一个 1M 电阻器连接至 VREG。如果 LTC6811 在 2 秒之内未接到一个唤醒信号 (见图 21),则看门狗定时器电路将复位LTC6811并且WDT引脚变成高阻态。
ICMP:隔离式接口比较器电压门限设定。比较器门限被设定为 ICMP 引脚电压的 1/2。
IBIAS:隔离式接口电流偏置。当器件被使能时,该引脚的电压大约为 2V。当发送脉冲时,IP 和 IM 引脚上的电流设定为 IBIAS 到 GND 电流的 20 倍。

CSB、SCK、SDI、SDO:四线式串行外设接口 (SPI)。低电平有效芯片选择 (CSB)、串行时钟 (SCK) 和串行数据输入 (SDI) 是数字输入。串行数据输出 (SDO) 是一个漏极开路 NMOS 输出引脚。SDO 需要一个 5k 上拉电阻器。
串联

LTC6811可以多片组合使用,每片管理12节电池,8片就可以管理96节串联的电池,组成400V电压输出了。
LTC6811
如果电池数少于12节,建议按照下面的接法:

如果 LTC6804 由电池组供电,则 LTC6804 所能监视的最小电池数目受控于 LTC6804 的电源电压要求。电池电压的总和应至少为 11V 以正确地给 LTC6804 施加偏置。
LTC6804 监视的 12 个电池分为两组 (各含 6 个电池),并采用两个内部多路复用器和两个 ADC 进行测量。为了优化电池数目少于 12 时测量同步,未用的 C 引脚应在第二个多路复用器的顶端 (C12) 和第一个多路复用器的顶端 (C6) 之间均匀分布。
如果使用的电池数目为奇数,则顶端多路复用器应连接较少的电池。未用的电池通道应连接至同一个多路复用器上的其他未用通道,然后通过一个 100Ω 电阻器连接至电池组。对于那些电池通道,未用的输入将产生一个 0V 的读数。另外,采用常规序列进行连接 (将所有的未用电池输入置于顶端) 也是可以接受的。

单片LTC6811简单使用
下面简单的使用下LTC6811,MCU通过SPI直接和LTC6811通信,5节电池。
硬件
没有被动均衡电路,Sx直接悬空。


软件
软件上MCU通过SPI读写LTC6811的寄存器进行以下操作就行:
- 唤醒芯片
- 配置芯片(命令)
- 读取芯片配置(命令)
- 开启电压采集(命令)
- 读取电压采集寄存器(命令)
- 无限循环4~5步
需要研究下SPI时序和寄存器,参考如下:
FSEC自制BMS第一步:从零开发使用LTC6804采集电池电压
基于STM32的LTC6804驱动代码解析
LTC6811电源系统完整开源项目
https://github.com/foxBMS/foxbms-2
可以下载到altium designer打开的原理图和PCB


电池输入滤波

温度测量电路,输出给LTC6811的GPIO口

LTC6811电路

被动均衡电路



相关文章:
LTC6804、LTC6811、LTC6813的使用
FSEC自制BMS第一步:从零开发使用LTC6804采集电池电压 LTC6811特性 LTC6811 是 LTC6804 的引脚兼容型升级器件,LTC6804官方已经不推荐选用 可测量多达 12 节串联电池 1.2mV 最大总测量误差 可堆叠式架构能支持几百个电池 内置 isoSPI™ 接口 可在 290μ…...
linux内存页块划分及位图存储机制
page_alloc.c - mm/page_alloc.c - Linux source code v5.4.285 - Bootlin Elixir Cross Referencer 一. 什么是页块(Pageblock)? 定义:页块是物理内存中的一个连续区域,由 2^pageblock_order 个物理页(Pag…...
Vue 文件下载功能的跨域处理与前后端实现详解
在 Web 应用开发中,文件下载功能是常见需求。但由于跨域限制和认证机制的复杂性,实际开发中常遇到下载失败或权限错误等问题。本文将结合 Vue 前端和 Spring Boot 后端,详细介绍文件下载功能的实现与跨域问题的解决方案。 一、问题背景 在某…...
boost::beast websocket 实例
环境:ubuntu 1. 安装boost sudo apt install -y libboost-all-dev 2. Server端 #include <boost/asio.hpp> #include <boost/beast.hpp> #include <iostream> #include <thread>namespace beast boost::beast; // 从 Boost.Beast 中导…...
复试难度,西电卓越工程师学院(杭研院)考研录取情况
01、卓越工程师学院各个方向 02、24卓越工程师学院(杭研院)近三年复试分数线对比 PS:卓越工程师学院分为广研院、杭研院 分别有新一代电子信息技术、通信工程、集成电路工程、计算机技术、光学信息工程、网络信息安全、机械,这些…...
Rabbitmq--延迟消息
13.延迟消息 延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间之后才会收到消息 延迟任务:一定时间之后才会执行的任务 1.死信交换机 当一个队列中的某条消息满足下列情况之一时,就会…...
cocos creator使用mesh修改图片为圆形,减少使用mask,j减少drawcall,优化性能
cocos creator版本2.4.11 一个mask占用drawcall 3个以上,针对游戏中技能图标,cd,以及多玩家头像,是有很大优化空间 1.上代码,只适合单独图片的,不适合在图集中的图片 const { ccclass, property } cc._decorator;c…...
C++ Qt开发成长之路,从入门到企业级实战项目,保姆级学习路线
Qt 介绍 Qt是一个跨平台的C图形用户界面应用程序开发框架,最初由挪威的Trolltech公司开发,后来被诺基亚收购,现在由Qt公司维护。它提供了丰富的工具和类库,使开发者能够轻松地创建各种类型的应用程序,包括桌面应用、移…...
JavaWeb后端基础(7)AOP
AOP是Spring框架的核心之一,那什么是AOP?AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。AOP是一种思想,而在Spring框…...
Uniapp实现地图获取定位功能
摘要:本文将手把手教你如何在Uniapp项目中集成地图功能、实现定位获取,并解决微信小程序、APP、H5三端的兼容性问题🚀🚀🚀 一、环境准备 地图平台选择 微信小程序:腾讯地图(强制使用)…...
批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式
Excel 格式转换是我们工作过程当中非常常见的一个需求,我们通常需要将 Excel 转换为其他各种各样的格式。比如将 Excel 转换为 PDF、比如说将 Excel 转换为 Word、再比如说将 Excel文档转换为图片等等。 这些操作对我们来讲都不难,因为我们通过 Office 都…...
Flutter:StatelessWidget vs StatefulWidget 深度解析
目录 1. 引言 2. StatelessWidget(无状态组件) 2.1 定义与特点 2.2 代码示例 3. StatefulWidget(有状态组件) 3.1 定义与特点 3.2 代码示例 4. StatelessWidget vs StatefulWidget 对比 5. StatefulWidget 生命周期 5.1…...
Stream流学习
Stream流 把数据放进stream流水线,对数据进行一系列操作(中间方法),最后封装(终结方法)。 Stream.of()允许传入任何参数 常见中间方法 可以对数据进行链式(流水线)操作,但…...
多视图几何--恢复相机位姿/内参的几种方法
恢复相机位姿的几种方法 1分解投影矩阵 1.1投影矩阵分解为相机内外参矩阵的完整解析 投影矩阵(Projection Matrix)是计算机视觉中将三维世界点映射到二维像素坐标的核心工具,其本质是相机内参矩阵(Intrinsic Matrix)…...
[数据结构]堆详解
目录 一、堆的概念及结构 二、堆的实现 1.堆的定义 2堆的初始化 3堆的插入 编辑 4.堆的删除 5堆的其他操作 6代码合集 三、堆的应用 (一)堆排序(重点) (二)TOP-K问题 一、堆的概念及结构 堆的…...
领域驱动设计(DDD)与MVC架构:理念对比与架构选择
领域驱动设计(DDD)与MVC架构:理念对比与架构选择 一、架构之争的本质:业务复杂度驱动技术演进 在软件开发领域,没有银弹式的完美架构,只有适合当前业务场景的合理选择。MVC与DDD的区别本质上是业务复杂度与…...
牛客周赛:84:B:JAVA
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner new Scanner(S…...
【理想解法学习笔记】
目录 理想解法原理简介算法步骤属性值规范化方法代码示例 理想解法 原理简介 TOPSIS(Technique for Order Preference by Simi larity to IdealSolution)法是一种逼近理想解的排序方法。其基本的处理思路是:首先建立初始化决策矩阵,而后基于规范化后的初…...
CI/CD—Jenkins配置一次完整的jar自动化发布流程
背景: 实现设想: 要创建自动化发布,需要准备一台测试服务器提前安装好java运行所需的环境,JDK版本最好和Windows开发机器上的版本一致,在Jenkins上配置将构建好的jar上传到测试服务器上,测试服务器自动启动…...
Magento2根据图片文件包导入产品图片
图片包给的图片文件是子产品的图片,如下图:A104255是主产品的sku <?php/*** 根据图片包导入产品图片,包含子产品和主产品* 子产品是作为主图,主产品是作为附加图片*/use Magento\Framework\App\Bootstrap;include(../app/boot…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
