摘要:設計了一種基于ARM處理器和μC/OS II的嵌入式電機" title="電機">電機電物理量采集" title="物理量采集">物理量采集系統(tǒng):該系統(tǒng)選用低噪聲低功耗芯片,,對模擬電路進行信號調(diào)理和高速采集,;采用高性能工業(yè)級ARM" title="ARM">ARM微處理器(S3C2410一S),結(jié)合軟件算法進行實時數(shù)字信號處理.實驗結(jié)果表明該系統(tǒng)具有體積小,、重量輕,、功耗低、精度較高,、實時性好等優(yōu)點,,能有效的采集電機電流、電壓信號,,進而使上位機能更方便的進行電機電物理量分析.
引言
自19世紀發(fā)明發(fā)電機和電動機以來,,由于電能應用方便,電動機的性能優(yōu)良,,便于控制,,使用與操作簡單,從而得到了迅速普及,,應用范圍越來越廣.然而,,由于電機運行機制復雜,長期處于高速運轉(zhuǎn)和高電壓,、強磁場環(huán)境之下,,運行環(huán)境惡劣,要求電機設備不出故障是不現(xiàn)實的,,絕對安全可靠的電機設備也是根本不存在的l1J.因此,,我們只能從預防故障和減少損失的角度出發(fā),及時發(fā)現(xiàn)電機的異常,,掌握設備的運行狀態(tài).對已經(jīng)形成的或正在形成的故障進行分析診斷,,判斷故障的部位和產(chǎn)生的原因,并及早采取有效的措施,,防患于未然.這就需要我們能實時的精確的采集電機在運行中的各種物理量,,進而進行有效的分析、判斷故障.傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)多以8/16位單片機構(gòu)成控制系統(tǒng),,其硬件電路較復雜,,集成度較低,,設計和調(diào)試難度較大,不太方便系統(tǒng)升級.傳統(tǒng)的前后臺式的軟件設計方法限制了硬件系統(tǒng)功能的充分發(fā)揮,,影響了系統(tǒng)的實時性與穩(wěn)定性.筆者從ARM9來人手,,借鑒了一些新的測試方法,并應用ADS1.2設計出一套電機電物理量采集系統(tǒng).
1 系統(tǒng)簡介
本系統(tǒng)設計采集電機的電壓,、電流2個物理量.其中電流3相都要采集.電物理量采集系統(tǒng)的設計關鍵在于A/D轉(zhuǎn)換的環(huán)節(jié).A/D轉(zhuǎn)換器是模擬信號源和CPU之間聯(lián)系的接口,,它的任務是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以便計算機和數(shù)字系統(tǒng)進行處理,、存儲,、控制和顯示.在工業(yè)控制和數(shù)據(jù)采集及許多其他領域中,A/D轉(zhuǎn)換是不可缺少的.A/D轉(zhuǎn)換器有以下類型:逐位比較型,、積分型,、計數(shù)型、并行比較型,、電壓一頻率型.主要應根據(jù)使用場合的具體要求,,按照轉(zhuǎn)換速度、精度,、價格,、功能以及接口條件等因素決定選擇何種類型.本系統(tǒng)的ARM采用三星公司的S3C2410一S,,其擁有8路10位A/D轉(zhuǎn)換器,,最大轉(zhuǎn)換率為500 KPSO1.S3C2A-10一S的A/D轉(zhuǎn)換器能接受電壓范圍為0—3.3 V,但電機電信號是成正弦波的圖像分布的,,超出了A/D轉(zhuǎn)換器能接受的電壓范圍.所以設計前端調(diào)理電路將電信號的正弦波整體向上抬高,。使之范圍控制在0—3.3 V.然后將電信號輸出到A/D轉(zhuǎn)換器.最后經(jīng)CPU的處理將采集到的數(shù)據(jù)從串口傳送給計算機.進計算機可以對電機物理量進行相應的分析.
2 系統(tǒng)設計
2.1 硬件設計
該系統(tǒng)主要由前端調(diào)理電路、CPU集成電路和計算機組成.基本結(jié)構(gòu)如圖1所示
其中由于S3C2410一S的A/D轉(zhuǎn)換器能接受電壓范圍為O~3.3 V,,但電機電信號是成正弦波的圖像分布的.所以前端調(diào)理電路設計將電信號的正弦波負半軸對稱折到x軸上方,,使之范圍控制在0-3.3 V.產(chǎn)生波形如圖2所示.
同時電路里產(chǎn)生一個方波信號.當波形屬于被翻上去的部分時方波處于低電平,其他時候處于高電平.以此方波信號在上位機來還原波形.CPU集成電路包括直流穩(wěn)壓電源電路,、A/D電路,、主CPU電路和串口電路.A/D電路接受從轉(zhuǎn)換電路送過來的模擬信號,然后轉(zhuǎn)換成ARMCPU能接受的數(shù)字信號.經(jīng)過處理后從串口電路傳送給上位計算機.
2.2 軟件設計
2.2.1 μC/OS II操作系統(tǒng)的移植
μC/OS II提供的僅僅是一個任務調(diào)度的內(nèi)核,,要想實現(xiàn)一個相對完整,,實用的嵌入式實時多任務操作系統(tǒng),還需要相當多的擴展性的工作,,主要包括:建立文件系統(tǒng)(本系統(tǒng)以Flash為存儲介質(zhì),,建立文件和目錄)、為外部設備建立驅(qū)動程序并規(guī)范相應的API函數(shù)創(chuàng)建圖形用戶接口(GUI)函數(shù),、建立其他實用的應用程序接口(API)函數(shù)等.本系統(tǒng)中基于μC/OS II內(nèi)核的RTOS軟件系統(tǒng)總體框圖如圖3所示.
2.2.2 應用程序的設計
該程序采用ADS1.2結(jié)合c語言來設計.首先是系統(tǒng)初始化,,根據(jù)ARM芯片固有的功能和特征,進行主程序的入口設置,所用寄存器清零,,程序ROM區(qū)和數(shù)據(jù)RAM區(qū)的初始化,,中斷矢量設置等主程序運行前的準備工作.以及檢查系統(tǒng)電源,監(jiān)視芯片上電后的ARM芯片內(nèi)的硬件運行情況.當ARM芯片運行正常后,,進人數(shù)據(jù)采集軟件的主程序運行.流程圖如圖4所示.
1)AD數(shù)據(jù)采集.A/D轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式來訪問,,如果是用中斷方式,全部的轉(zhuǎn)換時間(從A/D轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長,,因為中斷服務程序返回和數(shù)據(jù)的訪問的原因,,所以采用查詢方式不斷檢測ADCCONt3j(轉(zhuǎn)換結(jié)束標志位)來確定從ADCDAT寄存器讀取的數(shù)據(jù)是否是最新的轉(zhuǎn)換數(shù)據(jù).
主要代碼有:
#define PRSCVL(20<<6)
#define ADCCON
_
ENABLE_ START(Ox1)
#define STDBM (0x0<<2)
#define PRSCEN(0xl<
void init
_ ADdevice0 //AD設備初始化
{
rADCCON=(PRSCVLlADCCON_ENABLE_STARTISTDBMIPRSCEN);
)
int GetADresuh(int channe1)
{
rADCCON=ADCCON
— ENABLE— START—BYREADI(channel<<3)IPRSCENIPRSCVL,;
while(!frADCCON&ADCCON—FLAG)),; //AD轉(zhuǎn)換結(jié)束
return f0x3ff&rADCDATO); //返回采樣值
}
2)數(shù)據(jù)發(fā)送.異步串行方式是將傳輸數(shù)據(jù)的每個字符一位接一位(例如先低位,、后高位)地傳送.數(shù)據(jù)的各不同位可以分時使用同一傳輸通道,,因此串行I/O 可以減少信號連線,最少用一對線即可進行.接收方對于同一根線上一連串的數(shù)字信號,,首先要分割成位,,再按位組成字符.為了恢復發(fā)送的信息,雙方必須協(xié)調(diào)工作.在微型計算機中大量使用異步串行I/O 方式,,雙方使用各自的時鐘信號,,而且允許時鐘頻率有一定誤差。因此實現(xiàn)較容易.主要代碼有:
int Uart_
Init(int whichUart,,int baud)
{
if(whichUaxt>=NumberOfUartDrv)
return FALSE,;
return serial_
drv[whichUart]->init(baud);
}
int Uart_ SendByte(int whichUart,,int data)
{
if(whichUart>=NumberOfUartDrv)
return FALS E,;
return serial— .drv[whichUart]->write(data);
}
void Uart_
SendString(int whichUart,,char pt)
{
while( pt){
if( pt== \n )
Uart_
SendByte(whichUart,, kr );
Uart
_ SendByte(whichUart,*pt++),;
)
)
void Uart_Prinf(int whichUart,,char fmt,...)
{
va
_ list ap,;
static char string[256],;
va
_ start(ap,fmt);
vsprinf(string,fmt,,ap),;
Uart_
SendString(whichUart,,string);
va
_ end(ap),;
)
3 結(jié)論
采集數(shù)據(jù)分4路,,1路電壓和3路的電流.采集時上位機接收到的數(shù)據(jù)每路每個周期有52個點.既其采樣頻率達到了2 600 Hz.根據(jù)奈奎斯特定理,為了完整的保留原始信號中的信息,,在進行模擬/數(shù)字信號的轉(zhuǎn)換過程中,,要使采樣頻率大于信號中最高頻率2倍. 所以本系統(tǒng)能分析的諧波最高頻率為1.3 kHz,即1-3 kHz/50 Hz:26次諧波.足夠滿足上位機做諧波分析的要求.以S3C2410一S為核心的嵌入式硬件系統(tǒng),,并采用ADS開發(fā)相應的應用程序,,串口方式實現(xiàn)通信,實現(xiàn)了電機物理量的采集,,給上位機分析電機提供了可靠的保障.并且該系統(tǒng)采用的ARM核的微控制器也使之較傳統(tǒng)的系統(tǒng)在可靠性,、體積、功耗,、性價比等方面都具有明顯的優(yōu)勢,,使之有廣泛的應用前景和價值.