当前位置:首页 >> 信息与通信 >>

基于EPM240c100-5芯片步进电机控制器设计


2012 届毕业设计任务书
一、课题名称: 基于 EPM240T100-5 芯片步进电机控制器设计 二、指导老师: 王 勇 三、设计内容与要求

1、课题概述 步进电动机的技术已很成熟,特别适合于小功率开环定位系统,至今还没 有能取代它的更适合产品,今后将继续稳步发展和完善化在功率稍大和要求高 响应高速度的系统,则更多地让位给交流伺服系统。在现代工业

控制和医疗器 械中广泛的使用,但是目前主要是应用单片机进行时序控制,在应用现成的驱 动器,这样势必会提高仪器仪表的成本和使用范围,本毕业设计针对 ASIC 芯 片来进行一个三相步进电机控制和驱动系统, 系统结构简单, 体积小, 成本低, 移植性强。 2、设计内容与要求 (1).确定设计方案,绘制方框图; (2).设计各部分电路,要求在一片 EPM240C100-5 芯片上实现主控制功能, 驱动电路可另行设计实现,在保证实现基本功能和主要技术指标的前提下注意 降低成本,以获取较高的性价比; (3).分析各单元电路的工作原理和特性; (4).画出整机电路图,用 QUARTUS II 软件仿真所有子电路,并在实际电

路板上调试实现功能,说明电路调试的基本方法; (5).要求设计键盘控制功能具有启动/停止、连续/单步、正转/反转、8 档 加速/8 档减速等功能,且能消除键盘抖动; (6).可以使用矩阵键盘或者独立键盘。 3、技术指标: (1).芯片选择:CPLD 中的 MAX II EPM240C100-5 芯片;

(2).步进电机:四相步进电机; (3).驱动功率:加驱动芯片 ULN2003 达 5W; (4).逻辑工作电压:DC5V,驱动电压 12V (5).步进精度或角度:3° (6).使用环境:-20~85℃。 (7).要求控制与驱动之间加光耦隔离 四、设计参考书及参考网址 1、潘松主编 2、唐亚平主编 3、宋振辉主编 《EDA 技术与 VHDL》 ,清华大学出版社 《EDA 技术应用》 ,化学工业出版社 《EDA 技术与 VHDL》 ,北京大学出版社

4、徐志军 王金明 尹廷辉编蓍 《EDA 技术与 VHDL 设计》 ,电子工业出版社 5、参考网址:http://eda.cepark.com/等 五、设计说明书要求 1、 封面 2、 目录 3、 内容摘要(200~400 字左右,中英文) 4、 正文(设计方案比较与选择,设计方案原理、计算、分析、论证,设计 结果的说明及特点) 5、 结束语 6、 附录(参考文献、图纸、材料清单等) 六、设计进程安排 第 1 周: 资料准备与借阅,了解课题思路。

第 2-3 周: 设计要求说明及课题内容辅导,完成图纸初稿。 第 4-6 周: 进行毕业设计,完成说明书初稿。 第 7 周: 第 8 周: 指导老师检查毕业设计完成情况,作好毕业答辩准备。 毕业答辩与综合成绩评定。

七、毕业设计答辩及论文要求 1、毕业设计答辩要求 答辩前三天, 每个学生应按时将毕业设计说明书或毕业论文、专题报告

等必要资料交指导教师审阅,由指导教师写出审阅意见。 学生答辩时对自述部分应写出书面提纲,内容包括课题的任务、目的和 意义,所采用的原始资料或参考文献、设计的基本内容和主要方法、成果结 论和评价。 答辩小组质询课题的关键问题, 质询与课题密切相关的基本理论、 知识、 设计与计算方法实验方法、测试方法,鉴别学生独立工作能力、创新能力。 2、毕业设计论文要求 文字要求:说明书要求打印(除图纸外),不能手写。文字通顺,语言流 畅,排版合理,无错别字,不允许抄袭。 图纸要求: 按工程制图标准制图, 图面整洁,布局合理, 线条粗细均匀, 圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。 曲线图表要求:所有曲线、图表、线路图、程序框图、示意图等不准用 徒手画,必须按国家规定的标准或工程要求绘制。

湖南铁道职业技术学院毕业设计(论文)





步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。 在非超载 的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受 负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性 关系的存在, 加上步进电机只有周期性的误差而无累积误差等特点。 使得在速度、 位置等控制领域用步进电机来控制变的非常的简单。 步进电机的调速一般是改变 输入步进电机的脉冲的频率来实现步进电机的调速, 因为步进电机每给一个脉冲 就转动一个固定的角度, 这样就可以通过控制步进电机的一个脉冲到下一个脉冲 的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转 速, 从而实现步进电机的调速。 CPLD 主要是由可编程逻辑宏单元(MC, Macro Cell) 围绕中心的可编程互连矩阵单元组成。其中 MC 结构较复杂,并具有复杂的 I/O 单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。本文 设计了以 CPLD 作为核心器件种基于它的步进电机控制系统。 极大地减少了外围 元件的使用。具有系统扩展性能好、可靠性高、抗干扰能力强、结构简单、成本 低廉,不占用 CPU 时间、易于高速控制等优点。步进电机可在宽广的频率范围 内通过改变脉冲频率实现调速、快速起停、正反转控制等。利用了这些优点实现 了 CPLD 步进电动机控制系统的可靠工作。

关键词:步进电机,控制器,CPLD。

I

湖南铁道职业技术学院毕业设计(论文)

ABSTRACT
Stepping motor is electrical impulses signal into a angular displacement or line displacement of open-loop control components。 In the overload of the circumstances, motor speed, stop location depends only on the pulse signal frequency and pulse count, and not under the influence of load changes, i.e. give motor add a pulse signal, motor is turned a step distance horns。 This first sexual relationship exists, plus the stepping motor only cyclical error without accumulative error, etc。Made in speed, such as the position control field with stepper motor to control becomes very simple 。Stepping motor speed control is generally change input of the stepper motor pulse frequency to achieve the stepping motor speed control, because the stepping motor for every one pulse is turning a fixed Angle, which can through controlling the step motor is a pulse to the next pulse intervals to change pulse frequency, delay to the length of the specific control stepping horn to change motor speed, so as to achieve the stepping motor speed control 。This article designed one kind to step-by-step the motor control system based on CPLD. It takes the core component by CPLD, reduced the periphery part’s use enormously. Has the system expansion performance to be good, the reliability is high, ant jamming ability is strong, the structure is simple, the cost is inexpensive, Does not take merits and so on CPU time, easy high-speed control. Step-by-steps the electrical machinery to be possible to realize the velocity modulation in the broad frequency range through the change the change pulse frequency, to be fast stops, is reversing the control and so on. Has realized CPLD using these merits to step-by-step the motor control system’s reliable work.

Key word: Step-by-steps the electrical machinery, the controller, CPLD

II

湖南铁道职业技术学院毕业设计(论文)





摘 要........................................................................................................................................... I ABSTRACT ............................................................................................................................. II 第 1 章 绪 论 ........................................................................................................................ 1
1.1 课题的背景及其意义 ................................................................................................... 1 1.2 步进电机的工作原理 .................................................................................................... 2 1.3 主要完成的工作 ............................................................................................................ 3

第 2 章 设计概述................................................................................................................... 4
2.1 设计要求与内容................................................................................................................... 4 2.2 技术指标............................................................................................................................... 4

