摘要:變壓器制造行業(yè)及用電企業(yè)經(jīng)常需要高精度,準(zhǔn)確測量電力變壓器直流電阻的儀器。文章介紹了一種基于32位微控制器LPC2106測量變壓器直流電阻的測試方法。該系統(tǒng)中設(shè)計(jì)了豐富的外圍接口,采用了基于μC/OS-II操作系統(tǒng)的應(yīng)用程序?qū)Σ蓸訑?shù)據(jù)進(jìn)行處理,系統(tǒng)的硬件電路由核心處理器、恒流源模塊、模數(shù)轉(zhuǎn)換模塊等組成。
關(guān)鍵詞:LPC2106;μC/OS–II;電阻
中圖分類號:TP202文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)35-2315-02
Designing the Direct Current Resistance Tester with the LPC2106
DU Ting-long, PAN Jin, LI Guo-peng, LI Bo
(Lab of Network Security and Countermeasure, Xi'an Communication, Xi'an 710106, China)
Abstract: This paper puts forward how to design a direct current resistance tester of the transformer and this tester is based on a 32 bit MCU named LPC2106. The author employs a operation system named μC/OS–II to deal with the sampling data and external exports drivers. Design and realization of the hardware circuitry and the software processing flow chart are also accomplished in this paper. The broad application in modern transformer manufacturing illustrates its accurate and distinguishable performance.
Key words: LPC2106; μC/OS–II; resistance
1 引言
變壓器繞組的直流電阻測試是變壓器在交接、大修和改變分接開關(guān)后的一個重要項(xiàng)目。本系統(tǒng)設(shè)計(jì)的變壓器直流電阻測試儀可適用于發(fā)供電單位、變壓器制造行業(yè)及大中型用電企業(yè)等單位,能真實(shí)地判斷電力變壓器的空載電流,空載損耗,阻抗電壓和負(fù)載損耗,能夠準(zhǔn)確的測量電力變壓器直流電阻,溫升,實(shí)施狀態(tài)診斷以及檢查設(shè)備的導(dǎo)電回路有無接觸不良、焊接不良、線圈故障以及接線錯誤等缺陷。
該測試儀采用了32位的單片機(jī)作為處理器,使用獨(dú)特科學(xué)的算法進(jìn)行數(shù)據(jù)的運(yùn)算和處理,模數(shù)轉(zhuǎn)換模塊采用了高精度快速A/D轉(zhuǎn)換器,操作簡單,攜帶方便,電流大,測試速度快,精度高,復(fù)測性好,抗干擾能力強(qiáng),自動完成穩(wěn)流判斷、數(shù)據(jù)采集處理和阻值顯示,能夠快速準(zhǔn)確完成變壓器直流電阻的測量,使測量時間大大縮短。
2 直阻測試儀的硬件組成
2.1 系統(tǒng)工作原理
本系統(tǒng)主要的控制處理核心為32位微控制器LPC2106。前端模擬信號處理部分由恒流源電路,測試電阻、A/D轉(zhuǎn)換模塊、程控放大電路和放電模塊組成。本系統(tǒng)外圍接口電路由按鍵輸入、LCD顯示以及微型打印機(jī)接口等組成。其硬件電路結(jié)構(gòu)如圖1所示。程控放大電路首先將參考電阻和測試電阻端的電壓值進(jìn)行程控放大,然后經(jīng)過A/D模塊轉(zhuǎn)換成數(shù)字信號,最后由LPC2106利用內(nèi)部的軟件數(shù)據(jù)處理算法得到實(shí)際的電阻值,并在LCD上顯示。測試電阻的量程可以通過按鍵進(jìn)行切換。本系統(tǒng)設(shè)計(jì)了4個測量量程,當(dāng)恒流源電流值分別為0.1A、1A、10A、20A時,電阻測量范圍為:0~200Ω,其分辨率達(dá)到0.01μΩ。
2.2 系統(tǒng)的硬件結(jié)構(gòu)
LPC2106是PHILPS公司推出的一款高性能32位微處理器。它基于一個支持實(shí)時仿真和跟蹤的ARM7TDMI-S內(nèi)核,帶有128KB的高速Flash存儲器并具用ISP和IAP功能,128位寬度的存儲器接口和獨(dú)特的加速結(jié)構(gòu),采用3級流水線技術(shù),CPU最高頻率可達(dá)60MHz。LPC2106的集成度高,具用豐富的片內(nèi)資源:32個I/O引腳、雙路UART,I2C串行接口、SPI串行接口、6路PWM通道、4路捕獲/比較通道。這些特點(diǎn)使得其廣泛應(yīng)用于那些小型化的工業(yè)控制領(lǐng)域。
2.2.1 恒流源電路的設(shè)計(jì)
常見的恒流源電路方案有:脈沖調(diào)寬式、線性負(fù)反饋方式等。本系統(tǒng)采用一個獨(dú)立的線性負(fù)反饋恒流源電路,如圖2所示。高精密集成運(yùn)算放大器OP06DA和三極管進(jìn)行擴(kuò)流,是恒流源的核心部件。差分運(yùn)放把負(fù)端采樣電壓與正端的數(shù)控部分設(shè)定電壓的差值進(jìn)行放大,輸出到調(diào)整器的調(diào)整端,形成閉環(huán)反饋。DAC輸入通過運(yùn)放恒定電壓,起到恒流的作用,由達(dá)林頓管構(gòu)成共基,這樣可以形成很高的輸出阻抗,起到恒流和擴(kuò)流的目的。但是本電路對電阻R1的精度和溫度穩(wěn)定性以及基準(zhǔn)電壓源的穩(wěn)定性要求較高。
2.2.2 模數(shù)轉(zhuǎn)換電路的設(shè)計(jì)
A/D轉(zhuǎn)換電路采用低功耗雙通道的12位AD7992實(shí)現(xiàn)。AD7992的最大轉(zhuǎn)換速率可達(dá)到188KSPS,其通過IIC接口與外圍電路進(jìn)行連接。標(biāo)準(zhǔn)電阻和待測電阻兩端的電壓值,經(jīng)過程控放大后,由AD9772的兩個模數(shù)轉(zhuǎn)換模塊進(jìn)行模數(shù)轉(zhuǎn)換,最后LPC2106采用相應(yīng)的數(shù)據(jù)處理后,得到相應(yīng)的待測電阻的電阻值。
3 直流電阻測試儀的軟件設(shè)計(jì)
軟件部分主要由系統(tǒng)層和應(yīng)用層組成。系統(tǒng)層設(shè)計(jì)首先是進(jìn)行嵌入式操作系統(tǒng)內(nèi)核的移植,再對內(nèi)核擴(kuò)展形成一個簡單、高效的操作系統(tǒng)。應(yīng)用層設(shè)計(jì)是在操作系統(tǒng)的基礎(chǔ)上進(jìn)行信號采集任務(wù)、鍵盤掃描任務(wù)、顯示任務(wù)、通信任務(wù)、數(shù)據(jù)計(jì)算和分析任務(wù)、時間讀取和時段判斷任務(wù)、報警任務(wù)的設(shè)計(jì)。邏輯上,軟件和硬件之間有BSP(板極支持包)形成過渡。μC/OS-II系統(tǒng)移植到LPC2106嵌入式處理器上,需將系統(tǒng)所要完成的功能化為幾個核心任務(wù),由μC/OS-II進(jìn)行調(diào)度,實(shí)現(xiàn)多任務(wù)的并行執(zhí)行。按照系統(tǒng)所要實(shí)現(xiàn)的功能,整個系統(tǒng)被化為幾個并行存在的任務(wù)。占先式操作系統(tǒng)對任務(wù)的調(diào)度是按優(yōu)先權(quán)的高低進(jìn)行的,將系統(tǒng)的所有任務(wù)按其優(yōu)先級從高到低順序排列依次是:系統(tǒng)監(jiān)控任務(wù)、鍵盤掃描任務(wù)、顯示任務(wù)、通信任務(wù)、數(shù)據(jù)計(jì)算和分析任務(wù)、時間讀取和時段判斷任務(wù)、報警任務(wù)。數(shù)據(jù)采集任務(wù)放到定時器中斷程序中執(zhí)行。其中,系統(tǒng)監(jiān)控任務(wù)用來監(jiān)視除系統(tǒng)監(jiān)控任務(wù)之外的其它任務(wù)。當(dāng)被監(jiān)視任務(wù)在執(zhí)行過程中出現(xiàn)錯誤時,系統(tǒng)監(jiān)控程序?qū)凑疹A(yù)先設(shè)定的處理表進(jìn)行處理,使出錯的任務(wù)恢復(fù)正常運(yùn)行,提高了系統(tǒng)運(yùn)行的可靠性。
3.1 μC/OS-II簡介
μC/OS-II是一個源碼開放的實(shí)時多任務(wù)操作系統(tǒng)內(nèi)核,有可移植、可固化、可裁剪的特點(diǎn)。功能強(qiáng)大,可以管理64個任務(wù),是一個可剝奪式內(nèi)核,持信號量、郵箱、消息隊(duì)列等多種常用的進(jìn)程間通信機(jī)制,該系統(tǒng)的安全性和穩(wěn)定性已經(jīng)得到很多行業(yè)的實(shí)踐證明,是一種執(zhí)行效率高、占用空間小、實(shí)時性能優(yōu)良、可擴(kuò)展性強(qiáng)的嵌入式實(shí)時操作系統(tǒng)。
3.2 μC/OS-II在LPC2106的移植
μC/OS-II實(shí)際上可以看作是一個多任務(wù)的調(diào)度器,并提供了和多任務(wù)調(diào)度相關(guān)的一些系統(tǒng)服務(wù)。除與系統(tǒng)硬件有關(guān)的代碼要需要依據(jù)特定處理器結(jié)構(gòu),使用匯編語言實(shí)現(xiàn)外,其余部分都采用C語言編寫。μC/OS-II在LPC2106的移植工作主要包括對3個與體系結(jié)構(gòu)相關(guān)文件的修改,具體如下:
3.2.1 OS_CPU.H
OS_CPU.H文件中包括了用#define語句定義的,與處理器相關(guān)的常數(shù)、宏以及類型。根據(jù)具體的處理器和編譯器需要重寫。主要修改有數(shù)據(jù)類型的重新定義,堆棧單位和增長方向的設(shè)定,以及開關(guān)中斷的宏定義和任務(wù)切換的宏定義。在LPC2106中用EA=0關(guān)中斷、EA=1開中斷來實(shí)現(xiàn)。這樣避免了退出臨界區(qū)后關(guān)中斷造成的程序阻塞。
3.2.2 設(shè)置OS_CPU_C.C
在OS_CPU_C.C中編寫6個操作系統(tǒng)相關(guān)的函數(shù),任務(wù)堆棧初始化OSTaskSt2k Init(),系統(tǒng)hook函數(shù): OSTaskCreateHook() ,OSTaskDelHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook()。
μC/OS-II在任務(wù)創(chuàng)建時要調(diào)用堆棧初始化程序來給出任務(wù)的上下文堆棧。根據(jù)LPC2106的體系結(jié)構(gòu)特點(diǎn),將堆棧設(shè)計(jì)為一個固定結(jié)構(gòu)。系統(tǒng)調(diào)用系統(tǒng)函數(shù)OSTaskStkInit()來初始化堆棧。進(jìn)行任務(wù)堆棧初始化的目的是為了初始化任務(wù)的堆棧,并返回新的堆棧STK,STK保存在任務(wù)的任務(wù)控制塊OS_TCB中。
3.2.3 OS_CPU_A.ASM
OS_CPU.ASM中需要修改4個與LPC2106相關(guān)的函數(shù)。OSStartHighRdy():啟動就緒態(tài)任務(wù)中優(yōu)先級最高的任務(wù)開始執(zhí)行,此后的多任務(wù)切換由下面兩個函數(shù)完成。OSCtxSw():任務(wù)級的上下文切換函數(shù),切換任務(wù)后,恢復(fù)其CPU寄存器現(xiàn)場,完成任務(wù)切換。OSIntCtxSw():它是中斷級的任務(wù)切換函數(shù),被OSIntExit()調(diào)用,在ISR中執(zhí)行中斷任務(wù)切換。它調(diào)整SP指針去掉在調(diào)用OSIntExit(),OSIntCtxSw()過程中壓入堆棧的多余內(nèi)容。OSTick ISR():時鐘中斷處理函數(shù),不需要保存當(dāng)前任務(wù)CPU現(xiàn)場,調(diào)度一個就緒的更高優(yōu)先級的任務(wù),直接進(jìn)行任務(wù)切換,從而保證系統(tǒng)的實(shí)時性能。
完成以上3個文件修改后,μC/OS-II就可以運(yùn)行在LPC2106處理器上。
3.3 系統(tǒng)軟件處理流程
系統(tǒng)完成μC/OS-II在LPC2106的移植工作后,便可以進(jìn)行系統(tǒng)的軟件處理任務(wù)。系統(tǒng)軟件處理任務(wù)流程如圖3所示。首先系統(tǒng)經(jīng)過硬件電路的上電復(fù)位,直流電阻測試儀的系統(tǒng)硬件對LPC2106內(nèi)部的各寄存器和外圍電路進(jìn)行硬件參數(shù)的初始化任務(wù);隨之進(jìn)行μC/OS–II操作系統(tǒng)的初始化工作,然后創(chuàng)建任務(wù),并將任務(wù)的中斷打開,啟動任務(wù)調(diào)度功能。在本系統(tǒng)中測量直流電阻的任務(wù)調(diào)度具體可以劃分為以下幾個方面:鍵盤輸入;數(shù)據(jù)采集;數(shù)據(jù)處理;數(shù)據(jù)存儲;顯示任務(wù);系統(tǒng)報警等。
μC/OS-II上運(yùn)行的任務(wù)首先在主函數(shù)中創(chuàng)建。由于μC/OS–II系統(tǒng)的中斷管理功能可以使正在執(zhí)行的任務(wù)暫時掛起,所以在主函數(shù)中創(chuàng)建完任務(wù)后,系統(tǒng)就會根據(jù)優(yōu)先級去調(diào)用。
4 結(jié)束語
文章分析了變壓器直流電阻測試儀實(shí)現(xiàn)的原理并給出了利用嵌入式操作系統(tǒng)μC/OS-II軟件和LPC2106處理器硬件平臺的設(shè)計(jì)與實(shí)現(xiàn)過程。同時還詳細(xì)闡述了μC/OS-II移植到LPC2106上的技術(shù)要點(diǎn),測試表明該系統(tǒng)不僅能夠達(dá)到測量功能,而且可以實(shí)現(xiàn)多量程測量和高速數(shù)據(jù)采集。
參考文獻(xiàn):
[1] 任志斌,許倫輝,朱俊林.μC/OS-II在LPC2106上的移植[J].電子技術(shù)應(yīng)用,2004,19:186-187.
[2] 姜巍青,毛承雄.基于DSP的變壓器直流電阻的消磁動態(tài)法測試研究[J].電子工程世界,2006,9:24-25.
[3] 盧彬,吳勇,游宇.基于Blacfin DSP的虛擬數(shù)字萬用表設(shè)計(jì)與實(shí)現(xiàn)[J].虛擬儀器技術(shù),2007,9:71-73.
[4] 李海霞,吳文帥.LPC210X系列ARM7-TDMI產(chǎn)品及其應(yīng)用[J].電子設(shè)計(jì)應(yīng)用,2007,10:90-91.