無(wú)傳感器BLDC驅(qū)動(dòng)控制系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
近年來(lái),國(guó)內(nèi)市場(chǎng)上電動(dòng)車使用的電機(jī)主要有三種:有刷電機(jī)、有位置傳感器無(wú)刷電機(jī)和無(wú)位置傳感器無(wú)刷電機(jī)。使用有刷直流電機(jī)容易解決換相問(wèn)題,但是噪音大,而且碳刷容易磨損或損壞,這會(huì)增大維護(hù)、維修難度,增加使用成本;使用有傳感器無(wú)刷直流電機(jī)容易確定轉(zhuǎn)子位置,解決換相問(wèn)題,但卻增大了電機(jī)的設(shè)計(jì)、制造和安裝難度,也增加了成本,并且傳感器容易損壞,導(dǎo)致電機(jī)的使用壽命縮短;無(wú)傳感器無(wú)刷直流電機(jī)換相雖然在技術(shù)上有難度,但在成本和壽命上更容易滿足消費(fèi)者需求。
綜合以上特點(diǎn),本文討論的方案選擇了性價(jià)比較高的無(wú)傳感器無(wú)刷直流電機(jī),以HT46R6?為主控芯片,用反電勢(shì)法(back electromotive force)實(shí)現(xiàn)電機(jī)正常換相,軟硬結(jié)合,使電動(dòng)車驅(qū)動(dòng)系統(tǒng)工作在最佳狀態(tài),從而提高產(chǎn)品的可靠性和使用壽命。
系統(tǒng)工作原理
控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示,主要由MCU、直流無(wú)刷電機(jī)、LCD液晶顯示屏、鍵盤(pán)、電源、時(shí)鐘等模塊組成。其中MCU采用臺(tái)灣Holtek公司生產(chǎn)的HT46R6?微處理器,以它作為系統(tǒng)核心,連同一些外圍硬件,并配合軟件共同控制直流無(wú)刷電機(jī),從而實(shí)現(xiàn)該驅(qū)動(dòng)系統(tǒng)的優(yōu)良性能。例如通過(guò)MCU指令控制電機(jī)的正反轉(zhuǎn)、調(diào)速、剎車或制動(dòng)等。根據(jù)電機(jī)所轉(zhuǎn)圈數(shù)計(jì)量行程,并以數(shù)字形式呈現(xiàn)在液晶屏上,通過(guò)鍵盤(pán)操作方便查看行程以及其它系統(tǒng)信息。電源模塊主要用于在不需要顯示時(shí)切斷相應(yīng)部分電路,同時(shí)保存關(guān)鍵信息,以降低系統(tǒng)功耗。
圖1:驅(qū)動(dòng)系統(tǒng)結(jié)構(gòu)框圖。
由圖1可以看出,本驅(qū)動(dòng)控制器的主要功能大致分為三個(gè)部分:電機(jī)部分、行程計(jì)量以及LCD顯示,本文主要圍繞無(wú)傳感器電機(jī)的換相問(wèn)題展開(kāi)。
1. 反電勢(shì)換相原理
霍爾傳感器在電機(jī)中使用廣泛,帶位置傳感器直流無(wú)刷電機(jī)就是靠霍爾傳感器來(lái)確定轉(zhuǎn)子位置,以使定子各相繞組順序?qū)▽?shí)現(xiàn)換相;而無(wú)傳感器直流無(wú)刷機(jī)則是利用電子線路代替位置傳感器(圖2),通過(guò)檢測(cè)電機(jī)在運(yùn)行過(guò)程中產(chǎn)生的反電勢(shì)過(guò)零點(diǎn)來(lái)確定轉(zhuǎn)子位置,實(shí)現(xiàn)換相,下面以星形繞組為例進(jìn)一步說(shuō)明。
圖2:用電子線路代替?zhèn)鞲衅鹘Y(jié)構(gòu)框圖。
電機(jī)在運(yùn)行過(guò)程中要經(jīng)過(guò)6次換相,每次換相時(shí)總有一相繞組未通電,此時(shí)可以在該相繞組端口檢測(cè)到繞組產(chǎn)生的反電勢(shì),反電勢(shì)在60°電角度內(nèi)是連續(xù)的。由于電機(jī)的規(guī)格、制造工藝有差異,導(dǎo)致相同電角度的反電勢(shì)值不同,如果要通過(guò)檢測(cè)反電勢(shì)的數(shù)值來(lái)確定轉(zhuǎn)子位置,難度非常大,因此必須找到該反電勢(shì)與轉(zhuǎn)子位置的關(guān)系,才能確定轉(zhuǎn)子位置。由圖3可知,反電勢(shì)在60°的電角度過(guò)程中總有一次經(jīng)過(guò)坐標(biāo)橫軸(過(guò)零點(diǎn)),而此處的電角度和下一次換相點(diǎn)的電角度正好相差30°,故可通過(guò)檢測(cè)反電勢(shì)過(guò)零點(diǎn),再延時(shí)30°換相。本設(shè)計(jì)是從被檢測(cè)相斷電開(kāi)始計(jì)時(shí)等待反電勢(shì)過(guò)零點(diǎn),再延時(shí)等待相應(yīng)時(shí)間,實(shí)現(xiàn)換相。
圖3:電機(jī)運(yùn)行時(shí)各相產(chǎn)生的反電勢(shì)示意圖。
以正向反電勢(shì)檢測(cè)為例,假設(shè)之前是CB通電,測(cè)A相反電勢(shì)過(guò)零點(diǎn),有過(guò)零點(diǎn)信號(hào)后等待相應(yīng)時(shí)間,由139譯碼器開(kāi)通A+,同時(shí)自動(dòng)關(guān)閉C+,就轉(zhuǎn)換成了AB通電;再測(cè)C相反電勢(shì),用同樣的方法,開(kāi)通C-,自動(dòng)關(guān)閉B-,轉(zhuǎn)換成AC通電;再測(cè)B相反電勢(shì),開(kāi)通B+,關(guān)閉A+,轉(zhuǎn)換成BC通電;再測(cè)A相反電勢(shì),開(kāi)通A-,關(guān)閉C-,轉(zhuǎn)換成BA通電;接著測(cè)C相反電勢(shì),開(kāi)通C+,關(guān)閉B+,轉(zhuǎn)換成CA通電;然后測(cè)B相反電勢(shì),開(kāi)通B-,關(guān)閉A-,轉(zhuǎn)換成CB通電。經(jīng)過(guò)AB→AC→BC→BA→CA→CB六次換相實(shí)現(xiàn)直流無(wú)刷電機(jī)的連續(xù)正轉(zhuǎn);同理,反電勢(shì)法經(jīng)過(guò)CA→BA→BC→AC→AB→CB六次換相可實(shí)現(xiàn)電機(jī)的連續(xù)反轉(zhuǎn)。
2. 反電勢(shì)過(guò)零方案
在無(wú)位置傳感器直流無(wú)刷電機(jī)模型推導(dǎo)的基礎(chǔ)上,可以采用圖4所示的方法,對(duì)無(wú)傳感器直流無(wú)刷電機(jī)不導(dǎo)通相繞組產(chǎn)生的反電勢(shì)進(jìn)行過(guò)零檢測(cè)。圖4中的電阻R 起分壓作用,可以看出進(jìn)入比較器LM339正端的A、B、C三相電壓與過(guò)零點(diǎn)檢測(cè)相(參考相)電壓明顯成兩倍關(guān)系,對(duì)于星形電機(jī)繞組,零點(diǎn)是兩相通電電壓的一半,經(jīng)過(guò)電壓比較給出零點(diǎn)信號(hào)到單片機(jī),收到信號(hào)后再在程序中進(jìn)行換相處理,以確保電機(jī)正常運(yùn)行。LM339的出端信號(hào)就是所謂的電機(jī)轉(zhuǎn)子位置信號(hào),相當(dāng)于傳感器信號(hào),實(shí)質(zhì)上是發(fā)出換相通知。
圖4:反電勢(shì)過(guò)零檢測(cè)電路。
3. 行程計(jì)量和液晶顯示原理
本設(shè)計(jì)中行程計(jì)量采用純軟件數(shù)據(jù)處理。由于電動(dòng)車電機(jī)轉(zhuǎn)子在外面,車上的輻條是固定在轉(zhuǎn)子上的,因此轉(zhuǎn)子轉(zhuǎn)一圈車輪就轉(zhuǎn)一周,所走過(guò)的路程就是車輪的周長(zhǎng)。這樣只要電機(jī)轉(zhuǎn)一圈,采用內(nèi)部中斷,數(shù)據(jù)處理部分就做一次加法,通過(guò)累加的辦法存儲(chǔ)總路程數(shù)據(jù),然后進(jìn)行十進(jìn)制轉(zhuǎn)換。由于HT46R6?自帶LCD驅(qū)動(dòng),因此只需將轉(zhuǎn)換后的結(jié)果直接寫(xiě)入其RAM存儲(chǔ)區(qū)1,即可在液晶屏上顯示里程。其中數(shù)據(jù)處理部分的加法采用浮點(diǎn)數(shù),這是因?yàn)镠T系列單片機(jī)不支持小數(shù)操作。
系統(tǒng)硬件結(jié)構(gòu)
驅(qū)動(dòng)部分:74HC139譯碼器的輸入端連接到單片機(jī)HT46R6?上,其使能控制位接HT46R6?的PWM1(即PD1口),其它輸入接普通I/O,譯碼器的輸出直接驅(qū)動(dòng)IR2132,IR2132的輸入均是低電平有效,以產(chǎn)生輸出電平去驅(qū)動(dòng)MOS管P60N06的柵極,外加48V漏極電壓使MOS管導(dǎo)通,通過(guò)這種驅(qū)動(dòng)方法順序?qū)ǜ鱉OS管,以便給直流無(wú)刷電機(jī)連續(xù)供電。需注意的是當(dāng)IR2132高于8.9V的電壓時(shí)才能開(kāi)通,一般采用12V或15V作為驅(qū)動(dòng),器件內(nèi)帶有欠電壓和過(guò)電流保護(hù);當(dāng)電壓低于8.9V,IR2132自動(dòng)斷開(kāi)不工作,即沒(méi)有輸出,此時(shí)整個(gè)控制系統(tǒng)也就無(wú)法正常運(yùn)作。
反電勢(shì)部分:采用原理部分?jǐn)⑹龅倪^(guò)零方案,通過(guò)電阻取三相反電勢(shì)電壓,將其送往比較器LM339中每個(gè)比較器的正端,為減小干擾,正端輸入需加電容濾波,而負(fù)端(參考相)電壓采用48V電源的1/22。通過(guò)比較,若正端電壓高于負(fù)端,則LM339的出端信號(hào)為+5V;若正端電壓低于負(fù)端,則出端信號(hào)為0V,從而給出轉(zhuǎn)子位置信號(hào),即傳感器信號(hào)。
LCD部分:本文中的設(shè)計(jì)采用兩行顯示的10位液晶屏與HT46R6?的SEG0-SEG19腳和4個(gè)COM腳相連,通過(guò)向內(nèi)部LCD存儲(chǔ)區(qū)寫(xiě)數(shù)即可在屏幕上顯示行程,自帶驅(qū)動(dòng),簡(jiǎn)易直觀且便于操作。選擇R型偏壓,則不需要連接外部電容或電阻,如果VDD大于VLCD引腳上的電壓,那么VMAX連接至VDD,否則連接到VLCD,這樣可以防止因電壓太強(qiáng)造成不該點(diǎn)亮的液晶段選信號(hào)點(diǎn)亮,避免亂碼的出現(xiàn);若選擇C型偏壓,需在單片機(jī)的V1與V2之間連接0.1μF濾波電容,C1與C2之間也需要連接0.1μF充電泵電容。本文選擇的是R型偏壓,整體硬件原理見(jiàn)圖5。
圖5:驅(qū)動(dòng)控制器硬件結(jié)構(gòu)圖。
用HT-IDE3000的仿真效果極佳,制成PCB板如圖6、圖7所示,主控板和驅(qū)動(dòng)板之間用跳線連接,如果時(shí)間允許,通常將兩塊電路板合在一起,并附帶散熱片。
圖6:主控制板。
圖7:電機(jī)驅(qū)動(dòng)板。
系統(tǒng)軟件流程
打開(kāi)電源開(kāi)關(guān),程序上電運(yùn)行,系統(tǒng)進(jìn)入初始化。初始化程序主要對(duì)各控制口設(shè)定初值,包括I/O輸入輸出、A/D轉(zhuǎn)換、PWM控制和中斷處理等。初始化完畢,判斷控制開(kāi)關(guān)打到正向還是反向,在非巡航模式下,等待車用轉(zhuǎn)把(相當(dāng)于一個(gè)電位器)給定PWM值,開(kāi)始以低速同步起動(dòng),若未給定PWM值,則一直停在程序初始部分,電機(jī)不運(yùn)行。
一旦電機(jī)同步起動(dòng)穩(wěn)定后,就會(huì)有反電勢(shì)產(chǎn)生,立即跳入反電勢(shì)運(yùn)行階段。在這一階段,可以對(duì)電機(jī)進(jìn)行加速或減速,根據(jù)A/D采集電位器電壓給定PWM值,平滑調(diào)速,無(wú)抖動(dòng)。眾所周知,車用轉(zhuǎn)把是彈簧做的,松手會(huì)回彈,如果不加控制,電機(jī)就會(huì)立即停轉(zhuǎn),為解決這一問(wèn)題,控制器加入了巡航功能,即PWM值給到一定程度,只要開(kāi)關(guān)指向巡航,電機(jī)就以那一時(shí)刻采到的轉(zhuǎn)速固定運(yùn)行,即使轉(zhuǎn)把回彈,電機(jī)仍以固定轉(zhuǎn)速正轉(zhuǎn)或反轉(zhuǎn)。所以在巡航模式下,調(diào)速不起作用,當(dāng)取消巡航模式,則又回到PWM隨時(shí)改變的狀態(tài)。
在電機(jī)正常運(yùn)行的同時(shí),記錄換相次數(shù)。根據(jù)電機(jī)磁極對(duì)數(shù)不同有異,本驅(qū)動(dòng)系統(tǒng)所對(duì)應(yīng)的電機(jī)換一次向才轉(zhuǎn)過(guò)10°,所以換36次向才轉(zhuǎn)過(guò)一圈,即正轉(zhuǎn)或反轉(zhuǎn)的順序?qū)ㄒh(huán)6次。此時(shí),執(zhí)行一次內(nèi)部中斷,程序跳入行程計(jì)量部分,累加一次車輪的周長(zhǎng)。
當(dāng)浮點(diǎn)數(shù)累加完畢,由鍵盤(pán)察看判斷。若需要察看,立即跳入LCD部分,將累加完的總和轉(zhuǎn)換成十進(jìn)制數(shù),此處以km為單位,保留一位小數(shù)。再調(diào)用LCD顯示子程序,并使用查表的辦法將轉(zhuǎn)換結(jié)果寫(xiě)入HT46R6?單片機(jī)的RAM存儲(chǔ)區(qū)1,即可在液晶屏上顯示里程,然后中斷返回到主程序。若不需要察看行程,則累加完畢就直接返回主程序。
圖8:系統(tǒng)程序流程圖。
注意,本文中控制器的主程序中,正反轉(zhuǎn)兩部分程序完全對(duì)稱,只不過(guò)正轉(zhuǎn)計(jì)量行程,而反轉(zhuǎn)沒(méi)有,其它細(xì)節(jié)處理上沒(méi)有差別。系統(tǒng)軟件流程如圖8所示,其中反電勢(shì)模塊流程見(jiàn)圖9。
圖9:反電勢(shì)程序流程圖。
本文小結(jié)
實(shí)驗(yàn)證明,本驅(qū)動(dòng)控制系統(tǒng)的設(shè)計(jì)方案具有可行性。反電勢(shì)檢測(cè)換相很正常,無(wú)級(jí)調(diào)速系統(tǒng)平滑,有巡航功能;剎車及時(shí),制動(dòng)柔和,完全能實(shí)現(xiàn)單片機(jī)對(duì)無(wú)傳感器直流無(wú)刷電機(jī)的基本控制。行程計(jì)量采用浮點(diǎn)數(shù)累加,結(jié)果在LCD上顯示,簡(jiǎn)易直觀。該控制器成本低廉,操作簡(jiǎn)單,可靠性高。本設(shè)計(jì)雖在BLDC反電勢(shì)控制上取得一些進(jìn)步,但功能仍需完善,IR2132要通過(guò)電阻分流設(shè)定過(guò)流值,遇到異常情況,根據(jù)過(guò)流值大小判斷是否切斷電路;因電機(jī)低速運(yùn)行時(shí),反電勢(shì)值小,經(jīng)比較器可能得不到換相信號(hào),若將該參考端固定電壓做成可變的,可增大調(diào)速范圍。