第 3 章 基于 EPM240C100-5 芯片的步进电机控制器的方案设计 ........ 5
3.1 整体设计框图................................................................................................................. 5 3.2 方案设计与选择............................................................................................................. 5 3.2.1 方案一 基于数字电路芯片的步进电机控制方案....................................... 5

3.2.2 方案二 基于 DSP 的步进电机控制方案 ........................................................... 6 3.2.3 方案三 基于单片机的步进电机控制方案 ...................................................... 7 3.2.4 方案四 基于 CPLD 器件步进电机控制器的设计方案 .................................. 7 3.2.5 方案的选择 ............................................................................................................... 8

第 4 章 硬件电路的设计 ................................................................................................. 10
4.1 相关理论知识介绍 ..................................................................................................... 10 4.1.1 MAXII 芯片的介绍与所用型号 .......................................................................... 10 4.1.2 步进电机的介绍与选择....................................................................................... 11 4.1.3 控制电路设计 ......................................................................................................... 16 4.1.4 驱动芯片 ULN2003 简介....................................................................................... 18 4.1.5 步进电机的驱动电路及原理 ............................................................................. 18

第 5 章 系统软件设计 ..................................... 19
5.1 控制器组成框图 .......................................................................................................... 19

湖南铁道职业技术学院毕业设计(论文)

5.2 软件设计........................................................................................................................ 20 5.3 软件设计模块............................................................................................................... 21 5.3.1 分频计数器模块 .................................................................................................... 21 5.3.2 按键扫描触发消抖编码模块 ............................................................................. 22 5.3.3 控制信号产生模块................................................................................................ 22 5.3.4 环形脉冲分配模块................................................................................................ 24 5.4 脉冲分配表 ................................................................................................................... 25 5.5 编译与调试 ................................................................................................................... 25

第 6 章 结束语 ...................................................................................................................... 26 第 7 章 致 谢......................................................................................................................... 27 参考文献 ................................................................................................................................... 28 附录 ................................................... 29
附录 A 控制电路原理图 ..................................................................................................... 29 附录 B 程序清单 ................................................................................................................... 33 附录 B-1 分频计数器模块 .............................................................................................. 33 附录 B-2 控制信号产生模块 .......................................................................................... 34 附录 B-3 扫描触发消抖编码模块 ................................................................................. 36 附录 B-4 环形脉冲分配模块 .......................................................................................... 39

湖南铁道职业技术学院毕业设计(论文)

第1章 绪
1.1 课题的背景及其意义



步进电机是电机家族的“婴儿” ,20 世纪 60 年代早期才开始流行。最初构想 是作为昂贵的位置控制应用中伺服电机的低成本替代产品,而新兴的计算机工业迅 速将其采用到外设应用当中。步进电机的主要优势在于能提供开环位置控制,而成 本只是需要反馈的伺服系统的几分之一。在过去,步进电机有时被误称为“数字” 电机,因为它们常用正交方波驱动。但是,对这些电机的这种狭隘看法常常会在以 后的项目开发过程中导致大难题。步进电机像其它磁“模拟”电机一样产生扭矩。 多数步进电机的阻尼因数很低,导致一定步频下的欠阻尼运行和对谐振问题的敏感 度。这些问题常常使步进电机比其它电机拓扑更难对付。 多数步进电机采用双凸极设计,转子和定子结构上均有齿。如同 BLDC 或 PMSM 电机,永久磁性位于转子上,电磁包含在定子中。多数设计包含 2 个定子 相位,由正交相位信号独立驱动。驱动这些相位有许多方法,包括全步进、半步进 或微步进,取决于使用的控制技术。每种情况下都会确定子磁通矢量,转子上的磁 性将尝试与该矢量保持一致。由于转子和定子的齿数不同,产生的移动或步进可能 极小。对齐之后,定子电流立即按这种方式发生变化,以增加定子磁通矢量角度, 从而使电机移动到下一个步进。由于多数应用中没有位置反馈,转子磁通可以与定 子磁通保持一致,这会产生无助于电机运行的定子电流。因此,步进电机没有其它 常用电机那样有效。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在 非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而 不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设 定的方向转动一个固定的角度,称为“步距角” ,它的旋转是以固定的角度一步一 步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确 定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从 而达到调速的目的。 步进电机的驱动电路根据步进电机控制器发出的信号工作,步进电机控制器的 信号由单片机产生。步进电机控制器控制步进电机的转向,如果给定工作方式正序

1

湖南铁道职业技术学院毕业设计(论文)

换相通电,步进电机正转,如果按反序通电换相,则电机就反转。 步进电机控制 器控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个 脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发 出的脉冲频率,就可以对步进电机进行调速。步进电机控制器应用广泛,可用于内圆 切片机,排线机,车边机,眼镜机,定长控制,包装等机械上面。

1.2 步进电机的工作原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的 情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载 变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的 存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等 控制领域用步进电机来控制变的非常的简单。 虽然步进电机已被广泛地应用,但 步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲 信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉 及到机械、电机、电子及计算机等许多专业知识。 目前,生产步进电机的厂家的确 不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家 只一、二十人,连最基本的设备都没有。仅仅处于一种盲目的仿制阶段。这就给户 在产品选型、使用中造成许多麻烦。签于上述情况,我们决定以广泛的感应子式步 进电机为例。叙述其基本工作原理。望能对广大用户在选型、使用、及整机改进时 有所帮助。三相发电机主要是三相交流同步发电机。其转子通常为直流励磁线圈产 生的电磁铁,为发电机工作提供磁场。定子是在空间互差 120 度电角度的三相交流 绕组(按照一定规律连接的线圈组称为绕组) 。直流电且由原动机带动三相同步发 电机的转子旋转时,转子磁场对定子的三相绕组有相对运动,定子的三相绕组就感 应三相交流电。调节转子线圈通入直流电流的大小,可以改变定子的三相绕组电压 的大小,改变原动机的转速,可以改变定子的三相绕组电压的频率。步进电机及驱 动电源是互相联系的整体。步进电机驱动电源框图如图所示。变频信号源产生频率 可调的脉冲信号,调节步进电机的速度。脉冲分配器则根据要求把脉冲信号按一定 的逻辑关系加到脉冲放大器上,使步进电机按确定的运行方式工作。 在步进电机作为执行元件的计算机控制系统中,变频信号源往往通过计数器来 实现,脉冲分配则由扩展的并行接口芯片或 GAL 芯片来实现。这种方法的优点是 电路结构成熟、软件编程简单、控制灵活、能实现图 1 中的变频信号源与脉冲分配
2

湖南铁道职业技术学院毕业设计(论文)

器的作用。但它的缺点是集成度不高,硬件电路结构复杂,占用 CPU 的时间过多, 可靠性不高。

时钟

变频信号源

脉冲分配器

脉冲放大器

步进电机

图 1-1 步进电机驱动电源框图

1.3 主要完成的工作
本设计共分为 7 章, 其中第一章为绪论, 主要阐述了课题的研究背景以及意义。 第二章主要介绍了设计要求与技术指标。 第三章描述了 EPM240C100-5 芯片的步进电 机控制器,其中主要涉及到步进电机的整体设计框图以及方案的设计与选择。第四 章主要介绍硬件电路的设计,其中包括硬件的设计和芯片的介绍。第五章详细地介 绍了软件个模块。第六章作为结束语,阐述了制作本文档的心得以及收获。第七章 致谢词,感谢老师和组员们的祝福,以及预祝自己本次答辩顺利通过!

