電子與數學2-庖丁解牛RC電路

上文我們聊了聊電阻與二極體的串並聯《電子與數學1-電子中的串並聯》,引出了反函數與一些基本數學運算,今天我們閑來無事,來說一說RC這個最基本的動態電路,在正式開始前,我們先聊一聊電容。

0.先從電容說起

一說起電容,我就想起之前工作時候,遇到的一個CDE專門研究電解電容的老工程師,給我們講變頻器上直流母線電容池用的鋁電解電容,講了3個小時都沒講完,從等效電路到使用場景,從溫升講到壽命,侃侃而談,結束後,他跟我們說,有一次去清華自動化系講,那邊的系主任開玩笑說,「X工呀,聽你講之前,我知道電容就是一個符號C,用來儲存電荷,結果聽你講了大半天,反而糊塗了,電容到底是啥玩意??」

其實,我覺得那個清華系主任理解的非常到位,電容就是用來儲存電荷的,就好比一個大水池子,我們幻想,裡面裝的一個個水珠,就是一個個的電荷。

圖1.電容儲存電荷圖

我一直覺得用電容類比水池最形象,水管就是導線,水流就是電流,通過水管給水池充水,就如同用導線給電容充電一個道理,如圖2所示。

圖2.電容與水池類比圖

我們實際場合里,一般是用水泵給水池供水,同樣用電壓源給電容充電,這樣上面的圖就會變成圖3的樣子。

圖3.電容與水池類比圖

水池隨著水量的累積,水面到池底會產生水壓差,那同樣電容隨著電荷的累積,兩側極板也會產生電勢差。那什麼時候這個過程會停止呢?當水池的壓差等於泵壓,水池充水的水流就停了,同樣當電容的電勢差等於電源電壓,那電容的充電也就結束了。

一切都平衡了,這個世界也就安靜了,所有的動態反應,都源自某種不平衡。

如果我們把電流記為I,電荷記為Q,那電容充電的過程就是電荷Q對電流I積分的過程,電流I是電容電荷Q的微分:

Q=int_{0}^{t}I(	au)d	au

I=dQ/dt

電流I是因,電荷量Q是果,積分是在求果,微分是在尋因!

隨著電容電荷Q的累積,會在電容兩端產生電勢差U,兩者之間存在一個函數關係。

U=f(Q)

但要記住,電容畢竟不是一般的水池,隨著兩個極板電荷累積的越來越多,電容內部的極化越來越嚴重,好比一個人背得東西越重身體就越扭曲,身體承載能力也會不斷減弱,同樣隨著電荷累積,電容能承受電壓的趨勢也在不斷下降,如圖4所示。跟上一節的電阻一樣,我們可以用一根直線去擬合電容的U與Q的這個函數關係,擬合出來直線的斜率倒數就是電容值C。

C=Q/U

I=dQ/dt=CdU/dt

圖4.電容的電勢差與電荷的關係

還有一點,所有的電容都有一個最大耐受電壓,也就是這個電勢差不能無限增長下去,當電壓大到某一刻的時候,你會聽到「砰」地一聲,青煙一縷,電容此刻命歸西天。

1.RC的充電過程

我現在還記得,中學物理老師說的一句話,「如果一個理想電壓源與一個理想電容並聯,那充電電流會是無窮大,充電瞬間完成。」其實吧,我一直覺得無窮這個詞是人的幻想,現實世界,怎麼會有無窮大這玩意呢?!哪有什麼理想電壓源,也沒有什麼理想電容,因為我們活在現實世界,電源有內阻,導線有電阻,電容內部也有ESR(等效串聯電阻),所以物理老師那句話只是幫助我們簡化理解概念,而實際根本不存在。

如果考慮實際迴路電阻的話,那電容充電的真實等效電路如圖5所示,將整個線路所有電阻等效為一個電阻R,這就是經典的RC充電電路。

圖5.電容充電等效電路

這個電路,當我們把電源接上的那一刻,電容電壓會怎樣變化呢???

在實際測試之前,可以先開動大腦想一想。如果電阻為0的話,這不正是物理老師說的嘛,理想電壓源與理想電容並聯,充電電流無窮大,電容會瞬間充滿電壓。而隨著電阻的加入,迴路阻礙變大,整體充電電流會下降,充電速度變慢,電壓上升的速度也會下降,而且電阻越大,這個充電速度會越慢。

如果電阻確定,那整個動態充電過程中,電壓的變化趨勢會是怎樣呢?會不會按照一個固定的上升斜率充電到電源電壓,不對不對,這不太可能,因為隨著電容電壓上升,電阻上的壓降越來越小,也就意味著充電電流越來越小,所以整個充電過程中,充電的速度是越來越慢,電壓上升的趨勢也是一樣,越來越慢。

