步進(jìn)電機(jī)控制器/驅(qū)動(dòng)器優(yōu)化步進(jìn)電機(jī)系統(tǒng)設(shè)計(jì)
前言
意法半導(dǎo)體新推出的步進(jìn)電機(jī)控制芯片L6470在一顆芯片上集成了功率級(jí)和一個(gè)數(shù)字控制內(nèi)核。這款步進(jìn)電機(jī)控制芯片能夠通過SPI接口接收微控制器的運(yùn)動(dòng)曲線命令,按照預(yù)制的加速度和速度曲線自動(dòng)執(zhí)行運(yùn)動(dòng),還能自動(dòng)加快電機(jī)的運(yùn)轉(zhuǎn)速度,并使之保持預(yù)設(shè)的轉(zhuǎn)速。
該控制器的結(jié)構(gòu)如圖1所示??刂七壿嬰娐肥且粋€(gè)可以設(shè)置的狀態(tài)機(jī),能夠接收并保存各種參數(shù),例如:加速度、減速度、啟動(dòng)轉(zhuǎn)速、轉(zhuǎn)速、相電流控制 (PWM)和步進(jìn)模式。從全步進(jìn)到1/128微步進(jìn),該控制器共支持8種步進(jìn)模式。內(nèi)部絕對(duì)位置計(jì)數(shù)器負(fù)責(zé)計(jì)算所選步進(jìn)模式的步進(jìn)或微步進(jìn)的數(shù)量,以相當(dāng)于該步進(jìn)模式的分辨率跟蹤電機(jī)轉(zhuǎn)子位置。每步旋轉(zhuǎn)1.8 度,1/128微步電機(jī)轉(zhuǎn)子旋轉(zhuǎn)一整圈后,位置計(jì)數(shù)器將自動(dòng)增加25600(128 × 200步)。
所有的運(yùn)動(dòng)參數(shù)和命令都是通過SPI接口送到控制器。控制邏輯電路負(fù)責(zé)解釋前進(jìn)步數(shù)等運(yùn)動(dòng)命令,控制電機(jī)從靜止開始做加速運(yùn)轉(zhuǎn)再返回到停止?fàn)顟B(tài)所需的步進(jìn)時(shí)間和步數(shù)輸出,同時(shí)執(zhí)行命令中的步進(jìn)總數(shù)。該芯片還能給這些運(yùn)動(dòng)命令排隊(duì)和發(fā)送,進(jìn)行復(fù)雜的運(yùn)動(dòng)控制,從而能夠大幅減少微控制器的開銷。
圖1: 結(jié)構(gòu)框圖
運(yùn)動(dòng)和位置命令
數(shù)字內(nèi)核可執(zhí)行五種運(yùn)動(dòng)命令和4種停止命令:
Run (Direction, Speed) 加速運(yùn)轉(zhuǎn)直到接到停止命令為止
Move (Direction, N_Steps) 沿命令方向運(yùn)動(dòng)N步
GoTo (Position) 沿最直接路徑運(yùn)動(dòng)到絕對(duì)位置
GoTo (Direction, Position) 沿指令方向運(yùn)動(dòng)到絕對(duì)位置
GoUntil (Act, Direction, Speed) 加速運(yùn)轉(zhuǎn)直到有外部事件發(fā)生為止
SoftStop 減速直到停止
Hard Stop 緊急制動(dòng)(無減速過程)
SoftHiZ 減速到停止,然后關(guān)閉電橋
HardHiZ 緊急制動(dòng),并關(guān)閉電橋
在開始任何運(yùn)動(dòng)之前,通過SIP接口使用SetParam命令設(shè)置運(yùn)轉(zhuǎn)參數(shù):最低轉(zhuǎn)速、最高轉(zhuǎn)速、加速度、減速度以及其它運(yùn)動(dòng)參數(shù)值。為確保運(yùn)動(dòng)的完整性,在電機(jī)運(yùn)動(dòng)過程中,運(yùn)動(dòng)曲線的很多參數(shù)值是鎖定的,只能在電機(jī)被制動(dòng)后才能更改這些參數(shù)。
圖2所示是Move命令的一個(gè)典型運(yùn)動(dòng)曲線。當(dāng)接收到一條 Move命令時(shí),控制器將計(jì)算電機(jī)從靜止開始做加速運(yùn)轉(zhuǎn)再返回到起始位置所需的步數(shù)N的運(yùn)動(dòng)曲線,整個(gè)過程都是由數(shù)字內(nèi)核硬件獨(dú)立完成的。
GoTo命令指示驅(qū)動(dòng)器根據(jù)內(nèi)部22位絕對(duì)位置計(jì)數(shù)器的數(shù)值驅(qū)動(dòng)電機(jī)旋轉(zhuǎn)到一個(gè)特定位置。 GoTo命令分為兩種:一種沿特定方向旋轉(zhuǎn);另一種是沿最直接路徑旋轉(zhuǎn),即確定以最少步數(shù)達(dá)到所需位置的運(yùn)動(dòng)方向。對(duì)于每步旋轉(zhuǎn)1.8度的1/128微步電動(dòng)機(jī),22位計(jì)數(shù)器的解析率相當(dāng)于電機(jī)旋轉(zhuǎn)大約164周。即便齒輪減速比很大,有效解析率仍然在位置計(jì)數(shù)器的范圍內(nèi)。GoTo命令的運(yùn)動(dòng)曲線看起來與Move命令曲線相同,但是有一點(diǎn)不同,在GoTo命令中,達(dá)到命令指定的絕對(duì)位置所需步數(shù)是自動(dòng)計(jì)算結(jié)果。
Run和GoUntil命令用于使電動(dòng)機(jī)保持恒速旋轉(zhuǎn),直到接到一條制動(dòng)命令 (適用于Run命令)或者有外部事件發(fā)生(適用于GoUntil)為止。當(dāng)接收到一條制動(dòng)命令時(shí),控制器執(zhí)行下面兩種操作之一:緊急制動(dòng)或減速制動(dòng)。該器件還能執(zhí)行緊急制動(dòng)或減速停止,然后提供三態(tài)輸出。
圖 2:典型運(yùn)動(dòng)曲線
如圖3所示,使用一系列Run命令可以執(zhí)行復(fù)雜的運(yùn)動(dòng)。每接到一個(gè)新的Run命令后,控制器都會(huì)驅(qū)動(dòng)電機(jī)做加速或減速旋轉(zhuǎn)到新命令指定的位置,并以指定速度保持旋轉(zhuǎn),直到接收到下一條Run命令或一條Stop命令為止。當(dāng)接收到一條反向運(yùn)轉(zhuǎn)命令時(shí),電機(jī)減到最低速度,然后再向相反方向加速運(yùn)轉(zhuǎn)。
圖 3:多條Run命令可實(shí)現(xiàn)復(fù)雜運(yùn)動(dòng)
評(píng)論