3

湖南铁道职业技术学院毕业设计(论文)

第 2 章 设计概述
2.1 设计要求与内容
(1).确定设计方案,绘制方框图; (2).设计各部分电路,要求在一片 EPM240C100-5 芯片上实现主控制功能,驱 动电路可另行设计实现,在保证实现基本功能和主要技术指标的前提下注意降低成 本,以获取较高的性价比; (3).分析各单元电路的工作原理和特性; (4).画出整机电路图,用 QUARTUS II 软件仿真所有子电路,并并在实际电 路板上调试实现功能,说明电路调试的基本方法; (5).要求设计键盘控制功能具有启动/停止、连续/单步、正转/反转、8 档加速 /8 档减速等功能,且能消除键盘抖动; (6).可以使用矩阵键盘或者独立键盘。

2.2 技术指标
(1).芯片选择:CPLD 中的 MAX II 某种芯片; (2).步进电机:四相步进电机; (3).驱动功率:加驱动芯片 ULN2003 达 5W; (4). 逻辑工作电压:DC5V,驱动电压 12V; (5).步进精度或角度:3° (6).使用环境:-20~85℃; (7).要求控制与驱动之间加光耦隔离。

4

湖南铁道职业技术学院毕业设计(论文)

第3章

基于 EPM240C100-5 芯片的步进电机控制器的方案设计

3.1 整体设计框图

图 3-1 整体设计框图

3.2

方案设计与选择
步进电机是将电信号转化为角位移的装置。步进电机控制器目前主要有四种方

式实现,分别为基于数字电路芯片的控制器、基于 DSP 控制的控制器、基于单片机 控制的控制器、 基于 CPLD 器件来设计 EPM240C100-5 的步进电机控制器。 CPLD、 FPGA 实现的通常是纯数字系统,适于处理大量的逻辑和时序问题,速度快;单片机则善 于处理大量的数据和复杂的运算,而且经常可以很方便地构成模拟数字混合系统。 步进电机的数字化控制将是步进电机控制器未来发展的必然趋势。下面具体介绍四 种控制方案。

3.2.1 方案一

基于数字电路芯片的步进电机控制方案

基于数字电路芯片的步进电机控制方案,如图 3-2,步进电机控制系统主要有 步进电机控制器、功率放大器及步进电机组成。步进电机控制是有缓冲寄存器、环 形分配器、控制逻辑及正、反转控制门等组成的。他的作用就是能把输入的脉冲转 换成环型脉冲,以便于控制步进电机,并能进行正、反向控制。功率放大器的作用 就是把控制器输出的环型脉冲加以放大,驱动步进电机转动。

5

湖南铁道职业技术学院毕业设计(论文)

振荡脉冲
脉 冲 分 配 功 率 放 大 步 进 电 机

方向控制

图 3-2 步进电机控制器系统的组成

这种控制方式在步进电机控制器的早期历史阶段,起到了一定的作用,并满 足了当时的控制器要求。但随着生产要求的提高,基于此芯片控制的方案其缺点日 益凹现。 一方面表现在技术上满座不了生产的需求, 另一方面元件太多容易出故障。

3.2.2 方案二 基于 DSP 的步进电机控制方案 基于 DSP 的步进电机控制方案,如图 3-3,步进电机控制系统由微处理器、 脉冲分配器、驱动电路组成。微处理器是产生脉冲,对机器下达命令。脉冲分配器 则是分配命令,指导机器运行,其中转向控制利用 DSP 的 PWM 口的“强制高”输出 (正转) “和强制低”输出(反转)来说实现。步进电机的速度控制是通过控制 DSP 发出的步进脉冲频率来实现的。通过控制 DSP 定时器的周期值来控制步进脉冲的频 率。

步进脉冲
TMS 320 LF2407 A

方向控制

脉 冲 分 配 器

隔 离 驱 动 电 路

步 进 电 机

图 3-3 DSP 控制四相步进电机原理图

该方法灵活性好,抗干扰能力强,运算速度快,能实现复杂的控制系统所需求 的高速度信号处理。但由于其开发工具价格高,使得 DSP 芯片的价格较高,对于简 单的控制系统而言,采用 DSP 控制显得大材小用。目前该方案只适用于精度要求高
6

湖南铁道职业技术学院毕业设计(论文)

的场所。

3.2.3 方案三 基于单片机的步进电机控制方案 基于单片机的步进电机控制方案如图。常用的步进电机控制系统,控制核心是 微处理器,常用的 8051 单片机片内没有 PWM 模块需要外接 8253 等芯片产生脉冲 信号(一般为方波信号) ,大带有 PWM(plus Width Module)模块的单片机则可以 直接输出脉冲信号但占用软件资源较多。脉冲信号的频率控制步进电机的转速,脉 冲信号的个数又控制着步进电机的转角。因此,有需要一个计数器 8253 对脉冲个 数产生脉冲信号。驱动器部分可以对步进电机的步数进行细分并驱动电机。系统工 作时,单片机需先通过计算设定计数器 1 和计数器 0 的相关参数才能保证电机的正 常运行,增加了软件的运行时间,降低了系统效率,并且 8253 器件技术范围有限 (16 位计数器) ,不能产生高频,多个数的脉冲信号。

单片机
8051

数据总 线

计数器
8253

脉冲波形

步进电机 驱动器

计数器
8253 图 3-4 单片机控制步进电机原理图

步进电机

3.2.4 方案四 基于 CPLD 器件步进电机控制器的设计方案 如图 3-5,本文讨论了一种基于 CPLD(Complex Programmable Logic Device) 复杂可编程逻辑器件的步进电机控制器设计,应用一个低成本 CPLD 器件,就可以 解决单片机 PWM 软件编程和 8253 对脉冲计数的问题。CPLD 中设计了一个 PWM 模块 和一个计数模块,单片机只需对 CPLD 中的寄存器进行访问,就可以产生一定频率, 一定占空比和一定个数的脉冲信号。可以降低单片机的软件开销,提高系统效率。 计数模块可采用 32 位计数器,因此对高频多个数的脉冲信号也有较好的支持。
7

湖南铁道职业技术学院毕业设计(论文)

单片机
8051

数据总 线

CPLD 步进电 机控制 器

脉冲波形

步 进 电 机 驱 动 器

步进 电机

图 3-5 CPLD 控制电路原理

