摘要:簡要介紹智能勵磁功率柜的概念及c8051f041單片機的特點;詳細論述基于c8051f041的智能勵磁功率柜的結構、原理及can總線通信的實現方法。該控制方案系統集成度高、硬件簡單、工作可靠,具有良好的推廣價值。
關鍵詞:c8051f041 can 現場總線 勵磁
隨著發電機容量的不斷增大,對勵磁系統的要求越來越高。某省12年的統計表明,勵磁系統故障仍是發電機故障停機和非計劃停運的主要原因,占發電機的非計劃停運比大于50%。勵磁系統出現故障,將影響發電系統整體可靠性,可見勵磁系統的可靠性非常重要。國內目前使用的各類勵磁調節器非常先進,但功率柜的制造水平還不盡如人意,這勢必影響勵磁系統整體性能的提高,進而妨礙升發電系統的性能。
目前,國產的勵磁功率柜普遍存在檢測功能不全,信息傳送、控制和檢測技術落后等問題。本文介紹的基于c8051f041的智能勵磁功率柜具有完備的檢測、控制、通信功能。
1 c8051f041單片機特點
c8051fxx系列單片機是美國cygnal公司新推出的一種兼容51內核的單片機。其結構較復雜,限于篇幅,在這里不再詳述。以下僅就筆者對c8051f041的使用介紹一下其新特點。
①內核采用流水線結構,速度可達25mips(25mhz晶振),比普通的51快10倍;指令與標準51系列兼容,掌握開發過程非常容易;jtag調試方式,支持在系統、全速、非插入調試和編程,不占用片內資源。
②片上集成64kb flash,4352b內部ram(256 4kb,可外擴至64kb),32個i/o口,12通道12位100ksps可編程增益adc,8通道8位500ksps可編程增益adc,2路12位dac,3路模擬比較器,內部電壓基準,片內電源監視、降壓檢測、看門狗。由于c8051f041的高集成度,避免了外擴rom、ram、a/d、d/a、watchdog、可編程i/o口、eeprom(用片內flash實現),大大簡化了硬件電路,為形成以c8051f041為核心的單片系統創造了條件,從而可提高系統的可靠性。
③片內集成2個uart,1個sm(兼容i2c),1個spi。最為便利的是,c8051f041集成了can總線控制器。can總線具有開發費用低、抗干擾性強、適用于工業現場應用等特點,其在干擾非常嚴重各種工業現場測控領域得到廣泛應用。c8051f041只需加上can總線收發電路就可掛接到can通信網絡上,大大簡化了通信系統的設計,同時可減少通信節點受到干擾的概率。
④可編程的16位計數器陣列(pca),有6個捕捉/比較模塊,5個通用16位計數器/定時器。這為需求定時器/計數器較多的測控節點提供了方便。
⑤c8051f041能夠滿足絕大多數工業測控節點的要求,能夠形成以c8051f041為核心的單片系統;配以外圍測量單元,可以形成完整的測控節點,提高系統的可靠性。
2 智能勵磁功率柜的系統結構
智能功率柜系統原理框圖如圖1所示。在功率柜中最關鍵的部件是三相全控橋。控制此橋的核心參數觸發角度經can總線由調節器送出,同時送達本地柜應發的電流值。經檢測得到的輸出電流值與調節器的應發給定電流值進行比較,完成pi運算后產生新的微調觸角度。該觸發角度經pca形成觸發脈沖繼而驅動三相全控橋,從而在電子級實現柜間均流。與此同時,通過信號檢測模塊將柜內溫度、晶閘管通斷狀態、輸出電流值送入微控制器,對各參數進行計算分析,與設定閥值比較,實時顯示測量結果并可進行報警。
2.1 基于pca模塊實現的數字移相觸發
三相晶閘管全控橋工作原理及6個晶閘管的觸發脈沖相序關系如圖2所示。
pca包含6個基于同一16位計數器作為時基的捕捉/比較模塊,每個模塊可構成正沿捕捉、負沿捕捉、正負沿捕捉、軟件定時器、高速輸出、脈沖寬度調制器6種方式。在本系統中,其被構造成高速輸出模式,每當pca計數器與模塊的16位捕捉/比較寄存器相匹配,相應模塊的cex引腳的邏輯電平發生變化,并引起相應中斷。
觸發信號從同步信號過零點計時,調節器經can網絡發送給各功率框觸發我的電角度值α、同步信號周期值tsyn、脈沖寬度w。同步信號采樣電路如圖3所示。同步信號過零產生中斷時,使pca計數器開始計數,并根據α、w、tsyn及pca計數頻率計算出α的對應值tα1~tα6和脈沖后沿的對應值tw1~tw6,并將tα1~tα6寫入6個模塊的16位捕捉/比較寄存器。當捕捉寄存器的值與pca計數器相符時,cex引腳變為高電平,相應模塊產生中斷。在中斷子程序中相應的twn讀寫入16位捕捉/比較寄存器,其與pca計數器值相符時,cex引腳變為低電平,一路觸發單脈沖產生,用門電路可將6路單脈沖合為6路雙窄脈沖。下式為tα和tw計算方法:
tαn=tsyn[α 90(n-1)]/(360×tclk)
twn=tsyn[α w 90(n-1)]/(360×tclk)
n=1,2,…,6,tclk為pca計數器計數周期。
2.2 通過片內flash在線修改參數
c8051f041的flash的0x0000~0x007f的地址范圍既可用于片內64kb flash,也可用于附加的128b的扇區,這通過設置psctl寄存器的sfle位實現。由于片內flash必須先擦除再寫入,而且以512b一扇區進行,故附加的128b的扇我更適合用作非易失性數據存儲。功率柜需在線修改的參數為pi調節器的p和i。下面以keil c51為例給出在線修改參數的程序。
wrre_flash(){
unsigned int xdata *pwrite;
unsigned int code *pread;
unsigned char i;
unsigned char il;
wdtch=0xde; //禁止看門狗
wdtcn=0xad;
flscl|=0x09; //25mhz時鐘的擦寫頻率
psctl|=0x02; //允許flash扇區擦除
psctl|=0x05; //允許flash扇區寫
pwrite=0x0000; //0x0000指向128b扇區
*pwrite=0; //擦除flash
psctl&=~0x02; //禁止擦除flash
for(i=0;i<2;i ) //將p和i參數寫入
{*pwrite =pi[i];}
psctl&=~0x01; //禁止寫flash
pread=0x0000; //讀入當前值
for(il=0;il<2;il ){pi[il]=*pread ;}
}
3 can總線在勵磁裝置中的應用
can總線是主要的現場總線之一。由于其較低的開發費用、良好的抗干擾能力等特點,其在工業測控領域得到廣泛應用。關于can總線的基本概念、接口電路等方面的相關內容較多,這里不再詳述。本文重點介紹如何用c8051f041實現can總線通信。
3.1 c8051f041的can控制器結構
c8051f041內部集成can控制器,不需外加can控制器(如sja1000),這對于需要良好抗干擾性的測控系統有很大好處;可將c8051f041構成為集通信與控制功能于一體的單片系統,大大簡化硬件設計,進而提高系統抗干擾能力。
圖4給出c8051f041內部can結構圖,mcu不能直接訪問信息ram,必須通過if寄存器,然后由if寄存器與信息ram交換數據。信息ram共可存32幀信息,if寄存器分為if1和if2兩組,可分別定義為接收、發送功能,if的commandrequest寄存器定義訪問32幀信息的哪一幀,commandmask定義將一幀信息的哪一部分傳到信息ram。
中斷寄存器ir為0x0000,表示沒有斷發生;為0x0001~0x0020,表示32幀信息的哪一幀引腳中斷;為0x8000,表示狀態改變(發送完成、接收完成、錯誤狀態)引起中斷。
3.2 can通信
通信的初始化過程與其它can控制器類似,不再詳述。限于篇幅僅給出如圖5所示的發送、信息ram與if通信和接中斷子程序的框圖。
3.3 can總線在智能功率柜中的應用
can通信系統由4個節點組成:1個調節器和3個功率柜。功率柜由c8051f041完成通信功能,調節器由集成了can協議的網卡ht-1302b負責通信。本系統由帶屏蔽層的雙絞線構成通信介質,最大通信距離不超過150m,通信速率可達250kbps。調節器發送單柜應發電流值、觸發角、同步信號周期、脈沖寬度給各功率柜,功率柜將各柜輸出電流值、導通監視結果、柜內各點溫度反饋回調節器。
4 應用中的問題
①在默認中斷順序中,can的中斷號高于int1(優先級低),應將can設為高中斷優先級使其高于int1,這樣才能有正確的觸發角度。
②在線修改參數時,讀、寫指針的數據類型應分為code、xdata,擦除、寫入flash后應分別立即禁止擦除、禁止寫入,參數寫入后應將參數再讀入ram中。
③總線定時寄存器的設置極大影響了can性能的發揮。應用中,我們采用16mhz晶振,btr為1c01h,通信速率為250kbps,兩點間最大通信距離為150m,通信效果很好。
④新推出的c8051c06x除具有c8051f04x的功能外,新增了16位adc。這為需高精度測量的應用場合提供了方便。