一種電機hall速度平滑處理方法
【專利摘要】本發(fā)明屬于電機控制技術(shù),具體涉及一種電機HALL速度平滑處理方法。本發(fā)明電機HALL速度平滑處理方法,先計算電機某HALL狀態(tài)轉(zhuǎn)動一圈的時間差,用轉(zhuǎn)動一圈的360°除以轉(zhuǎn)動時間及平滑計數(shù)器所累加的時間,即為當前的HALL速度,如果當前的HALL狀態(tài)更新,平滑計算器所累加的時間為零;如果當前的HALL狀態(tài)不更新,此時將平滑計數(shù)器開始累加,其所累加得到的平滑時間與轉(zhuǎn)動時間進行疊加得到總時間,用于計算HALL速度,使HALL速度突變?yōu)?的階躍跳變過程處理為一個平滑漸變過程。從而更好的完成電機的速度環(huán)控制,解決電機的抖動問題,達到電機控制更加理想的目的。
【專利說明】
一種電機HALL速度平滑處理方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于電機控制技術(shù),具體涉及一種電機HALL速度平滑處理方法。
【背景技術(shù)】
[0002]電機的閉環(huán)控制通常都采用位置環(huán)、速度環(huán)、電流環(huán)等經(jīng)典的閉環(huán)策略進行控制,而電機(本文均指直流無刷電機)的速度環(huán),速度反饋即為電機的當前的HALL速度。對于電機的HALL速度計算,有很多種方法,目前比較經(jīng)典的方法就是直接利用電機旋轉(zhuǎn)一周,HALL變換一個周期的時間進行計算當前HALL的速度。
[0003]在電機的控制中,HALL速度作為反饋的輸入,質(zhì)量的好壞直接影響到電機的控制品質(zhì),傳統(tǒng)的方法直接計算HALL速度,在HALL狀態(tài)不更新的情況下,直接置電機的速度為O,因此在電機突然靜止的情況下,電機速度就會出現(xiàn)一個從較大值到O的階躍跳變,電機速度環(huán)的控制就會出現(xiàn)一個毛刺,從而出現(xiàn)電機在停下的時刻出現(xiàn)抖動的現(xiàn)象。那么解決上述問題的根本就是如何讓HALL速度的突變變得更加平滑。
[0004]圖1所示是傳統(tǒng)的電機HALL速度計算方法,該方法簡單直接,利用當前HALL狀態(tài)是否變化進行HALL速度的計算,如果HALL狀態(tài)未發(fā)生改變,則直接計算的HALL速度為O。如果對于160V的高壓電機來說,用HVM控制電機啟動和停止,在電機停止的一瞬間,高壓電機的運動非常快,如果速度反饋從很大的速度驟然降到0,那么在電機的控制中,速度環(huán)的反饋就會有一個比較大的毛刺,從而導(dǎo)致電機出現(xiàn)抖動現(xiàn)象,高壓電機的電機抖動往往會引起毛刺電流的產(chǎn)生,大的毛刺電流經(jīng)常會燒斷電機的繞組,燒壞電路板。
[0005]通常情況下,電機的控制部分驅(qū)動都是利用FPGA實現(xiàn)的,而DSP中的軟件通常只用來進行閉環(huán)的控制,這樣在FPGA中,軟件不需要進行HALL狀態(tài)的判斷,直接用FPGA計算好的速度即可。而目前的大部分芯片,都支持單獨控制電機,直接應(yīng)用芯片的PWM進行電機的控制,因此軟件不得不考慮電機速度的計算方法。如何完成高精度的電機控制,如何用軟件實現(xiàn)速度環(huán)反饋的數(shù)據(jù)平滑綜合,就成為亟待解決的問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是:提供一種能夠有效減少電機HALL速度突變,防止電機抖動的平滑處理方法。
[0007]本發(fā)明的技術(shù)方案是:一種電機HALL速度平滑處理方法,先計算電機某HALL狀態(tài)轉(zhuǎn)動一圈的時間差,用轉(zhuǎn)動一圈的360°除以轉(zhuǎn)動時間及平滑計數(shù)器所累加的時間,即為當前的HALL速度,如果當前的HALL狀態(tài)更新,平滑計算器所累加的時間為零;如果當前的HALL狀態(tài)不更新,此時將平滑計數(shù)器開始累加,其所累加得到的平滑時間與轉(zhuǎn)動時間進行疊加得到總時間,用于計算HALL速度,使HALL速度突變?yōu)镺的階躍跳變過程處理為一個平滑漸變過程。
[0008]所述平滑計算器累加計數(shù)是以周期任務(wù)的頻率為基準進行自我累加計數(shù),并與自定義的小幀周期相乘得到平滑時間。
[0009]所述的電機HALL速度平滑處理方法,其具體過程如下:
[0010]步驟I):選定電機的一個HALL狀態(tài),記錄該狀態(tài)當前出現(xiàn)的時刻HALL_HME_N0W和上一次出現(xiàn)的時刻HALL_HME_LAST;
[0011]步驟2):判斷當前電機的HALL狀態(tài)是否有更新,如有更新則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟3);
[0012]步驟3):平滑計數(shù)器FADER_CNT開始累加,如果平滑計數(shù)器超過閾值δ,則平滑計數(shù)器FADER_CNT的值為δ,轉(zhuǎn)入步驟5);
[0013]步驟4):判斷當前電機HALL狀態(tài)的此刻出現(xiàn)時刻HALL_I1ME_N0W和上一次出現(xiàn)時刻HALL_TME_LAST是否相等,如果相等,則平滑計數(shù)器的數(shù)值為I,否則平滑計數(shù)器的值為O,轉(zhuǎn)入步驟5);
[0014]步驟5):計算當前的HALL速度,HALL速度的計算公式為:
[0015]360°/[(HALL_HME_N0W-HALL_HME_LAST)+FADER_CNT*T],其中T為自定義的小幀周期,轉(zhuǎn)入步驟6);
[0016]步驟6):輸出計算的HALL速度值。
[0017]本發(fā)明的技術(shù)效果是:本發(fā)明主要涉及的是HALL速度計算方法優(yōu)化,在傳統(tǒng)的HALL速度計算方法的基礎(chǔ)上,利用平滑計數(shù)器小幀計數(shù)的大小來調(diào)整速度降低的斜率,進行HALL速度平滑的處理,更好的完成電機的速度環(huán)控制,解決電機的抖動問題,達到電機控制更加理想的目的。
【附圖說明】
[0018]圖1是傳統(tǒng)的電機HALL速度計算流程示意圖;
[0019]圖2是本發(fā)明處理后電機HALL速度計算流程示意圖。
【具體實施方式】
[0020]下面結(jié)合附圖和實施例對本發(fā)明做進一步說明:
[0021 ]本發(fā)明電機HALL速度平滑處理方法,先計算電機某HALL狀態(tài)轉(zhuǎn)動一圈的時間差,用轉(zhuǎn)動一圈的360°除以轉(zhuǎn)動時間及平滑計數(shù)器所累加的時間,即為當前的HALL速度,如果當前的HALL狀態(tài)更新,平滑計算器所累加的時間為零;如果當前的HALL狀態(tài)不更新,此時將平滑計數(shù)器開始累加,其所累加得到的平滑時間與轉(zhuǎn)動時間進行疊加得到總時間,用于計算HALL速度,使HALL速度突變?yōu)镺的階躍跳變過程處理為一個平滑漸變過程。其中,所述平滑計算器累加計數(shù)是以周期任務(wù)的頻率為基準進行自我累加計數(shù),并與自定義的小幀周期相乘得到平滑時間。從而可以利用平滑計數(shù)器處理突變速度,實現(xiàn)對電機速度的控制,消除電機的抖動。
[0022]如圖2所示,某實例中:使用市面上的某芯片10^5644六,主頻設(shè)置為1201取,同時控制兩個直流無刷電機,電機搭配HALL傳感器,其中HALL狀態(tài)Oxl?0x6為正常狀態(tài),0x0和0x7為非法狀態(tài),CPU通過PffM波進行電機轉(zhuǎn)動的控制。在軟件的控制中,設(shè)置平滑計數(shù)器fader_cnt,初始值為0,平滑計數(shù)器的上限閾值設(shè)置為1000,平滑計數(shù)器沒周期累加I,HALL狀態(tài)記錄時間單位為秒(s),小幀周期時間為2s,使用本發(fā)明的實例步驟如下。
[0023]I)電機當前勻速轉(zhuǎn)動,選擇HALL狀態(tài)0x6作為計算的基準狀態(tài),當前拍的HALL狀態(tài)0x6的時間為236.7512s,而上一拍HALL狀態(tài)0x6的時間為232.1953s。
[0024]2)當前HALL狀態(tài)為Oxl,即HALL狀態(tài)發(fā)生了變化。
[0025]3)HALL狀態(tài)0x6當前的時間和上一拍的時間不相同,則此時平滑計數(shù)器為0,平滑時間相應(yīng)為O。
[0026]4)計算HALL速度,采用公式
[0027]360。/[(HALL_TIME_N0ff-HALL_TIME_LAST)+FADER_CNT*T]=
[0028]360。/[(236.7512-232.1953)+0*0.002]=79.0184°/s。
[0029]5)當前電機的輸出HVM為0,電機突然停止。并且當前的電機HALL狀態(tài)為0x2,上一拍的電機HALL狀態(tài)也為0x2。
[0030]6)平滑計數(shù)器開始累加,當前平滑計數(shù)器累加到500。則按照公式計算當前的HALL速度為 360° /[0+0*2*500] =0.36%,即HALL 速度慢慢降低到0.36° /s。
[0031]另外,也可以調(diào)整平滑計數(shù)器增加的快慢,平滑計數(shù)器小幀計數(shù)的大小來調(diào)整速度降低的斜率,進一步更好的完成電機的速度環(huán)控制,優(yōu)化整個電機的控制過程。
【主權(quán)項】
1.一種電機HALL速度平滑處理方法,其特征在于,先計算電機某HALL狀態(tài)轉(zhuǎn)動一圈的時間差,用轉(zhuǎn)動一圈的360°除以轉(zhuǎn)動時間及平滑計數(shù)器所累加的時間,即為當前的HALL速度,如果當前的HALL狀態(tài)更新,平滑計算器所累加的時間為零;如果當前的HALL狀態(tài)不更新,此時將平滑計數(shù)器開始累加,其所累加得到的平滑時間與轉(zhuǎn)動時間進行疊加得到總時間,用于計算HALL速度,使HALL速度突變?yōu)镺的階躍跳變過程處理為一個平滑漸變過程。2.根據(jù)權(quán)利要求1所述的電機HALL速度平滑處理方法,其特征在于,所述平滑計算器累加計數(shù)是以周期任務(wù)的頻率為基準進行自我累加計數(shù),并與自定義的小幀周期相乘得到平滑時間。3.根據(jù)權(quán)利要求1所述的電機HALL速度平滑處理方法,其特征在于,具體過程如下: 步驟I):選定電機的一個HALL狀態(tài),記錄該狀態(tài)當前出現(xiàn)的時刻HALL_I1ME_N0W和上一次出現(xiàn)的時刻HALL_HME_LAST ; 步驟2):判斷當前電機的HALL狀態(tài)是否有更新,如有更新則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟3); 步驟3):平滑計數(shù)器FADER_CNT開始累加,如果平滑計數(shù)器超過閾值δ,則平滑計數(shù)器FADER_CNT的值為δ,轉(zhuǎn)入步驟5); 步驟4):判斷當前電機HALL狀態(tài)的此刻出現(xiàn)時刻HALL_T IME_NOW和上一次出現(xiàn)時刻HALL_TME_LAST是否相等,如果相等,則平滑計數(shù)器的數(shù)值為I,否則平滑計數(shù)器的值為O,轉(zhuǎn)入步驟5); 步驟5):計算當前的HALL速度,HALL速度的計算公式為: 360°/[(HALL_TIME_NOff-HALL_TIME_LAST) +FADER_CNT*T],其中T為自定義的小幀周期,轉(zhuǎn)入步驟6); 步驟6):輸出計算的HALL速度值。
【文檔編號】H02P6/08GK106059400SQ201610594455
【公開日】2016年10月26日
【申請日】2016年7月26日 公開號201610594455.X, CN 106059400 A, CN 106059400A, CN 201610594455, CN-A-106059400, CN106059400 A, CN106059400A, CN201610594455, CN201610594455.X
【發(fā)明人】董少陽, 蘇春宇, 蘇二峰, 謝衛(wèi)
【申請人】中國航空工業(yè)集團公司西安飛行自動控制研究所