基于 CPLD 器件步进电机控制器的设计方案如图,由于单片机在抗干扰能力方 面不如 CPLD,就把主要任务交给 CPLD 完成,单片机主要完成计算功能,将设置 数据计算后,输出插补器所需数据,插补器和环形分配器的实现在 CPLD 种完成。 它具有可靠性强,抗干扰能力强,系统维修方便、能耗低、高编程灵活、集成度高、 设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件 经验要求低、标准产品无需测试、保密性强、价格大众化等特点。 3.2.5 方案的选择 (1)从技术上看,方案一、方案二、方案三和方案四都可以实现对步进电机 的控制。方案一利用数字电路芯片的逻辑关系对脉冲进行分配,实现对步进电机的 控制。但随着生产要求的提高,它的灵活性和通用性满足不了生产的需求。方案二 基于 DSP 芯片的控制,由于 DSP 具有丰富的资源和强大的运算能力,目前该方案 只适用于精度要求高的场所。而方案三里面常用的 8051 单片机片内没有 PWM 模块, 需要外接 8253 等芯片产生脉冲信号(一般为方波信号) ,大带有 PWM(plus Width Module)模块的单片机则可以直接输出脉冲信号但占用软件资源较多。脉冲信号的 频率控制步进电机的转速,脉冲信号的个数又控制着步进电机的转角。因此,有需 要一个计数器 8253 对脉冲个数产生脉冲信号。驱动器部分可以对步进电机的步数 进行细分并驱动电机。系统工作时,单片机需先通过计算设定计数器 1 和计数器 0 的相关参数才能保证电机的正常运行,增加了软件的运行时间,降低了系统效率, 并且 8253 器件技术范围有限(16 位计数器) ,不能产生高频,多个数的脉冲信号。 方案四,应用一个低成本 CPLD 器件,正好解决了单片机 PWM 软件编程和 8253 对 脉冲计数的问题。它具有可靠性强,抗干扰能力强,系统维修方便、能耗低、高编 程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本 低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特 点。 (2)从经济上看,数字电路芯片价格较低,而 DSP 由于其开发工具价格高,
8

湖南铁道职业技术学院毕业设计(论文)

导致其价格较高。对于方案三来说,价格处于方案一和方案二之间,比数字芯片电 路高,但相比 DSP 较低,而方案四略低于方案三。 所以综合以上观点,从芯片的性价比来考虑,选用方案四即基于 CPLD 器 件的步进电机控制方案为此次设计的主要方案。

9

湖南铁道职业技术学院毕业设计(论文)

第 4 章 硬件电路的设计
4.1 相关理论知识介绍
4.1.1 MAXII 芯片的介绍与所用型号 Altera 的 MAX? II 系列 CPLD 是有史以来功耗最低、成本最低的 CPLD。MAX II CPLD 基于突破性的体系结构,在所有 CPLD 系列中,其单位 I/O 引脚的功耗 和成本都是最低的。随着 MAX IIZ 的推出,有三种型号产品都使用了同样的创新 CPLD 体系结构: MAX II CPLD MAX IIG CPLD MAX IIZ CPLD 这一瞬时接通的非易失器件系列面向蜂窝手机设计等通用低密度逻辑应用。 不但具有传统 CPLD 设计的低成本特性,MAX II CPLD 还进一步提高了高密度产 品的功耗和成本优势,这样,您可以使用 MAX II CPLD 来替代高功耗和高成本 ASSP 以及标准逻辑 CPLD。 MAX II 器件系列的高级特性 MAX II CPLD 支持高级功能集成, 以降低系统设计成本。 这一部分介绍 MAX II CPLD 的高级特性。 低功耗 十分之一的功耗 (和前一代 3.3V MAX 器件相比) 1.8V 内核电压降低了功耗,提高可靠性。 CPLD 业界最低的待机规范,大大延长了电池供电时间。 自动启动/停止功能,CPLD 不使用时关断。 低成本体系结构 以一半的价格实现四倍的密度 (和前一代 MAX 器件相比)通过设计, 减小了 管芯面积,单位 I/O 引脚成本在业界是最低的。 高性能 支持高达 300 MHz 的内部时钟频率性能加倍(和 3.3-V MAX 器件相比 )。 独特的特性
10

湖南铁道职业技术学院毕业设计(论文)

板上振荡器和用户闪存不需要分立振荡器或者非易失存储器, 减少了芯片数 量。 实时在系统可编程能力(ISP) 器件工作时,可下载第二个设计。降低了远程现场更新的成本。 灵活的 MultiVolt 内核 片内电压稳压器支持 3.3-V、2.5-V 和 1.8-V 供电减少了电源数量,简化了 电路板设计。 并行闪存加载程序宏功能 提高了板上不兼容 JTAG 闪存的配置效率通过 MAX II 器件实现 JTAG 命令, 简化了电路板管理。 I/O 能力 MultiVolt I/O 支持和 1.5-V、1.8-V、2.5-V 以及 3.3-V 逻辑电平器件的接 口施密特触发器、可编程摆率和可编程驱动能力提高了信号完整性。 使用方便的软件 Altera 免费的 Quartus? II 网络版软件支持所有的 MAX II CPLD,优化了 引 脚 锁 定 适 配 , 提 高 了 性 能 。 Quartus II 软 件 中 新 的 MAX+PLUS? II “look-and-feel”选项增强了软件的易用性。 根据任务要求: 芯片选择:CPLD 中的 MAX II 某种芯片; 逻辑工作电压:DC5V,驱动电压 12V 使用环境:-20~85℃。 我们选择了 Altera 公司生产的 CPLD 器件 MAX II 系列中的 AT488 芯片进行 本次设计的芯片。

4.1.2 步进电机的介绍与选择 步进电动机是一种能将数字的电脉冲转换成模拟的输出轴运动的理想数字控 制元件。它在机电一体化系统中经常用作开环的运动控制?因为它具有结构简 单、价格便宜、工作可靠、维修容易等一系列优点。 步进电动机又称脉冲电动机。它采用变磁阻原理产生电磁转矩,将数字电脉 冲输入转换为模拟的输出轴运动。 旋转式步进电动机的输出轴以等增量的转角响
11

湖南铁道职业技术学院毕业设计(论文)

应输入脉冲序列。当控制合适时,每输入一个脉冲,它向前转动一步。输出步数 等于输入脉冲个数,转速与输入脉冲频率成正比。 1)概况 步进电机是一种以数字脉冲信号控制的电机装置, 将相对的信号转变为输出 的旋转角度, 每一个基本旋转角度称为一个步进角度, 此为步进电机名称的由来, 因此它可以做精确的定位。步进电机分三种:永磁式(PM) ,反应式(VR)和混 合式(HB) 。其主要特性如下: (1)电机的旋转角度与输入脉冲数成比例,角度的误差小,而且不会产生累 积的误差。 (2)可以数字脉冲控制信号做开路方式控制, 避免使用复杂的反馈控制电路, 降低系统制作成本。 (3)利用输入脉冲的频率高低即可做转速的调整。 (4)电机的启动、停止、加速、减速、正反转反应快,容易控制。 (5)直接连至负载如轮子,做超低速同步运转。 (6)步进电机的结构简单,可靠性高,几乎不需要太多的保养,使用寿命长。

2)参数 电机固有步距角: 它表示控制系统每发一个步进脉冲信号,电机所转动的角 度。电机出厂时给出了一个步距角的值,如 86BYG250A 型电机给出的值为 0.9° /1.8°(表示半步工作时为 0.9°、整步工作时为 1.8°) ,这个步距角可以称之 为‘电机固有步距角’ ,它不一定是电机实际工作时的真正步距角,真正的步距 角和驱动器有关。 步进马达的相数:是指电机内部的线圈组数,目前常用的有二相、三相、四 相、五相步进马达。电机相数不同,其步距角也不同,一般二相电机的步距角为 0.9°/1.8°、三相的为 0.75°/1.5°、五相的为 0.36°/0.72°。在没有细分 驱动器时, 用户主要靠选择不同相数的步进马达来满足自己步距角的要求。如果 使用细分驱动器, ‘相数’ 则 将变得没有意义, 用户只需在驱动器上改变细分数, 就可以改变步距角。 保持转矩(HOLDINGTORQUE) :是指步进马达通电但没有转动时,定子锁住转 子的力矩。 它是步进马达最重要的参数之一,通常步进马达在低速时的力矩接近 保持转矩。 由于步进马达的输出力矩随速度的增大而不断衰减,输出功率也随速
12

