有一個測量位置變化的位置傳感器,我用萬用表電壓檔測量傳感器的輸出信號,結果顯示的是模擬量信號,即位置和信號輸出大小呈線性關系。但是,我用示波器(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兩者并聯(lián)的值等于R串聯(lián)值),最終:Rf=220歐,R1=2.2k,R=1k。
2. 積分電路(無源濾波電路)
低通濾波電路前面是一個二級積分電路(將兩個電容都接地),R=1K,C=10uf。下圖是一級積分電路,設計的積分電路是將兩個下圖電路串聯(lián)構成二級積分積分:
為驗證電路效果進行的測試,我使用的設備是PicoScope4227,由于該設備最大只能生成正負1V的電壓信號,就生成了幅值為1V(低電平0V,高電平1V),頻率為200HZ的PWM信號作為積分電路的輸入信號。各種效果圖如下:
1、示波器直接采集發(fā)生器生成的PWM信號,波形如下:
2、示波器從二階濾波電路輸入端采集信號,波形如下。發(fā)現該號波形與上圖的波形相比已經發(fā)生了變化。
3.示波器從一階濾波電路輸出端中采集到的信號波形,即濾波電路從左往右數,第一個電阻與第一個電容交點的輸出波形:
3、濾波器從二階濾波電路輸出端采集到的信號波形,即最終輸出信號波形
5、最終輸出波形的參數:
四、問題
1:為什么萬用表電壓檔測量傳感器輸出信號,結果是模擬量信號,而示波器看到的是PWM信號?我該相信哪個結果?
答:這個問題牽涉到測量輸入口的分辨率問題。萬用表輸入口的分辨率低(通過此例看低于200HZ),而示波器輸入口的分辨率高,可達幾千,甚至幾兆赫茲頻率,所以輸出的結果不同。我們要相信示波器顯示的結果。我理解PWM信號本質還是希望達到模擬量的效果,只是表現形式不同。
2:關于計算公式
答:在低通濾波電路中,有個頻率公式f=1/(2π*RC),它計算的是低通截止頻率(-3dB)。而在積分電路中,有個公式T=RC。這個T是指電容充放電需要的時間。選取T時,根據一般經驗公式,T>10 * T'(T'表示信號周期)。
在本例的積分電路中,RC=10ms,只有兩倍的信號周期,但是通過測試,信號效果還是比較理想的。如果將更多的積分電路串聯(lián),效果會更好。
3:PWM 信號被控制器采集還有其他方案嗎?
答:方案一:將PWM信號倍頻,就是提高PWM信號的頻率,但是占空比不變化。PWM倍頻后的頻率大于控制器I/O的分辨率,就可以被控制器默認為做模擬量,從而可以輸入到模擬量I/O。
方案二:通過軟件辦法計算PWM的占空比。在控制器中編寫程序,首先定時,測量這段時間內PWM信號中高電平的時間,從而計算出占空比。
-
模擬量
+關注
關注
5文章
491瀏覽量
25503 -
PWM信號
+關注
關注
3文章
93瀏覽量
20130
原文標題:PWM信號轉換為模擬量信號
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論