於是我們可以腦補一張電容充電過程,如圖6所示。

圖6.腦補電容充電圖

腦補結束,我們下面,開始真機實際測試啦。

設定: Us=1VR=1kOmegaC=1mu F ,電容電壓 Uc 初始值為0,整個Uc電壓的動態變化過程如圖7所示。

圖7.實際測試RC充電

哈哈哈,有沒有發現,實際測試的圖跟我們剛剛腦補的小圖形,有點形似呀。

再仔細觀察一下,這個圖跟我們中學學的什麼函數比較像嗎,肯定不是一次函數,也不像二次函數,因為最後無窮趨近於一個值,噢,想起來啦,是不是指數函數呀,對,就是這個,變化的越來越慢,指數函數不就是變化率越來越XX嘛,然後我們就擬合出這樣一個式子:

Uc(t)=1-e^{-t/0.001}

下面我們對照著擬合公式來仔細觀察一下這個波形,如圖8所示,0.001對應指數衰減時間常數,也就是每隔1ms指數部分衰減為上1ms的1/e approx 0.35。

0ms 1ms 2ms 3ms

1-0 1-0.35=0.65 1-0.35^2=0.87 1-0.35^3=0.957

大多數電子工程師記住這幾個典型的數值,比如RC電路1倍時間常數到達穩態值65%。

圖8.實際測試RC充電圖形分析

2.RC的微分方程

如果用數學方程去表達剛剛描述的RC充電這個動態過程,該怎麼做呢??首先根據基爾霍夫定理得到電源電壓等於電阻上的電壓加上電容電壓,然後電阻上的電流等於電容的電流,電容上的電流等於電容電壓的變化率與電容之積,將這幾句話用數學表達一下就是下面的數學公式。

U_{s}=IR+U_{c} ——基爾霍夫電壓定理

I=Cfrac{dU_{c}}{dt}——電容UI特性

將於是得到:

RCfrac{dU_{c}}{dt}+U_{c}=U_{s}

有沒有發現呀???一階微分方程出來了。關於微分方程的求解,高等數學裡專門寫了一章去求微分方程的解,總之噼里啪啦一大堆,最後做題的時候,一頓代公式,什麼齊次非齊次通解之類的,甚是煩惱,這裡有一個說明,就是電路求解與傳統的微分方程求解略有不同,可以參考這篇文章:

Dean Rossi:1. 信號與線性系統---究竟在學啥?zhuanlan.zhihu.com圖標

3.RC的差分方程

RC一階電路,我們如果想在計算機里模擬???該怎麼玩呢,這就要用到上一節的微分方程數學模型了。

導數,還記不記得,我們高等數學裡是怎麼算的???

在高等數學裡,利用極限逼近的方式來算出導數,當我們用計算機模擬的時候,是逆向把導數離散化,這樣我們就可以把第一個式子離散化為下式

看到上面的式子了不,我們知道t時刻Uc和Us的值,就可以計算 t+Delta t 時候的Uc值,然後可以不斷迭代這個模型,推演計算後面的數值,這就是模擬的奇妙之處。

如果我們把 Delta t 選為固定的時間段,那就可以簡化為

U_{c}(k+1)=U_{c}(k)+(U_{s}(k)-U_{c}(k))frac{Delta t}{RC}

看到沒,這就是RC電路的差分模型,控制和數字信號處理中大量用到這個。

根據上面的差分方程,我們就可以用matlab寫代碼,模擬RC電路的動態過程,如圖4所示。

R=1e3;%1000歐 C=1e-6;%1uFdt=100e-6;%delta T 時間T=5e-3;%模擬時間長度t=0:dt:T;%時間軸Us=ones(length(t),1);%1VUc=zeros(length(t),1);for k=1:1:length(t)-1 Uc(k+1)=Uc(k)+(Us(k)-Uc(k))*dt/(R*C);endplot(t,Uc)grid onxlabel(t/s)ylabel(Uc/V)

圖9.RC電路動態模擬圖

整個計算機模擬動態系統都是基於差分方程來做的,用當前的狀態和輸入去推演下一時刻的狀態。如果想模擬精確一點,把模擬步長dt減小一點,但是意味著模擬時間會加長,如果想模擬快點,那就將dt設置長一些,同時還有變步長的演算法。

4.RC的複數模型

現在我們把Us變為正弦信號,看看Uc的反應,就用Simulink模擬一下吧,Us=sin(2*pi* 1000*t),R=1000歐,C=1uF,如圖10所示。

圖10.RC電路對1kHz正弦信號的響應(紫色是Us電壓源輸入信號,黃色Uc電容的電壓響應)

