單片機在電機功率因數測量中的應用
沈 瀅 曹淑芬 (沈陽工業學院110015)
1引言
在電機測試中,迅速、準確地測量功率因數是經常遇到的,并且有多種多樣的測量方法。本文介紹的是利用8031單片機進行電機功率因數測量的方法,具有硬件簡單、測量快速準確、實現方便的特點。
2原理
利用8031的定時一計數器,選擇定時器工作方式。
當門控位gate =0時,使定時器運行只受tro位的控制。
當gate=1時,定時器的運行將同時受tro和1nto引腳電平的控制。
若tro=1.1 ,nt0 =1,則啟動to計時,若tro=1.1,nt0=o,則停止計時。這一特點可方便地用于測試外部輸入脈沖的寬度。
2.1原理圖
如圖1所示,兩路正過零檢測電路分別將相電壓及相電流轉換為一定幅值的方波,并作為d觸發器的輸入。而觸發器輸出脈沖的寬度t即為相電壓及相電流的時間相位差.
如圖2所示。利用這個脈沖作為into管腳的控制端,即可利用8031單片機對這一寬度進行測量。
因為相電壓及相電流的頻率均為工頻50hz(對應周期為20000μs),而一個周期對應的電角度為360度,故當t值被測定后,電機的功率因數角φ即可按下式計算:
2.2 實測電路圖
實測電路圖如圖3所示。
正過零檢測電路利用光電耦合器及rc電路構成,5.1kω電阻上電壓輸出波形近似為方波,而d觸發器輸出寬度為丁的脈沖信號。
在實際測量時,為了能檢驗測量的精度,利用圖4所示的rc電路模擬相電壓u。及相電流u1,則兩者之間的相角差:
具體電路實現時,選用的光電耦合器為ti:p521-4,觸發器為74ls74。示波器上顯示的波形基本與圖2相吻合。
3測試程序
該程序段將計數結果放在r32和r33兩個單元。定時一計數器to工作于定時器方式,操作模式1(16位計數)。測試時,應在1 nto為低電平時。設置tro=1,當1 nto變為高電平時,就啟動計數;1 nto再次變低時,停止計數。此計數值即為被測正脈沖的寬度。
mov tmod,#09h,設to為模式1,gate=1
mov tlo,#ooh,設to初值為00hmov tho,#00h
mov ro,#20h,計數結果存放地址r32
jb lnto,$,等待1nto變低
setb tro,準備啟動定時器to,tro為to的運行控制位
jnb into,$,等待1nto變高,起動計數
jb lnto,$.等待1nto再次變低
clr tro,停止計數
mov @ro,tlo,將計數值送入r32、r33單元
inc ro
mov@ro, tho
4測試結果及誤差分析
附表列出3組測量結果,以進行比較。8031振蕩器頻率選為12mhz。tho與tlo中的計數值乘lμs即為所求正脈沖寬度。
改變圖4中電容c值的大小,即可得到多組φ值。實測時,電阻r2選為100ω,3組電容分別為10,20,30μf。
利用示波器測量脈寬t時,首先利用標準脈沖信號測定一個周期長度對應的時間值,再根據丁的長度按式(2) |