IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 电容并联放电电阻的RC 电路时间常数计算,一阶线性常系数微分方程 -> 正文阅读

[嵌入式]电容并联放电电阻的RC 电路时间常数计算,一阶线性常系数微分方程

就是在谁都知道的RC 电路里的电容旁边并联一个放电电阻,计算它对时间常数的影响,参考下面的示意图:

在这里插入图片描述

电路的输入电压是电源电压V,在R0 和R1 之间连接着一个单片机引脚,所以想计算上电后单片机引脚上电压的变化,也就是输出电压Uo。电容C 通过R0 和R1 充电,R2 放电。

计算

以前电路上好像学了简化方法,叫三要素法,但是我忘光了,所以就从基础开始算。

电容两端的电压公式如下:

U c ′ = 1 C I c (1) {U_c}' = \frac{1}{C} I_c \tag{1} Uc?=C1?Ic?(1)

即电压对时间的导数和电容量C 成反比,和电流正比。设,经过电容的电流是 I c I_c Ic?,经过R2 的电流是 I 2 I_2 I2?,干路电流 I 1 I_1 I1? 是两支路之和。因为R2 两端电压和电容电压相等,则:

I 2 = U c R 2 (2) I_2 = \frac{U_c}{R_2} \tag{2} I2?=R2?Uc??(2)

作用在干路电阻R0 + R1 上的电压又是输入电压V 和电容电压 U c U_c Uc? 之差,于是干路电流就是:

I 1 = V ? U c R 0 + R 1 (3) I_1 = \frac{V - U_c}{R_0 + R_1} \tag{3} I1?=R0?+R1?V?Uc??(3)

电容电压就可以表示成:

U c ′ = 1 C ( I 1 ? I 2 ) = 1 C ( V ? U c R 0 + R 1 ? U c R 2 ) (4) \begin{aligned} {U_c}' &= \frac{1}{C} ( I_1 - I_2) \\ &= \frac{1}{C} (\frac{V - U_c}{R_0 + R_1} - \frac{U_c}{R_2}) \end{aligned} \tag{4} Uc??=C1?(I1??I2?)=C1?(R0?+R1?V?Uc???R2?Uc??)?(4)

微分方程的感觉已经有了? 整理一下,变成标准的一阶线性微分方程的形式:

U c ′ + K U c = D (5) {U_c}' + KU_c = D \tag{5} Uc?+KUc?=D(5)

其中,

