本文將結(jié)合具體的案例,針對(duì)納芯微全新發(fā)布的微步控制步進(jìn)電機(jī)驅(qū)動(dòng)NSD8381,在用于步進(jìn)電機(jī)控制的實(shí)現(xiàn)流程,以及堵轉(zhuǎn)檢測(cè)的實(shí)現(xiàn)流程做詳細(xì)的介紹,幫助工程師能夠快速構(gòu)建用NSD8381驅(qū)動(dòng)芯片實(shí)現(xiàn)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)和實(shí)現(xiàn)堵轉(zhuǎn)檢測(cè)的實(shí)操能力。
一、NSD8381步進(jìn)電機(jī)驅(qū)動(dòng)芯片介紹
NSD8381是納芯微全新發(fā)布的車規(guī)級(jí)高集成式雙相雙極步進(jìn)電機(jī)驅(qū)動(dòng)器,可廣泛適用于汽車頭燈步進(jìn)控制(ADB/AFS),HUD位置調(diào)節(jié)電機(jī),熱管理系統(tǒng)閥門中步進(jìn)電機(jī)或BDC電機(jī)的驅(qū)動(dòng)等。
該芯片支持最大1.35A滿量程電流,包括電流斬波調(diào)節(jié),內(nèi)部最高1/32微步轉(zhuǎn)換器和多種衰減模式選擇使步進(jìn)電機(jī)平穩(wěn)運(yùn)動(dòng)。NSD8381支持母線欠壓保護(hù)(VSUV),過(guò)流保護(hù)(OCP),溫度報(bào)警(OTW/UTW)和過(guò)溫保護(hù)(OTSD);同時(shí)還支持輸出負(fù)載的開(kāi)路診斷和過(guò)流保護(hù)。此外,NSD8381還集成了堵轉(zhuǎn)檢測(cè)功能,可以用于堵轉(zhuǎn)故障輸出。
二、?NSD8381用于步進(jìn)電機(jī)控制配置以及測(cè)試案例
1)NSD8381的SPI框架結(jié)構(gòu)
1.?SDI的輸入幀由24bit構(gòu)成以下的結(jié)構(gòu)??
???2bit 操作指令C1/C0,其中 00代表寫(xiě)操作,01代表讀操作,10代表讀清
???6 bit的寄存器地址
???16bit數(shù)據(jù),其中包含bit 15~bit 1的數(shù)據(jù)和bit 0的奇校驗(yàn)位
表1:SPI 輸入幀結(jié)構(gòu)
2.?SDO的輸出幀由24bit構(gòu)成以下的結(jié)構(gòu)?
??8bit全局狀態(tài)字節(jié),顯示返回的全局狀態(tài),如果有故障和告警,相應(yīng)的bit會(huì)反饋故障狀態(tài)
??16bit返回?cái)?shù)據(jù),其中包含bit 15~bit 1的數(shù)據(jù)和bit 0 的奇校驗(yàn)位
表2:SPI 輸出幀結(jié)構(gòu)
2)NSD8381步進(jìn)電機(jī)模式工作流程圖
圖1:步進(jìn)電機(jī)工作流程圖
3)NSD8381步進(jìn)電機(jī)測(cè)試硬件組成以及軟件配置
硬件設(shè)備:NSD8381?Demo?Board一塊,步進(jìn)電機(jī),12V直流電源,USB轉(zhuǎn)TTL小工具連接到上位機(jī),信號(hào)發(fā)生器一臺(tái)
注意:這里采用默認(rèn)slew rate ,10v/us, ? 在應(yīng)用中推薦把 slew rate 調(diào)快, slew rate 調(diào)快之后, dead time 也減小。調(diào)快對(duì)芯片在比較大的電流的工作場(chǎng)景下的功耗是有明顯的好處。比如,可以配置CONFIG_4: ?0x060A40, ----配置電流調(diào)制頻率 20k,slew rate 70V/us,filter time 2us, 電流slow decay
CONFIG_1:0x030428----配置CTRLx (默認(rèn)配置采用步進(jìn)電機(jī)模式)
CONFIG_3:0x058000----使能輸出,設(shè)置微步(1/16微步)
4)NSD8381步進(jìn)電機(jī)測(cè)試波形
1.?Slow decay模式測(cè)試波形
圖2:步進(jìn)電機(jī)繞組電流波形
a. 電流上升decay
b. 電流下降decay
圖3:步進(jìn)電機(jī)繞組電流波形decay波形
2.?Mix decay模式測(cè)試波形
圖4:步進(jìn)電機(jī)繞組電流波形
a. 電流上升decay
b. 電流下降decay
圖5:步進(jìn)電機(jī)繞組電流波形decay波形
>3.?Auto decay模式測(cè)試波形
圖6:步進(jìn)電機(jī)繞組電流波形
a. 電流上升decay
b. 電流下降decay
圖7:步進(jìn)電機(jī)繞組電流波形decay波形
對(duì)比三組波形,實(shí)測(cè)現(xiàn)象總結(jié)如下:Slow decay和Auto decay的模式下,其電流上升decay波形比較緩和,正弦波的峰值處毛刺較小,電機(jī)運(yùn)行的聲音比較輕微。Mix decay電流上升decay的波形分成兩段,正弦波的峰值處毛刺較大,電機(jī)運(yùn)行的噪音比較大一些。
在實(shí)際應(yīng)用的時(shí)候,可以根據(jù)調(diào)試decay模式來(lái)獲得合適電機(jī)的工作狀態(tài)。
三、NSD8381用于步進(jìn)電機(jī)控制堵轉(zhuǎn)檢測(cè)使用
1)堵轉(zhuǎn)檢測(cè)的原理?
圖8是步進(jìn)電機(jī)繞組的等效模型。當(dāng)電機(jī)正常轉(zhuǎn)動(dòng)的時(shí)候,根據(jù)公式1 可以得到電機(jī)繞組兩側(cè)的電壓Vmotor。根據(jù)公式2可得到電機(jī)的反電勢(shì)BEMF,其中N為線圈的繞組數(shù)量,B代表磁場(chǎng)強(qiáng)度,A是被電機(jī)磁場(chǎng)所包圍的面積,w是電機(jī)轉(zhuǎn)動(dòng)的角速度。
由公式1可知,當(dāng)流過(guò)電機(jī)的電流為零時(shí),電機(jī)繞組兩側(cè)的電壓是BEMF,即反電勢(shì)電壓。由公式2 可知,反電勢(shì)電壓和電機(jī)的角速度成正比,當(dāng)電機(jī)堵轉(zhuǎn)的時(shí)候,速度為零,此時(shí)反電勢(shì)為理論上也為零。因此,可以利用檢測(cè)繞組電流為零時(shí)的繞組電壓來(lái)檢測(cè)反電勢(shì)。
公式1
公式2
圖8:步進(jìn)電機(jī)繞組等效模型
2)堵轉(zhuǎn)檢測(cè)步驟
圖9:NSD8381 堵轉(zhuǎn)檢測(cè)流程
堵轉(zhuǎn)檢測(cè)過(guò)程注意點(diǎn):
1. 如果涉及正轉(zhuǎn)和反轉(zhuǎn)的應(yīng)用,需要在電機(jī)正轉(zhuǎn)、反轉(zhuǎn)的時(shí)候分別執(zhí)行1-6步,記錄高值和低值。設(shè)置CVLLA的值要滿足大于正、反轉(zhuǎn)的堵轉(zhuǎn)值,但是遠(yuǎn)小于正、反轉(zhuǎn)正常轉(zhuǎn)動(dòng)的反電勢(shì)值。
2. CV_DELAY設(shè)置:以圖10作為例子,CV_DELAY的時(shí)間必須大于圖中的△X。為了確保反電勢(shì)的采樣點(diǎn)是在圖中平坦的那一段,即△X后的那一段線圈電流為零的點(diǎn),采集的值才準(zhǔn)確。圖10顯示△X =108us,內(nèi)部PWM的頻率是20kHz(50us),則這個(gè)波形的CV_DELAY值需要 大于3,即大于3×50=150us。另外需要注意的是當(dāng)電機(jī)轉(zhuǎn)動(dòng)很快的情況,可以直接設(shè)計(jì)CV_DELAY為0,此時(shí)ADC的采樣點(diǎn)為零電流結(jié)束點(diǎn)。
圖10:正常轉(zhuǎn)動(dòng)時(shí)反電勢(shì)波形
3. 讀取CVA,CVB,CVC,CVD以及設(shè)計(jì)CVLLA和CVLLB的值的時(shí)候,設(shè)置的寄存器位為Bit 1到Bit10,在換算電壓值的時(shí)候注意需要移一位。
3)步進(jìn)電機(jī)堵轉(zhuǎn)檢測(cè)實(shí)例
步進(jìn)電機(jī)1:2kHz step頻率,20kHz調(diào)制頻率,正常轉(zhuǎn)動(dòng)時(shí)之間的OUTA1,OUTA2的反電勢(shì)為3.2V,如圖11。堵轉(zhuǎn)時(shí)OUTA1、OUTA2之間的反電勢(shì)為0.2V,如圖12。
圖11:電機(jī)1正常轉(zhuǎn)動(dòng)時(shí)OUTA1和OUTA2之間波形
圖12:電機(jī)1堵轉(zhuǎn)時(shí)OUTA1、OUTA2波形
步進(jìn)電機(jī)2:1.65kHz step頻率,20kHz調(diào)制頻率,正常轉(zhuǎn)動(dòng)時(shí)OUTA1、OUTA2反電勢(shì)為11.5V,如圖13。堵轉(zhuǎn)時(shí)OUTA1、OUTA2之間的反電勢(shì)為1.9V,如圖14。
寄存器CONFIG_5配置為寄存器0x078001(CV_DELAY=0)在零電流結(jié)束位置采樣。CVLLA配置 為0x0E00DB(2.98V)。當(dāng)電機(jī)堵轉(zhuǎn)時(shí),可以檢測(cè)到FUNCTION_ERR置位,回讀STA_1,STALL置1。
圖13:電機(jī)2正常轉(zhuǎn)動(dòng)時(shí)OUTA1和OUTA2之間波形
圖14:電機(jī)2正常堵轉(zhuǎn)時(shí)OUTA1和OUTA2之間波形