步进电机课程设计报告(共19页).doc
《步进电机课程设计报告(共19页).doc》由会员分享,可在线阅读,更多相关《步进电机课程设计报告(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 步进电机控制电路的设计 目录步进电机控制电路的课程设计摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。步进电机控制系统以8086作为控制的核心元件,利用8255的C口控制步进电机,同时获取控制转动方向(即正转和反转),A口连接键盘,以选取不同档的移动速度,B口连接LED显示器,以显示当前的速度档,8253作为定时器,提供必要的时钟信号。 本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口
2、电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、显示步数及设定速度等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力。关键字:步进电机;8086CPU;8255可编程I/O接口芯片;8253可编程定时/计数器;74LS138译码器;汇编语言 第一章 系统概述 1.1步进电机控制工作原理步进电机实际上是一个数字角度转换器,也是一个串行的数模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4 个方面。从结构上看 ,步进电机分为
3、三相、四相、五相等类型 ,常用的则以三相为主。本次课程设计我们选用四相步进电机进行系统设计。步进电机控制工作原理系统流程图如图1:CPU接口驱动器步进电机负载图1 步进电机控制工作原理系统流程图1.1.1步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波 ,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。 1.1.2步进电机的转向控制如
4、果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为四相八拍 ,即 A-AB-B-BC-C-CD-D-DA-A。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。1.1.3步进电机的速度控制如果给步进电机发一个控制脉冲 ,它就转一步 ,再发一个脉冲 ,它会再转一步。2 个脉冲的间隔越短 ,步进电机就转得越快。调整送给步进电机的脉冲频率 ,就可以对步进电机进行调速。1.1.4步进电机的换向控制步进电机换向时 ,一定要在电机减速停止或降到突跳频率范围之内再换向 ,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1 个脉冲前发出。对于
5、脉冲的设计主要要求要有一定的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3 个过程。 1.2系统设计思路系统总体设计思路:本次设计采用8086作为控制的核心元件,利用8255的C口控制步进电机,同时获取控制转动方向(即正转和反转),A口连接键盘,以选取不同档的移动速度,B口连接LED显示器,以显示当前的速度档,8253作为定时器,提供必要的时钟信号。系统对8255的A口进行查询,确定用户设置的速度档,并通过8255的B口显示速度档。延迟时间通过8255的C口的第四位循环送节拍信号来驱动步进电机工作。循环送节拍信号的方向有C口高四位
6、中的第5位确定,此第5位在硬件上与控制转动方向开关相连。第二章 系统硬件软件设计本设计利用8086系统为主要控制芯片和可编程计数器/定时器8253及可编程外围接口芯片8255A设计的一个步进电机的控制系统,主要包括接口电路设计、延时程序设计、开关与计数初值的关键程序设计、步进电机驱动程序设计等模块。2.1最小系统介绍2.1.1 8086CPU构成的最小模式系统根据使用目的的不同,8086系统可以有最小模式和最大模式两种系统配置,两种方式的选择主要取决于硬件,当CPU引脚MN/MX端接高电平+5V时,构成最小系统,最小系统结构示意图如图2: 图2 最小系统结构示意图2.1.2 8086最小系统配
7、置模拟图在最小模式系统中,除了8086CPU,存储器及I/O接口芯片外,还加入了一片8284A作为时钟发生器,三片8282/8283或74LS373作为地址锁存器,二片8286/8287或74LS245作为双向数据总线收发器,数据总线和地址总线分时复用。最小系统配置模拟图如图3:图3 最小系统模拟图2.2接口电路设计2.2.1接口芯片的片选信号的产生在此系统的接口电路中,8255的端口地址从80H开始,因此8255的A、B、C和控制口的地址分别是80H,82H,84H和86H;8253的端口地址从88H开始,而8253的通道0、通道1、通道2和控制口的地址分别是88H、8AH、8CH、8EH。
8、地址总线信号和端口地址之间的关系如下表1:表1 地址总线信号和端口地址之间的关系地 址 线端 口地 址A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0000000001000000080H000000001000001082H000000001000010084H000000001000011086H000000001000100088H00000000100010108AH00000000100011008CH00000000100011108EH从表格我们可以看出,A7始终为1,即高电平,所以其应该接74LS138的G1端,74LS138的1、2A(E2端)、2
9、B(E3端)为控制端,组合为100时输出才有效(输出为低电平有效)。此时E2端连接M/为0,原因是因为M/为0即低电平时,此时CPU正在访问I/O端口。因此我们可以根据此设计译码电路,本次采用部分译码电路,译码器的0和1分别接8255的片选信号和8253的片选信号。2.2.2接口电路设计由于端口地址是偶数,所以接口电路中要取A0为0。如图4:图4 CPU与8255和8253接口电路2.3关键模块实现2.3.1 8253定时用计数初值的确定因为主动轮直径为0.5m,步距角为0.9度,则步进的弧长是半径乘步剧角之积,即如果移动的速度为V,则节拍频率为:采用8253通道0进行定时,其时钟输入端是时,
10、其计数初始值N可由下式确定:这样我们就可以得出速度档、速度、节拍频率f和计数初值N之间的数值对应关系,如表2所示:表2 速度档等参数和计数初始值N之间的关系速度档12345678速度(m/s)0.10.20.50.811.21.52f(HZ)2550125200250300375500N8040161087542.3.2 延时程序的设计在驱动步进电机的程序中,每对8255的C口送一个节拍信号,就要延时一段时间,然后再送C口的下一个节拍信号,从而确定两次节拍之间的间隔即延迟时间,值实际上就是确定了节拍频率f。可以采用软件延时来实现延时要求,但由于CPU工作频率的影响,不易做到精确的延时。这里我们
11、采用软硬件结合的方法实现延时程序,具体思路是:8253的某个通道0的输出与8255的C口的第四位PC4相连接,程序通过对8253的编程时通道0输出一定宽度的脉冲,这个宽度就是对步进电机两次节拍之间的间隔。程序对PC4进行循环检测,当发现8253通道0输出的脉冲发生跳变的时候,结束检测,这循环检测的时间就是所需要的延迟时间。8253通道0的工作方式选择程序如下:;延时程序,入口CX;计数值DELAY PROC MOV AL,B ;通道0工作在方式0 OUT 8253_CTRL,AL MOV AL,CL ;送时间常数 OUT 8253_COUNT0,AL MOV AL,CH OUT 8253_ C
12、OUNT0,AL DELAY1 IN AL,8255_CPORT ;输入OUT0信号 TEST AL,B JZ DELAY1 ;循环检测OUT0信号 RET ;定时时间到,返回DELAY ENDP2.3.3键盘与计数初值的关联程序设计 在延时子程序中,CX为入口参数,表示8253通道0计数初值。CX的内容应该与键盘的输入量有关,当键盘输入数字1时,就相应选择了速度档1,这时CX应为80即50H,以此类推等。这里我们把通过键盘确定CX值的程序称为键盘与计数初值的关联程序。关联程序的设计可以直接用比较语句来实现,但是比较语句使得响应时间比较慢,我们可以通过建表来改善。我们通过查表的办法编写的关联程
13、序如下:COUNT_TAB DB 80,40,16,10,8,7,5,4 ; 建立计数初值表格.COUNT_DAT PROC IN AL,8255_APORT ;取开关量 OUT 8255_BPORT,AL ;B口显示速度档 ;把开关量转化为二进制数 MOV CX,8 ;建立循环结构 MOV AH,0 ;转化初值为0COUNT1: SHR AL,1 ;右移 JC COUNT2 ;对应开关位合,退出循环 INC AH ;转换变量加1 LOOP COUNT1 ;循环 ;查表确定计数初值COUNT2: LEA BX, COUNT_TAB ;表的首地址送BX MOV AL,AH XLAT ;查表 MO
14、V CL,AL ;结果送CL MOV CH,0 RETCOUNT_DAT ENDP2.3.4步进电机驱动程序设计本设计用8255C口的PC0、PC1、PC2和PC3分别通过驱动电路接步进电机。我们可以看出第一个节拍PC3PC0送0111B信号,延时一段时间后第二个节拍送0011B信号.循环到第八个节拍送0110B信号,再从第一个节拍重复这个过程,这样就可以驱动步进电机转动了。如果反方向重复这个过程,步进电机就会反方向转动。从第一个节拍到第八个节拍,PC3PC0分别送出的逻辑信号如表3:表3 节拍信号12345678PC3PC001110011101110011101110010000110为了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 步进 电机 课程设计 报告 19
限制150内