《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > ARM處理器設(shè)計(jì)的電機(jī)電物理量采集系統(tǒng)
ARM處理器設(shè)計(jì)的電機(jī)電物理量采集系統(tǒng)
張惠濤,,張海春,,林立忠
摘要: 設(shè)計(jì)了一種基于ARM處理器和μC/OS II的嵌入式電機(jī)電物理量采集系統(tǒng):該系統(tǒng)選用低噪聲低功耗芯片,對模擬電路進(jìn)行信號(hào)調(diào)理和高速采集,;采用高性能工業(yè)級(jí)ARM微處理器(S3C2410一S),結(jié)合軟件算法進(jìn)行實(shí)時(shí)數(shù)字信號(hào)處理.實(shí)驗(yàn)結(jié)果表明該系統(tǒng)具有體積小,、重量輕,、功耗低、精度較高,、實(shí)時(shí)性好等優(yōu)點(diǎn),,能有效的采集電機(jī)電流、電壓信號(hào),,進(jìn)而使上位機(jī)能更方便的進(jìn)行電機(jī)電物理量分析.
關(guān)鍵詞: ARM 電機(jī) 物理量采集
Abstract:
Key words :

摘要:設(shè)計(jì)了一種基于ARM處理器和μC/OS II的嵌入式電機(jī)" title="電機(jī)">電機(jī)電物理量采集" title="物理量采集">物理量采集系統(tǒng):該系統(tǒng)選用低噪聲低功耗芯片,,對模擬電路進(jìn)行信號(hào)調(diào)理和高速采集;采用高性能工業(yè)級(jí)ARM" title="ARM">ARM微處理器(S3C2410一S),結(jié)合軟件算法進(jìn)行實(shí)時(shí)數(shù)字信號(hào)處理.實(shí)驗(yàn)結(jié)果表明該系統(tǒng)具有體積小,、重量輕,、功耗低、精度較高,、實(shí)時(shí)性好等優(yōu)點(diǎn),,能有效的采集電機(jī)電流、電壓信號(hào),,進(jìn)而使上位機(jī)能更方便的進(jìn)行電機(jī)電物理量分析.

引言

    自19世紀(jì)發(fā)明發(fā)電機(jī)和電動(dòng)機(jī)以來,,由于電能應(yīng)用方便,電動(dòng)機(jī)的性能優(yōu)良,,便于控制,,使用與操作簡單,從而得到了迅速普及,,應(yīng)用范圍越來越廣.然而,,由于電機(jī)運(yùn)行機(jī)制復(fù)雜,長期處于高速運(yùn)轉(zhuǎn)和高電壓,、強(qiáng)磁場環(huán)境之下,,運(yùn)行環(huán)境惡劣,要求電機(jī)設(shè)備不出故障是不現(xiàn)實(shí)的,,絕對安全可靠的電機(jī)設(shè)備也是根本不存在的l1J.因此,,我們只能從預(yù)防故障和減少損失的角度出發(fā),及時(shí)發(fā)現(xiàn)電機(jī)的異常,,掌握設(shè)備的運(yùn)行狀態(tài).對已經(jīng)形成的或正在形成的故障進(jìn)行分析診斷,,判斷故障的部位和產(chǎn)生的原因,并及早采取有效的措施,,防患于未然.這就需要我們能實(shí)時(shí)的精確的采集電機(jī)在運(yùn)行中的各種物理量,,進(jìn)而進(jìn)行有效的分析、判斷故障.傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)多以8/16位單片機(jī)構(gòu)成控制系統(tǒng),,其硬件電路較復(fù)雜,,集成度較低,設(shè)計(jì)和調(diào)試難度較大,,不太方便系統(tǒng)升級(jí).傳統(tǒng)的前后臺(tái)式的軟件設(shè)計(jì)方法限制了硬件系統(tǒng)功能的充分發(fā)揮,,影響了系統(tǒng)的實(shí)時(shí)性與穩(wěn)定性.筆者從ARM9來人手,借鑒了一些新的測試方法,,并應(yīng)用ADS1.2設(shè)計(jì)出一套電機(jī)電物理量采集系統(tǒng).

