基于FPGA的步進(jìn)電機(jī)控制器研究和實現(xiàn)
DEC2為無細(xì)分時的電機(jī)控制模塊,控制雙四拍時的正反轉(zhuǎn)。
步進(jìn)電機(jī)的正、反轉(zhuǎn)控制可通過改變步進(jìn)電機(jī)各繞組的通電順序來改變轉(zhuǎn)向,當(dāng)四相雙四拍步進(jìn)電機(jī)的通電順為AB→BC→CD→DA→AB…時,電機(jī)正轉(zhuǎn);當(dāng)其繞組按AD→DC→CB→BA→AD…的順序通電時,電機(jī)反轉(zhuǎn)。因此,利用case語句編程來改變輸出脈沖的順序,以此改變步進(jìn)電機(jī)繞組的通電順序。用‘1’表示該繞組加電;用‘0’表示該繞組斷電。
圖4為DEC2反轉(zhuǎn)時的仿真波形。本文引用地址:http://butianyuan.cn/article/191259.htm
2.2 利用VHDL文件生成元器件
工程創(chuàng)建好以后,就可以用設(shè)計好的VHDL語言文件生成工程模塊。首先打開CNT8.vhd文件,點擊菜單中File→Create/Update→Crea-te Symbol Files forCurrent File命令,以生成圖5所示CNT8模塊。
按照同樣的方法生成CNT24和DEC2模塊。將這些模塊包裝為一個symbol,以備總模塊調(diào)用,如圖5所示。
2.3 原理圖輸入設(shè)計
2.3.1 PWM_1.mif文件的設(shè)計
在設(shè)計控制器前,必須首先完成存放PWM波形的ROM存儲器設(shè)計,而在此之前還必須定制LPM_ROM初始化數(shù)據(jù)文件,如圖6所示。
2.3.2 ROM存儲器的設(shè)計
mif文件建好以后就可以進(jìn)入ROM存儲器的設(shè)計。
設(shè)計好的rom3模塊如圖7所示。
2.3.3 定制模塊
調(diào)用LPM庫中的模塊,定制BUSMUX(參數(shù)化多路數(shù)據(jù)選擇器)元件和lpm_compare0元件。
如圖8所示,數(shù)據(jù)選擇器通過模式選擇信號,再根據(jù)不同的模式功能選擇該功能模塊的信號輸出。該模塊的輸入信號有模式選擇信號sel[0],即非細(xì)分控制和模式選擇信號sel[1],即細(xì)分控制。當(dāng)sel為“0”時,對應(yīng)的為非細(xì)分控制輸出,即由DEC2輸出,此時步進(jìn)電機(jī)按照雙四拍模式運(yùn)行;當(dāng)sel為“1”時,對應(yīng)的為細(xì)分控制輸出,即由比較器CMP3輸出,此時步進(jìn)電機(jī)按照細(xì)分8拍模式運(yùn)行。
評論