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