劉 平, 張瑞芳, 李風光
(鄭州大學 a. 信息工程學院;b. 電氣工程學院,河南 鄭州 450001)
信號相位差的測量在工程上有著重要的意義,在線性系統(tǒng)動態(tài)特性分析,電子領域中功率角度測量等都有著重要的應用。有關相位差的測量方法有很多并且不斷有新的方法被提出[1]。這些方法各有其特點和應用范圍。利用移相原理可以制作校驗各種有關相位的儀器儀表、繼電保護裝置的信號源。兩個同頻信號之間的移相,是電子行業(yè)繼電保護領域中模擬、分析事故的一個重要手段,移相技術有著廣泛的實用價值。
本文主要基于應用提出一種簡單實用的方案,在現(xiàn)場環(huán)境中也得到驗證,本方案在實際的應用中有著廣泛的前景。
首先針對兩個同頻信號,以其中的一路為參考,另一路相對于該參考作超前或滯后的移動。由于兩路信號的相位不同產生相位差。然后將參考信號整形為方波信號,并以此信號為基準,延時產生另一個同頻的方波信號,再通過波形變換電路將方波信號還原成正弦波信號。以延時的長短來決定兩信號間的相位值。
這種處理方式的實質是將延時的時間映射為信號間的相位值。即只要能夠測量出該延遲時間,就可以推算出其相位差值[2]。
本系統(tǒng)的工作原理如下:被測量信號經過移相網絡后輸出兩路信號,然后由比較器分別對它們整形,再利用相位測量電路鑒相得到兩路數(shù)字信號。這兩路數(shù)字信號相與形成新的數(shù)字信號,再用C8051F410測量出其波形寬度并計算出要測量的相位差值。最后通過顯示電路顯示相位差值。
本硬件電路用了 EDA工具,軟件設計采用模塊化的編程方法。
本系統(tǒng)由移相整形電路、相位測量電路、數(shù)字移相信號發(fā)生器以及鍵盤與顯示電路組成。鍵盤電路與顯示電路用來預置初始狀態(tài)與顯示結果。系統(tǒng)框圖如圖1所示。
移相網絡電路由相位超前、相位滯后網絡及放大電路構成。具體電路如圖2所示。
在該電路中相角和電壓幅值均可以改變。本電路中第一部分是由741和RC網絡所構成的超前移相電路和滯后移相電路。具體相關理論如下:
(1)超前網絡電路如圖3所示。
令:
相角與頻率的關系:
(2)滯后網絡電路如圖4所示。
令:
相角與頻率的關系:
實際應用中在不同情況下具體參數(shù)由上述公式計算。具體調試電路時,當輸入頻率改變時,根據(jù)以上公式改變超前,滯后網絡中R,C參數(shù),就可以改變相位差。第二部分為TL072運算放大器構成的低噪聲高增益放大電路。調節(jié)R1,R2可以改變輸出電壓幅度,R3為調零相位電阻。
相位測量電路由單限(過零)比較器,邏輯門電路,單片機C8051F041系統(tǒng)組成。
將經過移相電路的兩同頻信號由過零比較器整形為方波信號A和B。其電路如圖5。
為了使測量相位差更加精確,現(xiàn)將信號A和B相與,A和B’(B取反)相與,如圖6所示。
輸出波形經單片機記數(shù)測量出其波形寬度,即可以計算出周期及相位差[3]。若單片機時鐘頻率為 f1,T1=1/f1;輸入信號頻率為 f2,T2=1/f2。一個信號周期對應 360,則單位時間對應的相位值可記為360/T2。如果單片機檢測到的波形脈沖寬度為T,則對應的相位差值為:T×360/ T2。
由單片機產生高頻率的時鐘信號,對輸入信號進行掃描,即與輸入信號進行邏輯與運算來確定T。輸入信號為低電平時,沒有時鐘脈沖輸出;為高電平時輸出時鐘信號。對其進行記數(shù),假設為N,就可以計算出脈寬,為N×T1,即 T=N×T1。
從上面的波形圖可以看出,對 A∩B 信輸出信號的脈寬并不是A,B信號的相位差值,而是與相位差相加起來為半個周期(T1/2)的值,因此,由此信號計算出 A,B的相位差為(T1/2-T)×360/ T2。對于A∧B’的輸出信號檢測的脈寬,則是 A,B信號相位差的直接反應,此時相位差值為T×360/ T2。
數(shù)字式移相信號發(fā)生器由單片機軟件編程實現(xiàn),頻率可調并可以步進。此部分電路完全由單片機編程來控制實現(xiàn)。其具體過程如下:將正弦波信號數(shù)字化,并形成一張數(shù)據(jù)表存入ROM芯片中,此后在單片機的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,就可獲得兩路正弦波信號,當數(shù)據(jù)序列完全相同時,則轉換所得到的兩路正弦波信號無相位差,稱為同相。當數(shù)據(jù)序列不同時,則轉換所得到的兩路正弦波信號就存在著相位差。相位差的值與數(shù)據(jù)表中數(shù)據(jù)的總個數(shù)及數(shù)據(jù)地址的偏移量有關。這種處理方式的實質是將數(shù)據(jù)地址的偏移量映射為信號間的相位值。
鍵盤電路采用 4×4鍵盤并行輸入,每個按鍵的功能由單片機編程定義。
顯示電路采用串行數(shù)據(jù)輸入、六位數(shù)碼管顯示。顯示部分應用軟件技術,僅使用三根線,即數(shù)據(jù)線、時鐘線及控制線,通過對單片機串口的編程,實現(xiàn)了數(shù)碼顯示與單片機之間的串行接口技術[4],外部硬件使用六片 4094和六個 LED實現(xiàn)六位數(shù)據(jù)顯示,還可以繼續(xù)擴展。
本系統(tǒng)用到的控制器是C8051F410,它的主頻是24.5 MHz,內部有一個 12位 SFR ADC,該ADC的最大轉換速率是200 ks/s,有三個端口可作為ADC的輸入。接口電路,復位電路等電路簡單,功能強大,而且體積小,采用電池供電。
將市電降壓整流后再加以穩(wěn)壓,獲得穩(wěn)定的12 V或5 V直流電供使用,分別有兩路輸出。電路原理圖如圖 7。圖 7中把7812換成7805輸出為5 V直流。
本程序的編寫和調試的開發(fā)環(huán)境是Keil 51,采用C語言和匯編語言混合編程,基于 C程序中調用匯編的設計方式[5]。
編程流程圖如圖8所示。
先分別調試各個單元模塊,然后整機調試,調試成功后將程序寫入單片機中再進行調試。經過這樣調試結果顯示整個系統(tǒng)能夠工作。
移相網絡的測量結果如下。
5.2.1 相位測量結果
當Vi=5 V; f=1 kHz;c1=c2=0.1μF時:
若R11=10kΩ, R22=0~10kΩ,相位差⊿為50°~0°;
若R22=10kΩ, R11=0~10kΩ,相位差⊿為-90°~0°。
當Vi=5 V;f=10 kHz;c1=c2=0.01μF時:
若R11=10kΩ;R22=0~10kΩ,相位差⊿為50°~0°;
若R22=10kΩ;R11=0~10kΩ,相位差⊿為-90°~0°。
5.2.2 幅度測量結果
當Vi=5 V; f=1 kHz;c1=c2=0.1μF時:
若R1=10~0kΩ,幅度變化⊿為5.6~0 V;
若R2=10~0kΩ,幅度變化⊿為7.2~0 V。
當Vi=5 V; f=10 kHz ; c1=c2=0.01μF時;
若R1=10~0kΩ,幅度變化⊿為5~0V;
若R2=10~0kΩ,幅度變化⊿為7~0V。
本系統(tǒng)中計數(shù)脈沖為C8051F410的主頻24.5 MHz,若用 0.1o來標度相位差時,即測量相位差精度要求達到 0.1o時 ,則:在半個周期內必須要有f=24.5 MHz的計數(shù)脈沖1800個,可推得:
1800×(1/24.5)μs=T/2,
T=2×(1/24.5)μs×1800,
fmax=1/T=6.8 kHz,
由此可知,當要求精度為0.5o時fmax可達34 kHz。
經過實測分析,該測量儀在要求精度為1o時,能夠測量的正弦信號的頻率范圍為20 Hz~68 kHz,連續(xù)移相范圍達到了-45~45,峰~峰值可以分別在1~7 V范圍內變化,而且輸入阻抗大于100 kΩ。測量頻率可以直接數(shù)字顯示出來,達到了基本要求。
各個模塊單獨調試時均能夠正常工作,但級連起來時候測試誤差較大,不能很好的進行測量。
用時鐘信號掃描輸入信號時,當時鐘信號為高電平時,剛好處于輸入信號的上升沿或下降沿,此時輸出電平不知道是低電平還是高電平,就會丟失記數(shù)脈沖的個數(shù)[6]。做最壞的情況分析,即上升沿和下降沿的脈沖都丟失,損失了兩個記數(shù)值,此時即為最大的誤差值。
根據(jù)方案實現(xiàn)中的定義,可以計算出對應的最大相位差誤差值,即⊿=2×T1×360/T2。此誤差不能消除。
將兩同頻信號移相信號經過過零比較器后整形為方波信號 A、B。為了能夠更加精確地測量相位差,本系統(tǒng)分開兩種測量方法主要是考慮到減少誤差的問題。當A,B信號相位差值很小的時候,測量 A∩B’的輸出信號的誤差大,不適宜直接測量,此時應測量A∩B 后的信號。當A,B相位差很大時,此時測A∩B’輸出信號誤差比較小,不適宜測量A∩B 的信號。
本文采用高主頻微處理器C8051F410作為數(shù)字相位測量系統(tǒng)的核心控制部分,相差信號由移相網絡產生,經整形相差測量電路測量后由單片機控制輸出顯示,硬件易實現(xiàn),軟件采用混合編程方式,效率高。經實驗驗證該方案中相位精度受頻率影響小,容易控制,穩(wěn)定性高,可以實現(xiàn)較高的精度。
[1] 葉林,周弘,張洪,等.相位差的幾種測量方法和測量精度分析[J].電測與儀表,2006,43(04):11-14.
[2] 繆曉中,杜偉略.相位差測量方法的研究與應用[J].儀表技術,2004(03):61-62,67.
[3] 俞方煒.單片機在數(shù)字示波器設計中的應用[J].通信技術,2009,42(05):269-271.
[4] 侯明,杜奕.基于CAN總線的接口電路[J].通信技術, 2009,42(07) :138-140.
[5] 趙亮,侯國銳.單片機 C語言程序設計與編程實例[M].北京:人民郵電出版社,2003.
[6] 楊燦平,杜宇人.一種高精度相位測量方法[J].現(xiàn)代電子技術,2007(16):142-144.