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