李慧斌,張英彬,張修典,王華昕
(伊春市氣象局,黑龍江 伊春 153000)
運用單片機設計大氣電場儀的相敏檢波器
李慧斌,張英彬,張修典,王華昕
(伊春市氣象局,黑龍江 伊春 153000)
本文介紹了大氣電場儀前置放大電路的設計,運用單片機AT89C52設計相敏檢波器,把傳統設計中的同步信號設計為單片機的中斷信號。用單片機控制12位的AD574S轉換器,根據轉換器和單片機的引腳功能和編程要求,設計A/D轉換器與單片機的接口、軟件程序、電路來測量感應信號的大小及方向,并設計了警報電路系統。這樣的設計原理簡單,不用復雜的數學進行信號分析;電路的結構清晰,主要是單片機AT89C52和12位的AD574S轉換器兩個集成IC;抗干擾能力強,由于體積小,可以很好地做到屏蔽保護;提高了相敏檢波器的智能化程度,可以運用高級語言C編寫軟件,容易實現,可移植性好。

圖1 電場感應器結構示意圖
感應頭是由上下兩片相互平的、有一定間距、形狀相似的幾片葉片連接在一起的對稱扇形金屬片組成。下面的金屬片用來感應電荷,固定不動,稱為定片(圖1)。上面的金屬片由馬達驅動旋轉,稱為動片,并與地相聯接,它既起屏蔽定片的作用,又使葉片暴露于大氣電場中。當動片旋轉時,定片便交替地暴露在大氣電場中,由此產生交變電流信號,信號的大小與大氣電場強度成正比。當動片旋轉時,它對定片起了周期性的屏蔽作用,于是定片會周期交替地暴露于大氣中。如果定片有面積為ΔS的部分暴露于大氣中,在它上面出現感應電荷為ΔQ,ΔQ對時間求導,則得產生的電流信號為:

其中,I為電流大小;S為單塊葉片的面積;n為葉片的片數;T為動片轉動的周期;t為轉動的時間;E為大氣電場的強度;ε0為真空介電常數。當t為零時,定片和轉片重合。
在測量系統中,通過傳感器獲取信號,即把被測物理量通過傳感器轉換為電信號,然后進行放大。因此,傳感器輸出的是放大器的信號源。然而,通常傳感器的等效電阻均不是常量,它們隨所測量的物理量的變化而變化。這樣對于放大器而言,信號源內阻Rs是變量,根據電壓放大倍數的表達式

信號傳輸進入相敏檢波器的流程如圖2,要處理的感應信號,經過A/D轉換為數字信號之后和同步信號一起傳入單片機進行處理。

圖2 信號傳輸流程方框圖
在該設計中,并不是將感應信號和同步信號相乘,而是把同步信號作為單片機的中斷信號,中斷時對感應信號的波形進行翻轉操作。用單片機的4和6接口來判斷電流方向。采用三級報警設計,分別為:亮LED燈,閃爍LED燈,閃爍LED燈且蜂鳴。最后通過單片機11接口串行輸出經過處理的數字信號。
在此電路中,可以采用光電開關TP880和電阻R1,R2來產生同步信號,這樣能有效地減小零點漂移的影響。當觀察圖1中的負電場時,在感應信號第一個周期前半周期內,感應信號輸出為高電平,即在這個時間段內,小葉片未穿過光電開關的凹槽,光電路處于導通狀態 ,同步信號處于高電平;在后半周期,葉片穿過光電開關的凹槽,同步信號處于低電平,即產生的同步信號與感應信號的周期相同。
A/D轉換器采用AD574S。AD574S是AD公司的產品,是12位逐位逼近式帶三態輸出緩沖器的A/D轉換器,它可以直接與8位或16位微機總線連接。適用溫度-55~123℃;非線性誤差為±(1/2)LSB;模擬輸入量程為雙極性±5 V、±10 V,單極性0~10 V、0~20 V(本設計采用單極性 0~10 V);供電電源VLOGIC邏輯電源+5 V,Vcc為+12 V/+15 V,VEE 為-12 V/-15 V;內部參考電平 10.00±0.1(max)V;轉換時間 25 μs ;低功耗,390 mW。
圖4所示為AD574S讀操作時序圖。在轉換器被選中的情況下,使為高電平,即可讀出轉換結果。
根據AD574S的引腳功能和編程要求,可得如下接法(見圖 5):

