基于ATMEGA128單片機的自動準同期裝置設計
前言
本文引用地址:http://butianyuan.cn/article/170593.htm自動準同期裝置在電力系統(tǒng)并網(wǎng)中有著十分重要的作用。本文采用ATMEGA128單片機為處理器,開發(fā)一種主要用于機組同期操作的自動準同期裝置,該裝置能自動檢測系統(tǒng)側(cè)和對象側(cè)的壓差、頻差和相差,進行同期操作。如果采用一個同期點配備一個裝置的方式,則能大大提高整個系統(tǒng)的同期可靠性。
1 系統(tǒng)的總體設計和硬件框圖
作為準同期裝置,首先必須要準確地測量系統(tǒng)側(cè)和待并側(cè)的同期參數(shù)。也就是精確測量兩側(cè)的電壓、頻率,以及相位差。在這個基礎上,裝置要進行準確的同期動作以及和上位機的通信。因此,系統(tǒng)的硬件設計和軟件流程圍繞這三個方面展開。為了減少干擾和便于操作,硬件分為CPU板、信號板和顯示按鍵板。下面的硬件框圖清楚地表示了三者之間的連接關系和信號的流動情況。
圖1 系統(tǒng)硬件框圖
單片機89C58主要負責識別和保存按鍵值(中斷方式),以及直接驅(qū)動LCD。
Atmega128單片機有兩個串行口,通過串口0和89C58通訊,通過串口1和上位機進行數(shù)據(jù)交換。
2 頻率、電壓和相差的計算
ATMEGA128單片機的定時器1和定時器3具有輸入捕獲的功能。因此頻率(周期)的計算可以完全依賴硬件來實現(xiàn)。只需要設計一個轉(zhuǎn)換電路將正弦波變換成為方波即可。方波兩個上升沿(或下降沿)之間的時間間隔即是系統(tǒng)側(cè)或?qū)ο髠?cè)的周期,這樣就可以準確地測量出周期。注意,定時器1和定時器3中的計數(shù)值盡量不要采用軟件清零。筆者剛開始的思路是每隔一次輸入捕獲中斷將TCNT1或TCNT3的值清零,然后下一次的計數(shù)值乘以計數(shù)間隔時間就是系統(tǒng)側(cè)或是對象側(cè)周期長度。但是這樣的辦法很容易受到其他中斷的影響。當外部事件發(fā)生的時候(上升沿或下降沿來到),硬件自動將計數(shù)值捕捉到相應的捕獲寄存器,但如果此時有更高級中斷同時到來的話,就必然會推遲一會才可以進入輸入捕獲中斷程序,則軟件必然會推遲清零,因此所測的周期會偏小、頻率會偏大。特別是當更高優(yōu)先級的中斷程序執(zhí)行時間較長時,所測周期根本無法使用。正確的做法是:在初始化時將定時器1和定時器3按照同樣的分頻系數(shù)同時開放,然后就不要對這兩個定時器進行清零或其他操作。對于這兩個16位定時器的溢出問題,可以通過在定時器1和定時器3的溢出中斷程序中設置分別的溢出標志來解決。本裝置所設計的波形轉(zhuǎn)換電路如圖2 所示。VAA1為對象側(cè)或系統(tǒng)側(cè)經(jīng)過初步處理的交流信號。
圖 2
評論