{ K = R 0 + R 1 + R 2 C R 2 ( R 0 + R 1 ) D = V C ( R 0 + R 1 ) (6) \begin{aligned} \begin{cases} K &= \frac{R_0 + R_1 + R_2}{C R_2 (R_0 + R_1)} \\ D &= \frac{V}{C (R_0 + R_1)} \end{cases} \end{aligned} \tag{6} {KD?=CR2?(R0?+R1?)R0?+R1?+R2??=C(R0?+R1?)V???(6)

可见K 和D 都是和时间无关的常数。高数里讲过,这种微分方程是比较简单的,有标准的解法。

解方程和时间常数

其实这一步已经能看出时间常数是什么了,和标准的一阶系统微分方程比较一下,能看出时间常数就是K 的倒数,电容量C 在分子上,C 越大时间常数越大,也符合常识。不过还是激情的解一遍方程吧。

按照标准方法,首先把方程两边同时处理一下:

e K t ( U c ′ + K U c ) = e K t D (7) e^{Kt}({U_c}' + K U_c) = e^{Kt}D \tag{7} eKt(Uc?+KUc?)=eKtD(7)

此时方程左边可以逆用导数乘法公式,变成:

( e K t ? U c ) ′ = e K t D (8) (e^{Kt} \cdot U_c)' = e^{Kt} D \tag{8} (eKt?Uc?)=eKtD(8)

然后就是两边积分,

( e K t U c ) ∣ 0 t = D ∫ 0 t e K t d t = D K e K t ∣ 0 t e K t U c ( t ) ? U c ( 0 ) = D K ( e K t ? 1 ) (9) \begin{aligned} ( e^{Kt} U_c ) \vert_0^t &= D \int_0^t e^{Kt} dt \\ &= \frac{D}{K} e^{Kt} \vert_0^t \\ e^{Kt} U_c(t) - U_c(0) &= \frac{D}{K}(e^{Kt} - 1) \end{aligned} \tag{9} (eKtUc?)0t?eKtUc?(t)?Uc?(0)?=D0t?eKtdt=KD?eKt0t?=KD?(eKt?1)?(9)

初始状态电容电压设为0,所以 U c ( 0 ) = 0 U_c(0) = 0 Uc?(0)=0,则上式变为:

e K t U c ( t ) = D K ? ( e K t ? 1 ) U c ( t ) = D K ? ( 1 ? e ? K t ) = D K ? ( 1 ? e ? t K ? 1 ) (10) \begin{aligned} e^{Kt} U_c(t) &= \frac{D}{K} \cdot (e^{Kt} - 1) \\ U_c(t) &= \frac{D}{K} \cdot (1 - e^{-Kt}) \\ &= \frac{D}{K} \cdot (1 - e^{\frac{-t}{K^{-1}}}) \end{aligned} \tag{10} eKtUc?(t)Uc?(t)?=KD??(eKt?1)=KD??(1?e?Kt)=KD??(1?eK?1?t?)?(10)

标准的一阶系统阶跃响应是:

u ( t ) = 1 ? e ? t T (11) u(t) = 1 - e^{\frac{-t}{T}} \tag{11} u(t)=1?eT?t?(11)

所以时间常数T 就是 K ? 1 K^{-1} K?1,也就是K 的倒数,观察一下K 倒数的形式:

K ? 1 = T = C R 2 ( R 0 + R 1 ) R 0 + R 1 + R 2 = C [ R 2 ∥ ( R 0 + R 1 ) ] (12) \begin{aligned} K^{-1} = T &= \frac{C R_2 (R_0 + R_1)}{R_0 + R_1 + R_2} \\ &= C[R_2 \parallel (R_0 + R_1)] \end{aligned} \tag{12} K?1=T?=R0?+R1?+R2?CR2?(R0?+R1?)?=C[R2?(R0?+R1?)]?(12)

发现时间常数是C 乘上R2和(R0 + R1)的并联。而式10 前面的系数 D K \frac{D}{K} KD? 是:

D K = R 2 V R 0 + R 1 + R 2 (13) \frac{D}{K} = \frac{R_2 V}{R_0 + R_1 + R_2} \tag{13} KD?=R0?+R1?+R2?R2?V?(13)

也就是R2 和(R0 + R1)的串联分压。

结果

这下就可以考虑输出电压Uo 了,Uo 是电容电压加上R1 的压降:

U o = U c ( t ) + I 1 R 1 = U c ( t ) + [ V ? U c ( t ) ] R 1 R 0 + R 1 = R 0 R 0 + R 1 ? U c ( t ) + R 1 V R 0 + R 1 (14) \begin{aligned} U_o &= U_c(t) + I_1 R_1 \\ &= U_c(t) + \frac{[V - U_c(t)] R_1}{R_0 + R_1} \\ &= \frac{R_0}{R_0 + R_1} \cdot U_c(t) + \frac{R_1 V}{R_0 + R_1} \end{aligned} \tag{14} Uo??=Uc?(t)+I1?R1?=Uc?(t)+R0?+R1?[V?Uc?(t)]R1??=R0?+R1?R0???Uc?(t)+R0?+R1?R1?V??(14)

可见,输出电压Uo 包含一个常数项,就是电源电压V 经过R0 和R1 的分压。也很好理解,在初始状态电容电压为0,就相当于V 经过R0 和R1 接地。

现在回到实际,假设输入电压V = 5V,芯片引脚输入高电平阈值是4V,要计算输出电压上升到4V 的所需时间。假设输出电压初始值低于4V,设那个常数项电压是 U r U_r Ur?,也就是要算 U c ( t ) U_c(t) Uc?(t) 上升到4V - U r U_r Ur? 的时间。

U c ( t ) = 4 ? U r R 2 R 0 V ( R 0 + R 1 + R 2 ) ( R 0 + R 1 ) ? ( 1 ? exp ? ( ? t C [ R 2 ∥ ( R 0 + R 1 ) ] ) ) = 4 ? R 1 V R 0 + R 1 (15) \begin{aligned} U_c(t) &= 4 - U_r \\ \frac{R_2 R_0 V}{(R_0 + R_1 + R_2)(R_0 + R_1)} \cdot (1 - \exp(\frac{-t}{C[R_2 \parallel (R_0 + R_1)]})) &= 4 - \frac{R_1 V}{R_0 + R_1} \end{aligned} \tag{15} Uc?(t)(R0?+R1?+R2?)(R0?+R1?)R2?R0?V??(1?exp(C[R2?(R0?+R1?)]?t?))?=4?Ur?=4?R0?+R1?R1?V??(15)

这个方程,emmm,头皮发麻[doge],不过忽略那些常数的话结构也不复杂。代换整理一下:

A ( 1 ? e ? t T ) = U d (16) A(1 - e^{\frac{-t}{T}}) = U_d \tag{16} A(1?eT?t?)=Ud?(16)

解得:

t = ? T ln ? ( 1 ? U d A ) (17) t = -T \ln(1 - \frac{U_d}{A}) \tag{17} t=?Tln(1?AUd??)(17)

再看一眼参数A 和T,令串联电阻 R s = R 0 + R 1 R_s = R_0 + R_1 Rs?=R0?+R1?,当放电电阻R2 很大时:

T = C [ R 2 ∥ R s ] ≈ C R s (18) T = C[R_2 \parallel R_s] \approx C R_s \tag{18} T=C[R2?Rs?]CRs?(18)

也就是当R2 很大时,时间常数主要和串联电阻有关。然后把A 分解回左右两部分:

A = R 2 R 2 + R s ? R 0 V R s ≈ ( 1 ? R 1 R s ) V = ( 1 ? q ) V (19) \begin{aligned} A = \frac{R_2}{R_2 + R_s} \cdot \frac{R_0 V}{R_s} &\approx (1 - \frac{R_1}{R_s}) V \\ &= (1 - q)V \end{aligned} \tag{19} A=R2?+Rs?R2???Rs?R0?V??(1?Rs?R1??)V=(1?q)V?(19)

当R2 很大时,左侧因子约等于1,右边因子再换一下形式,把R1 和Rs 的比值记为q,0 < q < 1。于是式17 的解可以写成:

t = ? C R s ln ? ( 1 ? 4 ? q V V ? q V ) = ? C R s ln ? ( V ? 4 V ( 1 ? q ) ) = ? C R s ln ? ( 1 5 ( 1 ? q ) ) = C R s ln ? ( 5 ( 1 ? q ) ) (20) \begin{aligned} t &= -C R_s \ln(1 - \frac{4 - qV}{V - qV}) \\ &= -C R_s \ln(\frac{V - 4}{V(1 - q)}) \\ &= -C R_s \ln(\frac{1}{5(1 - q)}) \\ &= C R_s \ln(5(1 - q)) \end{aligned} \tag{20} t?=?CRs?ln(1?V?qV4?qV?)=?CRs?ln(V(1?q)V?4?)=?CRs?ln(5(1?q)1?)=CRs?ln(5(1?q))?(20)

只看这个结果,当电容量C 和串联电阻R_s 固定,如果 ( 1 ? q ) = 1 5 (1 - q) = \frac{1}{5} (1?q)=51?,那么 ln ? ( 1 ) = 0 \ln(1) = 0 ln(1)=0,上升时间就是0 了,说明此时初始电压就是4V,R0 和R1 可以取2k 和8k。

U r = R 1 R s ? V = 4 5 ? 5 = 4 V U_r = \frac{R_1}{R_s} \cdot V = \frac{4}{5} \cdot 5 = 4V Ur?=Rs?R1???V=54??5=4V

总结

浪费时间瞎算了一顿[doge],一开始就拿煎蛋的分压公式算一下初始电压不就行了。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:14:20  更:2022-10-31 12:14:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 13:17:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码