當電機在汽車傳動應用中使用時,最令人感興趣的特性之一是它們還能用作發電機,因而在剎車時可以給汽車電池充電。Roboteq公司的電機控制器可以通過方便地編程充分利用這個特性以受控和漸進的方式實現再生制動。 本文討論了使用電機速度檢測這種簡單且非常高效的技術背后的原理,并介紹了使用與Roboteq控制器連接的無刷電機的一個實際例子。 既是電動機又是發電機 電機的簡化模型是一個電阻串聯一個電感和一個電壓發生器。電阻和電感就是電機內部電磁部件的電阻和電感。電壓發生器代表電機在轉動時由電機本身產生的電壓,一般稱為反向電動勢,簡寫為BEMF。BEMF電壓是一個固定的電壓轉速比值(V/RPM)。 能夠使用Roboteq無刷電機控制器實現漸進式再生制動的實驗性電動踏板車。 圖1:電動機模型。 當給處于機械鎖定狀態的電機加電時,模型實際上可以簡化為一個兩端連接電池的電阻,測得的電流值為I=VBat/Rm。電感只是影響電壓加上瞬間的電流,如果電壓保持恒定這種影響會消失。 圖2:當電機停轉時的等效電路。 如果電機允許旋轉,那么它將產生正比于旋轉速度的BEMF電壓。此時的模型是一個電阻加上分別位于電阻兩端的發電器。電阻上的最終電壓等于電池電壓減去BEMF,電流則為I = (VBat - VBemf) / Rm。在實際應用中,這意味著隨著電機轉速的提高,電流會減小。 圖3:加速狀態。 如果電機轉速可以足夠快到BEMF等于電池電壓,兩個電壓源將相互抵消,電阻上的等效電壓為0,此時電池將沒有電流流出。在實際應用中這種情況是不會發生的,因為這意味著電機沒有一點扭矩,而克服摩擦力總是需要一定的扭矩。 圖4:無負載或摩擦力時的穩定速度。 在實際應用中,當BEMF達到產生扭矩的電池電流足以克服摩擦力和電機機械負載時電機速度將趨于穩定。 然而,如果電機被外力驅動(例如汽車下坡),旋轉會導致實際的BEMF等于VBat,此時不會有一點電流流動。如果此時電機以更快速度旋轉,BEMF會變得大于電池電壓,我們將看到電流從電機流向電池,這時系統就處于重新發電(再生)狀態。 圖5:再生制動狀態。 PWM開關型電壓源效應 目前為止我們假設是用一個固定電壓電池直接連到電機上,從中我們可以看出,在恒定負載情況下,可以通過改變電池電壓來控制速度。 在現代控制器中,改變電壓是通過使用呈半橋(單向)或全橋(雙向)結構的功率MOSFET晶體管并以近20kHz的很快速度開關電機電源來實現的。這種橋有一個底部的MOSFET和一個頂部的開關,它們以互補的方式(底部導通時頂部斷開,底部斷開時頂部導通)正常工作。 當與電機的電感結合在一起時,這種開關會使得控制器行為就像一個數值正比于開關導通/斷開占空比的可調電壓源。例如,當一半時間導通一半時間斷開時,電路等效于一半電池電壓的發電機。 圖6:50% PWM的步降轉換。 這個效應在相反方向也成立。如果沒有連接電池,同時電機又被驅動產生電壓,那么PWM開關和電機電感在50% PWM時將作為升壓器使電壓翻倍。這種升壓效應很好地解釋了為何電機轉速很慢而BEMF又小于電池電壓時再生現象是如何發生的。 圖7:50% PWM時的步升轉換。 控制再生制動的數量 我們已經知道,由于BEMF的原因,對任何供電電壓來說電機總有一個轉速使它不吸取一點電流。BEMF/RPM比值是一個常數,有時在電機數據手冊中會找到。通過以已知速度旋轉空載電機并在其引線處測量電壓也可以很容易得到這個比值。 然后,在電機速度可以測量的前提下,控制器就可以計算電機產生的BEMF并完成以下任意事項: ● 匹配電機的BEMF,在這種情況下電機既不加速也不制動。如果原來處于停止狀態就仍保持停止。如果已經在轉動,它將保持這個速度。 ● 超過電機的BEMF,此時電機將加速旋轉。 ● 低于電機的BEMF,此時電機將制動并再生電流。 電機BEMF和控制器輸出電壓之差越大,再生和制動也越強。 假設電池電壓保持得相當穩定,那么還可以通過計算控制器的PWM輸出功率電平與該電平下的速度比值進一步簡化上述理論。 使用調速PWM的實際例子 Roboteq電機控制器能夠檢測電機的旋轉速度。對無刷電機來說,不需要任何額外硬件,通過監視電機的霍爾傳感器的變化就能實現。對有刷直流電機來說,可以使用安裝在電機軸上的光學編碼器來測速。施加50%的功率并記錄無負載電機的轉速可以讓我們了解功率電平多大才能接近電機的BEMF。 圖8:Roboteq電機控制器的電機連接。 我們可以利用控制器的Microbasic腳本描述語言輕松地寫出這樣的腳本,它能用來測量電機的當前速度,并計算用于加速、制動或保持當前速度所必須輸出的功率電平。 舉例來說,考慮在50% PWM時進行測量的汽車情況,當車輪不接觸地面時電機以2500RPM速度旋轉。 現在如果汽車處在一個斜坡上,電機轉速為2500 RPM,控制器將測量這個轉速,然后施加50%的功率,因此實際上電機不消耗電流(在這個速度下電流將是無負載電流)。這是因為在斜坡上時將使電機以2500轉速自然運行,此時的機電狀態與車輪不接觸地面時完全一樣。 現在,如果在電機轉速已經是2500 RPM時我們施加超過50%的功率,這將給予額外的功率,電機將以更快速度運行。 如果在2500 RPM時我們施加小于50%的功率,那將發生再生制動。控制器輸出功率低于50%越多,制動效果越明顯。 因此這種技術可以讓控制器測量速度、計算要施加的輸出功率以便在這個RPM條件下實現加速或制動。然后使用油門命令提高或降低功率值來進行加速或制動。 下面的腳本是實現受控再生所需的完整清單。它使用一條用戶命令進行加速和制動。這個腳本只能以前進方向操作電機。 option explicit dim RPMat50pct as integer '平臺測試中在50%功率電平點測得的轉速 dim CommandStrenghtPct as integer '想要達到的加速和制動強度 dim MeasuredSpeed as integer '測量得到的MeasuredSpeed dim NeutralPower as integer '計算得出的功率電平,此時電機既不加速也不減速 dim AppliedPower as integer '將要施加于電機上的功率 dim ThrottleCommand as integer '用戶命令 '修改這些常數以滿足你的要求 RPMat50pct = 6000 '在50%功率電平和無負載情況下測得的轉速 CommandStrenghtPct = 50 '以百分數表示的油門和剎車強度 top: '從控制器讀到的工作值 ThrottleCommand = getvalue (_CIA, 1) '從1號模擬操縱桿讀取用戶命令 '根據電機類型和傳感器對以下兩行做出反注釋 MeasuredSpeed = getvalue (_BS, 1) '使用霍爾傳感器測量當前速度 'MeasuredSpeed = getvalue(_S, 1) '使用編碼器測量當前速度 '計算維持當前速度所需的功率電平 NeutralPower = (MeasuredSpeed * 500) / RPMat50pct '增加功率進行加速,或撤除功率進行減速 AppliedPower = NeutralPower + ((ThrottleCommand * CommandStrenghtPct) / 100) '只允許正向命令,并且最大值為+1000 if (AppliedPower 1000) AppliedPower = 1000 end if setcommand (_G, 1, AppliedPower) '給電機施加功率 '在控制臺上打印的用于監視或調試的可選記錄 ("C= ", ThrottleCommand,"\tS= ",MeasuredSpeed,"\tN= ", NeutralPower,"\tP= ", AppliedPower,"\r") wait (10) '等待10ms goto top '不斷重復循環 配置、測試和改進腳本 為了使用這個腳本,首先必須測量由控制器在50%功率電平時報告的轉速。然后在腳本頂部輸入作為常數的這個值。接著保持命令操縱桿置中以及腳本運行,電機將保持空閑狀態。手工旋轉電機軸將產生施加于電機的功率,并且在前進方向上幾乎沒有阻力。 然后應用前進方向的操縱桿命令,電機將加速。當操縱桿處于反方向時電機將制動。對于給定操縱桿位置,加速和制動的數量可以通過改變腳本中的另外一個常數進行調整。 腳本假設電池提供穩定的電壓,因此給定的功率電平總是導致相同的等效輸出電壓。例如電池電壓為24V時,50% RPM將在電機上呈現12V電壓。如果預料到電池電壓波動會很嚴重,那么應該修改腳本將電池的當前電壓考慮進去。例如,當電池電壓為18V而不是24V時如果仍想在電機上有12V電壓,那么功率電平必須調整為75%而不是50%。 上述腳本還可以方便地修改成使用獨立的油門和剎車踏板,方法是捕獲兩個模擬輸入,根據每個踏板壓下的力量大小計算得出結果命令,并且使剎車優先于油門。制動強度也可以做到高于或低于加速的強度。 然后當需要很強的制動時,可以通過修改腳本激活與控制器數字輸出之一連接的機電式剎車。 較之其它受控再生制動技術的好處 實際上,使用測量到的電機實際速度來計算BEMF的這種技術所導致的驅動特征類似于扭矩模式驅動,即控制器嘗試以恒定電流饋送電機。 與扭矩模式相比,本文介紹的方法更加精確,因為測量轉速通常比測量電機電流更簡單更精確。包括Roboteq產品在內的大多數電機控制器測量電池電流,而實際上這是在扭矩模式下必須調節的電機電流。實際電機電流接近于測量到的電機電流,但在低功率電平時很不精確。當功率電平為0時電機電流無法測量。 另外,在扭矩模式下,控制器需要使用調節器(通常是比例-積分-微分控制器(PID))連續調整功率電平才能將被測電流調節到理想的值。PID需要調整,而在交通運輸應用中電機負載變化非常強烈,這使得PID調整并不容易。控制環路連續“猜測”的速度或精度都沒有從測得的轉速立即計算出電機BEMF高。 原文作者:Mike Peterson |