張福軍,孫艷波,劉坤
(1.黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶163319;2.大慶油田電力集團(tuán)油田熱電廠)
在實(shí)際生活中,三相異步電動(dòng)機(jī)應(yīng)用非常廣泛,沒有它的工作,工廠將無法運(yùn)轉(zhuǎn),大部分商場(chǎng)將停止?fàn)I業(yè),居民生活將受到極大的影響。通常電動(dòng)機(jī)在使用中可能出現(xiàn)故障,比如負(fù)載超過其額定工作范圍、散熱條件較差及電動(dòng)機(jī)本身原因引起的溫度過高、機(jī)械原因或工作失誤造成的缺相等問題。因此為保證電動(dòng)機(jī)的正常工作,減少電動(dòng)機(jī)出現(xiàn)故障的頻率,設(shè)計(jì)一套以C8051F310 單片機(jī)為核心的三相異步電動(dòng)機(jī)三相電流檢測(cè)、存儲(chǔ)、保護(hù)系統(tǒng),能夠避免因各種故障造成電動(dòng)機(jī)和其他設(shè)備的損壞,降低故障引起的經(jīng)濟(jì)損失。
三相異步電動(dòng)機(jī)的工作電流一般較大,無法直接被單片機(jī)采集和處理,須經(jīng)過電流互感器把大電流變?yōu)樾‰娏?,再把電流信?hào)轉(zhuǎn)換為單片機(jī)能夠接收和處理的電壓信號(hào)。圖1 所示為一相電流信號(hào)的處理電路,其他兩相的處理過程類似。
A 相電流經(jīng)過互感器變?yōu)樾‰娏?,互感器只是按照一定的比例降低了電流的幅值,不改變電流的方向,互感器的輸出仍為交流電流信?hào),經(jīng)過一個(gè)電阻轉(zhuǎn)換為交流電壓信號(hào),該信號(hào)加在LM324(U1A)的同相輸入端,集成運(yùn)算放大器U1A 和U1B 組成了整流電路,把交流電壓信號(hào)變?yōu)橹绷麟妷盒盘?hào),供單片機(jī)所用。設(shè)加在U1B 同相端的電壓信號(hào)為ui,輸出電壓信號(hào)為uo,則有如下推理公式:
因此無論互感器輸出電流信號(hào)為正向還是負(fù)向,經(jīng)過兩個(gè)集成運(yùn)算放大器處理后,都變?yōu)檎螂妷盒盘?hào),這個(gè)信號(hào)是連續(xù)的模擬信號(hào),可以被單片機(jī)采集和處理[1]。
圖2 為存儲(chǔ)電路和保護(hù)電路的原理圖,電動(dòng)機(jī)的三相電流經(jīng)過處理后由C8051F310 的P1.7、P1.6、P1.5 三個(gè)引腳進(jìn)入單片機(jī),經(jīng)過軟件運(yùn)算,判斷電動(dòng)機(jī)的運(yùn)行狀態(tài),若出現(xiàn)故障則通過繼電器JXQ14FC停止電動(dòng)機(jī)的工作,防止故障范圍擴(kuò)大。無論電動(dòng)機(jī)是否發(fā)生故障,單片機(jī)都將三相電流的運(yùn)算結(jié)果按照一定的順序存入AT24C512 存儲(chǔ)器中,以備用戶進(jìn)行歷史數(shù)據(jù)的采集。另外,系統(tǒng)采用了兩個(gè)繼電器,完成電動(dòng)機(jī)三相定子繞組的星/角轉(zhuǎn)換,以便克服電動(dòng)機(jī)啟動(dòng)電流很大的弊端[2]。
系統(tǒng)采用的單片機(jī)為美國(guó)Cygnal 公司生產(chǎn)的C8051F 系列中的一款,該類型單片機(jī)有很多優(yōu)點(diǎn),雖然為8 位機(jī),但其處理功能完全滿足本系統(tǒng)的要求。該系列單片機(jī)是一種集成化的混合信號(hào)系統(tǒng)芯片SOC 單片機(jī),具有與MCS-51 單片機(jī)內(nèi)核和指令集完全兼容的微控制器。它除了具有標(biāo)準(zhǔn)的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。CPU能夠有效地管理模擬和數(shù)字外設(shè),可以關(guān)閉單個(gè)或全部外設(shè),以降低功耗。其內(nèi)部的FLASH 存儲(chǔ)器還具有在線編程的能力,應(yīng)用程序可以使用MOVC 和MOVX 指令對(duì)FLASH 存儲(chǔ)器進(jìn)行讀或改寫[3]。
C8051F310 單片機(jī)內(nèi)部具有10 位ADC,最大采樣速率可提供10 位精度,內(nèi)部包含一個(gè)可編程的模擬多路選擇器(AMUX0),用于選擇ADC 的正輸入和負(fù)輸入。P1.0-P3.4 中的任何一個(gè)可以被選擇為正輸入或負(fù)輸入,而片內(nèi)溫度傳感器輸出和正電源(VDD)被選擇為正輸入,GND 被選擇為負(fù)輸入。當(dāng)GND 被選擇為負(fù)輸入時(shí),ADC 工作在單端方式;在所有其他時(shí)間,ADC 工作在差分方式。ADC 的輸入通道由寄存器AMX0P 和AMX0N 選擇。系統(tǒng)采用單端輸入工作方式,通過P1 口的P1.7、P1.6、P1.5 輸入到單片機(jī)的內(nèi)部,然后由多路選擇器選擇需要轉(zhuǎn)換的電動(dòng)機(jī)的相電流。
C8051F310 內(nèi)部包括兩個(gè)ADC,分別為ADC0 和ADC1,系統(tǒng)只用到了ADC0,在實(shí)際應(yīng)用時(shí)需要對(duì)ADC0 進(jìn)行初始化,包括轉(zhuǎn)換時(shí)間、數(shù)據(jù)對(duì)齊方式、控制寄存器和電壓基準(zhǔn)控制寄存器等[4]。初始化的程序設(shè)計(jì)需要根據(jù)各個(gè)寄存器位進(jìn)行設(shè)置,初始化程序如下:
AMX0P=0x07;//正輸入通道選擇寄存器,選擇P1.7 口。
AMX0N=0x1f;//負(fù)輸入通道選擇寄存器,選擇GND,工作在單端方式。
ADC0CF=0x48;//AD0SC 轉(zhuǎn)換時(shí)間為2.45 MHz,系統(tǒng)時(shí)鐘默認(rèn)24.5MHz,數(shù)據(jù)右對(duì)齊。
ADC0CN=0x80;//ADC0 允許,正常方式,向AD0BUSY 寫1 時(shí)啟動(dòng)ADC0。
REF0CN=0x0a;//VDD 為基準(zhǔn)電壓,內(nèi)部溫度傳感器關(guān)閉,內(nèi)部偏壓發(fā)生器工作。
系統(tǒng)外擴(kuò)了數(shù)據(jù)存儲(chǔ)器,能夠定時(shí)存儲(chǔ)單片機(jī)采集的電流數(shù)據(jù),用戶可以通過有線或無線兩種方式得到歷史數(shù)據(jù),利用PC 機(jī)分析電動(dòng)機(jī)的運(yùn)行狀態(tài),分析其綜合性能。數(shù)據(jù)存儲(chǔ)芯片采用Atmel 公司生產(chǎn)的64KB 串行電可擦除的可編程存儲(chǔ)器AT24C512,它是8 引腳封裝,具有結(jié)構(gòu)緊湊、存儲(chǔ)量大等特點(diǎn),可以在2 線總線上并接4 片芯片,特別適用于大容量數(shù)據(jù)存儲(chǔ)要求的數(shù)據(jù)采集系統(tǒng),因此在測(cè)控系統(tǒng)中被大量采用[5]。AT24C512 為I2C 總線,對(duì)I2C 總線的芯片操作時(shí),需滿足統(tǒng)一的操作時(shí)序,圖3 為數(shù)據(jù)傳送時(shí)序圖,圖4 為起始信號(hào)和終止信號(hào)時(shí)序圖。
圖3 數(shù)據(jù)傳送時(shí)序圖Fig.3 Data transfer the timing diagram
圖4 起始信號(hào)和終止信號(hào)時(shí)序圖Fig.4 Start signal and termination signal timing diagram
軟件設(shè)計(jì)中首先定義C8051F310 的引腳連接,P2.0 連接SCL、P2.1 連接SDA,SCL 是傳送數(shù)據(jù)的時(shí)鐘基準(zhǔn)信號(hào)端口,SDA 是數(shù)據(jù)的傳送端口。在軟件設(shè)計(jì)中,通常以子程序的方法進(jìn)行程序設(shè)計(jì),包括初始化程序、起始信號(hào)程序、終止信號(hào)程序、寫地址程序、寫數(shù)據(jù)程序、讀數(shù)據(jù)程序等等,下面為起始信號(hào)程序、終止信號(hào)程序的部分程序[6]。
電動(dòng)機(jī)在運(yùn)行過程中可能出現(xiàn)過載、欠載、短路、斷相等各種故障,如果不及時(shí)停止電動(dòng)機(jī)的工作,可能使故障范圍擴(kuò)大,造成更大的經(jīng)濟(jì)損失,因此設(shè)計(jì)了電動(dòng)機(jī)的保護(hù)電路,系統(tǒng)中采用了2 個(gè)繼電器K1、K2 配合工作,由高耐壓、大電流達(dá)林頓陳列ULN2003 進(jìn)行驅(qū)動(dòng),ULN2003 是由7 個(gè)硅NPN 達(dá)林頓管組成的能夠與TTL 和CMOS 電路直接相連的繼電器驅(qū)動(dòng)器件[7]。由于電動(dòng)機(jī)在啟動(dòng)時(shí)電流很大,如果電動(dòng)機(jī)頻繁啟動(dòng),積累的熱量就比較多,容易損壞電動(dòng)機(jī),另外,也容易被檢測(cè)電路誤判斷,確定為故障電流,造成電動(dòng)機(jī)無法啟動(dòng),因此設(shè)計(jì)了電動(dòng)機(jī)定子繞組的星/角換接啟動(dòng),由繼電器K1 和K2 來完成。
圖5 為電動(dòng)機(jī)三相電流的故障判斷和存儲(chǔ)程序的主程序流程圖,電流的處理過程是A、B、C 的順序,處理過程類似。C8051F310 單片機(jī)的寄存器ADC0H和ADC0L 中保存ADC 轉(zhuǎn)換結(jié)果的高字節(jié)和低字節(jié),具體處理哪相電流由模擬多路選擇器 (AMUX0)的寄存器AMX0P 和AMX0N 來進(jìn)行選擇選擇。單片機(jī)應(yīng)用程序按照模塊化程序設(shè)計(jì)的思想進(jìn)行,包括了主程序模塊、中斷服務(wù)程序模塊及若干個(gè)多次被調(diào)用的子程序模塊[8]。
設(shè)計(jì)了三相異步電動(dòng)機(jī)電流檢測(cè)電路、存儲(chǔ)電路、繼電器保護(hù)電路,闡述了電流檢測(cè)、存儲(chǔ)的基本原理,并設(shè)計(jì)了以單片機(jī)為核心的系統(tǒng)主程序。利用系統(tǒng)框架還可以擴(kuò)展鍵盤電路、顯示電路、數(shù)據(jù)通訊電路及相應(yīng)的輔助電路,設(shè)計(jì)成一套完整的數(shù)據(jù)采集系統(tǒng),適用于采用三相異步電動(dòng)機(jī)工作的多數(shù)場(chǎng)合,既可以了解拖動(dòng)對(duì)象的工況信息,也可以提高系統(tǒng)運(yùn)行的可靠性。
[1] 周澤存.檢測(cè)技術(shù)[M].北京:機(jī)械工業(yè)出版社,1993.
[2] 李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2002.
[3] 郝俊明,段宇程,張玉峰.基于C8051F 單片機(jī)的激光二極管溫控系統(tǒng)[J].激光與紅外,2007,37(3):234-236.
[4] 張迎新,雷文.C8051F 系列SOC 單片機(jī)原理及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2005.
[5] 宋德杰.AT24C02 在單片機(jī)中的應(yīng)用[J].物單片機(jī)開發(fā)與應(yīng)用,2005,4:17-18.
[6] 童長(zhǎng)飛.C8051F 系列單片機(jī)開發(fā)與C 語言編程[M].北京:北京航空航天大學(xué)出版社,2005.
[7] 徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1995.
[8] 吳迪.MSP430F149 單片機(jī)與AT24C512 的接口與應(yīng)用[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,4:53-55.
黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào)2011年5期