你知道PWM信號轉(zhuǎn)換為模擬量信號的過程嗎?有一個測量位置變化的位置傳感器,用萬用表電壓檔測量傳感器的輸出信號,結(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 信號中高電平的時間,從而計算出占空比。以上就是PWM信號轉(zhuǎn)換為模擬量信號的過程解析,希望能給大家?guī)椭?