我們仔細觀察圖10,發現Uc的電壓信號頻率跟Us一樣,幅值下降了好多,相位有一些偏移。我們換一個頻率試試,給RC加一個500Hz的電壓信號,如圖11所示,與1kHz輸入信號相比,幅值衰減慢了一些,相位還是有偏移。

圖11.RC電路對500Hz正弦信號的響應(紫色是Us電壓源輸入信號,黃色Uc電容的電壓響應)

如果想測試這個RC電路對不同頻率,不同幅值的正弦信號的響應,還有方波,三角波,鋸齒波,好多好多,總不能手動模擬成千上萬地測試吧,有沒有什麼好的測試方法呢,有的同學可能會說微分方程求解,這個還不如模擬呢,模擬就點一下按鍵,微分方程那可是要徒手求解成千上萬次,電子工程師那還不累死呀、、、!

其實不管微分方程,還是差分方程,我們都是在時間軸上玩,加個電壓Us,看電容怎麼充電,或者在計算機里模擬時域模擬一下這個過程而已,都可以玩的不錯,但是輸入信號一多還是很麻煩。我們是不是可以換一個空間重新看待這個電路。

幾百年前傅里葉老爺子,夜觀熱環,琢磨出一個好點子:

任何周期信號都可以分解為正弦信號的疊加,萬法歸一。

於是一個系統對於任何周期信號的響應,都可以分解為正弦信號響應的疊加。也就是說,不管你是什麼鬼信號,只要是周期的,那我就可以快刀斬亂麻,用幾個簡單的正弦信號去模擬它,如圖12所示。

圖12.複雜周期信號分解為正弦信號疊加(Us=Us1+Us2)

有的同學會問,搞這個有毛用????這裡要說一下,你要知道,複雜的周期信號,每一個都不一樣,除了凌亂還是凌亂,我們根本沒辦法找到通用的玩法,但是分解為正弦之後,都是一個模子在刻,只有三個量:頻率,幅值和相位。

緊接著傅里葉老爺子,又針對正弦信號的系統響應提出了一套傅里葉變換,把時域的微分方程,變成了頻率域的代數方程,於是,於是,我們不用解微分方程了。。。是不是很爽,但是,但是,有兩個前提,一個是輸入信號(Us信號)是周期信號,另一個是線性(疊加定理)時不變(卷積)系統。

工程師就是做直覺性的化簡,適當的約束,反而更自由自在!

針對一個正弦信號的響應,可以用傅里葉老爺子的方法,快速解決信號響應的問題。只需要在微分方程(初始狀態為0)基礎上,微分乘以jw,積分除以jw即可,由此可以得到RC電路的複數模型:

jomega RCU_{c}(jw)+U_{c}(jw)=U_{s}(jw)

然後得到RC特性的複數表達

frac{U_{c}(jw)}{U_{s}(jw)}=frac{1}{1+j wRC}

這個複數,幅值就是Uc相對Us衰減比例,相角就是Uc相對Us的相移

我們試一下,Us=sin(2*pi* 1000*t),R=1000歐,C=1uF,

frac{1}{1+j wRC}=frac{1}{1+j6.28}=0.1573angle -80.9^{。}

這就意味著,Uc相對Us,幅值衰減為原來的0.1573,相角滯後80.9度,正好與我們圖10的模擬結果相同。

這樣,我們通過幾個基本的算數運算,就可以知道信號衰減多少,相移多少?

到這裡,最開始的問題我們就可以全揭開了:

複雜的周期信號->分解為簡單正弦信號->正弦信號響應的疊加->複雜周期信號的響應

其實傅里葉老爺子就在說一個道理:

複雜的問題搞不定,可以分解為簡單的問題,一個個解決完,再綜合一下就是複雜問題的答案!

如果這個複數模型複雜了,乘除運算起來也挺麻煩,還可以用Bode圖去分析,這個玩法更好,它能把算數的乘除變成圖形里的加減操作,加減法,總不能也不會吧,哈哈哈!

圖12.Bode圖

5.隨便說點

其實,我們繞來繞去,一直都在說RC,不管腦洞想像,示波器測試,微分方程,差分方程,還是複數模型,都是在不同的角度,去看同一個東西。

那什麼是本質呢,你的內心能夠感覺到這一切的那一刻,那就是本質。

男人不止一面,電路也是一樣!

推薦閱讀:

紙媒會不會因為電子設備的發展而逐漸消失?
求一個樹莓派購買攻略?
如何畫出優雅的pcb?
有調頻FM收音機、調幅AM收音機,為什麼卻沒有調相收音機?
如何才能成為一名卓越的硬體工程師?

TAG:电子工程EE | 电路 | 电子 |