《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > MC33035在直流無刷電機(jī)控制系統(tǒng)中的應(yīng)用
MC33035在直流無刷電機(jī)控制系統(tǒng)中的應(yīng)用
摘要: 安森關(guān)公司的芯片MC33035專門應(yīng)用于帶霍爾位置信號的直流無刷電機(jī)驅(qū)動控制系統(tǒng),。它通過霍爾位置信號能夠?qū)崿F(xiàn)電子自動換向,,同時可作為MPC5604P處理器和MOSFET驅(qū)動管的預(yù)驅(qū)動IC。MC33035既可以實(shí)現(xiàn)開環(huán)控制,,也可以配合電流采集電路實(shí)現(xiàn)電流閉環(huán)控制,,以及配合霍爾信號實(shí)現(xiàn)位置和速度閉環(huán)控制,。本文介紹了MC33035在常用的三相直流無刷電機(jī)驅(qū)動控制系統(tǒng)中的典型應(yīng)用,給出了驅(qū)動電路以及軟件設(shè)計,。
Abstract:
Key words :

作者:王陸林,,劉貴如

1 MC33035功能介紹

    MC33035是安森美公司推出的第二代無刷直流電機(jī)控制專用集成電路,主要組成部分包括轉(zhuǎn)子位置傳感器譯碼電路,、帶溫度補(bǔ)償?shù)膬?nèi)部基準(zhǔn)電源,、頻率可設(shè)定的鋸齒波振蕩器、誤差放大器,、脈寬調(diào)制(PWM)比較器,、輸出驅(qū)動電路、欠壓封鎖保護(hù),、芯片過熱保護(hù)等故障輸出電路和限流電路等,。MC33035的典型控制功能包括PWM速度控制、使能控制(啟動或停止),、正反轉(zhuǎn)控制,、相位選擇和制動控制等。

    芯片功能引腳定義如表1所列,。

a.jpg

    SA,、SB,、SC為霍爾信號輸入端,內(nèi)部上拉20 kΩ電阻,,外接霍爾傳感器即可,。Fwd/Rew、Brake,、Output Enable和60°/120°Select分別為方向,、制動、使能和霍爾相位控制端口,,內(nèi)部上拉40 kΩ電阻,,MCU控制端只要通過光耦或者三極管開漏接地即可進(jìn)行控制。

    如果不采用IC內(nèi)置的硬件速度環(huán),,則將PIN12,、13短接,通過PIN11端口輸入PWM即可對電機(jī)進(jìn)行調(diào)節(jié)控制,。如果采用IC內(nèi)置的硬件速度環(huán)則將PIN12,、13通過R、C連接,,通過PIN11端口輸入PWM進(jìn)行電機(jī)控制,,HALL換向反饋信號通過PIN12端口輸入。

2 基于MC33035的直流無刷電機(jī)控制驅(qū)動電路設(shè)計

    在本設(shè)計中主控制器以Freescale公司的基于PowerPC構(gòu)架的32位處理器MPC5604P為例,,MPC5604P控制端口通過比較器和MC33035接口,,設(shè)計了基于MC33035直流無刷電機(jī)控制驅(qū)動電路。

    傳統(tǒng)的直流無刷電機(jī)控制驅(qū)動電路采用MPC5604P,、預(yù)驅(qū)動IC和MOSFET實(shí)現(xiàn),,其中包括電壓泵即自舉電路。本設(shè)計是基于直流無刷電機(jī)控制芯片MC33035實(shí)現(xiàn)的,,MC33035實(shí)現(xiàn)預(yù)驅(qū)動和電子自動換向功能,,采用MC33035實(shí)現(xiàn)直流無刷電機(jī)的控制驅(qū)動電路,既簡化了電路設(shè)計,,同時也減輕了MPC5604P的運(yùn)算量,。MPC5604P和MC33035之間通過光耦或者比較器實(shí)現(xiàn)電平轉(zhuǎn)換。本設(shè)計采用LM339比較器開漏輸出實(shí)現(xiàn)MPC5604P對MC33035的開關(guān)控制,,電路設(shè)計原理包括4部分。其中基于MC33035的直流無刷電機(jī)驅(qū)動控制電路原理圖如圖1所示,。電流采集芯片AD8210可使反饋的電流模擬信號直接輸入MPC5604P的A/D引腳,,其中R2為3 W/5 mΩ的電流采樣電阻,R1和C1組成了MC33035的外部時鐘輸入電路,??梢酝ㄟ^調(diào)節(jié)R和C的值來設(shè)定RC振蕩器頻率,。MC33035的Reternce Output提供約6.25 V的輸出電壓,可以為霍爾傳感器供電,。SA,、SB、SC為霍爾輸入信號,,內(nèi)部已經(jīng)連接20 kΩ上拉電阻,,所以只需外接霍爾傳感器即可。

c.jpg

電平轉(zhuǎn)換電路如圖2所示,。一路霍爾信號HALL_A經(jīng)過比較器LM339轉(zhuǎn)換為0~5 V的脈沖信號到MPC5604P,,用于電機(jī)故障自檢和電機(jī)轉(zhuǎn)速計算;另外,,MC33035的方向和使能控制端由MPC5604P通過比較器LM339進(jìn)行隔離和控制,。DIRMCU和ENABLEMCU的I/O輸出電平與4.5 V的參考電平比較,實(shí)現(xiàn)對MC33035的DIR和ENABLE端口的開漏控制,。

b.jpg