圖3 啟動時序

圖4 AD574S讀時序
A0:由Q0口控制,當Q0口為低電平時,讀高8位,當Q0為高電平時,讀低4位。
因此,AD574S(12位)啟動地址為7FFCH,高8位讀取地址為7FFEH,低4位讀取地址為7FFFH。

圖5 單片機設計的電路圖
可以通過兩個二極管,將P2.7口輸入的信號作為判斷的周期,來采集識別電流的方向。因為4和6只會出現三種情況,分別為00、01、10,所以當4接口為高電平時,設為正方向;當6接口為高電平時,設為反方向。因為P2.7口的信號是12位感應數字信號,通過一個或門所得,所以AD574S轉換器采樣的頻率即為電流方向判斷的頻率。
在設計電路中,P0口為12位數據的輸入端。P0口是一組8位漏極開路形雙向I/O口,也即是數據/地址總線復用口。在訪問外部數據存儲器或程序存儲器時,這組接口線分時轉換地址和數據總線復用,在訪問期間激活內部上拉電阻。P1口是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫入高電平,通過內部上拉電阻拉到高電平,此時可作為輸入口。作為輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。所以用P1.0口來控制LED燈,當P1.0口為高電平時,LED燈熄滅,當P1.0口為低電平時,LED燈亮。因為是用LED燈來顯示一級、二級的警報,所以一級警報時,直接給接口輸入低電平,點亮LED燈;二級時,設計定時計數程序,使LED燈按照一定的周期閃爍。用P1.1口來控制蜂鳴器,當電場值達到三級警報值時,給P1.1送入低電平。用P1.3和P1.5口來判斷電流方向,當這兩接口輸入00時,表示沒檢測的電流信號;當其輸入01時,表示輸入電流方向為反方向;當其輸入10時,表示輸入電流方向為正方向。用P1.7口來控制AD574S的CS,當P1.7為低電平時,AD574S的片選選通。用16口和17口,通過一個與非門使CE保持高電平,共同控制單片機對AD574S數字信號的讀寫。
程序的編寫流程思路:首先根據AT89C52單片機和AD574S轉換器的編程要求,對單片機編寫初始化程序。接著檢測感應信號、同步中斷信號的輸入,同時檢測P2.7口的信號,將該接口的信號作為判斷電流方向的控制頻率,即時檢測其絕對值的大小并和三個電場分界警報值a1、a2、a3進行比較,然后保存數據。當檢測到的電場值大于或等于某個設定電場值時,分別亮LED燈、閃爍LED燈、閃爍LED燈且蜂鳴,從而達到分級警報的效果。當P2.7為高電平時,就判斷P1.3和P1.5口電流的方向,并將這個數字信號加入到同一時刻接收到的感應數據信號中。通過同步信號來使單片機產生中斷信號,當同步信號為高電平時,感應信號的方向不改變輸出;當同步信號為低電平時,單片機產生中斷,對感應信號的方向進行翻轉輸出,即把判斷電流方向的數據信號由01(或10)改為10(或01)。因為通常是半個周期被翻轉,所以經過判斷翻轉后,將輸出較為平緩的波形信號。最后,結束一次流程,返回到初始化程序,并設計一個大循環,使單片機返回到初始化狀態后繼續重復執行之前的判斷處理程序。
1002-252X(2012)02-0039-03
2012-2-1
李慧斌(1977-),男,山東省招遠縣人,中央黨校,本科生,助理工程師.