1 系統(tǒng)簡介

    本系統(tǒng)設(shè)計(jì)采集電機(jī)的電壓,、電流2個(gè)物理量.其中電流3相都要采集.電物理量采集系統(tǒng)的設(shè)計(jì)關(guān)鍵在于A/D轉(zhuǎn)換的環(huán)節(jié).A/D轉(zhuǎn)換器是模擬信號(hào)源和CPU之間聯(lián)系的接口,它的任務(wù)是將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),,以便計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行處理,、存儲(chǔ)、控制和顯示.在工業(yè)控制和數(shù)據(jù)采集及許多其他領(lǐng)域中,A/D轉(zhuǎn)換是不可缺少的.A/D轉(zhuǎn)換器有以下類型:逐位比較型,、積分型,、計(jì)數(shù)型、并行比較型,、電壓一頻率型.主要應(yīng)根據(jù)使用場合的具體要求,,按照轉(zhuǎn)換速度、精度,、價(jià)格,、功能以及接口條件等因素決定選擇何種類型.本系統(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,,但電機(jī)電信號(hào)是成正弦波的圖像分布的,超出了A/D轉(zhuǎn)換器能接受的電壓范圍.所以設(shè)計(jì)前端調(diào)理電路將電信號(hào)的正弦波整體向上抬高,。使之范圍控制在0—3.3 V.然后將電信號(hào)輸出到A/D轉(zhuǎn)換器.最后經(jīng)CPU的處理將采集到的數(shù)據(jù)從串口傳送給計(jì)算機(jī).進(jìn)計(jì)算機(jī)可以對電機(jī)物理量進(jìn)行相應(yīng)的分析.

2 系統(tǒng)設(shè)計(jì)

2.1 硬件設(shè)計(jì)

    該系統(tǒng)主要由前端調(diào)理電路,、CPU集成電路和計(jì)算機(jī)組成.基本結(jié)構(gòu)如圖1所示

    其中由于S3C2410一S的A/D轉(zhuǎn)換器能接受電壓范圍為O~3.3 V,但電機(jī)電信號(hào)是成正弦波的圖像分布的.所以前端調(diào)理電路設(shè)計(jì)將電信號(hào)的正弦波負(fù)半軸對稱折到x軸上方,,使之范圍控制在0-3.3 V.產(chǎn)生波形如圖2所示.

 

    同時(shí)電路里產(chǎn)生一個(gè)方波信號(hào).當(dāng)波形屬于被翻上去的部分時(shí)方波處于低電平,,其他時(shí)候處于高電平.以此方波信號(hào)在上位機(jī)來還原波形.CPU集成電路包括直流穩(wěn)壓電源電路,、A/D電路,、主CPU電路和串口電路.A/D電路接受從轉(zhuǎn)換電路送過來的模擬信號(hào),然后轉(zhuǎn)換成ARMCPU能接受的數(shù)字信號(hào).經(jīng)過處理后從串口電路傳送給上位計(jì)算機(jī).

2.2 軟件設(shè)計(jì)

2.2.1 μC/OS II操作系統(tǒng)的移植

   μC/OS II提供的僅僅是一個(gè)任務(wù)調(diào)度的內(nèi)核,,要想實(shí)現(xiàn)一個(gè)相對完整,,實(shí)用的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),還需要相當(dāng)多的擴(kuò)展性的工作,,主要包括:建立文件系統(tǒng)(本系統(tǒng)以Flash為存儲(chǔ)介質(zhì),,建立文件和目錄)、為外部設(shè)備建立驅(qū)動(dòng)程序并規(guī)范相應(yīng)的API函數(shù)創(chuàng)建圖形用戶接口(GUI)函數(shù),、建立其他實(shí)用的應(yīng)用程序接口(API)函數(shù)等.本系統(tǒng)中基于μC/OS II內(nèi)核的RTOS軟件系統(tǒng)總體框圖如圖3所示.

2.2.2 應(yīng)用程序的設(shè)計(jì)

    該程序采用ADS1.2結(jié)合c語言來設(shè)計(jì).首先是系統(tǒng)初始化,,根據(jù)ARM芯片固有的功能和特征,進(jìn)行主程序的入口設(shè)置,,所用寄存器清零,,程序ROM區(qū)和數(shù)據(jù)RAM區(qū)的初始化,中斷矢量設(shè)置等主程序運(yùn)行前的準(zhǔn)備工作.以及檢查系統(tǒng)電源,,監(jiān)視芯片上電后的ARM芯片內(nèi)的硬件運(yùn)行情況.當(dāng)ARM芯片運(yùn)行正常后,,進(jìn)人數(shù)據(jù)采集軟件的主程序運(yùn)行.流程圖如圖4所示.

    1)AD數(shù)據(jù)采集.A/D轉(zhuǎn)換的數(shù)據(jù)可以通過中斷或查詢的方式來訪問,如果是用中斷方式,,全部的轉(zhuǎn)換時(shí)間(從A/D轉(zhuǎn)換的開始到數(shù)據(jù)讀出)要更長,,因?yàn)橹袛喾?wù)程序返回和數(shù)據(jù)的訪問的原因,所以采用查詢方式不斷檢測ADCCONt3j(轉(zhuǎn)換結(jié)束標(biāo)志位)來確定從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設(shè)備初始化

{

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ù)的每個(gè)字符一位接一位(例如先低位,、后高位)地傳送.?dāng)?shù)據(jù)的各不同位可以分時(shí)使用同一傳輸通道,,因此串行I/O 可以減少信號(hào)連線,最少用一對線即可進(jìn)行.接收方對于同一根線上一連串的數(shù)字信號(hào),,首先要分割成位,,再按位組成字符.為了恢復(fù)發(fā)送的信息,雙方必須協(xié)調(diào)工作.在微型計(jì)算機(jī)中大量使用異步串行I/O 方式,,雙方使用各自的時(shí)鐘信號(hào),,而且允許時(shí)鐘頻率有一定誤差。因此實(shí)現(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ī)接收到的數(shù)據(jù)每路每個(gè)周期有52個(gè)點(diǎn).既其采樣頻率達(dá)到了2 600 Hz.根據(jù)奈奎斯特定理,,為了完整的保留原始信號(hào)中的信息,,在進(jìn)行模擬/數(shù)字信號(hào)的轉(zhuǎn)換過程中,要使采樣頻率大于信號(hào)中最高頻率2倍. 所以本系統(tǒng)能分析的諧波最高頻率為1.3 kHz,,即1-3 kHz/50 Hz:26次諧波.足夠滿足上位機(jī)做諧波分析的要求.以S3C2410一S為核心的嵌入式硬件系統(tǒng),,并采用ADS開發(fā)相應(yīng)的應(yīng)用程序,,串口方式實(shí)現(xiàn)通信,實(shí)現(xiàn)了電機(jī)物理量的采集,,給上位機(jī)分析電機(jī)提供了可靠的保障.并且該系統(tǒng)采用的ARM核的微控制器也使之較傳統(tǒng)的系統(tǒng)在可靠性,、體積、功耗,、性價(jià)比等方面都具有明顯的優(yōu)勢,,使之有廣泛的應(yīng)用前景和價(jià)值.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。