湖南铁道职业技术学院毕业设计(论文)

度的增大而变化, 所以保持转矩就成为了衡量步进马达最重要的参数之一。 比如, 当人们说 2N.m 的步进马达, 在没有特殊说明的情况下是指保持转矩为 2N.m 的步 进马达。 DETENTTORQUE:是指步进马达没有通电的情况下,定子锁住转子的力矩。 DETENTTORQUE 在国内没有统一的翻译方式,容易使大家产生误解;由于反应式 步进马达的转子不是永磁材料,所以它没有 DETENTTORQUE。 3)特点 1.一般步进马达的精度为步进角的 3-5%,且不累积。 2.步进马达外表允许的最高温度较低。 步进马达温度过高首先会使电机的磁性材料退磁, 从而导致力矩下降乃至于 失步, 因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般 来讲,磁性材料的退磁点都在摄氏 130 度以上,有的甚至高达摄氏 200 度以上, 所以步进马达外表温度在摄氏 80-90 度完全正常。 3.步进马达的力矩会随转速的升高而下降。 当步进马达转动时, 电机各相绕组的电感将形成一个反向电动势; 频率越高, 反向电动势越大。 在它的作用下, 电机随频率 (或角速度) 的增大而相电流减小, 从而导致力矩下降。 4.步进马达低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸 叫声。 步进马达有一个技术参数: 空载启动频率,即步进马达在空载情况下能够正 常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步 或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉 冲频率应该有加速过程, 即启动频率较低,然后按一定加速度升到所希望的高频 (电机转速从低速升到高速) 。 步进马达需要与其配套的伺服电机驱动器才能工作,它的最大特点是定位 精确。因为这些特点,步进马达在数字化制造时代发挥着重大的用途。伴随着不 同的数字化技术的发展以及步进马达本身技术的提高, 步进马达将会在更多的领 域得到应用。 根据设计要求 我们选择了,步距角为 3°、工作电压为 12V 的三相步进电机作为本次设计 的电机。
13

湖南铁道职业技术学院毕业设计(论文)

5)分类 (一)反应式步进电机(VAriABle ReluCtAnCe,简称 VR)反应式步进电机 的转子是由软磁材料制成的,转子中没有绕组。它的结构简单,成本距角可以做 得很小,但动态性能较差。反应式步进电机有单段式和多段式两种类型。 (二)永磁式步进电机(PermAnent Magnet),简称 PM, 永磁式步进电机的转 子是用永磁材料制成的, 转子本身就是一个磁源。 转子的极数和定子的极数相同, 所以一般步进角比较大, 它输出转矩大, 动态性能好, 消耗功率小 (相比反应式) , 但启动运行频率较低,还需要正负脉冲供电。 (三)混合式步进电机(HyBrid,简称 HB)混合式步进电机综合了反应式和 永磁式两者的优点。混合式与传统的反应式相比,结构上转子加有永磁体,以提 供软磁材料的工作点, 而定子激磁只需提供变化的磁场而不必提供磁材料工作点 的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较 强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪声低、低 频振动小。 这种电动机最初是作为一种低速驱动用的交流同步机设计的,后来发 现如果各相绕组通以脉冲电流, 这种电动机也能做步进增量运动。由于能够开环 运行以及控制系统比较简单,因此这种电机在工业领域中得到广泛应用。 6)选择 步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。 一旦三大要素确定,步进电机的型号便确定下来了。 1、步距角的选择 电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量) 换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距 角应等于或小于此角度。 目前市场上步进电机的步距角一般有 0.36 度/0.72 度(五相电机)、0.9 度/1.8 度(二、四相电机)、1.5 度/3 度 (三相电 机)等。 2、静力矩的选择 步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。 静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载 二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般 由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行

14

湖南铁道职业技术学院毕业设计(论文)

进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的 2-3 倍内好, 静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸) 3、电流的选择 静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依 据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压) 4、力矩与功率换算 步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力 矩来衡量,力矩与功率换算如下: P= Ω ·M Ω =2π ·n/60 P=2π nM/60 其 P 为功率单位为瓦,Ω 为每秒角速度,单位为弧度,n 为每分钟转 速,M 为力矩单位为牛顿·米 P=2π fM/400(半步工作) 其中 f 为每秒脉冲数(简称 PPS) 7) 相步进电机的介绍 根据以上的几点,在本次设计中我们选择的是四相步进电机。我们以 下来介绍四相步进电机的工作原理: 该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机 的各相绕组按合适的时序通电, 就能使步进电机步进转动。图 4-1 是该四相反应 式步进电机工作原理示意图。

图 4-1 四相步进电机步进示意图

15

湖南铁道职业技术学院毕业设计(论文)

开始时,开关 SB 接通电源,SA、SC、SD 断开,B 相磁极和转子 0、3 号齿对 齐,同时,转子的 1、4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、 A 相绕组磁极产生错齿。 当开关 SC 接通电源,SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,1、4 号齿和 C 相绕组的磁极对齐。而 0、 3 号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次 类推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作 方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的 步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力 矩又可以提高控制精度。所以选择混八拍工作方式 单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图 4-2.a、b、 c 所示:

a. 单四拍

b. 双四拍
4-2 步进电机工作时序波形图

c 八拍

4.1.3 控制电路设计 控制电路包括 CPU、复位电路、电源电路、时钟电路、按键部分,图见附录 A。

16

湖南铁道职业技术学院毕业设计(论文) 4.1.4 28BYJ-48 步进电机简介:

步进电机是一种将电脉冲转化为角位移的执行机构。 通俗一点讲: 当步进驱动器接收到 一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以 通过控制脉冲个来控制角位移量, 从而达到准确定位的目的; 同时您可以通过控制脉冲频率 来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机 28BYJ48 型四相八拍电机,电压为 DC5V—DC12V。当对步进电机施加一系列连续不 断的控制脉冲时, 它可以连续不断地转动。 每一个脉冲信号对应步进电机的某一相或两相绕 组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变 完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的 通电方式有单(单相绕组通电)四拍(A-B-C-D-A。。。),双(双相绕组通电)四拍 (AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)

17

湖南铁道职业技术学院毕业设计(论文)

4.1.4 驱动芯片 ULN2003 简介 ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅 NPN 复合晶体管组 成。ULN2003 是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡 等控制电路中。可直接驱动继电器等负载。 输入 5VTTL 电平,输出可达 500mA/50V。

图 4-3 ULN2003 实物图

4.1.5 步进电机的驱动电路及原理

图 4-4 步进电机的驱动电路及原理

