有一個測量位置變化的位置傳感器,我用萬用表電壓檔測量傳感器的輸出信号,結果顯示的是模拟量信号,即位置和信号輸出大小呈線性關系。但是,我用示波器(Picoscope 4227)測量傳感器的輸出信号,顯示的卻是PWM信号(脈寬調制),即位置不同,輸出PWM信号的占空比不同。
PWM信号的參數是:200 Hz, 低電平為0V,高電平為18V。
現在可以确定,我的傳感器輸出信号是PWM信号。PWM信号需要輸入到控制器I/O中,但是控制器I/O口不具備直接采集PWM信号的功能。
一、解決方案:設計個電路,将PWM信号轉化為模拟量信号,然後将轉換後的模拟量信号輸入到控制器模拟量I/O口。
二、轉換電路1. 二階壓控有源低通濾波電路。
設計一個深度濾波電路。濾波電路圖為:
低通濾波頻率公式為:f=1/(2π*RC),我最後選擇R=1K,C=10uf,算出的低通截止頻率f=15.9HZ。
濾波電路後端是一個運算放大器,放大倍數公式:A=1 Rf/R1。我不希望電壓被放大,所以我選擇A=1.1。又因為R1//Rf=2R(R1,Rf兩者并聯的值等于R串聯值),最終:Rf=220歐,R1=2.2k,R=1k。
2. 積分電路(無源濾波電路)
低通濾波電路前面是一個二級積分電路(将兩個電容都接地),R=1K,C=10uf。下圖是一級積分電路,設計的積分電路是将兩個下圖電路串聯構成二級積分積分:
為驗證電路效果進行的測試,我使用的設備是PicoScope4227,由于該設備最大隻能生成正負1V的電壓信号,就生成了幅值為1V(低電平0V,高電平1V),頻率為200HZ的PWM信号作為積分電路的輸入信号。各種效果圖如下:
1、示波器直接采集發生器生成的PWM信号,波形如下:
2、示波器從二階濾波電路輸入端采集信号,波形如下。發現該号波形與上圖的波形相比已經發生了變化。
3.示波器從一階濾波電路輸出端中采集到的信号波形,即濾波電路從左往右數,第一個電阻與第一個電容交點的輸出波形:
4、濾波器從二階濾波電路輸出端采集到的信号波形,即最終輸出信号波形
5、最終輸出波形的參數:
三、問題1:為什麼萬用表電壓檔測量傳感器輸出信号,結果是模拟量信号,而示波器看到的是PWM信号?我該相信哪個結果?
答:這個問題牽涉到測量輸入口的分辨率問題。萬用表輸入口的分辨率低(通過此例看低于200HZ),而示波器輸入口的分辨率高,可達幾千,甚至幾兆赫茲頻率,所以輸出的結果不同。我們要相信示波器顯示的結果。我理解PWM信号本質還是希望達到模拟量的效果,隻是表現形式不同。
2:關于計算公式
答:在低通濾波電路中,有個頻率公式f=1/(2π*RC), 它計算的是低通截止頻率(-3dB)。而在積分電路中,有個公式T=RC。 這個 T 是指電容充放電需要的時間。選取 T 時,根據一般經驗公式,T>10 * T'(T'表示信号周期)。
在本例的積分電路中,RC=10ms,隻有兩倍的信号周期,但是通過測試,信号效果還是比較理想的。如果将更多的積分電路串聯,效果會更好。
3:PWM 信号被控制器采集還有其他方案嗎?
答:方案一:将PWM信号倍頻,就是提高PWM信号的頻率,但是占空比不變化。PWM倍頻後的頻率大于控制器I/O的分辨率,就可以被控制器默認為做模拟量,從而可以輸入到模拟量I/O。
方案二:通過軟件辦法計算PWM的占空比。在控制器中編寫程序,首先定時,測量這段時間内PWM信号中高電平的時間,從而計算出占空比。
點擊下面“了解更多”
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!