利用實(shí)時(shí)速度檢測(cè)實(shí)現(xiàn)漸進(jìn)式再生制動(dòng)
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%功率電平和無(wú)負(fù)載情況下測(cè)得的轉(zhuǎn)速
CommandStrenghtPct = 50 '以百分?jǐn)?shù)表示的油門(mén)和剎車強(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)試的可選記錄
print("C= ", ThrottleCommand,"tS= ",MeasuredSpeed,"tN= ", NeutralPower,"tP= ", AppliedPower,"")
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)方向上幾乎沒(méi)有阻力。
然后應(yīng)用前進(jìn)方向的操縱桿命令,電機(jī)將加速。當(dāng)操縱桿處于反方向時(shí)電機(jī)將制動(dòng)。對(duì)于給定操縱桿位置,加速和制動(dòng)的數(shù)量可以通過(guò)改變腳本中的另外一個(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ú)立的油門(mén)和剎車踏板,方法是捕獲兩個(gè)模擬輸入,根據(jù)每個(gè)踏板壓下的力量大小計(jì)算得出結(jié)果命令,并且使剎車優(yōu)先于油門(mén)。制動(dòng)強(qiáng)度也可以做到高于或低于加速的強(qiáng)度。
然后當(dāng)需要很強(qiáng)的制動(dòng)時(shí),可以通過(guò)修改腳本激活與控制器數(shù)字輸出之一連接的機(jī)電式剎車。
較之其它受控再生制動(dòng)技術(shù)的好處
實(shí)際上,使用測(cè)量到的電機(jī)實(shí)際速度來(lái)計(jì)算BEMF的這種技術(shù)所導(dǎo)致的驅(qū)動(dòng)特征類似于扭矩模式驅(qū)動(dòng),即控制器嘗試以恒定電流饋送電機(jī)。
與扭矩模式相比,本文介紹的方法更加精確,因?yàn)闇y(cè)量轉(zhuǎn)速通常比測(cè)量電機(jī)電流更簡(jiǎn)單更精確。包括Roboteq產(chǎn)品在內(nèi)的大多數(shù)電機(jī)控制器測(cè)量電池電流,而實(shí)際上這是在扭矩模式下必須調(diào)節(jié)的電機(jī)電流。實(shí)際電機(jī)電流接近于測(cè)量到的電機(jī)電流,但在低功率電平時(shí)很不精確。當(dāng)功率電平為0時(shí)電機(jī)電流無(wú)法測(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è)”的速度或精度都沒(méi)有從測(cè)得的轉(zhuǎn)速立即計(jì)算出電機(jī)BEMF高。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評(píng)論