CPLD 采用 Altera 公司 MAX7000 系列的 EPM7128SLC84-15。驱动电路原理图 如上图。CPLD 输出控制信号连接至图上的 A、B、C、D 四个端口。其控制信号经 光电隔离后进入 ULN2003A。ULN2003A 是一片集成了 7 个达林顿管的芯片。来自 光耦合的 5V 高电平信号经过 ULN2003A 以后,输出端与地导通。步进电机的正 极接上 12V 的工作电压,负级接在 ULN2003A 的输出端,当 CPLD 的 I/O 口为低 电平时,步进电机的负极与地开路,正负极之间没有压差,电机不运转;当 CPLD 的 I/O 口为高电平时,步进电机的负极与地导通,正负极之间形成 12V 压差, 电机运转。 步进电机的转速是由四个线圈的通电速度决定的,也就是由输入脉冲 的频率决定的,因此,步进电机的转速选择其实就是输入脉冲的频率选择。频率 源为 MAXII 芯片上的 48MHZ 这些频率通过软件分频,21 分频器选择输入至 CPLD 的 I/O 口就能进行电机转速的控制了。
18

湖南铁道职业技术学院毕业设计(论文)

第 5 章 系统软件设计
5.1 控制器组成框图
本设计中的步进电机控制器功能完善,移植性很强,下面是设计的方框图:

图5-1 步进电机控制器方框图

方框 1 中的时钟发生电路是晶体振荡器产生,要求频率要稳定,频率的稳 定度决定步进电机的精准度,它要产生三个不同频率的时钟分别应用不同的部 分, 分别为 3MHZ 的扫描时钟、 9KHZ 电机转速控制时钟、 1KHZ 的取样时钟。 方框 2 控制信号产生电路主要是在 1KHZ 的取样时钟内, 3MHZ 的扫描 对 时钟进行按键触发,按键消抖,按键编码,按键功能的产生来进行设计,要求产 生启停信号,多级加减调速,单步,正反转等常用的功能控制信号。 方框 3 环形脉冲分配电路主要是完成对电机的工作方式的控制, 以采用 可 状态机来设计电机的工作模式, 如果是三相步进电机可以设计为单三拍, 双三拍, 混六拍的工作方式在此框中完成。 方框 4 光耦隔离驱动电路主要完成步进电机的驱动,由于步进电机的绕组 电流较大, 为防止电机的频繁启停等对 ASIC 芯片的影响,在输出端加上光电耦 合器和达林顿驱动电路。 本设计中方框 1、4、5 为 ASIC 片外硬件设计,2、3 为片上硬件设计采用 VHDL 语言来完成设计。 下图5-2 为硬件软件资源规划分配图

19

湖南铁道职业技术学院毕业设计(论文)

图5-2 硬件软件资源规划图

对于ASIC 芯片的设计开发,开发者可以不必了解芯片的内部结构,只需查 看芯片手册,看引脚功能,芯片可用宏单元个数和引脚数等就可以开发设计,本 设计在 MAX II 芯片上进行,此芯片有192个宏单元,80 个用户可用的引脚, 最快速度可以达到 4.7ns,开发后,本项目只占用 29%的宏单元,和15%的引 脚资源, 器件逻辑宏单元使用率不高, 实际中可以采用其他芯片替代, 节约成本。

5.2 软件设计
根据图 2 的规划, 控制器设计的软件就是对 ASIC 内的功能来进行设计,使 本 用 VHDL语言来实现框内四大模块功能。下图5-3是在CPLD上总程序设计图:

图5-3 CPLD上总程序设计图
20

湖南铁道职业技术学院毕业设计(论文)

5.3 软件设计模块
根据图5-3 的规划,本控制器设计的软件就是对 ASIC 内的功能来进行设计,使 用 VHDL语言来实现框内四大模块功能。

5.3.1 分频计数器模块 本模块主要是产生其他各个模块所需的时钟信号,减少原始输入时钟的种 类,本设计采用大于3MHz 时钟频率输入产生3MHz 扫描时钟、9KHz 步进电机调 速时钟,1KHz 取样时钟输出,下面给出的是分频计数的原理图:

图5-4 分频计数模块的原理图

该模块的引脚定义如下: clk:模块的时钟输入; clk_3m:扫描时钟频率; clk_1k:取样时钟频率;

clk_9k;步进电机调速时钟频率; 从图所知, 我们对于输入的时钟频率必须大于3MHZ, 我们从晶震芯片上得知, 我们的输入时钟频率为48MHZ,再经过21分频,分别在第5位得到3MHZ,第14位得 到9KHZ,第16位得到1KHZ。 其模块的仿真图如下图5-6所示

21

湖南铁道职业技术学院毕业设计(论文)

图5-5 分频计数模块仿真图

5.3.2 按键扫描触发消抖编码模块 本模块主要是实现按键扫描,延时消抖,编码译码的功能,下面给出的是按 键扫描触发消抖编码原理图

图5-6 按键扫描触发消抖编码原理图

该模块引脚定义: clk_3m:3MHZ扫描时钟输入; clk_1k:1KHZ取样时钟输入; col[7..0]:八个独立按键 butt_code[3..0]: key_valid: 从图所知 其模块的仿真图如下所示:

5.3.3 控制信号产生模块 本模块主要是根据按键输入的不同对按键设置各种功能,产 生各种控制信
22

湖南铁道职业技术学院毕业设计(论文)

号,主 要有这样的控制键,启动停止,正转反转,连续单步,加减调速等,下 面给出的是控制信号产生的原理图:

图5-7 控制信号产生模块

该模块的引脚定义: Key[3..0]: Key_valid: Start_stop:启动停止信号 Step_p: Np:正反转 Up_down[2..0]: 从图所知 该模块的仿真图如下所示

图5-8 仿真图

23

湖南铁道职业技术学院毕业设计(论文)

5.3.4 环形脉冲分配模块 本模块主要针对控制信号完成步进电机不同功能的输出, 包括速度, 相数和拍数, 本设计主要使用状态机来完成,

该模块的引脚定义: clk: up_down: start_stop step_p: np: step[3..0]: 从图可知 该模块的仿真图如下:

图5-9 仿真图

24

湖南铁道职业技术学院毕业设计(论文)

5.4 脉冲分配表

图5-10 脉冲分配表

5.5 编译与调试
key_f控制信号产生 调试结果:本设计中的步进电机控制器所有程序都在 Quartus II 上已经通 过软件仿真,并制作了实际的硬件板上测试成功,效果好,可以直接应用,具有 结构简单,运行可靠,控制方便,控制性能好等优点,在现实中应根据步进电机 负载和转速来选择步进电机和设计驱动电路,以 防步进电机失步而产生控制精 度不准确。 本设计的步进电机控制器方法简单,支持多相步进电机的三种励磁方 式,具有启动停止、正反转运行、单步连续、加速减速等多种控制功能,这种基 于 ASIC 的设计方法,可以加速同类型产品的开发速度,移植性强,节约投资。

25

湖南铁道职业技术学院毕业设计(论文)

