本發(fā)明屬于電機(jī)控制技術(shù),具體涉及一種CPU單獨(dú)控制電機(jī)PWM輸出的方法。
背景技術(shù):
電機(jī)的控制一直以來(lái)都是控制工程中經(jīng)典的工程應(yīng)用,目前的電機(jī)控制在節(jié)省成本的前提下,都是使用單CPU直接控制,沒(méi)有FPGA、AD等硬件模塊的支撐,因此控制過(guò)程中更加依賴于CPU。而CPU工作過(guò)程中,電機(jī)的控制是通過(guò)PWM輸出完成的,單CPU的工作模式,只能采用中斷的模式去輸出PWM。目前的單CPU往往不止控制一個(gè)電機(jī),帶來(lái)的問(wèn)題就是在電機(jī)的控制過(guò)程中,CPU有太多的中斷需要去響應(yīng),從而降低CPU的工作效率,而且CPU的安全性大大降低,很容易出現(xiàn)死機(jī)和程序跑飛的情況。
通常的情況下,單CPU控制電機(jī)往往采用一個(gè)高頻的載波進(jìn)行PWM的輸出,確保在電機(jī)HALL的變化前提下,每一次的變化都有PWM輸出的響應(yīng)。在電機(jī)停止的情況下,即HALL狀態(tài)不再更新的情況下,也會(huì)有一個(gè)高頻PWM一直輸出,CPU一直都在響應(yīng)一個(gè)高頻的中斷,如此頻繁的中斷,必然會(huì)導(dǎo)致CPU的負(fù)荷過(guò)高,從而影響CPU工作性能和可靠性。如何能解決上述的問(wèn)題,就成了電機(jī)控制亟待解決的問(wèn)題。
圖1所示是CPU控制電機(jī)的普通模式,一直用高頻的PWM作為輸出,從而軟件頻繁的產(chǎn)生中斷,降低CPU利用率。對(duì)于CPU而言,如果大部分的時(shí)間都用來(lái)響應(yīng)中斷,那么在整個(gè)控制過(guò)程中,中斷的響應(yīng)時(shí)間占據(jù)了絕大部分,而其它模塊的計(jì)算則相對(duì)安全性就會(huì)受到影響。例如通常情況下,高頻的中斷周期為10KHZ,長(zhǎng)時(shí)間的高頻中斷也會(huì)增加CPU的功耗,從而導(dǎo)致發(fā)熱發(fā)燙,進(jìn)而出現(xiàn)程序跑飛、軟件運(yùn)行異常的等不可預(yù)估的錯(cuò)誤,降低產(chǎn)品的安全性。
在軟件的控制過(guò)程中,PWM波輸出控制作為軟件和電機(jī)交互的橋梁,如何在保證控制精度的前提下,減少PWM輸出的中斷,就成為解決上述問(wèn)題的關(guān)鍵。經(jīng)過(guò)分析得知,電機(jī)的運(yùn)動(dòng)實(shí)質(zhì)是在電機(jī)不同的HALL狀態(tài)下,有對(duì)應(yīng)的PWM輸出,那么可以直接采用HALL變化中斷的模式來(lái)進(jìn)行電機(jī)的控制,即電機(jī)當(dāng)前的HALL狀態(tài)發(fā)生了變化,觸發(fā)中斷進(jìn)行PWM的輸出。但是也會(huì)帶來(lái)一個(gè)問(wèn)題,HALL變化的中斷響應(yīng),是在HALL狀態(tài)發(fā)生變化的時(shí)候才有,那么在電機(jī)停止HALL狀態(tài)不變的情況下,如果沒(méi)有HALL狀態(tài)的變化,那么永遠(yuǎn)都不會(huì)響應(yīng)中斷,從而電機(jī)無(wú)法轉(zhuǎn)動(dòng)。
在此條件下,需要提出一種方法,能夠使用HALL中斷的控制方法,但是又能解決電機(jī)停止HALL狀態(tài)無(wú)變化無(wú)法觸發(fā)中斷的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:提供一種采用CPU單獨(dú)HALL中斷控制的PWM低頻輸出的方法。
本發(fā)明的技術(shù)方案是:一種CPU單獨(dú)控制電機(jī)PWM輸出的方法,電機(jī)的運(yùn)動(dòng)是根據(jù)安裝在電機(jī)的霍爾傳感器相應(yīng)HALL狀態(tài)(霍爾狀態(tài))的變化來(lái)判定,HALL狀態(tài)的變更,將觸發(fā)HALL中斷,CPU輸出相應(yīng)的PWM,如果當(dāng)前HALL狀態(tài)未變更,但是此時(shí)PWM值不為零,由CPU給電機(jī)一個(gè)低頻PWM輸出,讓電機(jī)完成HALL中斷的變更,觸發(fā)HALL中斷。
所述的CPU單獨(dú)控制電機(jī)PWM輸出的方法,其具體過(guò)程如下:
步驟1):判斷電機(jī)當(dāng)前的HALL狀態(tài),如果當(dāng)前的HALL狀態(tài)有變化,則轉(zhuǎn)入步驟2),否則轉(zhuǎn)入步驟4);
步驟2):在HALL中斷的模式下,由CPU進(jìn)行PWM的輸出,轉(zhuǎn)入步驟3);
步驟3):在HALL中斷模式下,由CPU判斷當(dāng)前是否有低頻的中斷產(chǎn)生,如果有低頻的中斷產(chǎn)生,則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟5);
步驟4):根據(jù)低頻的中斷模式,由CPU向電機(jī)輸出低頻PWM,轉(zhuǎn)入步驟5);
步驟5):輸出PWM到電機(jī),讓電機(jī)完成HALL中斷的變更,觸發(fā)HALL中斷,完成整個(gè)電機(jī)控制過(guò)程。
本發(fā)明的技術(shù)效果是:本發(fā)明采用HALL中斷的觸發(fā)模式,可以控制電機(jī)的運(yùn)動(dòng),使用低頻PWM輸出的方法,可以解決電機(jī)無(wú)法觸發(fā)HALL中斷的問(wèn)題,兩者的結(jié)合可以完成電機(jī)高精度的控制,同時(shí)大大減少中斷的個(gè)數(shù),降低CPU的功耗和提高CPU的可靠性和安全性。
附圖說(shuō)明
圖1是傳統(tǒng)的控制電機(jī)PWM輸出時(shí)機(jī)流程示意圖;
圖2是本發(fā)明處理后的控制電機(jī)PWM輸出時(shí)機(jī)的處理流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明:
請(qǐng)參閱圖2,本發(fā)明CPU單獨(dú)控制電機(jī)PWM輸出的方法采用中斷+低頻的方式輸出PWM,在控制的時(shí)候,首先需要判斷當(dāng)前電機(jī)的HALL狀態(tài),如果電機(jī)的HALL狀態(tài)有變化,則說(shuō)明電機(jī)當(dāng)前在轉(zhuǎn)動(dòng)。HALL狀態(tài)的變化引起中斷的產(chǎn)生,在中斷中輸出PWM波。而當(dāng)PWM為0的時(shí)候,HALL狀態(tài)不再發(fā)生改變,從而不再響應(yīng)HALL中斷輸出的PWM。
舉例對(duì)過(guò)程進(jìn)行完整描述。當(dāng)前有飛思卡爾控制芯片MPC5644A,設(shè)定CPU工作頻率為120MHz,電機(jī)為功率10W的直流無(wú)刷電機(jī),2對(duì)極,搭配HALL傳感器,電機(jī)的正常HALL狀態(tài)為0x1~0x6,0x0和0x7為非法狀態(tài),CPU通過(guò)輸出PWM控制電機(jī)的運(yùn)動(dòng),搭配一個(gè)500Hz的低頻PWM輸出。使用本發(fā)明控制電機(jī)PWM輸出的步驟用例如下:
1)電機(jī)當(dāng)前靜止,判斷電機(jī)當(dāng)前的HALL狀態(tài),當(dāng)前的電機(jī)HALL狀態(tài)為0x5,上一拍的HALL狀態(tài)也為0x5,當(dāng)前的控制電機(jī)PWM為40%的占空比。
2)當(dāng)前的HALL狀態(tài)沒(méi)有變化,那么在HALL狀態(tài)0x5的狀態(tài)下,通過(guò)低頻直接輸出PWM,電機(jī)開(kāi)始運(yùn)動(dòng)。
3)當(dāng)前的電機(jī)HALL狀態(tài)為0x1,上一拍的電機(jī)HALL狀態(tài)為0x3,則進(jìn)入HALL中斷,對(duì)40%占空比的PWM進(jìn)行輸出。
4)在輸出過(guò)程中,PWM輸出低頻輸出中斷到來(lái),在當(dāng)前HALL狀態(tài)為0x1的狀態(tài)下繼續(xù)輸出40%占空比。
5)PWM占空比突變?yōu)?,當(dāng)前的HALL狀態(tài)為0x4,那么在當(dāng)前HALL狀態(tài)下輸出PWM為0,電機(jī)停止運(yùn)動(dòng)。
6)此時(shí)低頻PWM輸出中斷來(lái)臨,輸出PWM為0,電機(jī)處于靜止?fàn)顟B(tài)。
7)PWM占空比突變?yōu)?00%,重復(fù)1)~6)的過(guò)程。
采用HALL中斷+低頻的模式,進(jìn)一步減少了中斷的個(gè)數(shù),降低了CPU的功耗,而且提高了程序的可靠性,可以避免因?yàn)橹袛囝l繁導(dǎo)致程序跑飛、CPU過(guò)熱過(guò)燙的問(wèn)題,有效的提高了產(chǎn)品的安全性。
另外,低頻的PWM輸出可以參照經(jīng)驗(yàn)值進(jìn)行設(shè)定,該低頻的PWM的主要作用就是解決HALL狀態(tài)沒(méi)有變化的問(wèn)題,因此在不影響控制精度和響應(yīng)實(shí)際的前提下,低頻的PWM可以適當(dāng)?shù)脑O(shè)置的更低,進(jìn)一步減小中斷的頻率和數(shù)量,更大程度的保證CPU的工作效率。