新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的步进电机控制器研究和实现

基于FPGA的步进电机控制器研究和实现

作者: 时间:2011-04-02 来源:网络 收藏

DEC2为无细分时的电机控制模块,控制双四拍时的正反转。
的正、反转控制可通过改变各绕组的通电顺序来改变转向,当四相双四拍的通电顺为AB→BC→CD→DA→AB…时,电机正转;当其绕组按AD→DC→CB→BA→AD…的顺序通电时,电机反转。因此,利用case语句编程来改变输出脉冲的顺序,以此改变步进电机绕组的通电顺序。用‘1’表示该绕组加电;用‘0’表示该绕组断电。
4.JPG
图4为DEC2反转时的仿真波形。

本文引用地址://m.amcfsurvey.com/article/191259.htm

5.JPG


2.2 利用VHDL文件生成元器件
工程创建好以后,就可以用设计好的VHDL语言文件生成工程模块。首先打开CNT8.vhd文件,点击菜单中File→Create/Update→Crea-te Symbol Files forCurrent File命令,以生成图5所示CNT8模块。

7.JPG


按照同样的方法生成CNT24和DEC2模块。将这些模块包装为一个symbol,以备总模块调用,如图5所示。
2.3 原理图输入设计
2.3.1 PWM_1.mif文件的设计
在设计前,必须首先完成存放PWM波形的ROM存储器设计,而在此之前还必须定制LPM_ROM初始化数据文件,如图6所示。

8.JPG


2.3.2 ROM存储器的设计
mif文件建好以后就可以进入ROM存储器的设计。
设计好的rom3模块如图7所示。

9.JPG


2.3.3 定制模块
调用LPM库中的模块,定制BUSMUX(参数化多路数据选择器)元件和lpm_compare0元件。
如图8所示,数据选择器通过模式选择信号,再根据不同的模式功能选择该功能模块的信号输出。该模块的输入信号有模式选择信号sel[0],即非细分控制和模式选择信号sel[1],即细分控制。当sel为“0”时,对应的为非细分控制输出,即由DEC2输出,此时步进电机按照双四拍模式运行;当sel为“1”时,对应的为细分控制输出,即由比较器CMP3输出,此时步进电机按照细分8拍模式运行。



评论


相关推荐

技术专区

关闭