王 偉 西安石油大學(xué) 710065
?
基于DSPIC30F4011的直流減速電機(jī)控制研究
王偉西安石油大學(xué)710065
【文章摘要】
介紹了DSPIC30F4011芯片的性能和優(yōu)點(diǎn),重點(diǎn)介紹了芯片QEI模塊的原理及功能。設(shè)計了由DSPIC30F4011為處理器的直流減速電機(jī)速度及位置的檢測與控制,利用由芯片QEI模塊的正交編碼器接口電路以及光電編碼器可以方便的檢測電機(jī)的速度與位置。設(shè)計了相應(yīng)的軟件程序?qū)崿F(xiàn)控制。
【關(guān)鍵詞】
電機(jī)控制;DSPIC30F4011;QEI;光電編碼器
隨著嵌入式系統(tǒng)和單片機(jī)芯片的不斷發(fā)展,嵌入式系統(tǒng)在航天航空,機(jī)器人控制,醫(yī)療機(jī)械控制等領(lǐng)域得到了廣泛應(yīng)用。美國微芯科技公司(Microchip Technology)推出的DSPIC數(shù)字信號控制器擁有數(shù)字信號處理器(DSP)的計算能力以及高數(shù)據(jù)處理能力,其運(yùn)算速度最高可達(dá)30MIPS,并能在工業(yè)級溫度范圍內(nèi)工作。以16位單片機(jī)為核心的DSPIC30F4011有強(qiáng)大功能的外圍設(shè)備和優(yōu)秀的中斷處理能力,是嵌入式設(shè)計的最佳解決方案。這些性能使其成為需要更高精度、更高轉(zhuǎn)速的電機(jī)控制應(yīng)用領(lǐng)域的理想解決方案。除此之外,芯片還可以應(yīng)用在傳感器控制、汽車電子、網(wǎng)絡(luò)連接等領(lǐng)域。
1.1DSPIC30F4011芯片功能簡介
Dspic30f4011采用改進(jìn)的哈佛架構(gòu),擁有24位指令字,工作寄存器由16個16位寄存器構(gòu)成,可以存儲數(shù)據(jù)、地址等。DSP引擎由一個高速17X17位乘法器、40位算術(shù)邏輯單元以及一個40位雙向桶行移位寄存器和兩個40位飽和累加器組成,顯著提高了內(nèi)核運(yùn)算能力和吞吐量。芯片具有2KB數(shù)據(jù)RAM,48KB程序FLASH,除此之外,還包括10位高速模數(shù)轉(zhuǎn)換器模塊,6路PWM可改寫輸出模塊、可用于帶霍爾傳感器電機(jī)的輸入捕捉模塊,以及正交編碼器模塊接口和通用異步收發(fā)器模塊等,使得DSPIC30F4011芯片具有操作簡單,準(zhǔn)確等特性。
1.2QEI模塊原理
光電編碼器用于檢測旋轉(zhuǎn)運(yùn)動系統(tǒng)的位置和速度,可以對多種電機(jī)實(shí)現(xiàn)閉環(huán)控制。典型的觀點(diǎn)編碼器有三路脈沖輸出,分別為A相輸出,B相輸出和索引(INDEX)脈沖相輸出。處理器芯片DSPIC30F4011帶有正交編碼器接口暨QEI(Quadrature Encoder Interface)模塊,QEI模塊有與位置編碼器三相相對應(yīng)的接口。如果A相超前于B相表示電機(jī)正轉(zhuǎn),反之表示反轉(zhuǎn)。
QEI模塊主要包括了3路輸入引腳(QEA,QEB,INDEX相);可編程數(shù)字噪聲濾波器;正交解碼器;16位向上、向下的計數(shù)器等。電機(jī)帶動編碼器旋轉(zhuǎn),產(chǎn)生相對持續(xù)穩(wěn)定的A相,B相和索引脈沖信號,且A相與B相相差1/2T個脈沖。信號通過QEI模塊的正交解碼邏輯,每有一個A相或者B相的上升沿,便使得16位計數(shù)器POSCNT加1或者減1,索引信號用來復(fù)位計數(shù)器的數(shù)值。100脈沖的正交編碼器轉(zhuǎn)一周對應(yīng)的計數(shù)器個數(shù)為0 到399,即計數(shù)器的個數(shù)與電機(jī)轉(zhuǎn)過的角度成比例。所以通過讀取計數(shù)器的數(shù)值,可讀取電機(jī)的角度位置。
根據(jù)DSPIC30F4011芯片QEI模塊的功能,結(jié)合芯片自帶的PWM模塊,可以實(shí)現(xiàn)電機(jī)位置與速度的精準(zhǔn)控制。選用12V,60RPM配有減速箱的直流減速電機(jī),100脈沖的光電編碼器,采用L239B芯片和典型的橋式電路作為電機(jī)的驅(qū)動電路,采用MAX7219芯片顯示電機(jī)當(dāng)前的位置與速度,MAX7219芯片具有8位數(shù)字7段LED顯示功能。
DSPIC30F4011芯片作為核心處理器,QEI模塊的三個輸入引腳與光電編碼器側(cè)面引出的三相A,B,INDEX分別連接。由于芯片的標(biāo)準(zhǔn)電壓是5V,所以光電編碼器的輸出方式采用集電極開路輸出,光電編碼器與直流電機(jī)同軸相連,用聯(lián)軸器緊固。電機(jī)的尾端通過L239B芯片連入PWM模塊,構(gòu)成主要的控制回路。其中核心處理器的QEA,QEB,INDEX引腳作為輸入檢測光電編碼器的脈沖信號,PWMH1、PWML1引腳作為輸出分別與L239B芯片的2號引腳與7號引腳連接,給電機(jī)提供高低電頻并控制電機(jī)的速度。RC1,RC2,RC3端口作為輸出控制MAX7219芯片顯示速度和角度。通過軟件程序調(diào)試,使MAX7219前4位顯示速度,后四位顯示角度,并且實(shí)現(xiàn)閉環(huán)控制。
DSPIC30F4011芯片通過單片機(jī)燒寫器ICD2.5連接到PC端。使用軟件MPLAB IDE V8.70軟件對芯片對程序進(jìn)行燒寫。程序首先初始化QEI模塊和MAX7219芯片,隨后計算電機(jī)的位置和速度,用POSCNST計數(shù)器的值判斷電機(jī)是否達(dá)到預(yù)設(shè)的角度,當(dāng)電機(jī)達(dá)到預(yù)設(shè)角度后停轉(zhuǎn)并顯示角度和速度。通過此程序,可以使電機(jī)以預(yù)定的速度轉(zhuǎn)過預(yù)定的角度。
在初始化QEI模塊中,首先配置QEI的引腳為數(shù)字輸入。設(shè)置索引脈沖復(fù)位位置計數(shù)器即索引脈沖使POSCNT計數(shù)器清0,并設(shè)置工作模式為X4模式,X4模式每遇到一個A相和B相的信號邊沿使POSCNT計數(shù)器加1或者減1,這樣可以獲得更好的分辨率,以及更精確的位置控制。QEI模塊的使能數(shù)字濾波器能過濾光電編碼器上可能出現(xiàn)的干擾,通過計算光電編碼器的最小脈沖寬度(MIN_PULSE)可以求得濾波分頻配置(FILTER_DIV),最小脈沖寬度是由電機(jī)的最大速度確定的,由于采用直流減速電機(jī)的最大速度較小,所以這里采用了最大的256分頻數(shù)。
角位置應(yīng)把位置計數(shù)器的結(jié)果轉(zhuǎn)換為對應(yīng)的角度,根據(jù)QEI模塊的配置信息和光電編碼器的線程數(shù)可以得到分辨率,100脈沖的光電編碼器的分辨率為360°/399=0.9°,根據(jù)這個分辨率,位置計數(shù)器需要從0~399變化成對應(yīng)的角度 ,即POSCNT計數(shù)器的值與角度 的比例系數(shù)為0.9。速度是一個固定時間周期的增量數(shù),通過周期中斷產(chǎn)生。中斷間隔小于最大速度下產(chǎn)生半轉(zhuǎn)所需要的最小時間,通過中斷間隔可以測得電機(jī)的速度。
由直流減速電機(jī)位置與速度控制實(shí)驗(yàn)可以看出DSPIC30F4011芯片功能強(qiáng)大,應(yīng)用簡單,不需要復(fù)雜的電路和程序便可以完成控制。由DSPCI30F系列芯片的嵌入式控制可以應(yīng)用于各個領(lǐng)域的精準(zhǔn)控制,直流減速電機(jī)的位置與速度控制已經(jīng)應(yīng)用于機(jī)器人手臂的控制,以及旋轉(zhuǎn)導(dǎo)向鉆井穩(wěn)定平臺的控制等。
【參考文獻(xiàn)】
[1]羅戰(zhàn)強(qiáng),蘆剛,李聲晉.采用dsPIC30F6010的無刷直流電動機(jī)控制系統(tǒng)設(shè)計[J].威特電機(jī),2007,1:27-29
[2]彭志剛,胡邦南.基于dsPIC30F6010的無傳感器無刷直流電機(jī)控制[J].自動化與儀器儀表.2011(02)
王偉(1987-),男(漢族) ,陜西省戶縣人,碩士研究生,主要研究方向調(diào)制式旋轉(zhuǎn)導(dǎo)向鉆井,直流電機(jī)位置控制。
【作者簡介】