d.jpg

    MC33035,、LM339、ADS210YRZ和MPC5604P的連接電路如圖3所示,。MPC5604P通過PWM輸出控制MC33035下背管控制端占空比,,從而實(shí)現(xiàn)對電機(jī)的轉(zhuǎn)速和輸出扭矩的控制。MPC5604P通過28引腳A/D端口輸入的電流反饋信號計算電機(jī)實(shí)際電流,,進(jìn)而和目標(biāo)電流比較實(shí)現(xiàn)電流環(huán)的PI調(diào)節(jié),。

3 基于M033035的電機(jī)驅(qū)動控制程序設(shè)計

    本設(shè)計使用了MPC5604P的4個信號引腳,開發(fā)和編譯環(huán)境為CodeWarrior for MPC55xx V2.3,,涮試下載工具為USB PowerPC Nexus Mul tilink調(diào)試器,。

3.1 控制引腳初始化

    ENABLE_MCU和DIR_MCU控制引腳的初始化,通過配置SIU.PCR[5],、SIU.PCR[9]寄存器將PIN8,、PIN94引腳配置為I/O輸出引腳,即SI U.PCR[5].R=0x0202和SIU.PCR[9].R=0x0202,。通過賦值操作SIU.GPDO[5].R=0/1和SIU.GPDO[9].R=0/1,,即可使對應(yīng)的控制引腳輸出高/低電平。



3.2 PWM初始化配置

    PWM輸出引腳的初始化配置,,第一步通過配置PSMI寄存器將flexpwm0 A[0]分配到PIN53引腳,,配置如下:

    SIU.PSMI[20].B.PADSEL=1;

    第二步通過SIU.PCR寄存器的配置將PINS3多功能引腳配置為PWM輸出,,配置如下:

    SIU.PCR[58].R=0x0600,;//PIN53引腳的交互模式1 FL

    下面為flexpwmx模塊的初始化:

    e.jpg

    通過調(diào)用函數(shù)FlexPWM_Init(0)即可將本設(shè)計中使用的flexpwm0模塊初始化。接下來使能PWMA,B輸出配置如下:

    f.jpg



在控制程序中通過以下函數(shù)調(diào)用,、配置數(shù)據(jù)重載,、PWM輸出和MC33035使能即可按設(shè)定的方向和占空比驅(qū)動電機(jī)。

    g.jpg

3.3 A/D初始化

    首先通過SIU.PCR[33].R=0x2400操作將PIN28引腳配置為A/D輸入引腳,,通過AD8210輸出的模擬信號CURRENT間接算出通過電機(jī)的電流,。本設(shè)計中使用了MPC5604P片內(nèi)ADC0模塊的AN[2]通道,初始化配置如下:

    h.jpg

    在本設(shè)計中通過ADC1的1路硬件監(jiān)控電路對每次A/D采集的值和預(yù)先設(shè)置的值進(jìn)行比較,,當(dāng)采集的值超出通過ADC_0.THRHLR0.R設(shè)定的上下限時將產(chǎn)生中斷,,通過中斷服務(wù)程序?qū)OTOR_CON輸出低電平使驅(qū)動IC進(jìn)入Sleep模式即可實(shí)現(xiàn)過流保護(hù)。初始化和中斷服務(wù)函數(shù)注冊如下:

    i.jpg

    在SIR服務(wù)函數(shù)中,,通過“SIU.GPDO[44].R=0”語句即可關(guān)閉驅(qū)動IC,。接下來通過發(fā)送A/D通道轉(zhuǎn)換命令并查詢狀態(tài)標(biāo)志位,當(dāng)轉(zhuǎn)換完畢即可通過讀取ADC_0.CDR[0].B.CDATA寄存器得到采集的電壓值,,并通過公式IL=Vout/20/R15計算得到通過電機(jī)的電流,,從而實(shí)現(xiàn)電機(jī)的電流閉環(huán)控制。

    k.jpg

3.4 eTimer的初始化

    首先進(jìn)行賦值操作SIU.PSMI[8].R=0和SIU.PCR[44].R=0x0900,;將eTimer0 ECT[5]分配到PIN56引腳,,并配置為eTimer輸入功能。然后將eTimer0 ECT[5]初始化為輸入計數(shù)功能,,分別為周期法和頻率法并配合PIT定時計數(shù)器實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的計算和自檢,。

    頻率法計數(shù)初始化代碼如下:

    l.jpg

    m.jpg

    頻率法計數(shù)需要借助于PIT定時器,通過在設(shè)定時間內(nèi)讀取脈沖數(shù)計算電機(jī)轉(zhuǎn)速,。該方法適用于電機(jī)空載時電機(jī)轉(zhuǎn)速計算,。

周期法計數(shù)初始化代碼如下:

    n.jpg

    其中周期法對應(yīng)計數(shù)通道中斷初始化代碼如下:

    INTC_InstallINTCInterruptHandler(ISR_Pulse_Count,162,,6),;

    當(dāng)一個脈沖周期中斷發(fā)生時讀取脈沖周期定時器計數(shù)值即可計算出電機(jī)轉(zhuǎn)速。該方法適用于電機(jī)負(fù)載時電機(jī)轉(zhuǎn)速計算,。

結(jié)語

    本文介紹了基于MC33035的直流無刷電機(jī)控制驅(qū)動電路典型設(shè)計,,外同電路少,無需采用單片機(jī)實(shí)現(xiàn)電機(jī)換向,,既簡化了電路設(shè)計,、又減輕了MPC5604P運(yùn)算負(fù)擔(dān),也不需要預(yù)驅(qū)動電路和電壓泵自舉電路,。該電路具有設(shè)計簡單,、控制方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。