• 基于FPGA的可控脉冲发生器设计 > 基于 VHDL 语言设计的步进电机控制器
  • 基于 VHDL 语言设计的步进电机控制器

    免费下载 下载该文档 文档格式:PDF   更新时间:2014-06-24   下载次数:0   点击次数:1
    第19 卷第4期圆园园8 年12 月 苏州市职业大学学报 允燥怎则灶葬造 燥枣 杂怎扎澡燥怎 Vocational University 灾燥造援19 No.4 Dec., 圆园园8 收稿日期:2008-09-04 作者简介:施纪红 (1976原) , 女, 江苏太仓人, 讲师, 研究方向: 单片机开发. 基于 VHDL 语言设计的步进电机控制器 施纪红 (健雄职业技术学院 计算机工程系,江苏 太仓 215411) 摘要:提出了一种利用 VHDL 语言设计步进电机控制器的思路. 该控制器能实现速度控制、 工作方式选择等多种 功能. 详细讨论了该控制器的结构、 各模块的功能及仿真分析结果. 结果表明: 该系统具有修改方便、 使用灵活、 可靠 性高、 可移植性强等优点. 关键字:VHDL;步进电机;脉冲分配器;仿真 中图分类号:TP332.3 文献标识码:A 文章编号:1008-5475 (2008) 04-0019-03 接口 电路 FPGA 功率 放大 步进 电机 图1步进电机驱动电路原理图 接口 电路 接口 电路 FPGA 功率 放大 步进 电机 图2步进电机控制器原理图 CK CLK P1 P2 Z F T M a b c 频率发生器 方向锁存器 脉冲分配器 0 引言随着电子技术的发展,现场可编程门阵列 FPGA 和复杂可编程逻辑器件 CPLD 的出现, 使得电 子系统的设计者利用与器件相应的电子设计软件, 在实验室里就可以设计自己的专用集成电路 ASIC 器件.其中电子设计自动化 (EDA) 的关键技术之一 就是可以用硬件描述语言 (HDL) 来描述硬件电路. VHDL 是用来描述从抽象到具体级别硬件的工业标 准语言,它是由美国国防部在 20 世纪 80 年代开发 的HDL,现在已成为 IEEE 承认的标准硬件描述语 言. VHDL 支持硬件的设计、 验证、 综合和测试, 以及 硬件设计数据的交换、 维护、 修改和硬件的实现, 具 有描述能力强、 生命周期长、 支持大规模设计的分解 和已有设计的再利用等优点[1] .利用 VHDL 这些优 点和先进的 EDA 工具, 根据具体的实际要求, 本文 设计了一个步进电机控制器电路. 步进电机是一种将电脉冲转化为角位移的执行 机构. 也就是当步进驱动器接收到一个脉冲信号时, 它就驱动步进电机按设定的方向转动一个固定的角 度, 它的旋转是以固定的角度一步一步运行的. 现场 可编程门阵列 (FPGA) 是对步进电机实现一体化控 制的理想选择. 本文主要介绍了利用 VHDL 语言设计的三相 反应式步进电机驱动电路的设计思路.现场可编程 门阵列 (FPGA) 将接口电路送来的一系列信号转换 成步进电机的驱动脉冲,经过功率放大后送给步进 电机, 以此控制步进电机的转动方向和速度, 其电路 原理图如图 1 所示. 1 步进电机控制器原理 步进电机控制器主要由三个部分组成,其原理 图如图 2 所示. 1.1 频率发生器 步进电动机的转动是由脉冲控制的,通过控制 脉冲频率即可控制电机转动的速度和加速度,从而 达到调速的目的.此处设置了四档调速.CLK 是外 部输入频率, P2 和P1 是分频模式选择. P2P1=00: 表19 - - PDF created with pdfFactory Pro trial version www.pdffactory.com 苏州市职业大学学报 第19 卷 示外部输入脉冲频率 (不分频) ;P2P1越01: 表示对 外部输入频率 4 分频;P2P1越10:表示对外部输入 频率 8 分频;P2P1越11: 表示对外部输入频率 16 分频.处理过的脉冲信号由 CK 端送入脉冲分配器[2] . 1.2 方向锁存器 步进电机有启动和停止两种状态,启动后又分 为正转、 反转. 故电机的转动控制上设置了三个信号 输入端:令Z为正转启动脉冲信号、F 为反转脉冲 信号、T 为停止的脉冲信号.通过方向锁存器将输 入的脉冲信号转换为电平信号,并且保证信号的唯 一性. 根据三相线圈轮流通电方式的不同,三相反应 式步进电动机有三相单三拍、 三相双三拍、 三相六拍 等三种通电方式.实际应用中三相单三拍运行方式 很少采用,因为这种运行方式每次只有一相绕组通 电, 容易使转子在平衡位置附近产生摆动, 因此稳定 性不好,所以此控制器设置了后两种通电方式, M 为供电方式的选择信号: M=1 为三相六拍通电方 式; M=0 为三相双三拍通电方式. 1.3 脉冲分配器 三相六拍的通电方式为一个循环周期通电相 序换接六次, 有六种通电状态, 故称三相六拍运行 方式.通电顺序为: A—AB—B—BC—C—CA—A. 如果每次都是两相控制绕组同时通电,即按 AB— BC—CA—AB……的顺序通电,称为三相双三拍. 根据 M 的状态, 控制脉冲的输出情况, 脉冲分配器 设计的主要思路是: 设置一个 6 进制的计数器.三 相六拍正转为 1原6 循环, 反转为 6原1 循环; 三相双 三拍正转为 2原4原6 循环, 反转为 6原4原2 循环, 如图 3 所示[3-5] . 根据需要先用 VHDL 语言调试和仿真出频率 发生器、 方向锁存器、 脉冲分配器三个部分, 按照 图4完成顶层文件.完成整个步进电机控制器的 设计. 鉴于篇幅有限, 仅提供脉冲分配器部分的源程 序清单如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mc is port (inclk: in std_logic; smzfd: in std_logic_vector (3 downto 0) ; outputcba:out std_logic_vector (2 downto 0) ) ; end mc; architecture arch_mc of mc is signal sa : std_logic_vector (2 downto 0) ; begin process (inclk ,smzfd) is begin if(rising_edge (inclk))then if(smzfd="1100")then if(sa=6)then sa<="001"; else sa<=sa+1; end if; elsif(smzfd="1010")then if(sa=1)then sa<="110"; else sa<=sa-1; end if; elsif (smzfd="1000")then sa<="000"; elsif (smzfd="0100")then if(sa=6)then sa<="010"; else 图3脉冲分配器设计思路 三相六拍正转 三相双三拍正转 1 001 2 011 3 010 4 110 6 101 5 100 图4顶层文件 20 - - PDF created with pdfFactory Pro trial version www.pdffactory.com 施纪红: 基于 VHDL 语言设计的步进电机控制器 2008 年第 4 期sa<=sa+2; end if; elsif (smzfd="0010")then if(sa=2)then sa<="110"; else sa<=sa-2; end if; elsif (smzfd="0000")then sa<="000"; end if; end if; end process; with sa select outputcba<="001" when "001", --1 "011" when "010", --2 "010" when "011", --3 "110" when "100", --4 "100" when "101", --5 "101" when "110", --6 "000" when others;--0 end arch_mc ; 2 主控制系统硬件选型和接口配置 利用MAXPLUSII 软件对步进电机驱动的VHDL 语言设计的程序进行了编译和仿真,仿真结 果如图 5 和图 6 所示. 其中, 图5为三相双三拍正转 仿真波形; 图6为三相六拍正转仿真波形. 根据仿真 波形的分析, 可以看到基本达到了设计初期的要求, 能完成步进电机两种工作模式的选择,实现步进电 机正转、 反转、 停止的要求, 能够实现步进电机频率 的控制.可见利用 EDA 软件可以缩短设计周期, 是 一种快捷方便的电路设计方法. 3 结论 本文介绍了用 VHDL 语言设计的一种步进电 机控制器, 根据仿真波形的分析, 基本达到了设计初 期的要求, 能完成步进电机两种工作模式的选择, 实 现步进电机正转、 反转、 停止的要求, 可以实现步进 电机频率的控制. 可见利用 EDA 软件可以缩短设计 周期, 是一种快捷方便的电路设计方法. 参考文献: [1] 史小波, 程梦璋.集成电路设计 VHDL 教程[M].北京: 清 华大学出版社, 2005. [2] 余少辉. 基于 FPGA 的数字输入式步进电机控制系统设 计[J].现代电子技术, 2004, 186 (19) : 87-88. [3] 赵京东.双三拍与三相六拍步进电机控制器的 GAL 电路 设计[J].曲阜师范大学学报, 2001, 1 (17) : 95-96. [4] 王春侠.基于 CPLD 的步进电动机控制[J].陕西工学院学 报, 2003, 19 (1) : 24-25. [5] 吴亮红, 成继勋.基于 CPLD 的可控步进电机脉冲分配器 设计[J].控制工程, 2005, 1 (12) : 94-95. (责任编辑: 尚丽) 图5三相双三拍正转仿真波形 图6三相六拍正转仿真波形 Stepper Motor Controller Designing Based on VHDL SHI Ji-hong (Chien-Shiung Institute of Technology, Taicang 215411, China) Abstract: A realization scheme of control circuit based on VHDL for stepper motor is presented. The control can realize functions of speed control and work model selection etc. Then the framework, the function of each module and design optimization, synthesis and simulation about the program are discussed in detail. The system has the features of easy modification, good flexibility, high reliability and powerful transplantable capability. Key words: VHDL; stepper motor; pulse distributor; simulation 21 - - PDF created with pdfFactory Pro trial version www.pdffactory.com
  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 可控脉冲发生器的设计  fpga多脉冲信号发生器  脉冲信号发生器设计  555设计秒脉冲发生器  fpga可控led彩灯  基于fpga的信号发生器  基于fpga的波形发生器  基于fpga的音乐发生器  fpga信号发生器  fpgapwm信号发生器