ARMLPC2101的無刷直流電機(jī)控制方案
LPC2101是基于16/32位 ARM7 CPU嵌入高速Flash閃存的微控制器,具備高性能,小體積封裝,低功耗,片上可選擇多種外設(shè)等優(yōu)點(diǎn),應(yīng)用范圍很廣。
其具備的多種32位和16位定時(shí)器、10位A/D轉(zhuǎn)換器和每個(gè)定時(shí)器上PWM匹配輸出特性,尤其適用于工業(yè)控制。
無刷直流電機(jī)是一種易驅(qū)動(dòng)電機(jī),適用于變速和啟動(dòng)轉(zhuǎn)矩很高的應(yīng)用,它的使用范圍從大規(guī)模的工業(yè)模具到調(diào)光控制的小型電機(jī)(12V直流電機(jī)),外形和尺寸也是各種各樣。
1 無刷直流電機(jī)的基本原理
無刷直流電機(jī)一般由定子、轉(zhuǎn)子和金屬殼體等組成,如圖1所示,通過反向極性的吸引產(chǎn)生扭矩使電機(jī)運(yùn)轉(zhuǎn)。一旦轉(zhuǎn)子開始運(yùn)轉(zhuǎn),固定的刷子和轉(zhuǎn)子部分將不斷反復(fù)地連接、斷開,電動(dòng)勢和反電動(dòng)勢在轉(zhuǎn)子旋轉(zhuǎn)過程中產(chǎn)生,新的電極總是和定子極性相反。由于這種變換是固定的,因此轉(zhuǎn)子以一種固定的形式運(yùn)動(dòng)。通過給電機(jī)施加反向電壓和反向的轉(zhuǎn)子線圈電流,使南北極性翻轉(zhuǎn),電機(jī)改變其運(yùn)動(dòng)旋轉(zhuǎn)方向。
圖1 無刷電機(jī)組成
速度和電機(jī)的扭矩大小是依據(jù)電機(jī)旋轉(zhuǎn)產(chǎn)生的磁場強(qiáng)度來控制的,而電機(jī)的旋轉(zhuǎn)能量是依賴于通過電流大小來控制的,因此調(diào)整電機(jī)轉(zhuǎn)子的電壓和電流可以改變電機(jī)的速度。本電機(jī)速度的控制是根據(jù)LPC2101微控制器的PWM信號(hào)的變化而產(chǎn)生的。
2 無刷直流電機(jī)的控制
2.1 雙向旋轉(zhuǎn)
驅(qū)動(dòng)有刷直流電機(jī)的雙向旋轉(zhuǎn),可通過全橋驅(qū)動(dòng)電路改變電流來實(shí)現(xiàn)完成,如圖2所示。這個(gè)全橋驅(qū)動(dòng)電路由N通道的MOSFET管組成,當(dāng)Q2和Q3關(guān)閉的時(shí)候,Q1和Q4導(dǎo)通電機(jī)正相旋轉(zhuǎn);當(dāng)Q1和Q4關(guān)閉時(shí),Q2和Q3導(dǎo)通電機(jī)反相旋轉(zhuǎn)。
圖2 使用全橋電路雙向旋轉(zhuǎn)
2.2 速度控制部分
無負(fù)載的電機(jī)速度與加到電機(jī)上的電壓有一定的比例關(guān)系,因此通過采樣加載到電機(jī)上的電壓,可以控制電機(jī)的速度。脈寬調(diào)制解調(diào)用于產(chǎn)生這種電壓的變化,如圖3所示。脈寬調(diào)制是基于占空比的固定頻率脈寬波形。加載到電機(jī)上的平均電壓與PWM占空比成正比關(guān)系。
圖3 PWM速度控制
PWM信號(hào)(Q1和Q2)根據(jù)LPC2101微控制器定時(shí)器2的3個(gè)匹配寄存器決定信號(hào)的時(shí)基頻率。電機(jī)速度(占空比)和方向通過調(diào)整電位器輸入及改變LPC2101 ADC的輸入數(shù)值來控制,如圖4所示。
圖4 系統(tǒng)配置
2.3 電機(jī)反饋部分
低功耗電機(jī)電流測量是在MOSFET和地之間使用電流傳感器(參見圖4)。通過電流傳感器的采樣電阻檢測微小電壓;通過在微控制器的前端進(jìn)行濾波和放大,電流采集總是在最高級(jí)別,在PWM產(chǎn)生之前。這個(gè)操作通過外部定時(shí)器匹配中斷,中斷后先開始A/D轉(zhuǎn)換。轉(zhuǎn)換數(shù)值代表了電機(jī)的電流。
低功耗無傳感器電機(jī)旋轉(zhuǎn)速度反饋是通過反饋的EMF電壓測量(參見圖4)。反電動(dòng)勢是通過電機(jī)轉(zhuǎn)子旋轉(zhuǎn)磁場和外部電磁場產(chǎn)生的。換句話說,電機(jī)表現(xiàn)得像一個(gè)發(fā)電機(jī)。RPM和反電動(dòng)勢電壓是成直接正比關(guān)系的,反電動(dòng)勢測量是通過MOSFET切換完成的(剎車模式)。本文中,BEMF測量用于檢測電機(jī)是否完全停止。電壓分壓是用于滿足反電動(dòng)勢電壓(最高為12V)在0~3.3 V間的。
3 無刷直流電機(jī)的應(yīng)用
3.1 選用LPC2102
LPC2102(采用LQFP48封裝)是目前LPC2000系列ARM7家族中最小、最便宜的一款總線頻率高達(dá)70MHz的32位CPU處理器;有2 KB的靜態(tài)RAM和8KB的片上Flash存儲(chǔ)區(qū)。對(duì)于使用USB、CAN總線、Ethernet以太網(wǎng)總線,可以選用LPC2000系列中更高級(jí)別的處理器。本文中LPC2101,其CPU使用代碼空間為3KB,CPU負(fù)載小于5%。沒有使用內(nèi)部外設(shè)資源如下:UART、I2C、SPI/SSP、RTC、2個(gè)定時(shí)器和4個(gè)A/D輸入,20個(gè)未用的I/O口可供用戶擴(kuò)展使用。
3.2 電機(jī)選擇
設(shè)計(jì)選用150 W MAXON RE40電機(jī)。在12 V輸入下,無負(fù)載的速度是6 920 r/s。最大連續(xù)電流是6A。PWM時(shí)基信號(hào)對(duì)電機(jī)噪聲有很大的影響(因?yàn)槿硕话隳苈牭降穆暡ǖ念l率范圍是20 Hz~20kHz),同時(shí)影響電機(jī)的表現(xiàn)性能。要防止整個(gè)周期中電流過零(就是通常所說的不連續(xù)的電流狀態(tài),當(dāng)電機(jī)輕載時(shí)),如圖5(b)所示。這種不連續(xù)電流會(huì)導(dǎo)致扭矩轉(zhuǎn)速曲線非常陡,在電機(jī)中將產(chǎn)生某種脈沖,使電機(jī)轉(zhuǎn)子產(chǎn)生更大的噪聲,本電路使用MAXON電機(jī),就是為了獲得連續(xù)的電流模式,所選擇的PWM脈沖頻率是8kHz。
圖5 PWM時(shí)基頻率的影響
3.3 MOSFET選擇
在系統(tǒng)中使用NXP半導(dǎo)體PH1875L N溝道MOSFET,相關(guān)的電機(jī)電壓是12 V,電機(jī)啟動(dòng)的最大電流是103 A。作為12V的電機(jī),MOSFET的電壓Vds至少為40V。需要足夠的灌電流來啟動(dòng)電機(jī),可以通過軟件控制在系統(tǒng)運(yùn)行過程中減小電流。PH1875L需要使用的最大灌電流是45.8 A,漏電流是183A。PH1875L的SMD貼片封裝如圖6所示。
圖6 SO669(LFPAK)封裝
3.4 MOSFET驅(qū)動(dòng)選擇
MOSFET驅(qū)動(dòng)提升了控制器輸出信號(hào)驅(qū)動(dòng)電機(jī)的能力。本設(shè)計(jì)選擇NXP芯片PMD2001D和PMGD280UN,如圖7所示。
圖7 簡化的MOSFETMOSFET全橋和半橋驅(qū)動(dòng)電路
3.5 速度控制和方向控制
為了控制方向和電機(jī)速度,用10 kΩ的電位器,連接到LPC2101 ADC輸入端(參見圖4)。由于是10位A/D,實(shí)際上只需要8位就可以采用256個(gè)步進(jìn)數(shù)值,如圖8所示。采用10位A/D可以達(dá)到1024個(gè)步進(jìn)數(shù)值。
圖8 電位器模擬速度輸入和方向
4 硬件與軟件設(shè)計(jì)
4.1 硬件設(shè)計(jì)
控制部分的電路原理如圖9所示。電源和電機(jī)部分的電路原理如圖10所示。
圖9 控制部分電路原理
圖10 電源和電機(jī)部分電路原理
4.2 軟件設(shè)計(jì)
軟件部分采用C語言編寫,使用Keil μVision(ARM7 RealView V3.0)開發(fā)環(huán)境。主函數(shù)實(shí)現(xiàn)如下功能:讀取電位器數(shù)值來調(diào)整速度和電機(jī)方向;讀取電機(jī)反電動(dòng)勢電流;設(shè)定PWM占空比和控制Q1~Q4MOSFET輸出;執(zhí)行RS232通信。圖11表示控制系統(tǒng)流程。使用RS232接口每200ms給PC端計(jì)算機(jī)發(fā)送電機(jī)速度和電流、電壓信息。電機(jī)控制軟件部分狀態(tài)機(jī)如圖12所示。狀態(tài)處理是在主程序循環(huán)中處理的,LPC2101的定時(shí)器2用于產(chǎn)生PWM信號(hào)。在每個(gè)PWM信號(hào)中斷子程序進(jìn)入后,可以通過改變占空比來調(diào)整既定電機(jī)速度并設(shè)置MOSFET輸出控制Q1~Q4。定時(shí)器0用于10ms的系統(tǒng)定時(shí)。
圖11 主程序流程
圖12 狀態(tài)流程
LPC2101配置使用Keil ARM開發(fā)環(huán)境中標(biāo)準(zhǔn)的啟動(dòng)代碼,設(shè)定CCLK時(shí)鐘為60 MHz,PCLK時(shí)鐘為15MHz。相關(guān)測試代碼包括main.c,adc.c,timer0.c,motor.c,uart.c,bcd.h等。
相關(guān)代碼見本刊網(wǎng)站http://.cn/——編者注。
5 總結(jié)
使用LPC2101 ARM7內(nèi)核開發(fā)無刷電機(jī)控制系統(tǒng),代碼精簡,控制系統(tǒng)可靠。經(jīng)過長時(shí)間實(shí)際測量證明,系統(tǒng)相關(guān)器件的選型設(shè)計(jì)是穩(wěn)定的。另外,目前增強(qiáng)型51系列微處理器的價(jià)格、性能與LPC21系列相比較,LPC21系列功耗低,價(jià)格與普通8位機(jī)價(jià)格差不多,但是性能卻比增強(qiáng)型51系列好。比如,帶Modem的雙串口,雙I2C接口,帶大容量的Flash和RAM存儲(chǔ)區(qū),多通道PWM,多個(gè)32位定時(shí)器,高精度10位A/D轉(zhuǎn)換器等。因此,從芯片設(shè)計(jì)和系統(tǒng)設(shè)計(jì)上,該無刷電機(jī)產(chǎn)品有一定的推廣價(jià)值。