《2022年步进电机定位控制系统方案.docx》由会员分享,可在线阅读,更多相关《2022年步进电机定位控制系统方案.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用同学学号课程设计题目 步进电机定位掌握系统设计 学 院 信息工程学院 专业 班级 姓名 指导老师20222022 学年6 月20 日名师归纳总结 - - - - - - -第 1 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用课程设计任务书同学姓名:专业班级:指导老师:工作单位:题目:步进电机定位掌握系统设计初始条件:1. 具备电子电路的基础学问及查阅资料和手册的才能;2. 熟识 ISE 仿真软件的操作与运用;3. 把握步进电机的工作原理;要求完成的主要任务 : 1. 设计
2、一个基于 FPGA 的 4 相步进电机定位掌握系统,包括步进电机方向设定电路模块、步进电机步进移动与定位掌握模块和编码输出模块;2.撰写符合学校要求的课程设计说明书;时间支配:1、2022 年 06 月 11 日,布置课设详细实施方案与课程设计报告格式的要求说明;2、2022 年 06月 12日 至 2022年 06 月 17 日,设计说明书撰写;3、2022年 06 月 18日,上交课程设计成果及报告,同时进行答辩;名师归纳总结 指导老师签名:年 月 日第 2 页,共 17 页系主任 或责任老师)签名:年 月 日- - - - - - -精选学习资料 - - - - - - - - - 个人
3、资料整理 仅限学习使用目录摘要 . II Abstract . II 1 设计目标及简介 . 1.1设计目标 . 1.2 步进电机简介 . 2 VHDL 语言介绍 . 3 Quartus 介绍 . 4 系统组成 . 4.1 四相步进电机工作原理 . 22 4.2 系统组成 . 5 模块设计 . 5.1 FPGA模块图及信号说明 . 44 5.2 系统模块构成 . 5.3 各模块间整体共享的电路内部传递信号. 555.4 电机方向设定电路模块 . 555.5 步进电机步进移动与定位掌握模块. 665.6 编码输出模块 . 6 程序设计与仿真 . 名师归纳总结 7 仿真结果 . 1010第 3 页
4、,共 17 页8 试验总结 . 1212参考文献 . 1212- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用摘要 在分析了步进电机工作原理的基础上,提出了步进电机定位掌握系统的模 块划分和实现方法;以步进电机四相四拍工作方式为例,用 Verilog 编程在Altera 公司的 FPGA 开发系统中实现了各功能模块和显示程序;在系统仿真的 基础上,进行了功能模块的掌握试验,试验结果和仿真一样,实现了对步进电 机模组的预定掌握;关键词:步进电机定位掌握 Verilog 硬件描述语言 FPGA Abstract On the basis of
5、analysing stepping motors operational principle , we put forward modules division and realizing method of positioning control system which using stepping motor.Giving an example such as stepping motors which work in Four-phase-four-step mode , we use Verilog programming realized every foundational m
6、odule and display routine in Altera s FPGA development system.On the basis of system simulation , we conduct a controlling experiment about foundational modules,the results are the same as simulation s results.We carried out the expected control about stepping motor.Keyword:stepping motor positionin
7、g control VHDL FPGA名师归纳总结 - - - - - - -第 4 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用1 设计目标及简介 1.1 设计目标 设计一个基于 FPGA 的 4 相步进电机定位掌握系统;1.2 步进电机简介 步进电机是将电脉冲信号转变为角位移或线位移的开环掌握元件;在非超 载的情形下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而 不受负载变化的影响,即给电机加一个脉冲信号,电机就转过一个步距角;这 一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点;使 得在速度、位置等掌握领域用步进
8、电机来掌握变的特别的简洁;2 VHDL 语言介绍 VHDL 的 英 文 全 名 是Very-High-Speed Integrated Circuit Hardware Description Language,产生于 1982 年;1987 年底, VHDL 被 IEEE 和美国国防 部确认为标准硬件描述语言;VHDL 主要用于描述数字系统的结构,行为,功能和接口;除了含有很多具有硬件特点的语句外,VHDL 的语言形式和描述风格与句法是特别类似于一般的运算机高级语言;VHDL 的程序结构特点是将一项工程设计,或称设计实体可以是一个元件,一个电路模块或一个系统)分成外部或称可视部分,及端口)和
9、内部 或称不行视部分),既涉及实体的内部功能和算法完成部分;在 对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可 以直接调用这个实体;这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点;VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必定具有很多其他硬件描述语言所不具备的优点;归纳起来,VHDL 语言主要具有功能强大,设计方式多样;硬件描述才能强大;具有很强的移植才能;设计描 述与器件无关程序易于共享和复用等优点;3 Quartus 介绍Quartus II 是 Altera 公司的综合性PLD/FPGA 开发软件,支持原理图、VHDL 、Ver
10、ilogHDL 以及 AHDLAltera Hardware Description Language )等多种 设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配 置的完整 PLD 设计流程;名师归纳总结 Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用Tcl 脚本完第 5 页,共 17 页- - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用成设计流程外,供应了完善的用户图形界面设计方式;具有运行速度快,界面统一,功能集中,易学易用等特点;Quartus II 供应了完全集成且与电路结构无
11、关的开发包环境,具有数字规律设计的全部特性,包括:可利用原理图、结构框图、VHDL 完成电路描述,并将其储存为设计实体文件;芯片VerilogHDL 、AHDL 和 , 00:自动检测角度输入,打算激磁方式 01:1-相激磁; 10:2.相激磁; 11:1-2.相激磁 . angle:步进角的倍数设定输入键 . baba:将内部计数器的 count3 downto 0的数值编码输出5.2 系统模块构成 系统主要由步进电机方向设定电路模块、步进电机步进移动与定位掌握模块和编码输出模块构成;前两个模块完成电机旋转方向设定,激磁方式设定和定位角度的换算等工作,后一个模块用于对换算后的角度量编码输出;
12、5.3 各模块间整体共享的电路内部传递信号 count:内部电路计数累加器,用来产生输出所需对应的状态;cntinc:设定累加器所需的累加 /减计数值;sntini:设定累加器所需的计数初值;angledncount:设定步进角所需处理的次数;Angledncntdec:设定步进角所需累减计数值;5.4 电机方向设定电路模块 该模块设定了步进电机的旋转方向以及电机在任一方向上所需的初值与累 加/减值;dir 为 0 时,步进电机工作于逆时针旋转模式,累加值为正数;manner 挑选激磁方式 00、01、10、11 分别对应默认激磁方式、 1-相激磁方 式、 2.相激磁方式和 1-2.相激磁方式
13、;如表 5.1;manner cntini cntinc angledncntdec 00 angle=2n+1时1 2 2 angle=2n 时 0 名师归纳总结 01 0 2 2 第 9 页,共 17 页- - - - - - -精选学习资料 - - - - - - - - - 10 -1 2 个人资料整理仅限学习使用2 11 0 1 1 表 5.1 dir 为 0 时dir 为 1 时,步进电机工作于顺时针旋转模式,累加值为负数;manner 挑选激磁方式 00、01、10、11 分别对应默认激磁方式、1-相激磁方式、 2.相激磁方式和 1-2.相激磁方式;如表 5.2;manner c
14、ntini cntinc angledncntdec 00 angle=2n+1时1 -2 2 angle=2n 时 0 01 0 -2 2 10 -1 -2 2 11 0 -1 1 表 5.2 dir 为 1 时5.5 步进电机步进移动与定位掌握模块该模块的主要功能是利用赋初值ini 将数值传到该模块中并协作输入的clk作为同步掌握信号,进行步进电机的步进移动与定位掌握;步进电机定位功能通过一个减法器实现:在每个clk 脉冲上升缘,设定步进角倍数angledncount 减去不同激磁方式下设定的累减记数值angledncntdec,判定差值小于设定的累减记数时,步进电机旋转到预定角度停止输出
15、驱动端口信号,实现步进电机的定位功能;驱动端口信号利用累加器实现;名师归纳总结 - - - - - - -第 10 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用5.6 编码输出模块该模块的功能是将count 与 angledncount 产生的数值经过编码,并通过baba3downto0输出到步进电机;6 程序设计与仿真 library IEEE ;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity step
16、_motor is port reset:in STD_LOGIC; -系统复位信号 dir: in STD_LOGIC ; -方向掌握信号 clk: in STD_LOGIC ; -系统时钟信号 ini: in STD_LOGIC ; -初始化使能信号 manner: in STD_LOGIC_VECTOR 1 downto 0; -激磁方式的挑选开关 angle: in INTEGER range 255 downto 0; -步进角的倍数设定输入 baBA: out STD_LOGIC_VECTOR 3 downto 0 ; -步进电机状态输出 end step_motor;archit
17、ecture stepmotor_arch of step_motor is signal count: INTEGER range 0 to 7; -计数器 signal cntInc: INTEGER range -2 to 2 ; -设定累加器所需的累 -, ini begin -if ini=1 then 名师归纳总结 - - - - - - -第 11 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 cc; if dir=0 then case cc is when 1 = - 1- -count=0; cntIni=0; cntInc=
18、2; angleDnCntDec - 2- -count=7; cntIni=-1; cntInc=2; angleDnCntDec - 1-2 -count=0; cntIni=0; cntInc=1; angleDnCntDec -manner=00 autodetect if angle rem 2 =1 then - 2- -count=7; cntIni=-1; cntInc=2; angleDnCntDec=2;-10 ; else - 1- -count=0; cntIni=0; cntInc=2; angleDnCntDec - 1- -count=0;名师归纳总结 - - -
19、 - - - -第 12 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 cntIni=0; cntInc=-2; angleDnCntDec - 2- -count=7; cntIni=-1; cntInc=-2; angleDnCntDec - 1-2 -count=0; cntIni=0; cntInc=-1; angleDnCntDec -manner=00 autodetect if angle rem 2 = 1 then - 2- cntIni=-1; cntInc=-2; angleDnCntDec=2;-10 ; else - 1
20、- cntIni=0; cntInc=-2; angleDnCntDec begin if reset=1 then count=0; angleDnCount=0; elsif clkevent and clk=1 then if ini=0 then 名师归纳总结 - - - - - - -第 13 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 count=0+cntIni; angleDnCount=angle; else count angleDnCntDec then angleDnCount = angleDnCount-angleD
21、nCntDec; else angleDnCount = 0; end if; end if; end if; end process; baBA =7;end stepmotor_arch;7 仿真结果名师归纳总结 - - - - - - -第 14 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用图 7.1 编译结果图 7.2 时序仿真部分结果名师归纳总结 - - - - - - -第 15 页,共 17 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用图 7.3 时序仿真结果8 试验总结 本文所设计的步进电机掌握系
22、统实现简洁,编程简洁,所设计系统实现了对电机模组的预定掌握,较好的完成了设计要求;采纳Verilog 和 FPGA 设计,能够缩短设计周期,并使设计易于调试、实现;在系统需升级时,仅需对 FPGA 模块再设计,成本较低;从仿真结果来看,利用FPGA 芯片严谨的基于硬件的编程语言和精确的时间掌握特点,精确地实现了精确定位功能,并利用直接频率合成理论中的相位 累加器的原理同时实现了对步进电机的运行速度的精确掌握;实践证明,这种方法定位精确,掌握速度精确,是一种行之有效的方案;参考文献名师归纳总结 1 通信原理樊昌信张甫翊徐炳祥吴成柯著国防工业出版社 2022.1 第 16 页,共 17 页2 ED
23、A 技术使用教程 VHDL 版潘松黄继业编著科学出版社 2022.6 - - - - - - -精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用本科生课程设计成果评定表 姓名 性别 专业、班级 课程设计题目:步进电机定位掌握系统设计 课程设计答辩或质疑记录:1、步进电机的拍数是指什么?n 表示,或指电机转 答:拍数指完成一个磁场周期性变化所需脉冲数或导电状态用 过一个齿距角所需脉冲数;以四相电机为例,有四相四拍运行方式即 方式即 A-AB-B-BC-C-CD-D-DA-A;2、各个输入信号的作用是什么?答: reset:系统内部复位信号, 1时有效;AB-BC-CD-DA-AB ,四相八拍运行dir:步进电机正反转的方向掌握开关,0:逆时针, 1:顺时针;clk:由 FPGA 内部供应的 4MHz 的时钟信号;ini: 赋初值的使能开关, 0时有效;manner:激磁方式的挑选开关两位 , 00:自动检测角度输入,打算激磁方式01:1-相激磁; 10:2.相激磁; 11:1-2.相激磁 . angle:步进角的倍数设定输入键 . 成果评定依据:最终评定成果 以优、良、中、及格、不及格评定)指导老师签字:年月日名师归纳总结 - - - - - - -第 17 页,共 17 页
限制150内