第 6 章 结束语
时间过得真快, 现在回想起来,这三个多月的毕业设计, 终于可以画上一个 句号了。一路走来,感受颇多。曾经有过失落,有过成功,有过沮丧,有过喜悦, 这已不重要了,重要的是我一路走来,历炼了我的心志,考验了我的能力。 最初看到这个课题,不知如何下手,所以就去网上找了许多资料,尽管有许 多的设计方案, 可是总感觉自己还是有许多的东西弄不太清楚, 于是就请教同学。 通过对步进电机控制器资料的研究, 渐渐有了一个大体的构思。 功夫不负有心人, 在大家共同的努力下, 尽管经历了不少的艰辛, 但给我们积累了一定的设计经验, 最后也有点小小的成就感。 在整个设计过程中,我都是先自己动手动脑,遇到不清楚的,网上查找或请 教同学。在每一个阶段,我都是严格要求自己。通过组员之间的团结合作,我们 的工作进展的很快,尽管有时会遇到失败,但是我们从来没有放弃过,最后终于 做完了,有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能 实现其价值!有些东西自己以为学会了,但真正到用的时候才发现是两回事,所 以我认为只有到真正会用的时候才是真的学会了。 在这个设计过程中, 我主要负责电路硬件焊接和调试。从中我学会了很多新 的东西,通过查找资料,对资料进行分析,自学能力也显著增强。同时在检修电 路的过程中,也学会许多的技巧,对电子仪器仪表的使用也愈加熟练。同时,与 组员之间的团结与合作,让我更加意识到团队的重要性。 在此我要感谢我的指导老师王勇老师对我悉心的指导,感谢老师给我的帮 助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,也经历 了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独 立工作的能力, 树立了对自己工作能力的信心,相信会对今后的学习工作生活有 非常重要的影响。 而且大大提高了动手的能力,使我充分体会到了在创造过程中 探索的艰难和成功时的喜悦。 虽然这个设计做的也不太好,但是在设计过程中所 学到的东西是这次毕业设计的最大收获和财富,使我终身受益。

26

湖南铁道职业技术学院毕业设计(论文)

第7章 致 谢
随着毕业设计暂告尾声, 意味着我大学三年的学习生活既将结束, 回首既往, 自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老 师们的熏陶下度过,实是荣幸之极。在这三年的时间里,我在学习上和思想上都 受益非浅。这除了自身努力外,与各位老师、同学和朋友的关心、支持和鼓励是 分不开的。 在本次设计过程中首先要感谢我们王勇老师的悉心指导,他渊博的专业知 识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、 宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。没有王老 师的辛勤栽培、 孜孜教诲, 就没有我论文的顺利完成。 在这里我表示衷心的感谢。 本次毕业设计的也得到了许多同学的热情帮助。 感谢在整个毕业设计期间和我密 切合作的同学, 和曾经在各个方面给予过我帮助的伙伴们, 在设计的每一个阶段, 我们都是团结合作,互帮互助,正因为这样,我们的毕业设计才能够很顺利的完 成。 最后要感谢的是我的父母,他们不仅培养了我对中国传统文化的浓厚的兴 趣, 让我在漫长的人生旅途中使心灵有了虔敬的归依,而且也为我能够顺利的完 成毕业论文提供了巨大的支持与帮助。在未来的日子里,我会更加努力的学习和 工作,不辜负父母对我的殷殷期望!我一定会好好孝敬和报答他们! 在此,我忠心的祝愿各位老师,同学们,以及给过我帮助的人身体健康,幸 福快乐,事业有成!

27

湖南铁道职业技术学院毕业设计(论文)

参考文献
[1] 潘松主编 [2] 唐亚平主编 [3] 宋振辉主编 《EDA技术与VHDL》,清华大学出版社 《EDA技术应用》,化学工业出版社 《EDA技术与VHDL》,北京大学出版社 《EDA技术与VHDL设计》,电子工业出版社

[4] 徐志军 王金明 尹廷辉编蓍

[5] 参考网址:http://eda.cepark.com/等 [6] 赵俊超等. 集成电路设计 VHDL 教程[M]. 北京:北京希望电子出版社, 2002. [7] 王海华,宋蕾.基于 CPLD 步进电机控制器设计[J]. 微计 算机信息,2008.4 [8] 马宏伟 高性能步进电机控制系统的研制[M].西安:西安科技大学出版社, 2004

28

湖南铁道职业技术学院毕业设计(论文)

附录
附录 A 控制电路原理图

图 1CPU 按键部分

根据设计方案和实际的要求,本方案设计的电源电路使用电压为 5V/1A 的电 源供电,外部电源经过 LDO 芯片(AMS1117),转换成稳定的 3.3V 电压,为 CPLD 提供 VCCINT 电源和 VCCIO 电源,以及时钟复位等电路的需要。

图 2 电源指示灯

29

湖南铁道职业技术学院毕业设计(论文)

图 3 电源接口

图 4 下载线端口

30

湖南铁道职业技术学院毕业设计(论文)

图 5 I/O 口

EPM240T100 芯片上自带有源晶振,可根据自己系统的特点选择相应的频率, 为系统提供精准的时钟源

图 6 时钟电路

31

湖南铁道职业技术学院毕业设计(论文)

图 7 复位电路

复位电路采用按钮开关构成的阻容复位电路,复位信号(低电平有效)接入 PIN44 即可用作普通的 IO 输入,也可以通过 Quartus II 软件将该按钮的输入作 为 DEV_CLRn 功能。

32

湖南铁道职业技术学院毕业设计(论文)

附录 B 程序清单
附录 B-1 分频计数器模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity dev_count is port( clk: in std_logic;-- 48hz clock clk_3m : out std_logic;--count clk_1k: clk_9k: out std_logic; out std_logic);

