本發明屬于傳感器信號處理領域,具體涉及到一種力矩傳感器的信號處理算法。
背景技術:
隨著近年人民生活水平的提高,電動助力車(Pedelec)已經不僅僅是一種代步工具,而是被越來越多的人用作休閑健身的體育器材。而作為休閑健身之用的電動助力車,必須具備良好的騎行舒適感和適當的體能鍛煉效果,因此目前在國內和國外的高端的電動助力車上,都配備了力矩傳感器(Torque Sensor),其功能是根據騎行者腳踏力量的大小來決定電機輸出功率的大小。一般情況下,腳踏力量越大,代表著騎行者需要更快的車速,這時電機輸出的功率也應該相應地加大,從而不讓騎行者付出太多的能量消耗。反之,腳踏力量越小,電機的輸出功率也越小。完美的電機控制算法應該達到車輛的平穩性和反應速度的平衡,即腳踏一用力,車子立即啟動;腳踏一停止,電機立即斷電;騎行過程中腳踏加力,電機的出力線性增加,既不會讓騎行者感覺動力不足,又不會由于電機出力過大讓騎行者有空踩的感覺;騎行過程中腳踏減力,電機也要及時減小輸出,能夠讓整車速度及時下降,以節省電力。這就需要設計一套完整的信號處理以及電機控制算法。
目前電動助力車上配備的力矩傳感器根據其安裝位置的不同,大致有以下幾種:腳踏中軸五通力矩傳感器,后輪軸鉤爪力矩傳感器,腳踏板壓力傳感器,鏈條張力傳感器等等。但是其輸出力矩信號都是類似于圖1所示。
圖1為騎行者踏力恒定且踏頻恒定的理想狀態下腳踏一周時力矩傳感器輸出電壓信號波形。此圖中力矩零點為1.0V,滿值為4.0V,當右腳腳踏板位于最下方時,我們定義此時的曲柄角度為0度,當右腳腳踏板位于最上方時,我們定義此時的曲柄角度為180度,如圖2所示。從圖1可以看出當曲柄位于0度和180度的位置的時候,力矩信號為0,因為此時踏力方向為垂直于地面的方向,踏力全部被軸抵消,沒有分量被傳遞到鏈盤上;當曲柄位于90度的時候,也就是左腳踏板位于最前部的時候,左腳踏力被全部傳遞到鏈盤上,此時接收到的力矩信號達到峰值;當曲柄位于270度的時候,也就是右腳踏板位于最前部的時候,右腳踏力被全部傳遞到鏈盤上,此時接收到的力矩信號也達到峰值。
由此可見,如果電機輸出轉矩直接和腳踏力矩信號成正比的話,就會造成一圈內兩個周期的轉矩很大的波動,造成電機驅動力忽大忽小,車輛向前一沖一放,這會嚴重影響騎行的舒適感。因此如何正確地對力矩信號進行處理,是力矩型電動助力車能否獲得良好的用戶體驗的一項關鍵技術。
技術實現要素:
發明目的:針對現有技術中存在的問題,本發明公開了一種電動助力車力矩傳感器信號處理算法,該算法通過對腳踏力矩傳感器的電壓信號進行處理,用處理過的力矩電壓信號驅動電機,可以實現車輛的平穩性和反應速度的平衡。
技術方案:一種電動助力車力矩傳感器信號處理算法,包括如下步驟:
(1)力矩零點T0自標定;(2)還原腳踏力矩電壓Torque_Real;(3)提取踏頻信號;(4)得到處理后的力矩信號。
具體地,步驟(1)所述的力矩零點自標定包括如下步驟:
(11)在系統通電信號穩定后對力矩傳感器的電壓進行1秒鐘的持續采樣,并計算統計均值
(12)如果則力矩零點T0為且為可靠零點,結束力矩零點自標定;其中[Tmin,Tmax]為廠家標稱的力矩零點范圍;
(13)如果則力矩零點為不可靠零點,暫時認為力矩零點T0為繼續對力矩傳感器的電壓進行采樣;
(14)當力矩零點為不可靠零點時,如果連續3秒內力矩傳感器電壓的采樣值波動范圍小于±0.1V,計算統計均值則力矩零點T0為結束力矩零點自標定。
當電動助力車配備腳踏角度傳感器時,步驟(2)所述的腳踏力矩電壓Torque_Real為:
其中Torque_Real為是真實可用來計算電機輸出的力矩電壓,Torque_Sample是采樣到的力矩電壓,θ為腳踏角度傳感器的輸出角度,弧度單位,0度起點定義與圖2一致。
當電動助力車沒有配備腳踏角度傳感器時,步驟(2)所述的腳踏力矩電壓Torque_Real為:
其中Torque_Real(n)表示在n時刻的腳踏力矩電壓Torque_Real,Torque_Sample(n)表示n時刻采樣到的力矩電壓,Torque_Real(0)=0。
當電動助力車配備有腳踏速度傳感器時,步驟(3)所述的踏頻信號Tf為:
其中,Nf為腳踏速度傳感器每秒接收到的脈沖數,Mf為腳踏一圈時腳踏速度傳感器接收到的脈沖數。
當電動助力車沒有配備有腳踏速度傳感器時,步驟(3)所述的踏頻信號Tf為原始的力矩采樣信號Torque_Sample(n)快速傅里葉變換TFFT(k)的基頻分量。
步驟(4)所述的處理后的力矩信號Torque為:
Torque=Torque_Real*kcomp
其中Torque_Real為步驟(2)還原的腳踏力矩電壓,補償系數kcomp計算公式如下:Tf為步驟(3)提取的踏頻信號。
有益效果:本發明公開的電動助力車力矩傳感器信號處理算法,具有以下優點:1、當力矩零點不可靠時,在運行過程中重新標定力矩零點,使系統的判斷更加穩定;2、在還原腳踏力矩電壓時,對于信號上升和下降的過程采用不同的濾波系數,達到響應及時,騎行平順的目的;3、在沒有腳踏速度傳感器的情況下,利用快速傅里葉變化提取離散力矩信號的基頻作為踏頻,可以有效模擬出踏頻信號;4、本發明公開的算法處理過的力矩信號,可以實現車輛的平穩性和反應速度的平衡,具有舒適的騎行體驗感。
附圖說明
圖1是腳踏一圈力矩信號波形圖;
圖2是曲柄角度示意圖;
圖3是本發明算法的流程圖;
圖4是本發明中力矩零點自標定流程圖;
圖5是非等同系數一階濾波算法流程圖;
圖6是非等同系數一階低通濾波的前后信號對比。
具體實施方式
下面結合附圖和具體實施方式,進一步闡明本發明。
如圖3所示,一種電動助力車力矩傳感器信號處理算法,包括如下步驟:
(1)力矩零點T0自標定;
力矩傳感器的生產廠家一般都會在產品說明書上標明力矩信號的零點范圍,但是由于種種原因,比如安裝工藝,溫度漂移等,實際在整車上安裝完成的產品的一致性并非很好,也不是嚴格符合產品說明。這時就需要控制器對力矩傳感器的零點電壓重新標定,一般要求用戶在開機時保持兩側踏板自由狀態,無外部壓力,控制器系統通電信號穩定后對力矩傳感器的電壓進行1秒鐘的持續采樣,并計算統計均值如果在廠家標定的力矩零點范圍[Tmin,Tmax]之內,則認為此值為可靠零點,整個過程中一直使用此值作為力矩零點,即如果超出了廠家標定的力矩零點范圍,則暫時將作為力矩零點,但同時標記為不可靠零點,不可靠的原因有可能是開機時腳踏板上有壓力所致,所以還需要在運行過程中重新修正零點。當力矩傳感器的電壓連續3秒以上波動范圍小于±0.1V時,重新標定此時間段內的力矩電壓統計均值為力矩零點T0,因為在正常人力踩踏過程中,會是如圖1所示的波形信號,不可能是一成不變的電壓信號,可以認為這3秒內沒有人力在踩踏,所以將此值設為零點是比較合理的處理方法。圖4為力矩零點自標定算法的流程圖。
獲取到力矩零點后,對力矩電壓的采樣和還原都是基于此力矩零點。
(2)還原腳踏力矩電壓Torque_Real;
對于直接配備腳踏角度傳感器的車子,真實的腳踏力矩大小可以無失真地還原,即:
其中Torque_Real為是真實的可用來計算電機輸出的力矩電壓,Torque_Sample是采樣到的力矩電壓,θ為腳踏角度傳感器的輸出角度,弧度單位,0度起點定義與圖2一致。
但是大部分助力車沒有配備腳踏角度傳感器,可以對力矩電壓進行低通濾波來近似,本實施例采用簡單易于單片機實現的一階低通濾波法:
Torque_Real(n)=Torque_Sample(n)*(1-a)+Torque_Real(n-1)*a
其中Torque_Real(n)表示在n時刻的腳踏力矩電壓Torque_Real,Torque_Sample(n)表示n時刻采樣到的力矩電壓,a為濾波系數,0≤a≤1,a越接近于0,信號變化速度越快,a越接近于1,信號變化速度越慢。由于騎行者希望力矩增加時電機能夠迅速增加功率輸出,而力矩信號減小時不要馬上減小輸出,其實類似于檢測力矩信號在一圈中的峰值,但是與峰值檢測不同的是,力矩信號減小時也會對輸出有影響,電機功率要慢慢減小。因此本發明在處理力矩信號時對于信號增加和減小時要采用不同的濾波系數a,圖5為此算法流程圖。
本實施例中腳踏力矩電壓Torque_Real為:
其中Torque_Real(n)表示在n時刻的腳踏力矩電壓Torque_Real,Torque_Sample(n)表示n時刻采樣到的力矩電壓,Torque_Real(0)=0。
此處信號上升時的濾波系數a為0.05,實際計算的信號基本上和最新采樣到的信號一致。信號下降時的濾波系數為0.995,實際計算的信號變化就非常緩慢,不隨著采樣信號的變化而產生迅速的變化。如圖6所示,淺色線為原始力矩信號,黑色線為經過一階低通濾波后的力矩信號,可以看出經過濾波后的信號比原始穩定了許多,又對上升信號有著足夠快的反應速度。
(3)提取踏頻信號;
對于直接配備腳踏速度傳感器的助力車,踏頻信號Tf可以很容易地得到,即:
其中,Nf為腳踏速度傳感器每秒接收到的脈沖數,Mf為腳踏一圈時腳踏速度傳感器接收到的脈沖數。
對于沒有配備腳踏速度傳感器的助力車,需要從原始的力矩采樣信號Torque_Sample(n)中提取出踏頻信號,通常采用離散信號的快速傅里葉變換(FFT),獲取其基頻分量作為踏頻信號Tf。
Torque_Sample(n)的快速傅里葉變換TFFT(k)為:
其中N為采樣點個數,則踏頻信號Tf為TFFT(k)的基頻分量。
(4)得到處理后的力矩信號。
踏頻信號是用于對上一步低通濾波后的力矩信號進行補償用的,在人的做功一定的條件下,通常踏頻越快,力矩信號越小,因此需要對力矩信號乘以補償系數,踏頻越快,補償系數越大。
處理后的力矩信號Torque為:
Torque=Torque_Real*kcomp
補償系數kcomp計算公式如下:
其中Tf的單位為Hz,當踏頻為0Hz時,車輛剛起步,補償系數kcomp=1;當車速加快,腳踏越來越使不上太大的力,力矩信號變小,需要提高補償系數;當踏頻為0.5Hz,即腳踏一圈需要2秒時,kcomp=2,隨著踏頻的加快,補償系數越來越大,提供更輕松的高速騎行感覺。
處理后的力矩信號Torque可以直接利用PID閉環控制算法去控制電機的相電流,而電機的相電流在未飽和的情況下和電機的輸出扭矩是成正比的,這樣就實現了由人的踏力力矩到電機輸出轉矩的完整的控制過程。