基于FPGA的步進(jìn)電機控制器研究和實(shí)現
DEC2為無(wú)細分時(shí)的電機控制模塊,控制雙四拍時(shí)的正反轉。
步進(jìn)電機的正、反轉控制可通過(guò)改變步進(jìn)電機各繞組的通電順序來(lái)改變轉向,當四相雙四拍步進(jìn)電機的通電順為AB→BC→CD→DA→AB…時(shí),電機正轉;當其繞組按AD→DC→CB→BA→AD…的順序通電時(shí),電機反轉。因此,利用case語(yǔ)句編程來(lái)改變輸出脈沖的順序,以此改變步進(jìn)電機繞組的通電順序。用‘1’表示該繞組加電;用‘0’表示該繞組斷電。

圖4為DEC2反轉時(shí)的仿真波形。本文引用地址:http://dyxdggzs.com/article/191259.htm
2.2 利用VHDL文件生成元器件
工程創(chuàng )建好以后,就可以用設計好的VHDL語(yǔ)言文件生成工程模塊。首先打開(kāi)CNT8.vhd文件,點(diǎn)擊菜單中File→Create/Update→Crea-te Symbol Files forCurrent File命令,以生成圖5所示CNT8模塊。
按照同樣的方法生成CNT24和DEC2模塊。將這些模塊包裝為一個(gè)symbol,以備總模塊調用,如圖5所示。
2.3 原理圖輸入設計
2.3.1 PWM_1.mif文件的設計
在設計控制器前,必須首先完成存放PWM波形的ROM存儲器設計,而在此之前還必須定制LPM_ROM初始化數據文件,如圖6所示。
2.3.2 ROM存儲器的設計
mif文件建好以后就可以進(jìn)入ROM存儲器的設計。
設計好的rom3模塊如圖7所示。
2.3.3 定制模塊
調用LPM庫中的模塊,定制BUSMUX(參數化多路數據選擇器)元件和lpm_compare0元件。
如圖8所示,數據選擇器通過(guò)模式選擇信號,再根據不同的模式功能選擇該功能模塊的信號輸出。該模塊的輸入信號有模式選擇信號sel[0],即非細分控制和模式選擇信號sel[1],即細分控制。當sel為“0”時(shí),對應的為非細分控制輸出,即由DEC2輸出,此時(shí)步進(jìn)電機按照雙四拍模式運行;當sel為“1”時(shí),對應的為細分控制輸出,即由比較器CMP3輸出,此時(shí)步進(jìn)電機按照細分8拍模式運行。
評論