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