ZHCSLW7B August 2022 – October 2023 DRV8462
PRODUCTION DATA
使用 SPI 接口運(yùn)行時,DRV8462 支持失速檢測。
步進(jìn)電機(jī)的繞組電流、反電動勢和電機(jī)的機(jī)械扭矩負(fù)載之間有著獨(dú)特的關(guān)系,如圖 7-43 所示。對于空載電機(jī),反電動勢與繞組電流之間呈 90° 異相。對于給定的繞組電流,當(dāng)電機(jī)負(fù)載接近電機(jī)的最大扭矩能力時,反電動勢將與繞組電流同相。通過檢測電機(jī)電流的上升和下降電流象限之間的反電動勢相移,DRV8462 可檢測到電機(jī)過載失速情況或線路末端運(yùn)動。
圖 7-43 通過監(jiān)控電機(jī)反電動勢進(jìn)行失速檢測失速檢測算法在以下情況下啟用:
該器件編程為使用 SPI 接口運(yùn)行 (MODE = 1)
衰減模式編程為智能調(diào)優(yōu)紋波控制 (DECAY = 111b)
EN_STL 為 1b
不存在故障條件(UVLO、OCP、OL、OTSD 等)。
該算法可通過監(jiān)控 PWM 關(guān)斷時間來比較上升和下降電流象限之間的反電動勢,并生成一個稱為扭矩計(jì)數(shù)的參數(shù),該參數(shù)由 TRQ_COUNT 寄存器表示。進(jìn)行比較時,TRQ_COUNT 值在很大程度上與電機(jī)電流、環(huán)境溫度和電源電壓無關(guān)。即使驅(qū)動器在全步進(jìn)模式下運(yùn)行,也可以檢測電機(jī)失速。
TRQ_COUNT 的計(jì)算結(jié)果是最近四個電氣半個周期的運(yùn)行平均值。TRQ_COUNT 寄存器每個電氣半個周期更新一次。更新后的 TRQ_COUNT 與 STALL_TH 進(jìn)行比較,如果檢測到失速情況,則會在電氣半個周期電流過零時報(bào)告并鎖存失速故障。
對于輕載電機(jī),TRQ_COUNT 將為非零值。當(dāng)電機(jī)接近失速狀態(tài)時,TRQ_COUNT 將接近零并可用于檢測失速狀態(tài)。
如果任何時候 TRQ_COUNT 降至失速閾值(由 STALL_TH 寄存器表示)以下,該器件將檢測到失速。
STALL、STL 和 FAULT 位將在 SPI 寄存器中被鎖存為 1b。
STL_REP 位控制失速的報(bào)告方式。
如果 STL_REP 位為 1b,當(dāng)檢測到失速時,nFAULT 引腳將被驅(qū)動為低電平。
如果 STEL_REP 為 0b,則即使檢測到失速,nFAULT 引腳也將保持高電平。
在失速情況下,電機(jī)軸不會旋轉(zhuǎn)。當(dāng)失速條件消失并且電機(jī)轉(zhuǎn)速從零升至其目標(biāo)速度時,電機(jī)會呈斜坡趨勢增加到目標(biāo)轉(zhuǎn)速。當(dāng)通過 CLR_FLT 位或 nSLEEP 復(fù)位脈沖發(fā)出清除故障命令后,nFAULT 將被釋放并且故障寄存器將被清除。
電機(jī)線圈阻抗較高可能會導(dǎo)致 TRQ_COUNT 低。TRQ_SCALE 位允許按比例調(diào)高 TRQ_COUNT 值,以便于進(jìn)一步處理。
如果最初計(jì)算的 TRQ_COUNT 值小于 500,并且 TRQ_SCALE 位為 1b,則 TRQ_COUNT 輸出寄存器將乘以 8。
如果 TRQ_SCALE 位為 0b,TRQ_COUNT 會保留算法最初計(jì)算的值。
失速閾值可通過兩種方式設(shè)置 –
用戶可以通過觀察 TRQ_COUNT 輸出在所有運(yùn)行條件下的行為來寫入 STALL_TH 位。
該算法可以使用自動失速學(xué)習(xí)過程來學(xué)習(xí)失速閾值,如下所述:
開始學(xué)習(xí)之前,請確保電機(jī)已達(dá)到其目標(biāo)速度。請勿在電機(jī)轉(zhuǎn)速加快或減慢時學(xué)習(xí)失速閾值。
通過將 STL_LRN 位設(shè)置為 1b 開始學(xué)習(xí)。
空載運(yùn)行電機(jī)。
等待 32 個電氣周期,讓驅(qū)動器了解穩(wěn)態(tài)計(jì)數(shù)。
讓電機(jī)失速。
等待 16 個電氣周期,讓驅(qū)動器了解失速計(jì)數(shù)。
如果學(xué)習(xí)成功,STL_LRN_OK 位會變?yōu)?1b。
失速閾值計(jì)算為穩(wěn)定計(jì)數(shù)和失速計(jì)數(shù)的平均值,并存儲在 STALL_TH 寄存器中。
下面展示了有關(guān)如何設(shè)置失速閾值的流程圖。
有時,由于電機(jī)運(yùn)行或失速時扭矩計(jì)數(shù)不穩(wěn)定,自動失速學(xué)習(xí)過程可能無法成功進(jìn)行。例如,當(dāng)電機(jī)具有較高的線圈電阻或以非常高或低的速度運(yùn)行時,扭矩計(jì)數(shù)可能會隨時間變化很大,并且穩(wěn)定計(jì)數(shù)與失速計(jì)數(shù)之間的差異可能很小。在這種情況下,建議不要使用自動失速學(xué)習(xí)方法。用戶應(yīng)仔細(xì)研究整個工作條件范圍內(nèi)的穩(wěn)定計(jì)數(shù)和扭矩計(jì)數(shù),并將閾值設(shè)為介于最小穩(wěn)定計(jì)數(shù)和最大失速計(jì)數(shù)之間的中間值。
在一種速度下獲得的失速閾值可能不能充分適合其他速度。建議每當(dāng)電機(jī)轉(zhuǎn)速變化百分比大于 10% 時,均重新獲得失速閾值。
失速檢測算法取決于修改 PWM 關(guān)斷時間的反電動勢。反電動勢與電機(jī)轉(zhuǎn)速成正比。為了使失速檢測可靠工作,電機(jī)速度應(yīng)足夠高,以便能夠生成具有足夠振幅的反電動勢。電機(jī)線圈電阻越高,實(shí)現(xiàn)可靠失速檢測所需的最低速度就越大。
當(dāng)器件通過切換 EN_OUT 位或 ENABLE 引腳從禁用模式(H 橋高阻態(tài))進(jìn)入激活模式時;或者當(dāng)器件通過發(fā)出 CLR_FLT 從故障中恢復(fù)時,失速檢測故障也可能會被標(biāo)記。這是因?yàn)?TRQ_CNT 達(dá)到高于 STL_TH 的值所花費(fèi)的時間。由于失速故障,nFAULT 可能會保持低電平(如果 STL_REP = 1b),并且需要另一個 CLR_FLT 來釋放失速故障和 nFAULT 引腳。這可通過以下方式來表示:
啟用活動模式后啟用失速檢測(僅在寫入 EN_OUT = 1b 并使 ENABLE = 邏輯高電平后,才能寫入 EN_STALL = 1b)
僅在電橋處于激活模式或已發(fā)出 CLR_FLT 命令以清除故障條件后才啟動 STEP 脈沖。
如果由于低電源電壓、高線圈電阻或電機(jī)高速而導(dǎo)致無法進(jìn)行電流調(diào)節(jié),失速檢測可能無法可靠地工作,因?yàn)?TRQ_COUNT 可能不穩(wěn)定并可能跳至高值??梢酝ㄟ^查看線圈電流波形來檢查和確認(rèn)這一點(diǎn)。如果線圈電流具有標(biāo)準(zhǔn)正弦波形,并且正弦波的峰值達(dá)到所需的滿量程電流,則失速檢測將可靠地工作。如果由于高速或低電源電壓而導(dǎo)致電流波形為三角形,則失速檢測算法可能無法可靠地運(yùn)行。
如果 EN_STL = 1b 并且還啟用了自動扭矩,則當(dāng)檢測到電機(jī)失速時,線圈電流會變?yōu)?ATQ_TRQ_MAX。
如果 EN_STL = 0b 并且啟用了自動扭矩,則當(dāng)電機(jī)失速時,線圈電流會變?yōu)?ATQ_TRQ_MIN。