end dev_count; architecture behavior of dev_count is signal qscan : std_logic_vector(20 downto 0); begin scan_1 :process(clk) begin if (clk'event and clk='1') then qscan<=qscan+1; end if; end process; clk_3m<=qscan(5); clk_9k<=qscan(14); clk_1k<=qscan(16); end behavior;

33

湖南铁道职业技术学院毕业设计(论文)

附录 B-2 控制信号产生模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity key_f is port( key: in std_logic_vector(3 downto 0); key_valid:in std_logic; start_stop: out std_logic; step_p: out std_logic; np:out std_logic; up_down:out std_logic_vector(2 downto 0) ); end key_f; architecture a of key_f is signal up_down_f:std_logic_vector(2 downto 0); signal np_f:std_logic; signal step_p_f:std_logic; signal start_stop_f:std_logic; begin process(key_valid) begin if key_valid'event and key_valid='0' then case key is when"0000"=> start_stop_f<=not start_stop_f; when"0001"=>
34

湖南铁道职业技术学院毕业设计(论文)

if up_down_f<"111" then up_down_f<=up_down_f+1; end if; when"0010"=> if up_down_f>"000" then up_down_f<=up_down_f-1; end if; when"0011"=> step_p_f<=not step_p_f; when"0100"=> np_f<=not np_f; when others=> end case; end if; end process; start_stop<=start_stop_f; step_p<=step_p_f; np<=np_f; up_down<=up_down_f; end a;

35

湖南铁道职业技术学院毕业设计(论文)

附录 B-3 扫描触发消抖编码模块
LIBRARY ieee; USE ieee.std_logic_1164.all;

LIBRARY work;

ENTITY key_al8 IS port ( clk_3m : clk_1k : col : IN IN STD_LOGIC; IN STD_LOGIC; STD_LOGIC_VECTOR(7 downto 0); OUT STD_LOGIC; OUT STD_LOGIC_VECTOR(3 downto 0)

key_valid : butt_code : ); END key_al8;

ARCHITECTURE bdf_type OF key_al8 IS

component key_scan PORT(col : IN STD_LOGIC_VECTOR(7 downto 0); scan_cnt : IN STD_LOGIC_VECTOR(2 downto 0); key_pressed : OUT STD_LOGIC ); end component;

component debounce PORT(key_pressed : IN STD_LOGIC;

36

湖南铁道职业技术学院毕业设计(论文)

clk_3m : IN STD_LOGIC; clk_1k : IN STD_LOGIC; key_valid : OUT STD_LOGIC ); end component;

component scan_count PORT(clk_3m : IN STD_LOGIC; clk_1k : IN STD_LOGIC; key_pressed : IN STD_LOGIC; scan_cnt : OUT STD_LOGIC_VECTOR(2 downto 0) ); end component;

component code_tran PORT(clk_3m : IN STD_LOGIC; KEY_VALID : IN STD_LOGIC; scan_cnt : IN STD_LOGIC_VECTOR(2 downto 0); butt_code : OUT STD_LOGIC_VECTOR(3 downto 0) ); end component;

signal signal signal

SYNTHESIZED_WIRE_5 : SYNTHESIZED_WIRE_6 : SYNTHESIZED_WIRE_3 :

STD_LOGIC_VECTOR(2 downto 0); STD_LOGIC; STD_LOGIC;

BEGIN key_valid <= SYNTHESIZED_WIRE_3;
37

湖南铁道职业技术学院毕业设计(论文)

b2v_inst : key_scan PORT MAP(col => col, scan_cnt => SYNTHESIZED_WIRE_5, key_pressed => SYNTHESIZED_WIRE_6);

b2v_inst10 : debounce PORT MAP(key_pressed => SYNTHESIZED_WIRE_6, clk_3m => clk_3m, clk_1k => clk_1k, key_valid => SYNTHESIZED_WIRE_3);

b2v_inst12 : scan_count PORT MAP(clk_3m => clk_3m, clk_1k => clk_1k, key_pressed => SYNTHESIZED_WIRE_6, scan_cnt => SYNTHESIZED_WIRE_5);

b2v_inst13 : code_tran PORT MAP(clk_3m => clk_3m, KEY_VALID => SYNTHESIZED_WIRE_3, scan_cnt => SYNTHESIZED_WIRE_5, butt_code => butt_code);

END;

38

湖南铁道职业技术学院毕业设计(论文)

附录 B-4 环形脉冲分配模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity step3_6 is port( clk: in std_logic; --步进电机转速控制时钟

up_down:in std_logic_vector(2 downto 0);--八部调速控制 start_stop: in std_logic; step_p: in std_logic; np:in std_logic; step:out std_logic_vector(3 downto 0) ); end step3_6; architecture a of step3_6 is type states is(st0,st1,st2,st3,st4,st5,st6,st7); signal temp:std_logic_vector(14 downto 0); signal cp:std_logic; signal current_state,next_state:states:=st0; begin p_f:process(CLK,up_down) begin if clk'event and clk='1' then temp<=temp+1; end if; case up_down is --此信号为正转,反转。 --启动停止控制位

when"000"=>cp<=temp(0);--2 分频
39

湖南铁道职业技术学院毕业设计(论文)

when"001"=>cp<=temp(1);--4 分频 when"010"=>cp<=temp(2);--8 分频 when"011"=>cp<=temp(3);--16 分频 when"100"=>cp<=temp(4);--32 分频 when"101"=>cp<=temp(5);--64 分频 when"110"=>cp<=temp(6);--128 分频 when"111"=>cp<=temp(7);--256 分频 when others=> end case; end process p_f; p_a:process(current_state,np) begin

case current_state is when st0=> if np='0' then next_state<=st1; else next_state<=st7; end if; when st1=> if np='0' then next_state<=st2; else next_state<=st0; end if; when st2=> if np='0' then next_state<=st3;
40

湖南铁道职业技术学院毕业设计(论文)

else next_state<=st1; end if; when st3=> if np='0' then next_state<=st4; else next_state<=st2; end if; when st4=> if np='0' then next_state<=st5; else next_state<=st3; end if; when st5=> if np='0' then next_state<=st6; else next_state<=st4; end if; when st6=> if np='0' then next_state<=st7; else next_state<=st5; end if; when st7=> if np='0' then
41

湖南铁道职业技术学院毕业设计(论文)

next_state<=st0; else next_state<=st6; end if; when others=> next_state<=st0; end case; end process p_a; p_b:process(cp,start_stop,step_p) variable step_p_1,step_p_2:std_logic; begin if cp'event and cp='1' then step_p_2:=step_p_1 xor step_p; if start_stop='1' or step_p_2='0' then current_state<=next_state; if step_p='0' then step_p_1:='1'; else step_p_1:='0'; end if; end if; end if; end process p_b; p_c:process(current_state) begin if current_state=st0 then step<="0001"; elsif current_state=st1 then step<="1001";
42

湖南铁道职业技术学院毕业设计(论文)

elsif current_state=st2 then step<="1000"; elsif current_state=st3 then step<="1010"; elsif current_state=st4 then step<="0010"; elsif current_state=st5 then step<="0110"; elsif current_state=st6 then step<="0100"; elsif current_state=st7 then step<="0101"; end if; end process p_c; end a;

43


相关文章:
基于EPM240c100-5芯片步进电机控制器设计
2012 届毕业设计任务书一、课题名称: 基于 EPM240T100-5 芯片步进电机控制器设计 二、指导老师: 王勇三、设计内容与要求 1、课题概述 步进电动机的技术已很成熟...
51单片机及步进电机的控制器设计
MCS基于 MCS-51 单片机的步进电机控制器 设计 MCS-...-5.5 ○、单片机的工作电压范围为2.7--5.5 V ...信号经过芯片驱动步进电机, 作为步进电机的控制信号,...
步进电机控制器设计
□毕业设计 □毕业论文 题 目: 基于 AVR 单片机的 步进电机控制器设计 年专...8 5.3.1 L298 芯片简介 ………9 5.3.2 L298 步进电机控制………...
步进电机控制器设计
基于单片机控制的步进电机控制器设计任务书 1.设计...(5)PCB 文件生成与打印输出; (6)系统的总体设计...驱动电路采用 L298 芯片对信号电流进行处理,放大,...
步进电机控制器设计
本次课程设计主要采用 AT89C51 芯片,用汇编语言编写出电机的 正转、反转、...控制模块、步进电机 ULN2003A 驱动模块、彩灯显示模块 5 个功能模 块的设计。...
基于MSP430步进电机控制器的设计51单片机
基于MSP430步进电机控制器设计51单片机基于MSP430步进电机控制器设计51单片机隐藏...(5); p0_0=1; P0_1=0; P1=table[A2]; delay(5); P0_1=1; P0_...
单片机课程设计之步进电机控制器
单片机课程设计步进电机控制器_工学_高等教育_教育...(5)撰写课程设计说明书。说明书中要求有主程序流程...芯片、ULN2003 驱动芯片、四相五线制步进 电动机、...
基于S7-200步进电机控制器
河南工业职业技术学院毕业设计 基于 S7-200 步进电机控制器 摘要 步进电动机是一种将电脉冲信号转换成相应线位移或角位移的电动机。 在工 业自动化的今天,PLC ...
基于单片机AT89C52的步进电机的控制器设计
基于单片机AT89C52的步进电机控制器设计_电子/电路...5 国外在大功率的工业设备驱动上,目前基本不使用大...采用了电机驱动芯片 ULN2003 构成了整个系统的驱动...
更多相关标签:
步进电机控制器 | 步进电机控制器说明书 | 步进电机控制器编程 | 步进电机控制器接线 | 步进电机控制器接线图 | kh 01步进电机控制器 | 步进控制器 | 步进电机控制器原理 |