摘 要:闡述使用低成本的ARM7 LPC2101微處理器設(shè)計(jì)無(wú)刷直流電機(jī)的控制方案; 詳細(xì)地介紹微處理器、MOSFET驅(qū)動(dòng)和MOSFET的原理設(shè)計(jì)和程序流程,以及與電機(jī)保護(hù)相關(guān)的技術(shù)及處理方法,如電機(jī)穩(wěn)定運(yùn)行狀態(tài)機(jī),降低電機(jī)噪聲,軟件防止電機(jī)陡轉(zhuǎn)等。該方案可以應(yīng)用在打印機(jī)、電動(dòng)自行車、潔牙機(jī)等電機(jī)控制產(chǎn)品上。
關(guān)鍵詞:LPC2101 ARM7 無(wú)刷直流電機(jī)控制 反電動(dòng)勢(shì) 狀態(tài)機(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è)控制。
無(wú)刷直流電機(jī)是一種易驅(qū)動(dòng)電機(jī),適用于變速和啟動(dòng)轉(zhuǎn)矩很高的應(yīng)用,它的使用范圍從大規(guī)模的工業(yè)模具到調(diào)光控制的小型電機(jī)(12 V直流電機(jī)),外形和尺寸也是各種各樣。
1 無(wú)刷直流電機(jī)的基本原理
圖1 無(wú)刷電機(jī)組成
無(wú)刷直流電機(jī)一般由定子、轉(zhuǎn)子和金屬殼體等組成,如圖1所示,通過(guò)反向極性的吸引產(chǎn)生扭矩使電機(jī)運(yùn)轉(zhuǎn)。一旦轉(zhuǎn)子開(kāi)始運(yùn)轉(zhuǎn),固定的刷子和轉(zhuǎn)子部分將不斷反復(fù)地連接、斷開(kāi),電動(dòng)勢(shì)和反電動(dòng)勢(shì)在轉(zhuǎn)子旋轉(zhuǎn)過(guò)程中產(chǎn)生,新的電極總是和定子極性相反。由于這種變換是固定的,因此轉(zhuǎn)子以一種固定的形式運(yùn)動(dòng)。通過(guò)給電機(jī)施加反向電壓和反向的轉(zhuǎn)子線圈電流,使南北極性翻轉(zhuǎn),電機(jī)改變其運(yùn)動(dòng)旋轉(zhuǎn)方向。
速度和電機(jī)的扭矩大小是依據(jù)電機(jī)旋轉(zhuǎn)產(chǎn)生的磁場(chǎng)強(qiáng)度來(lái)控制的,而電機(jī)的旋轉(zhuǎn)能量是依賴于通過(guò)電流大小來(lái)控制的,因此調(diào)整電機(jī)轉(zhuǎn)子的電壓和電流可以改變電機(jī)的速度。本電機(jī)速度的控制是根據(jù)LPC2101微控制器的PWM信號(hào)的變化而產(chǎn)生的。
2 無(wú)刷直流電機(jī)的控制
2.1 雙向旋轉(zhuǎn)
圖2 使用全橋電路雙向旋轉(zhuǎn)
驅(qū)動(dòng)有刷直流電機(jī)的雙向旋轉(zhuǎn),可通過(guò)全橋驅(qū)動(dòng)電路改變電流來(lái)實(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.2 速度控制部分
無(wú)負(fù)載的電機(jī)速度與加到電機(jī)上的電壓有一定的比例關(guān)系,因此通過(guò)采樣加載到電機(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ī)速度(占空比)和方向通過(guò)調(diào)整電位器輸入及改變LPC2101 ADC的輸入數(shù)值來(lái)控制,如圖4所示。
圖4 系統(tǒng)配置
2.3 電機(jī)反饋部分
低功耗電機(jī)電流測(cè)量是在MOSFET和地之間使用電流傳感器(參見(jiàn)圖4)。通過(guò)電流傳感器的采樣電阻檢測(cè)微小電壓;通過(guò)在微控制器的前端進(jìn)行濾波和放大,電流采集總是在最高級(jí)別,在PWM產(chǎn)生之前。這個(gè)操作通過(guò)外部定時(shí)器匹配中斷,中斷后先開(kāi)始A/D轉(zhuǎn)換。轉(zhuǎn)換數(shù)值代表了電機(jī)的電流。
低功耗無(wú)傳感器電機(jī)旋轉(zhuǎn)速度反饋是通過(guò)反饋的EMF電壓測(cè)量(參見(jiàn)圖4)。反電動(dòng)勢(shì)是通過(guò)電機(jī)轉(zhuǎn)子旋轉(zhuǎn)磁場(chǎng)和外部電磁場(chǎng)產(chǎn)生的。換句話說(shuō),電機(jī)表現(xiàn)得像一個(gè)發(fā)電機(jī)。RPM和反電動(dòng)勢(shì)電壓是成直接正比關(guān)系的,反電動(dòng)勢(shì)測(cè)量是通過(guò)MOSFET切換完成的(剎車模式)。本文中,BEMF測(cè)量用于檢測(cè)電機(jī)是否完全停止。電壓分壓是用于滿足反電動(dòng)勢(shì)電壓(最高為12 V)在0~3.3 V間的。
3 無(wú)刷直流電機(jī)的應(yīng)用
3.1 選用LPC2102
LPC2102(采用LQFP48封裝)是目前LPC2000系列ARM7家族中最小、最便宜的一款總線頻率高達(dá)70 MHz的32位CPU處理器; 有2 KB的靜態(tài)RAM和8 KB的片上Flash存儲(chǔ)區(qū)。對(duì)于使用USB、CAN總線、Ethernet以太網(wǎng)總線,可以選用LPC2000系列中更高級(jí)別的處理器。本文中 LPC2101,其CPU使用代碼空間為3 KB,CPU負(fù)載小于5%。沒(méi)有使用內(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輸入下,無(wú)負(fù)載的速度是6 920 r/s。最大連續(xù)電流是6 A。PWM時(shí)基信號(hào)對(duì)電機(jī)噪聲有很大的影響(因?yàn)槿硕话隳苈?tīng)到的聲波的頻率范圍是20 Hz~20 kHz),同時(shí)影響電機(jī)的表現(xiàn)性能。要防止整個(gè)周期中電流過(guò)零(就是通常所說(shuō)的不連續(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脈沖頻率是8 kHz。
圖5 PWM時(shí)基頻率的影響
3.3 MOSFET選擇
在系統(tǒng)中使用NXP半導(dǎo)體PH1875L N溝道MOSFET,相關(guān)的電機(jī)電壓是12 V,電機(jī)啟動(dòng)的最大電流是103 A。作為12 V的電機(jī),MOSFET的電壓Vds至少為40 V。需要足夠的灌電流來(lái)啟動(dòng)電機(jī),可以通過(guò)軟件控制在系統(tǒng)運(yùn)行過(guò)程中減小電流。PH1875L需要使用的最大灌電流是45.8 A,漏電流是183 A。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 簡(jiǎn)化的MOSFETMOSFET全橋和半橋驅(qū)動(dòng)電路
3.5 速度控制和方向控制
為了控制方向和電機(jī)速度,用10 kΩ的電位器,連接到LPC2101 ADC輸入端(參見(jiàn)圖4)。由于是10位A/D,實(shí)際上只需要8位就可以采用256個(gè)步進(jìn)數(shù)值,如圖8所示。采用10位A/D可以達(dá)到1 024個(gè)步進(jìn)數(shù)值。#p#分頁(yè)標(biāo)題#e#
圖8 電位器模擬速度輸入和方向
4 硬件與軟件設(shè)計(jì)
4.1 硬件設(shè)計(jì)
控制部分的電路原理如圖9所示。電源和電機(jī)部分的電路原理如圖10所示。
圖9 控制部分電路原理
圖10 電源和電機(jī)部分電路原理
4.2 軟件設(shè)計(jì)
軟件部分采用C語(yǔ)言編寫(xiě),使用Keil μVision(ARM7 RealView V3.0)開(kāi)發(fā)環(huán)境。主函數(shù)實(shí)現(xiàn)如下功能:讀取電位器數(shù)值來(lái)調(diào)整速度和電機(jī)方向;讀取電機(jī)反電動(dòng)勢(shì)電流;設(shè)定PWM占空比和控制Q1~Q4 MOSFET輸出;執(zhí)行RS232通信。圖11表示控制系統(tǒng)流程。使用 RS232接口每200 ms給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)入后,可以通過(guò)改變占空比來(lái)調(diào)整既定電機(jī)速度并設(shè)置MOSFET輸出控制 Q1~Q4。定時(shí)器0用于10 ms的系統(tǒng)定時(shí)。
圖11 主程序流程
圖12 狀態(tài)流程
LPC2101配置使用Keil ARM開(kāi)發(fā)環(huán)境中標(biāo)準(zhǔn)的啟動(dòng)代碼,設(shè)定CCLK時(shí)鐘為60 MHz,PCLK時(shí)鐘為15 MHz。相關(guān)測(cè)試代碼包括main.c,adc.c,timer0.c,motor.c,uart.c,bcd.h等。
5 總結(jié)
使用LPC2101 ARM7內(nèi)核開(kāi)發(fā)無(wú)刷電機(jī)控制系統(tǒng),代碼精簡(jiǎn),控制系統(tǒng)可靠。經(jīng)過(guò)長(zhǎng)時(shí)間實(shí)際測(cè)量證明,系統(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ì)上,該無(wú)刷電機(jī)產(chǎn)品有一定的推廣價(jià)值。
轉(zhuǎn)載請(qǐng)注明出處。