《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 基于FPGA的步進電機控制器

基于FPGA的步進電機控制器

2012-08-01
關(guān)鍵詞: FPGA 步進電機

 

  步進電機是一種將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移的特殊電機,每改變一次通電狀態(tài),步進電機的轉(zhuǎn)子就轉(zhuǎn)動一步。目前大多數(shù)步進電機控制器需要主控 制器發(fā)送時鐘信號,并且要至少一個I/O口來輔助控制和監(jiān)控步進電機的運行情況。在單片機或DSP的應(yīng)用系統(tǒng)中,經(jīng)常配合CPLD或者FPGA來實現(xiàn)特定 的功能。本文介紹通過FPGA實現(xiàn)的步進電機控制器。該控制器可以作為單片機或DSP的一個直接數(shù)字控制的外設(shè),只需向控制器的控制寄存器和分頻寄存器寫 入數(shù)據(jù),即町實現(xiàn)對步進電機的控制。

  1 步進電機的控制原理

步進電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電機就轉(zhuǎn)動一個角度,因此非常適合對數(shù)字系統(tǒng)的控制。步進電機可分為反應(yīng)式步進電機(簡稱“VR”)、永磁式步進電機(簡稱“PM”)和混合式步進電機(簡稱“HB”)。

步進電機區(qū)別于其他控制電機的最大特點是,通過輸入脈沖信號來進行控制,即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定。

步進電機的驅(qū)動電路根據(jù)控制信號工作,控制信號由各類控制器來產(chǎn)生。其基本原理作用如下:

①控制換相順序,通電換相。這一過程稱為“脈沖分配”。例如:四相步進電機的單四拍工作方式,其各相通電順序為A-B-C-D。通電控制脈沖必須嚴(yán)格按 照這一順序分別控制A、B、C、D相的通斷,控制步進電機的轉(zhuǎn)向。如果給定工作方式正序換相通電,則步進電機正轉(zhuǎn);如果按反序換相通電,則電機就反轉(zhuǎn)。

②控制步進電機的速度。如果給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。調(diào)整控制器發(fā)出的脈沖頻率,就可以對步進電機進行調(diào)速。

2 控制器的總體設(shè)計

控制器的外部接口電路如圖1所示。各引腳的功能如下:



控制器的內(nèi)部原理框圖如圖2所示,由命令字寄存器(Cmd_reg)、分頻系數(shù)備份寄存器(fdiv_back)、分頻器、相位輸出狀態(tài)機組成。



其中命令字寄存器Cmd_reg組成如下(對應(yīng)的地址為“00”):


X未用位。

Ini對控制器初始化為1時有效。當(dāng)該位為1時,備份寄存器的數(shù)據(jù)直接裝入分頻器的寄存器reg_data[15~0],裝入后由硬件自動置O。

Newr當(dāng)對正在運行的控制器寫入新的分頻系數(shù)時,對該位置1;當(dāng)下一個分頻器輸出的clkout時鐘來到時,將fdiv_back寫入到reg_data[15~0]中,分頻器便按新的分頻系數(shù)進行分頻。

Manner[1~0] 電動機的驅(qū)動方式,用來控制相位輸出狀態(tài)機的輸出,“00”表示單四拍方式,四相位輸出為(A-B-C-D);“Ol”表示雙四拍,四相位輸出為(ABBC-CD-DA),八拍(A-AB-B-BC-C-CD-DDA)。

分頻系數(shù)備份寄存器(fdiv_back) 兩字節(jié)寄存器,reg_data[15~0]為分頻器的一個16位寄存器,接收fdiv_back的值,對系統(tǒng)的分頻為2~65536。對于12MHz的 輸入頻率,分頻后頻率為6MHz~183Hz,(本設(shè)計中,步進電機的啟動轉(zhuǎn)速、轉(zhuǎn)距、加速度由使用者根據(jù)實際情況自己計算)分頻后每個clkout走一 個步距角。對于步距角為1.8°的電機,可以滿足各種速度的要求。   

3 分頻器的設(shè)計
 

  分頻器是該控制器實現(xiàn)的關(guān)鍵,在這里作為一個獨立的模 塊,data[15~0]為分頻系數(shù)。系統(tǒng)時鐘Clk被分頻系數(shù)寄存器中值分頻后,輸出Clkout作為相位輸出狀態(tài)機的時鐘,每個Clkout到來時, 產(chǎn)生一次相位轉(zhuǎn)換,步進電機運行一個步距角。分頻器的程序如下:

 

                     


 

  圖3所示為3分頻時單四拍的輸出仿真圖。




  結(jié)語
 

   本文的創(chuàng)新點為將該步進電機控制器的控制字和分頻系數(shù)映射在主控制器(DSP或單片機等)的內(nèi)存空間,控制時僅需對其進行寫操作,使步進電機的控制變得 簡單方便;而且,可節(jié)省主控制器(DSP或單片機等)的外圍資源,減少板上負(fù)載。系統(tǒng)中可以加入電機運行總步數(shù)控制寄存器及其電路、加速度寄存器及其控制 電路等,打造一個更智能的步進電機控制器。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。