無(wú)傳感器BLDC驅(qū)動(dòng)控制系統(tǒng)的設(shè)計(jì)
圖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)打到正向還是反向,在非巡航模式下,等待車(chē)用轉(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)。眾所周知,車(chē)用轉(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ì)量部分,累加一次車(chē)輪的周長(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ì)稱(chēng),只不過(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)平滑,有巡航功能;剎車(chē)及時(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)速范圍。
評(píng)論