《二相步进电机控制系统的设计.doc》由会员分享,可在线阅读,更多相关《二相步进电机控制系统的设计.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计任务书学生姓名: 专业班级: 自动化0903班 指导教师: 工作单位: 自动化学院 题 目: 二相步进电机控制系统的设计初始条件:采用8086最小模式,扩展4K的EPROM及2K的RAM,利用L298 ,输出双极性模拟电压驱动二相步进电机,使其按不同速度正反转,电机以八个开关以补码形式给定输入并以发光二极管显示出来,转速为-500rpm+500rpm要求完成的主要任务: 1 硬件设计:系统总原理图及各部分详细原理图2 软件设计:系统总体流程图、步进电机四拍,八拍各模块流程图、显示模块流程图等3 编写程序:能够完成上述任务4 完成符合要求的设计说明书时间安排:2012年6月25日2012
2、年7月3日指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘 要11 设计任务及要求21.1 设计任务21.2 任务分析22 方案选择及论证32.1 总体思路32.2 控制部分设计42.3驱动电路部分设计43 硬件电路设计模块53.1硬件系统总原理图53.2控制部分63.2.1 8086CPU的介绍63.2.2 8255A的介绍73.2.3原理分析103.3步进电机的介绍123.3.1 步进电机的特点123.3.2 步进电机工作原理133.3.3 二相步进电机133.4 电机驱动部分143.4.1 L298芯片介绍143.4.2 驱动电路原理分析153.5 电机正反转与调速
3、电路174 软件设计184.1 设计思路184.2 各程序流程图185 系统仿真20小结体会23参考文献24附录一 系统的总设计图25附录二 部分代码26武汉理工大学计算机控制技术课程设计说明书 摘 要目前,随着电子技术,控制电路的发展,步进电机的技术已很成熟,特别适合小功率开环定位系统,至今没有能取代它的更适合产品,今后将继续稳步发展和完善化。它广泛应用与打印机,电动玩具等消费类产品及数控机床等机电产品中。研究步进电机的控制系统,对提高控制精度和响应速度,节约能源都具有重要意义。本控制系统的设计由硬件部分和软件部分两部分组成,完成二相步进电机的控制。其中,硬件部分主要包括8086CPU,82
4、55A,按键模块,步进电机驱动模块等功能模块的设计,以及硬件电路在PROTEUS上的仿真。软件部分主要包括主程序以及各个模块的控制程序,最终实现对步进电机转动方向和模式的控制,并且将步进电机速度动态显示出来。关键字:二相步进电机、8086、8255A,Proteus仿真。二相步进电机控制系统的设计1 设计任务及要求1.1 设计任务设计一个二相步进电机控制系统,要求采用8086最小模式,利用L298芯片,输出双极性模拟电压驱动二相步进电机,使其按不同速度正反转,电机以八个开关以补码形式输入并以发光二级管显示出来,转速为。硬件设计:系统总原理图及各部分详细原理图。软件设计:系统总体流程图、步进电机
5、双四拍,单双八拍各模块流程图。同时编写程序,完成上述任务。1.2 任务分析设计任务要求设计一个二相步进电机控制系统,分析知该系统应具有以下功能:1)二相步进电机控制系统能实现二相双四拍、二相单四拍、二相八拍的方式运行。因此需要由输出相应的控制字序列进行控制。2)二相步进电机控制系统能实现正反转。2 方案选择及论证2.1 总体思路二相步进电机控制可以由单片机、PLC、8086CPU实现。这里我们采用8086最小模式来实现控制,具有成本低的特点。步进电机的驱动的电路是由八个开关控制按键经过8255A到8086CPU然后在产生控制信号又通过8255A产生的控制信号进行工作的。因此通过按键输入用户对电
6、机的控制要求,由8086CPU、 8255A芯片读取按键信息并通过处理调用相应的模块输出到驱动芯片完成对电机的控制要求。因此,此系统主要由8086CPU及8255A构成的控制部分、电机及驱动电路、工作状态控制模块组成。总体设计框图如图1所示。图1总体设计框图2.2 控制部分设计步进电机是将电脉冲信号转换成响应的角位移或者线位移的数字控制电机。按照输入脉冲指令旋转,脉冲数决定旋转位移的大小,脉冲频率决定旋转速度。其控制可以用硬件电路和以微型计算机为核心的控制系统的实现。硬件方式的电路实现的控制功能较为单一,这会导致改变控制功能时还要重新设计硬件电路,灵活性差,应用起来成本也会增加。而以微型计算机
7、控制系统属于硬件结合的控制方式,少量的硬件连接和软件实现控制完成主要的控制功能,灵活性大。本电路要求采用8086来实现电机的控制。步进电机通过数据线进行与驱动电路的数据传送,硬件连线只需信号传输线路即可,对电机的运行状态等各项控制要求通过软件来实现。8086通过8255A来实现对驱动电路的控制,使驱动电路进行相应的绕组通电操作完成各种用户要求。2.3驱动电路部分设计步进电机的驱动方法一般有两种:一种是直接由CPU来驱动,但因为输出电流的脉冲很小不足以让步进电机转动;另一种通过CPU间接来驱动,把其输出信号进行放大,然后来驱动步进电机。任务要求采用双极性控制,典型的两相双极驱动电器原理图如图2所
8、示,本设计采用芯片L298来控制电机的驱动系统。L298构成的驱动系统需要时间很少。关于脉冲分配以及对步进电机的各种控制操作由软件控制完成,能够灵活均衡的控制步进电机。图2 两相双极驱动电器原理图3 硬件电路设计模块3.1硬件系统总原理图由前面分析可得控制电路用到8086,并通过8255A与驱动电路相连,再由驱动电路控制电机的运转,其硬件系统原理图如图3所示图3 硬件系统原理图3.2控制部分3.2.1 8086CPU的介绍8086CPU的内部结构如图4所示,图4 8086CPU内部结构框图8086CPU由两部分组成,指令执行部件和总线接口部件。指令执行部件主要功能是执行指令,总线接口部件主要功
9、能是形成访问存储器的物理地址,访问存储器并运行指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数并参加指令执行部件运算或存放运算结果等。因为功能是分开的,所以在大多数情况下,在取指令的同时,执行指令部件也在工作这就有效的加快了系统的运算速度。3.2.2 8255A的介绍8255A内部结构图如图5所示图5 8255A内部结构图8255A具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。 8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各
10、自的工作方式,共有三种: 方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。 方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0. 方式2: 双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。8255A是一个并行输入、输出器件,具
11、有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。8255A管脚图如图6所示:图6 8255A管脚分布图一般,CPU的数据线及其读写控制线直接与8255A的及和连接。RESET线是高电平有效。因为8086CPU也是高电平复位,所以可以直接与8086CPU的复位线相连。片选信号是低电平有效。当其有效时,表示本片的8255A被CPU选中,可工作。它一般由CPU的高位地址线及其地址译码电路产生。、的组合状态如表1所示,可以选择8255A的3个I/O端口和控制口。它们一般由CPU的低位地址线直
12、接产生。表1 、的组合与端口关系8255A的工作方式控制字如图7所示图7 8255A的工作方式控制字,为该控制字的标志。A组由、和组成。其中和为工作方式选择;为A口的输入、输出选择;为C口高4位的输入输出选择。B组由、和组成。其中味工作方式选择;为B口的输入、输出选择;为C口低4位的输入、输出选择。方式控制字未规定C口的工作方式,只规定了C口的数据的传输方向,这就表明C口要么作为联络线用,要么就只工作在方式0。3.2.3原理分析本设计以8086CPU为控制核心,并以8255A为I/O接口电路,8086CPU的READY端口为高电平,说明CPU访问的存储器或I/O端口已准备好传输数据,同时要求8
13、086CPU工作在最小模式所以接高电平,为保证8086正常工作,RESET端口接低电平;ALE端口与两片74LS373锁存器的LE端相连,控制其是否选中;与地址线配合使用表示当前总线的使用情况;端口与端口与8255A读、写端口相连,由8086发出控制信号,控制8255A是否工作;端口与74LS138的一个低电平有效的使能端相连,当为高电平时,CPU正在访问存储器,此时译码器停止工作,当为低电平时,CPU正在访问I/O端口,此时译码器正常工作。8086CPU连接图如图8所示:图8 8086CPU连接图原理图中用到74LS373地址锁存器,其中接地与与8086CPU的端连接,由8086控制器是否工
14、作,当为高电平时,芯片工作,8086的输入与芯片的输入端连接其输出端与8086一起控制74LS138译码器的导通,其电路图如图9所示:图9 74LS373与74LS138的连接图其中74LS138译码器的使能端一部分由74LS373锁存器的输出与经过一两输入与非门控制,一个由锁存器输出直接控制,还有一个控制端由8086CPU的控制。并且译码器由、译码,输出控制8255A的工作,其中8255A的连接图如图10所示:图10 8255A连接图由图可知:,端口与8086连接,即8086与8255A同时进行读写操作,8255A的工作方式由锁存器的输出与决定,8255A的片选信号由译码器的输出决定,825
15、5A的输出分别决定驱动电路和LED显示电路的输入。由上图可知8255A端口地址分配表如表2所示:表2 8255A端口地址分配A7A6A5A4A3A2A1A0地址A口101000000A0HB口101000100A2HC口101001000A4H控制口101001100A6H设计的硬件控制部分的总电路图如图11所示:图11 硬件控制部分总电路图3.3步进电机的介绍3.3.1 步进电机的特点步进电机是将电脉冲信号转换成相应的角位移或线位移的一种特殊电机。电机每输入一次电脉冲信号,电动机就转动一个角度,从而形成的不仅是运动,所以称为步进电机,另外由于输入的是脉冲电流,也称为脉冲电机。步进电机具有很多
16、优点也有不少缺点,步进电机的特点主要有下面几点:1 步进电机的输出脚与输入脉冲的个数成正比,控制输入的脉冲数就能控制位移量。2 步进电机的转速与输入的脉冲频率成正比,改变通电相序即可改变电动机的转向。步进电机的启动,停止迅速,当停止脉冲输入时,若维持绕组内电流不变,电动机转子会保持停止时的位置。3.3.2 步进电机工作原理步进电机是一种电脉冲进行控制,将电脉冲信号转换成相位移电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定的角度。当步进驱动器收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),他的旋转是以
17、固定的角度一步一步运行的。可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。对于反应式步进电机转速与脉冲频率的关系为:式中:为脉冲频率,单位是。为电机运行拍数,为转子齿数。对于反应式步进电机的步距角为:式中;为步进电机运行拍数,为转子齿数。3.3.3 二相步进电机根据设计要求本设计对象是二相步进电机,有两组带中心抽头的线圈,设为,;有四个绕组出线端设为,。图12为二相六线式步进电机的工作原理示意图。图12 二相六线制步进电机结构示意图对各绕组施加通电脉冲,转子会在电磁力作用下向磁导率最大的状态转动,由于相是有选择性的通电且通电时间是有限的,对各绕组在各拍下按某种既定的通电顺
18、序通电即可以使电机转动,调整对各绕组施加的脉冲频率可以调整电机转速的大小,改变各绕组通电顺序即可调整其转动方向。通过改变绕组通电顺序组合可以改变电机运行拍数。二相步进电机运行状态有二相四拍与二相八拍两种运行状态,其中四拍又分为单四拍与双四拍。3.4 电机驱动部分3.4.1 L298芯片介绍L298是双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动芯片,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含一个H-Bridge的高电压,大电流双全桥式驱动器,接收准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压,此芯片可直接由单片
19、机的IO端口来提供模拟时序信号。L298管脚图如图13所示。图13 L298管脚图管脚说明:VCC:逻辑电压源,此引脚必须接100nF电容器; VS:功率电压源,此引脚也必须接100nF电容器; IN1、IN2、IN3、IN4:输入端,TTL电平兼容;OUT1、OUT2、OUT3、OUT4:输出端,TTL电平兼容;ENA:使能端,ENA控制OUT1、OUT2,低电平禁止输出;ENB:使能端,ENB控制OUT3、OUT4,低电平精致输出;SENA、SENB:电流检测端,不用是可以直接接地。3.4.2 驱动电路原理分析电机驱动部分连接线路图如图14所示:图14 驱动部分接线图由接线图可以看出驱动芯
20、片的输入由8255A的B口的PB0PB3控制步进电机的正转,反转和转速,ENA、ENB分别接高电平,SENA、SENB分别接低电平。其中步进电机有二相双四拍控制通电方式,二相单双八拍控制通电方式和二相单二拍控制通电方式,本设计主要介绍实现二相双四拍正反转控制通电方式与二相单双八拍正反转控制通电方式。其中表3和表4分别列出二相双四拍控制通电方式(正转)与二相单双八拍控制通电方式(正转)表3步进电机四拍控制通电方式(正转)时序8255A芯片B口高电平端对应二进制数转换16进制数PB3PB2PB1PB01101010100AH21001100109H30101010105H40110010006H表
21、4 步进电机八拍控制通电方式(正转)时序8255A芯片B口高电平端对应二进制数转换16进制数PB3PB2PB1PB010110011006H20100010004H30101010105H40001000101H51001100109H61000100008H7101010100AH80010001002H3.5 电机正反转与调速电路控制步进电机的正反转与转速的原理图如图15所示:图15 电机调速与转向接线图由图15可以知道,开关闭合,相应的LED就会亮,说明相应的PA口输出为低电平。与相连的开关控制电机的正反转,剩余开关决定步进电机的转速,以上图为例,只有所对应的开关闭合,此时向8255A输
22、入的数值为,此数为正数,所以电机正转。当所对应的开关断开时,则开关电路向8255A输出值为负数,此时电机反转,而从到所对应的开关状态可以实现对步进电机转速的控制,所以此模块可以实现对电机的正反转及速度的控制。4 软件设计4.1 设计思路设计要求用8086CPU最小模式对步进电机实现正反转,以及速度的控制。这些控制主要由软件实现。通过编写四拍正反转子程序,八拍正反转子程序并通过按键的结合使用从而实现正反转的功能。对于速度的控制主要通过按键的开通与闭合实现。4.2 各程序流程图步进电机四拍模块流程图如图16所示:图16 步进电机四拍模块流程图由图可得二相步进电机依次导通的线圈顺序为:正转:反转:步
23、进电机八拍模块流程图类似,导通线圈为8次,二相八拍各绕组通电顺序为:正转:反转:5 系统仿真分别载入程序,在PROTUES里面仿真的结果分别如下:四拍正转如图17所示,此时所对应的开关闭合,由前面分析可得此时电机正转。图17 四拍正转仿真图四拍反转仿真图如图18,此时所对应的开关断开。图18 四拍反转仿真图八拍正转仿真图如图19所示,所对应的开关闭合。图19 八拍正转仿真图八拍反转仿真图如图20所示。所对应的开关断开。图20 八拍反转仿真图心得体会经过与同小组同学的共同努力,近一个多星期的学习,本次课程设计课题二相步进电机控制系统告一段落。二相步进电机控制系统的设计主要分为硬件设计和软件设计两
24、个部分:硬件设计主要是把8086CPU、8255A、按键控制模块、步进电机驱动模块(L298)、等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台。软件设计主要是通过编写程序代码,实现对整个系统的控制。本次设计由于设计时间较短,个人能力以及精力等因素的限制,加之设计经验的不足,该系统还有许多不尽如人意的地方。该系统具有一定的缺陷,并不完美,但仿真成功的那一刻的感觉是很美妙的,努力有了收获,学的很充实。通过这次课程设计,使我从一开始对系统的不太熟悉,到能开发一个简单的系统,在这整个过程中我学到了很多东西,掌握了一些常用的开发技能,也发现了大量的问题,有些在设计过程中
25、已经解决,有些还有待今后慢慢学习。近十天的课程设计,我不仅了解了把理论设计转换成现实实物的整个过程。如:查阅资料,方案选定,电路设计,仿真电路图,检查调试,软件流程控制,编写调试软件到整个软硬件系统的调试,最后直到系统完成。为我以后的设计打下了一个好的基础。而且使我更加熟悉了整个设计的过程和一些软件及硬件设备的使用。总之,收获很大。参考文献1 彭虎、周佩玲、傅忠谦. 微机原理与接口技术(第2版)。电子工业出版社出版社,20062 马建国 电子系统设计 高等教育出版社,2004 3 康华光 电子技术甚础 模拟部分 高等教育出版社,20054 周灵彬, 任开杰 基于Proteus的电路与PCB设计
26、 电子工业出版社,20105 于海生 计算机控制技术 机械工业出版社 2008附录一 系统的总设计图附录二 部分代码CODE SEGMENT ASSUME CS:CODE START:PORTA EQU 0A0H ; A口地址PORTB EQU 0A2H ; B口PORTC EQU 0A4H ; C口PORTD EQU 0A6H ;CPU-8255控制寄存器控制口地址REGIS EQU 90H ;A IN, B OUT,AB口工作方式0BEGIN:XOR CX,CXXOR BX,BXMOV DX,PORTD ;设置8255工作方式MOV AL,REGIS ;control OUT DX,ALM
27、OV DX,PORTAIN AL,DX ;读A口数据MOV BL,ALAND BL,10000000B JNZ G4 ;最高位按,0,正转 NEG AL ; 反转 MOV AX,255 ;四拍时255 八拍时620 MOV BL,AL DIV BL MOV BL,AL MOV BL,AL JMP G3G4: MOV BL,ALMOV AX,255 MOV BL,AL DIV BL MOV BL,AL;/8正/ G2: MOV DX,PORTB MOV AL,2 OUT DX,AL MOV AL,0AH OUT DX,AL MOV AL,8 OUT DX,A MOV AL,9 OUT DX,AL MOV AL,1 OUT DX,AL MOV AL,5 OUT DX,AL MOV AL,4 OUT DX,AL MOV AL,6 OUT DX,AL CALL DELAY JMP G2DELAY PROC ;USES CX PUSH BX MOV CX,1D1:LOOP D1 POP BX RETDELAY ENDPCODE ENDSEND STAR28
限制150内