RC充电电路仿真与分析
RC充电原理
下图是一个常见的RC充电电路:(假设R=10K,C=100nF)
- SW断开时,这个电路处于断路状态,C既没有充电也没有放电;
- SW闭合时,直流电源5V为电容C充电;
充电时电容两端的电压与电流分析
电压:SW刚刚闭合时,C两端的电压为0V,随着5V不断为C充电,C两端的电压不断增大,直到C充满电,即C两端电压为5V时充电完成停止充电;
电流:SW刚刚闭合时,充电电流最大为I=U/R=5V/10K=0.5mA,之后随着C左侧电压的升高,电流不断减小,直到C左端电压上升为5V时充电电流变为0,充电完成停止充电;
RC充电时间计算
t = R × C × ln e V 1 − V 0 V 1 − V t t=R\times C\times \ln_{e}{\frac{V1-V0}{V1-Vt} } t=R×C×lneV1−VtV1−V0
其中:
V1为电容能充到的最大电压;
V0为充电前电容两端的电压;
Vt为电容要充电达到的电压;
eg:电容从10%V1的电充到90%V1的电压所需要的时间为:
t = ∣ R × C × ln e V 1 − V 0 V 1 − V t ∣ = ∣ 10 k Ω × 100 n F × ln e V 1 − 0.1 × V 1 V 1 − 0.9 × V 1 ∣ = ∣ 1 × 1 0 − 3 × ln e 0.9 ∣ ≈ 1.053 m s t=\left | R\times C\times \ln_{e}{\frac{V1-V0}{V1-Vt} } \right | =\left | 10kΩ\times 100nF\times \ln_{e}{\frac{V1-0.1\times V1}{V1-0.9\times V1} }\right |=\left |1\times 10^{-3} \times\ln_{e}{0.9}\right | ≈1.053ms t= R×C×lneV1−VtV1−V0 = 10kΩ×100nF×lneV1−0.9×V1V1−0.1×V1 = 1×10−3×lne0.9 ≈1.053ms
另外还可以通过计算充放电时间常数来计算RC充满电的时间:
τ = R × C \tau =R\times C τ=R×C
电容电压从0V开始充电时,每经过一个充电时间常数,电容的电压增加待充电电压的0.632,电容的充放电曲线如下:
由上图可以看出,一般经过5个充放电时间常数的时间后,电容基本上已经从0-99%充满电或者从100%-1%放完电
RC充电电路仿真
普通充电电路的仿真结果
由上图仿真结果可以看出:
- 电压:电容两端的电压(蓝色线)由0V逐渐升高,直到充满电电容两端电压变为5V后稳定下来;
- 电流:流过电容C的电流(绿色线)与流过电阻R的电流(红色线)是一致的,开始时电流最大为5V/10K=0.5mA,之后充电电流逐渐减小,直到充电完成后一直保持为0;
- 充电时间:计算充放电时间常数为10K*100nF=1ms,经过5个充放电时间常数后即5ms后,电容C充电完成;
仿真结果与上面理论分析结果吻合;
变种一充电电路的仿真结果
变种一:在RC两端并联一个电阻进行仿真;
由上图仿真结果可以看出:
- 电压:电容两端的电压(蓝色线)由0V逐渐升高,直到充满电电容两端电压变为5V后稳定下来;
- 电流:流过电容C的电流(绿色线)与流过电阻R的电流(红色线)是一致的,开始时电流最大为5V/10K=0.5mA,之后充电电流逐渐减小,直到充电完成后一直保持为0;
- 充电时间:计算充放电时间常数为10K*100nF=1ms,经过5个充放电时间常数后即5ms后,电容C充电完成;
- 并联电阻R2电流:并联电阻的电流(浅蓝色线)一直为5V/10K=0.5mA;
- 并联电阻R2电压:并联电阻的电压(粉色线)一直为5V;
并联电阻R2两端的电压差一直为5V,流过并联电阻R2的电流也不变;
电容两端电压会在电容的充电过程中发生变化是因为电容上端电压一直为5V,下端在充电过程中有电流流过R1,R1上有一定压减,因此电容下端的电压发生变化,导致电容两端电压不断变化;
因此,RC两端并联一个电阻R2不会影响流过R1的电流也就不会影响到电容的充电过程;
仿真结果与上面理论分析结果吻合;
因此,变种一在RC两端并联电容并不会对充电电路造成影响;
变种二充电电路的仿真结果
变种二:在C两端并联一个电阻进行仿真;
由上图仿真结果可以看出:
- 电压:电容两端的电压(蓝色线)由0V逐渐升高,直到充满电电容两端电压变为2.5V后稳定下来;
- 电流:流过电容C的电流(绿色线)开始时电流最大为5V/10K=0.5mA,之后充电电流逐渐减小,直到充电完成后一直保持为0;
- 充电电阻R1电流:并联电阻的电流(浅蓝色线)开始时电流最大为0.5mA,充电过程中持续减小,直到充电完成后一直保持为0.25mA;
- 并联电阻R2电流:并联电阻的电流(红色线)开始时为0,充电过程中持续增大,直到充电完成后一直保持在0.25mA;
- 并联电阻R2电压:并联电阻的电压与电容两端电压保持一致;
- 充电时间:大约经过2.5ms后,RC充电完成;
并联电阻R2两端电压与电容两端电压一致保持一致,开始时,电容两端电压为0,并联电阻两端电压也为0,因此开始时并联电阻两端流过的电流为0,之后不断为电容C充电,两端电压持续增大,因此并联电阻的电流也开始增大,直到电阻完全充满电,充满电后的稳定电压为2.5V(R1与R2分压),稳定后并联电阻的电流为2.5V/10K=0.25mA;
由于开始时并联电阻R2两端无压差,R2流过的电流为0,因此开始时5V先给电容充电,流过R1的电流为5V/10K=0.5mA,之后再充电过程中,电容两端电压增大,流过R2的电流增大,流过R1的电流减小;直到充电完成后,流过R1和R2的电流一致为5V/(10K+10K)=0.25mA;
在电容两端并联电阻时,电容实际充电电压会有所减少(因为R1与R2分压,C充满电时的电压有并联电容R2分压所得来决定),因此固定R1时,并联电容R2阻值越小,C充电所需要的时间越少;
仿真结果与上面理论分析结果吻合;
因此,变种二在C两端并联电容会减小电容充满电时的电压值,也会减少充满电所需的时间;
相关文章:

