唐立軍,桂 欣,賀慧勇,吳定祥,王 哲,李 芃
(1.長(zhǎng)沙理工大學(xué) 物理與電子科學(xué)學(xué)院,湖南 長(zhǎng)沙 410004;2.長(zhǎng)沙億旭機(jī)電科技有限公司,湖南 長(zhǎng)沙 410007)
無(wú)刷直流電機(jī)(BLDCM)具有效率高、運(yùn)行可靠、調(diào)速性能好等特點(diǎn),廣泛應(yīng)用于軍工、數(shù)控、醫(yī)療器械等領(lǐng)域.近年來(lái),隨著高磁能積永磁材料的出現(xiàn)、全控型電力電子器件和微電子技術(shù)的發(fā)展以及控制方法的優(yōu)化,對(duì)無(wú)刷直流電機(jī)的驅(qū)動(dòng)器提出了更高的要求[1-2].單片機(jī)控制系統(tǒng)、專(zhuān)用電機(jī)控制系統(tǒng)和DSP控制系統(tǒng),在傳感器信號(hào)采樣到控制命令輸出之間存在較大延遲,影響驅(qū)動(dòng)效率,并且驅(qū)動(dòng)保護(hù)電路復(fù)雜,降低了系統(tǒng)的安全性[3-4].筆者以STM32F103為核心設(shè)計(jì)無(wú)刷直流電機(jī)驅(qū)動(dòng)器,對(duì)驅(qū)動(dòng)效率的提高、系統(tǒng)在速度控制中動(dòng)態(tài)行為的改善及系統(tǒng)的可靠性進(jìn)行探索,以提高無(wú)刷直流電機(jī)控制系統(tǒng)的性能.
系統(tǒng)硬件結(jié)構(gòu)如圖1所示.控制器為STM32F103,芯片內(nèi)部具有預(yù)裝載功能的高級(jí)PWM模塊、編碼器和霍爾傳感器接口、帶DMA功能的模數(shù)轉(zhuǎn)換器(ADC)等.外圍電路包括驅(qū)動(dòng)及其保護(hù)電路、隔離電路、檢測(cè)電路、控制器與PC通信的接口電路.系統(tǒng)用PC作為上位機(jī),通過(guò)基于串口的Modbus協(xié)議進(jìn)行命令發(fā)送并實(shí)時(shí)監(jiān)控,以STM32F103作為控制器,CPLD進(jìn)行保護(hù),IPM驅(qū)動(dòng)電機(jī).霍爾元件檢測(cè)轉(zhuǎn)子位置和定子電流,增量式光電編碼器檢測(cè)電機(jī)轉(zhuǎn)速.STM32不斷采集信息,修正上位機(jī)給出的轉(zhuǎn)速,實(shí)現(xiàn)系統(tǒng)對(duì)電機(jī)的速度閉環(huán)控制.
圖1 系統(tǒng)硬件結(jié)構(gòu)Figure 1 System hardware structure diagram
無(wú)刷直流電機(jī)通過(guò)改變內(nèi)部三相繞組的導(dǎo)通順序,實(shí)現(xiàn)定子繞組的正確換相,從而使電機(jī)正常運(yùn)行.傳統(tǒng)的電機(jī)控制器捕獲霍爾傳感器的轉(zhuǎn)子位置信號(hào),在中斷事件里對(duì)捕獲的脈沖信號(hào)進(jìn)行邏輯判斷處理,調(diào)整開(kāi)關(guān)管的通斷,在規(guī)定時(shí)刻輸出需要的功率開(kāi)關(guān)驅(qū)動(dòng)信號(hào).每次換相需要進(jìn)出中斷并且關(guān)閉輸出再啟動(dòng),對(duì)系統(tǒng)性能造成一定的影響.
STM32的定時(shí)器具有內(nèi)部級(jí)聯(lián)結(jié)構(gòu)和專(zhuān)用的預(yù)裝載寄存器.高級(jí)控制定時(shí)器產(chǎn)生PWM信號(hào)驅(qū)動(dòng)馬達(dá)時(shí),可以用另一個(gè)通用定時(shí)器作為“接口定時(shí)器”來(lái)連接霍爾傳感器,3個(gè)定時(shí)器輸入腳通過(guò)一個(gè)異或門(mén)連接到“接口定時(shí)器”的1路輸入通道,“接口定時(shí)器”捕獲這個(gè)信號(hào)后,通過(guò)內(nèi)部級(jí)聯(lián)產(chǎn)生一個(gè)脈沖,使高級(jí)定時(shí)器實(shí)現(xiàn)輸出換相,整個(gè)過(guò)程完全由硬件實(shí)現(xiàn),延時(shí)只取決于芯片內(nèi)部的硬同步.預(yù)裝載寄存器使定時(shí)器具有該次換相同步裝入和下次換相預(yù)裝載的功能,在接到換相脈沖時(shí),將該次需要輸出的端口配置同步裝入實(shí)際寄存器,然后響應(yīng)中斷,將下次的導(dǎo)通邏輯存入預(yù)裝載寄存器,換相過(guò)程無(wú)需關(guān)閉、輸出、再啟動(dòng),很好地改善了系統(tǒng)的動(dòng)態(tài)性能,提高了系統(tǒng)的可靠性.
無(wú)刷直流電機(jī)的驅(qū)動(dòng)及其保護(hù)電路多數(shù)由驅(qū)動(dòng)芯片加外圍故障檢測(cè)電路組成,使系統(tǒng)的電路結(jié)構(gòu)復(fù)雜,故障發(fā)生時(shí)需要控制器響應(yīng)中斷再處理,系統(tǒng)延遲較大.該系統(tǒng)采用智能功率模塊(IPM)加CPLD的方式實(shí)現(xiàn)驅(qū)動(dòng)電機(jī)所需的三相逆變及保護(hù)電路,如圖2所示.IPM內(nèi)藏有欠壓、過(guò)壓、過(guò)流和過(guò)熱等檢測(cè)電路,當(dāng)IPM產(chǎn)生故障輸出時(shí),CPLD能在幾納秒內(nèi)做出反應(yīng),通過(guò)制動(dòng)輸出鎖定IPM,保護(hù)模塊及電機(jī),整個(gè)過(guò)程延遲極短且不需要控制器的參與,有效地提高了系統(tǒng)的可靠性.同時(shí),STM32檢測(cè)到故障信號(hào),通過(guò)剎車(chē)機(jī)制迅速關(guān)閉PWM輸出,封存PWM配置狀態(tài),直到故障解除重新使能輸出.此外,為防止控制器在譯碼換相時(shí)出現(xiàn)錯(cuò)誤,CPLD在接收PWM輸入信號(hào)后,增加了防止同一相上、下橋臂共同導(dǎo)通的邏輯電路,從而保護(hù)IPM.
圖2 IPM內(nèi)部結(jié)構(gòu)Figure 2 IPM internal structure
該系統(tǒng)采用LTS25-NP型霍爾傳感器來(lái)檢測(cè)反饋電流,得到電流瞬時(shí)值后,經(jīng)轉(zhuǎn)換電路變成0~3.6V的電壓信號(hào),在STM32的模/數(shù)模塊中做標(biāo)量處理,將采樣值轉(zhuǎn)換成響應(yīng)的數(shù)值保存至數(shù)值寄存器[5].電流轉(zhuǎn)換電路如圖3所示.電流采樣值經(jīng)采樣電阻R6轉(zhuǎn)換為電壓,電阻比值R2/R1決定幅值調(diào)整的倍數(shù),該電路將輸入電壓幅值增大2倍.電壓信號(hào)VREF+=3.6V,來(lái)自STM32的ADC模擬輸入?yún)⒖茧妷狠斎攵?電阻R3=R4,當(dāng)檢測(cè)輸入信號(hào)為零時(shí),檢測(cè)輸出為VREF+的一半,即1.8V.作用是將負(fù)反饋過(guò)來(lái)的電壓值正向偏置1.8V.二極管D1,D2用來(lái)實(shí)現(xiàn)電壓限幅,使輸出電壓范圍在0~3.6V.電阻R2和電容C1實(shí)現(xiàn)硬件濾波.
圖3 電流采樣電路Figure 3 Current-sampling circuit
為了達(dá)到控制精度,獲得良好的穩(wěn)動(dòng)態(tài)特性,該系統(tǒng)選用轉(zhuǎn)速、電流雙閉環(huán)控制策略[6].速度環(huán)增加系統(tǒng)抗負(fù)載擾動(dòng)的能力,抑制速度波動(dòng),保證系統(tǒng)靜態(tài)精度和動(dòng)態(tài)跟蹤的性能.電流環(huán)提高系統(tǒng)的快速性,抑制電流環(huán)內(nèi)部干擾,限制最大電流保障系統(tǒng)安全運(yùn)行.速度環(huán)和電流環(huán)都采用比例積分(PI)控制,并且2個(gè)PI調(diào)節(jié)器均由軟件實(shí)現(xiàn),靈活性強(qiáng),精確度高.控制流程如圖4所示.
圖4 無(wú)刷直流雙閉環(huán)控制系統(tǒng)Figure 4 Double closed-loop control system of BLDCM
轉(zhuǎn)速檢測(cè)采用增量式光電編碼[7],STM32通過(guò)捕獲編碼器的輸出脈沖,獲得準(zhǔn)確的轉(zhuǎn)速.為了實(shí)現(xiàn)高精度控制,將STM32的編碼器接口配置在最高分辨率處,定時(shí)讀取接口定時(shí)器的值,計(jì)算出轉(zhuǎn)速,此速度作為速度參考值的反饋量,經(jīng)過(guò)速度PI調(diào)節(jié)后得到電流參考值.電流值通過(guò)霍爾電流傳感器采樣經(jīng)調(diào)理后獲得,在捕獲電流值時(shí),使能STM32的DMA能夠獲得更高的采樣效率.經(jīng)過(guò)多次AD采樣轉(zhuǎn)換后取平均,作為電流內(nèi)環(huán)的電流反饋量,經(jīng)過(guò)電流PI調(diào)節(jié)后,得到輸出量,調(diào)節(jié)輸出的PWM信號(hào)占空比,控制電機(jī)轉(zhuǎn)速.在實(shí)際控制時(shí),為避免轉(zhuǎn)速調(diào)節(jié)過(guò)于頻繁導(dǎo)致系統(tǒng)震蕩,設(shè)定通用定時(shí)器每20 ms中斷一次,調(diào)節(jié)轉(zhuǎn)速.通過(guò)積分限幅與輸出限幅等策略,可有效地減少超調(diào),為了使控制系統(tǒng)穩(wěn)定,在速度采樣偏差和電流采樣偏差均小于某設(shè)定閾值時(shí),不進(jìn)行調(diào)節(jié)動(dòng)作,避免某些小的擾動(dòng)引起系統(tǒng)震蕩.
系統(tǒng)軟件包括主程序、換相捕獲中斷程序、AD采樣中斷程序、串口通信程序.主程序包括各種全局變量的定義、PWM控制、霍爾捕獲、AD采樣、串口、通用IO等模塊的初始化,并實(shí)現(xiàn)與PC機(jī)的Modbus協(xié)議通信.換相捕獲中斷程序?qū)崿F(xiàn)電機(jī)下步換相的PWM配置;AD采樣中斷程序主要實(shí)現(xiàn)轉(zhuǎn)速、電流反饋值的采樣計(jì)算,調(diào)節(jié)PWM的輸出比;串口通信程序?qū)崿F(xiàn)電機(jī)各種運(yùn)行參數(shù)的反饋,利用PC進(jìn)行實(shí)時(shí)控制.軟件流程如圖5所示.
圖5 軟件流程Figure 5 Software flowchat
為了驗(yàn)證和分析驅(qū)動(dòng)器的性能,采用1臺(tái)額定功率為200W、額定電壓為24V、額定電流為5A、額定轉(zhuǎn)速為3 000r/min的無(wú)刷直流電機(jī)進(jìn)行試驗(yàn).各項(xiàng)實(shí)時(shí)運(yùn)行參數(shù)通過(guò)串口回傳給上位機(jī),根據(jù)采集的數(shù)據(jù)繪制波形,上位機(jī)Modbus數(shù)據(jù)采集界面如圖6所示.圖7為空載條件下設(shè)定速度從3 000r/min經(jīng)過(guò)5次階躍變化又回到3 000r/min時(shí),實(shí)際轉(zhuǎn)速隨設(shè)定轉(zhuǎn)速的變化曲線.從圖7中可以看出,在空載條件下,基本沒(méi)有超調(diào),最大調(diào)節(jié)時(shí)間為0.4s,最大靜差為2%,電機(jī)轉(zhuǎn)速能平滑、快速地跟隨參考速度的變化.
圖8為參考速度為2 000r/min時(shí)負(fù)載改變的情況下實(shí)際轉(zhuǎn)速變化曲線.在1~2,3~4,5~6s分別加入50,100,200W的負(fù)載,從圖8中可以看出,轉(zhuǎn)速會(huì)有不同程度地下降,并很快過(guò)渡到穩(wěn)態(tài)值,卸掉負(fù)載后轉(zhuǎn)速又回到設(shè)定值.為了保證不發(fā)生震蕩,系統(tǒng)采用了積分限幅和輸出限幅,轉(zhuǎn)速的微小變化不能引起調(diào)節(jié),所以在增加負(fù)載引起轉(zhuǎn)速變化時(shí),沒(méi)有回復(fù)到設(shè)定值.
圖6 Modbus數(shù)據(jù)采集界面Figure 6 Modbus data collection interface
圖7 轉(zhuǎn)速變化實(shí)時(shí)波形Figure 7 Real-time change waveform of rotation speed
圖8 轉(zhuǎn)速為2 000r/min,負(fù)載變化時(shí)的波形Figure 8 Waveform of load changes when rotation speed is 2 000r/min
筆者應(yīng)用STM32F103芯片設(shè)計(jì)了一個(gè)基于速度、電流雙閉環(huán)結(jié)構(gòu)的直流無(wú)刷電機(jī)控制系統(tǒng),在系統(tǒng)設(shè)計(jì)過(guò)程中,采用智能功率模塊(IPM)加CPLD的方式,充分利用了STM32F103片內(nèi)資源,簡(jiǎn)化了控制系統(tǒng)的硬件電路,大大節(jié)省了成本,提高了驅(qū)動(dòng)效率和可靠性.從試驗(yàn)結(jié)果可以看出,該驅(qū)動(dòng)器具有良好的動(dòng)靜態(tài)性能.
[1]張琛.直流無(wú)刷電動(dòng)機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004.
[2]王晨陽(yáng),張玘,熊九龍.基于DSP的無(wú)刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(7):6-7.
WANG Chen-yang,ZHANG Qi,XIONG Jiu-long.The design of BLDC motor control system based on the DSP[J].Control & Automation,2008,24(7):6-7.
[3]謝方南,朱莉莉,劉俊純.基于MCF5213的開(kāi)關(guān)磁阻電機(jī)控制系統(tǒng)設(shè)計(jì)[J].電機(jī)與控制應(yīng)用,2011,38(3):23-27.
XIE Fang-nan,ZHU Li-li,LIU Jun-chun.Design of switched reluctance motor control system based on MCF5213[J].Electric Machines & Control Application,2011,38(3):23-27.
[4]紀(jì)梁洲,楊向宇,龔晟.多功能無(wú)刷直流電機(jī)驅(qū)動(dòng)控制器的研制[J].微電機(jī),2011,44(4):63-66.
JI Liang-zhou,YANG Xiang-yu,GONG Sheng.Research on multiple functions of brushless DC motor drive[J].Micromotors,2011,44(4):63-66.
[5]王海浪,毛弋,周有慶,等.檢測(cè)電阻電流型電子式電壓互感器[J].電力科學(xué)與技術(shù)學(xué)報(bào),2010,25(1):91-96.
WANG Hai-lang,MAO Ge,ZHOU You-qing,et al.Resistance current detecting based electronic voltage transformer[J].Journal of Electric Power Science and Technology,2010,25(1):91-96.
[6]羅召成,朱世強(qiáng),王會(huì)方.機(jī)器人自適應(yīng)PID飽和輸出反饋控制[J].傳感器與微系統(tǒng),2012,31(3):66-70.
LUO Zhao-cheng,ZHU Shi-qiang,WANG Hui-fang.A-daptive PID saturate output feedback control of robot manipulators[J].Transducer and Microsystem Technologies,2012,31(3):66-70.
[7]楊孟,徐衛(wèi)明,肖林.增量式光柵編碼器在激光掃描雷達(dá)的應(yīng)用研究[J].傳感器與微系統(tǒng),2012,31(3):36-38.
YANG Meng,XU Wei-ming,XIAO Lin.Application research on incremental optical grating encoder in laser scanning radar[J].Transducer and Microsystem Technologies,2012,31(3):36-38.