PWM代表脈沖寬度調(diào)制,目前將 PWM 理解為一種可以由數(shù)字 IC(如微控制器或555 定時器)產(chǎn)生的信號。這樣產(chǎn)生的信號將具有一串脈沖,并且這些脈沖將是方波的形式。也就是說,在任何給定的時間點,波浪要么是高的,要么是低的。為了便于理解,讓我們考慮一個 5V PWM 信號,在這種情況下,PWM 信號將是 5V(高)或接地電平 0V(低)。信號保持高電平的持續(xù)時間稱為“開啟時間”,信號保持低電平的持續(xù)時間稱為“關(guān)閉時間”。
對于 PWM 信號,我們需要查看與其相關(guān)的兩個重要參數(shù),一個是 PWM 占空比,另一個是 PWM 頻率。
有一個測量位置變化的位置傳感器,用萬用表電壓檔測量傳感器的輸出信號,結(jié)果顯示的是模擬量信號,即位置和信號輸出大小呈線性關(guān)系。但是,用示波器(Picoscope 4227)測量傳感器的輸出信號,顯示的卻是PWM信號(脈寬調(diào)制),即位置不同,輸出PWM信號的占空比不同。
PWM信號的參數(shù)是:200 Hz, 低電平為0V,高電平為18V。
現(xiàn)在可以確定,我的傳感器輸出信號是PWM信號。PWM信號需要輸入到控制器I/O中,但是控制器I/O口不具備直接采集PWM信號的功能。
解決方案
設(shè)計個電路,將PWM信號轉(zhuǎn)化為模擬量信號,然后將轉(zhuǎn)換后的模擬量信號輸入到控制器模擬量I/O口。
轉(zhuǎn)換電路
1. 二階壓控有源低通濾波電路。
設(shè)計一個深度濾波電路。濾波電路圖為:
低通濾波頻率公式為:f=1/(2π*RC),我最后選擇R=1K,C=10uf,算出的低通截止頻率f=15.9HZ。
濾波電路后端是一個運算放大器,放大倍數(shù)公式:A=1+Rf/R1。我不希望電壓被放大,所以我選擇A=1.1。又因為R1//Rf=2R(R1,Rf兩者并聯(lián)的值等于R串聯(lián)值),最終:Rf=220歐,R1=2.2k,R=1k。
2. 積分電路(無源濾波電路)
低通濾波電路前面是一個二級積分電路(將兩個電容都接地),R=1K,C=10uf。下圖是一級積分電路,設(shè)計的積分電路是將兩個下圖電路串聯(lián)構(gòu)成二級積分積分:
為驗證電路效果進行的測試,我使用的設(shè)備是PicoScope4227,由于該設(shè)備最大只能生成正負1V的電壓信號,就生成了幅值為1V(低電平0V,高電平1V),頻率為200HZ的PWM信號作為積分電路的輸入信號。各種效果圖如下:
示波器直接采集發(fā)生器生成的PWM信號,波形如下:
示波器從二階濾波電路輸入端采集信號,波形如下。發(fā)現(xiàn)該號波形與上圖的波形相比已經(jīng)發(fā)生了變化。
示波器從一階濾波電路輸出端中采集到的信號波形,即濾波電路從左往右數(shù),第一個電阻與第一個電容交點的輸出波形:
濾波器從二階濾波電路輸出端采集到的信號波形,即最終輸出信號波形
最終輸出波形的參數(shù)。
問題
1:為什么萬用表電壓檔測量傳感器輸出信號,結(jié)果是模擬量信號,而示波器看到的是PWM信號?我該相信哪個結(jié)果?
答:這個問題牽涉到測量輸入口的分辨率問題。萬用表輸入口的分辨率低(通過此例看低于200HZ),而示波器輸入口的分辨率高,可達幾千,甚至幾兆赫茲頻率,所以輸出的結(jié)果不同。我們要相信示波器顯示的結(jié)果。我理解PWM信號本質(zhì)還是希望達到模擬量的效果,只是表現(xiàn)形式不同。
2:關(guān)于計算公式
答:在低通濾波電路中,有個頻率公式f=1/(2π*RC), 它計算的是低通截止頻率(-3dB)。而在積分電路中,有個公式T=RC。這個 T 是指電容充放電需要的時間。選取 T 時,根據(jù)一般經(jīng)驗公式,T>10 * T'(T'表示信號周期)。
在本例的積分電路中,RC=10ms,只有兩倍的信號周期,但是通過測試,信號效果還是比較理想的。如果將更多的積分電路串聯(lián),效果會更好。
3:PWM 信號被控制器采集還有其他方案嗎?
答:方案一:將PWM信號倍頻,就是提高PWM信號的頻率,但是占空比不變化。PWM倍頻后的頻率大于控制器I/O的分辨率,就可以被控制器默認為做模擬量,從而可以輸入到模擬量I/O。
方案二:通過軟件辦法計算PWM的占空比。在控制器中編寫程序,首先定時,測量這段時間內(nèi)PWM信號中高電平的時間,從而計算出占空比。