RC充电电路仿真与分析
RC充电原理 下图是一个常见的RC充电电路:(假设R10K,C100nF) SW断开时,这个电路处于断路状态,C既没有充电也没有放电;SW闭合时,直流电源5V为电容C充电; 充电时电容两端…...
C++ 设计模式:观察者模式(Observer Pattern)
链接:C 设计模式 链接:C 设计模式 - 模板方法 链接:C 设计模式 - 策略模式 观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主…...

栈及栈的操作
栈及栈的操作 栈结构 栈是一种只能在一端进行插入或删除操作的数据结构。栈有两个基本的操作:入栈和出栈。 入栈:将一个新的元素放到栈顶。 出栈:从栈顶取出一个元素。栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的操作规则:LIFO(Last…...
算法:切饼
对以下题目设计一个算法:切饼 假设:有一张很大很大的饼,给你一把足够长的刀。要求:每次在饼上切一刀。 问题:n刀,最多能切出多少块饼? n3 要解决这个问题,我们可以从数学归纳法的…...
C++ 设计模式:代理模式(Proxy Pattern)
链接:C 设计模式 链接:C 设计模式 - 门面模式 链接:C 设计模式 - 中介者 链接:C 设计模式 - 适配器 代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一种代理以控制(…...
JDK、JRE、JVM的区别
JDK(Java Development Kit)、JRE(Java Runtime Environment)和 JVM(Java Virtual Machine)是 Java 开发和运行环境的三个重要组成部分。 JDK 是 Java 开发工具包,它包含了编译器(ja…...
2021年福建公务员考试申论试题(县级卷)
2021年福建公务员考试申论试题(县级卷) 材料一 “把她的家粉刷一新。给独自生活的她更多支持。” 某公益平台上,为女孩小珊修缮房屋的公益计划得到不少爱心网友的支持。1元、10元、100元……不到一个月,爱心捐赠就超过了修缮…...

问题记录:[FATAL] [1735822984.951119148]: Group ‘manipulator‘ was not found.
前言:最近仿照UR5手眼标定的例程,在新的机械臂上进行手眼标定,还准备用easy_hand手眼标定包。将机器人功能包导入到工作空间后进行编译运行,启动launch文件: roslaunch easy_handeye eye_to_hand_CR7_calibration.lau…...

【大模型实战篇】Mac本地部署RAGFlow的踩坑史
1. 题外话 最近一篇文章还是在11月30日写的,好长时间没有打卡了。最近工作上的事情特别多,主要聚焦在大模型的预训练、微调和RAG两个方面。主要用到的框架是Megatron-DeepSpeed,后续会带来一些分享。今天的文章主要聚焦在RAG。 近期调研了一系…...
iOS 修改图片颜色
需求中会遇到这种情况,就是我们需要的图片是已经有的 但是图片的颜色不符合我们的需求,但是又不想再切新的图片了,这个时候,我们可以使用代码的方式修改图片的颜色,达到同样的效果 关键代码就是 [image imageWithRend…...

OceanBase到MySQL实时同步方案
概述 本方案基于OceanBase Binlog服务,采用数据库实时复制软件Beedup订阅捕获OceanBase数据库的Binlog事件,复制软件将Binlog事件还原为MySQL支持的DML或DDL,然后交由MySQL数据库执行。 配置Binlog任务 启用OceanBase Binlog服务ÿ…...

信息系统项目管理师——第8章章 项目整合管理 笔记
8 项目整合管理(最后反过来看) 项目整合过程:①制定项目章程(启动过程)、②制订项目管理计划(规划过程)、③指导和管理项目工作、管理项目知识(执行过程)、④监控项目工…...

最好用的图文识别OCR -- PaddleOCR(1) 快速集成
最近在项目中遇到了 OCR 的需求,希望能够实现高效而准确的文字识别。由于预算限制,我并未选择商业付费方案,而是优先尝试了开源工具。一开始,我测试了 GOT-OCR2.0,但由于我的 Mac 配置较低,不支持 GPU 运算…...

Unity制作3D场景的脑电运动想象范式(左右手抓握)
使用Unity制作3D场景中的运动想象范式 3D技术可以创建出立体的图像和环境,给用户带来更加真实和沉浸式的体验,本文介绍了一种可控的左右手运动的3D场景范式的设计流程,用于被试在3D场景下完成运动想象脑电信号数据的采集。 目录 1.制作动画…...

python23-常用的第三方库01:request模块-爬虫
requests 模块是 Python 中的一个第三方库,用于发送 HTTP 请求。 它提供了一个简单且直观的 API,使得发送网络请求和解析响应变得非常容易。requests 模块支持各种 HTTP 方法,如 GET、POST、PUT、DELETE 等,并且具有处理 cookies…...

CAT3D: Create Anything in 3D with Multi-View Diffusion Models 论文解读
24年5月的论文,上一版就是ReconFusion 目录 一、概述 二、相关工作 1、2D先验 2、相机条件下的2D先验 3、多视角先验 4、视频先验 5、前馈方法 三、Method 1、多视角扩散模型 2、新视角生成 3、3D重建 一、概述 该论文提出一种CAT3D方法,实现…...

持续学习入门
参考视频(一) 【学无止境:深度连续学习】 背景 更新新的数据时,数据异步输入,会有灾难性遗忘 现有解决策略 (1)引入正则约束(2)设计合适的动态模型架构 ÿ…...

天猫推荐数据集实践
参考自 https://github.com/xufengtt/recom_teach_code,学习记录。 环境配置(maxcomputedataworks) 下载天猫推荐数据集;开启 aliyun 的 maxcompute,dataworks,pai;使用 odpscmd 上传本地数据…...

《Vue3实战教程》33:Vue3路由
如果您有疑问,请观看视频教程《Vue3实战教程》 路由 客户端 vs. 服务端路由 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果。当我们在一个传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服务端获得全新的 HTML&…...

【大模型系列】MultiUI(2024.11)
Paper:https://arxiv.org/pdf/2410.13824Github:https://neulab.github.io/MultiUI/Author:Junpeng Liu et al., 卡内基梅隆 核心1: 先基于text-based LLMs获取网页的accessibility tree(辅助功能树,https://200t.w3c…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

篇章一 论坛系统——前置知识
目录 1.软件开发 1.1 软件的生命周期 1.2 面向对象 1.3 CS、BS架构 1.CS架构编辑 2.BS架构 1.4 软件需求 1.需求分类 2.需求获取 1.5 需求分析 1. 工作内容 1.6 面向对象分析 1.OOA的任务 2.统一建模语言UML 3. 用例模型 3.1 用例图的元素 3.2 建立用例模型 …...