1、步进电机控制微机接口技术课程设计说明书 课题名称:步进电机控制 学 院:机械设计制造及其自动化 组 员:卢佐政 梁振振 陈烨波 邵超凡 林言丕 向唐倚天 指导老师:孔敏 王万强 日 期:2015年9月23日 目 录1. 课程设计任务书 2一、任务要求 2二、主要技术要求 2三、主要完成任务 2四、提交成果 3五 时间安排 3六注意事项 32.说明书正文 42.1 前 言 42.2 现 状 42.3 任务分析与方案设计 6(1)、任务分析 6(2)、方案设计 72.4 系统设计与开发 9(1)、接口电路设计 9(2)、软件设计开发 132.5 元器件参数选择及清单 152.6 软硬件调试 153
2、. 心得体会 164.参考文献 175.附录: 171.课程设计任务书一、任务要求 在Dais实验台基础上设计并调试一个外接口电路,能够显示所对应的电机状态。且具有一定的控制功能,编程并调试完成整个开发系统。每组一题,分别由五位同学合作完成。二、主要技术要求 实现步进电机转速和正反转控制。控制四相步进电机是采用编程方法实现四相八拍环形分配运行方式,改变激励脉冲频率的大小来实现调制。变换步进电机的其中两相相序,就能实现步进电机的正反转。 扩展一:用三个发光二极管亮灭表示三个速度开关的状态。再用一个发光二极管亮灭表示正反转状态。 扩展二:用数码管显示速度状态。三、主要完成任务 1、查找相关资料,确
3、定课程设计方案; 2、微机接口电路硬件的焊接、装配、逐步排除故障及调试: 3、用Protel2004绘制微机最小系统配置原理图; 4、用Protel2004绘制相关项目的接口原理图; 5、编写相关项目的程序,并进行调试; 6、按照相关项目内容要求,上级进行调试; 7、编写课程设计报告。四、提交成果 1)课程设计说明书一本(电子文档和打印稿各一份) 要求:内容完整,图表完备,条理清晰,分析有据。 所附电路图布局合理,清晰完备,图形和符号要规范。 2)所用元器件清单 3)电路实体一套。 要求:该电路实体必须是经过自己安装调试通过并达到性能指标要求的电路实体。5时间安排 9月16号9月26号 地点:
4、机械学院微机原理实验室 9月16日 上午 分组及分配课程设计任务 下午 查找资料,初拟总体方案 9月17日 分发参考资料,讨论确定总方案,上机熟悉protel2004软件 9月17日9月20日 完成微机最小系统配置原理图,相关项目接口电路原理图及 各项接口,借领工具,pcb板及相关器件。 9月24日9月25日 答辩及验收课程设计成果(归还所借工具,上交课程设计成果) 9月25日9月26日 提交修改后的最终报告及成果六注意事项 1.按时上下机,严禁玩游戏,注意公共卫生。 2.爱护实验室内一切实验设施,违者按零分计算。 3爱护借用的工具,丢失工具按原价赔偿。估计损坏工具者按零分记,并原价赔偿。 4
5、注意安全。下课时关闭总闸与空调,拔掉电烙铁,关好门窗。 5.不准用笔在实验室桌上乱写乱画。 2.说明书正文 2.1 前 言本次的微机原来与接口技术课程设计主要涉及到微机原理,微机接口技术,汇编语言或者c语言,电工学(数电,模电)等学科。其中,电工学是硬件电路的基础,必须有相应的基础才能看懂电路,分析电路的功能。其次,语言则是软件基础,要实现微机控制,就必须有相应的软件程序。因此,必须具备读并编写程序的能力。而微机原理和微机接口技术则是本次课程设计所需要的理论核心。只有具备相应理论知识之后才能分析软硬件的实际控制过程。2.2 现 状步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。传统
6、电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。可是在人类社会进入自动化时代的今天,传统电动机的功能已不能满足工厂自动化和办公自动化等各种运动控制系统的要求。为适应这些要求,发展了一系列新的具备控制功能的电动机系统,其中较有自己特点,且应用十分广泛的一类便是步进电动机。步进电动机的发展与计算机工业密切相关。自从步进电动机在计算机外围设备中取代小型直流电动机以后,使其设备的性能提高,很快地促进了步进电动机的发展。另一方面,微型计算机和数字控制技术的发展,又将作为数控系统执行部件的步进电动机推广应用到其他领域,如电加工机床、小功率机械加工机床、测量仪器、光学和医疗仪器
7、以及包装机械等。任何一种产品成熟的过程,基本上都是规格品种逐步统一和简化的过程。现在,步进电动机的发展已归结为单段式结构的磁阻式、混合式和爪极结构的永磁式三类。爪极电机价格便宜,性能指标不高,混合式和磁阻式主要作为高分辨率电动机,由于混合式步进电动机具有控制功率小,运行平稳性较好而逐步处于主导地位。最典型的产品是二相8极50齿的电动机,步距角1.80.9(全步半步);还有五相10极50齿和一些转子100齿的二相和五相步进电动机,五相电动机主要用于运行性能较高的场合。到目前,工业发达国家的磁阻式步进电动机已极少见。步进电动机最大的生产国是日本,如日本伺服公司、东方公司、SANYODENKI和MI
8、NEBEA及NPM公司等,特别是日本东方公司,无论是电动机性能和外观质量,还是生产手段,都堪称是世界上最好的。现在日本步进电动机年产量(含国外独资公司)近2亿台。另外的结论是HB型电动机更适合于低速大转矩用途;RM型适用于平稳运行以及转速大于1000r/min的用途;而PM型成本低,在低转速时的振动和高转速时的大转矩方面,三相PM型电动机比两相电动机的性能要好。因此,当前最有发展前景的当属混合式步进电动机,而混合式电动机又向以下四个方向发展:发展趋势之一,是继续沿着小型化的方向发展。随着电动机本身应用领域的拓宽以及各类整机的不断小型化,要求与之配套的电动机也必须越来越小,在57、42机座号的电
9、动机应用了多年后,现在其机座号向39、35、30、25方向向下延伸。瑞士ESCAP公司最近还研制出外径仅10mm的步进电动机。发展趋势之二,是改圆形电动机为方形电动机。由于电动机采用方型结构,使得转子有可能设计得比圆形大,因而其力矩体积比将大为提高。同样机座号的电动机,方形的力矩比圆形的将提高3040。发展趋势之三,对电动机进行综合设计。即把转子位置传感器,减速齿轮等和电动机本体综合设计在一起,这样使其能方便地组成一个闭环系统,因而具有更加优越的控制性能。发展趋势之四,向五相和三相电动机方向发展。目前广泛应用的二相和四相电动机,其振动和噪声较大,而五相和三相电动机具有优势性。而就这两种电动机而
10、言,五相电动机的驱动电路比三相电动机精密且复杂,因此三相电动机系统的价格比要比五相电动机更低一些。摘自上海昀研自动化科技有限公司官网 2.3 任务分析与方案设计(1)、任务分析任务与功能分析 :A:步进电机正反转控制。四相步进电机是采用编程方法实现四相八拍环形分配运行方式。可以通过软件改变步进电机输出的相序(由8255A芯片的A口的四位作为输出口),就能实现步进电机的正反转。如果正转为A-AB-B-BC-C-CD-D-DA的相序循环,那么反转为DA-D-CD-C-BC-B-AB-A的相序循环。B:步进电机速度控制。步进电机的转速是由脉冲频率的大小来控制的。实际可以由软件不同时长的延时程序来控制
11、频率。可以采用8255A的B口作为开关量输入口。由程序选择不同延时时间。C:用发光二极管亮灭显示速度及正反转状态。经过讨论,决定用8255A的C口低四位作为输出,控制发光二极管的亮灭。D:可以采用调用子程序的方式,实现不同速度的数码管显示。关键是要协调步进电机脉冲的延时和显示的刷新问题。组内分工:卢佐政,向唐倚天:软件编程,软硬件联合调试以及故障排除。陈烨波,梁振振:负责硬件接口电路的焊接和硬件的初步故障排除。邵超凡,林言丕:图纸原理分析,电路原理图,最小模式图绘制。 (2)、方案设计步进电机是按照一定顺序和规律向电机四相输入脉冲来实现电机的运转。控制频率和输出顺序实现速度和正反转控制。硬件方
12、案:因为我们采用微机来控制步进电机。所以实际需要的的硬件组成主要有以下两部分,一部分是8088最小系统,另一部分是步进电机接口电路。由于采用的是8255A可编程控制器来实现外部输入输出。所以具体电路应该如下:首先是最小系统利用三八译码器连接一片8255A用来片选。然后8255A芯片的A口连接步进电机接口电路的输入端,步进电机接口电路的输出端连步进电机。最后8255A的B口按照方案是用来作为输入口的,因此,跟开关电路连接。为了实现发光二极管功能,我们再利用了8255A的C口低四位作为输出端,因此要把低四位管脚分别跟四个发光二极管电路连接。由于还用到数码管的显示,因此微机系统还要扩展数码管电路。由
13、于Dais实验台已经内部连好微机的最小系统和数码管扩展电路,所以实际不需要连接。软件方案:软件最根本的是实现电机的转动,也就是要输出一个脉冲信号。因此程序的核心是一个循环体。因此,软件的结构是初始化部分和循环体部分。(这里指程序主体部分,即代码段,整个程序还包含变量设定等。)初始化部分:初始化部分主要包含以下几个内容。1.8255A芯片的初始化。2.发光二极管全灭程序。3.使步进电机首先转到一个初始位置。循环体部分:1.电机运转。实现脉冲输出四相的规律变化有多种方式,比如利用移位指令。(对于单拍或者双拍方式十分方便,不过本实验是单双拍混合方式。)还有利用查表方式(这种方式每一轮八拍结束后,又要
14、让他跳回,至少用到2个寄存器,一个放偏移地址,一个计数。)我最终选择了dais实验平台自带的步进电机程序的循环方式。即直接给立即数,每八拍结束后程序重新开始循环。缺点是每八拍结束后的延时时间会相对较长,延时不相等。考虑到本次实验精度要求不高,并且有利于程序简单化,我选用了这种循环方式。2.开关控制。因为需要速度转向控制,那必须检测开关量信息。因此,决定在程序循环体开头部分加上从8255A的B口取数据并比较指令。首先判断速度开关后,然后跳转到对应速度控制的程序段,存延时程序需要的数据来控制脉冲频率。接着判断正反转开关,再跳转到正反转对应的八拍输出的程序段。当没开关打开时,则只要跳回循环体开头,重
15、新检测开关信息,电机停止转动。3发光二极管控制。在速度开关检测结束后的对应速度控制程序段内加上指令分别送对应的数据到8255A的C口来控制对应的二极管发光。然后在正反转输出程序段开头可以加上指令来实现正反转指示灯的亮灭。4.数码管显示。由于数码管显示和电机延时程序都要由cpu实现,而cpu只有一个。因此采用数码管显示程序来代替步进电机控制频率的延时程序。让原本的延时阶段的cpu去处理显示。这样就可以处理好两者的冲突问题。由于此时寄存器重复使用较多,要注意有用数据的保护。显示程序可以参考dais实验平台自带的数码管显示程序。5.对于高级模块的软件编写思考。我认为,在我这样的软件结构上,很好实现通
16、过温度,位移,重量的测量来控制步进电机。只要把原本程序中从8255A的B口取开关量改成从A/D转换器中取数据量,再加上数据转换的指令。然后,修改一下判断开关的那段程序。要实现数据实时显示,则只要把转化好的数据代替原本我自己设定的一个立即数送去显示即可。2.4 系统设计与开发(1)、接口电路设计微机最小模式系统:微机最小模式系统是单机系统,系统中所需要的控制信号全部由8086cpu本身直接提供。基本配置包括:存储器、I/O芯片、基本时钟发生器、地址锁存器、数据缓冲器。(a)图中的串口电路主要用来实现通讯,连接dais实验台和计算机的就是串口线。8255A则是本课程设计要需要而连接的芯片。CPU是
17、核心,控制所有指令操作。而扩展的外部存储器,8255A,计时器,可编程串行通讯器都连接在74LS138的输出口。利用三八译码器来片选。数据锁存器则是所存地址用的。因为数据总线和地址总线是同一根,采用分时复用的方式。所以必须要有地址锁存器。时钟脉冲发生器产生的脉冲则是为CPU工作的前提。步进电机接口电路:步进电机需要有对应的步进电机驱动器才能工作。而步进电机驱动器要求的输入信号和接口实际输入的信号是相反的,因此在每相加上一个三极管来起到取反作用。如(b)图的jp1中的管脚1输出高电平,对应Q1导通,在R5上有较大的压降。则步进电机驱动器的输入管脚IN1为低电平。反之,如果管脚输出低电平,则Q1截
18、止,在R5上的压降很小。因此,管脚IN1的输入就为高电平。最小系统配置参考原理图的修正:1.74LS138的A、B、C三个管脚是用来片选的,必须要接cpu的三个地址线。否则,cpu就不能控制该芯片,也就不能正常的片选。2.最小系统模式则管脚MN/-M-X必须要给高电平。3.外部存储器和8255A之间不能直接传数据。都必须通过总线把数据先送到cpu寄存器后才能传输。所以必须跟总线连。4.两个总线收发器应该是OE管脚和OE管脚相连。T管脚和T管脚相连。互连是错误的。5.cpu的-B-H-E管脚不应该连地址寄存器的地址线。它是高位使能引脚。6.图中只有4根地址线用来寻址,寻址范围很小,且外部存储器地
19、址分配不连续,因此如(a)图重新连接。7.计时器需要设置工作方式,即初始化。因此,必然有数据总线与之连通。由于空间问题,并没有在(a)图中画出。(a)微机8986最小模式系统配置原理图(b)步进电机接口原理图 (2)、软件设计开发 软件设计流程图:(c)主程序流程图(d)延时显示程序流程图2.5 元器件参数选择及清单(1)元器件的选择 表1元器件清单元件名称图纸上的标号参数或备注数量 输入输出接口JP1信号输入插口1JP2信号输出插口1H1电源正极连线端1H2电源负极连线端1电阻R1R81K8三极管Q1Q4C26554步进电机驱动器ULN2003A1(2)参数选择电源:5V电机转速要求:015
20、00r/min2.6 软硬件调试由于本课程接口电路比较简单,负责焊接的两位组员也有焊接电路板的经验,硬件焊接质量比较好。只是在之后试验的时候,我和许孝华发现有一处跳线没焊接,导致电机的其中一相输入电路不通,导致电机不能正常运转,并及时焊上解决问题。软件调试首先由我解决编译错误。接着由于最初试验不能运转,由孝华进行了单步运行调试,发现软件运行到一个循环嵌套后不能跳出。然后我们直接采用单个循环的方式替换原方案。接着软硬件联合试验的时候,由于电机只能振动,不能运转。经过我和孝华比较长时间的讨论研究并排除脉冲频率过快,电路板焊接问题,接线问题等原因后,最后发现是由于两相接线之间裸露部分有干扰后,顺利实
21、现实验的基本要求。在原来的程序基础上加上发光二极管的控制程序后,试验一次成功。在加显示程序的时候,由于A,B,C,D寄存器都已经多次使用并且已都入栈过,为了避免混乱,我不得已采用了DI存数据,导致显示时,出现乱码。最后重新分配协调了一下寄存器的使用,并解决了此问题。这样,本次课程设计顺利完成任务目标。 3. 心得体会本次课程设计,是一次理论联系实际的综合训练,包含软件,硬件,还有原理图。大家合理分配,各施所长,不但成功解决了问题,而且让我对理论知识有了更直观的理解。虽然上个学期对于步进电机有过一定了解,但是再次面对时仍然觉得很陌生,遇到了不少阻碍,但是在老师的指导下,还是被完美地解决了。这次实
22、践让我对最小系统的工作方式,步进电机的控制,汇编语言的编写有了更深层次的理解。同时,我也对软硬件的结合有了更清晰的认识。我相信,再次遇到此类课题,我不会再像之前那样手足无措。4.参考文献1周佩玲,彭虎,傅忠谦编。微机原理与接口技术(基于16位机)。电子工业出版社。2李国栋,汪新中,陆志平,周盛华编。微机原理与接口技术课程设计。浙江大学出版社。3.邹逢兴,滕秀梅,徐晓红编。微型计算机原理与接口技术实验指导。清华大学出版社。5.附录:参考源程序参考了DAIS实验台内置实验的步进电机驱动程序和数码管显示程序。具体程序可以自行查阅。主要是借鉴了步进电机程序八拍一循环的方式。采用了显示程序的子程序调用方
23、式,并修正使其与本课程设计的程序相兼容。软件源程序: CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE P55A EQU 0FFD8H ;8255 A 口地址 P55B EQU 0FFD9H ;8255 B 口地址 P55C EQU 0FFDAH ;8255 C 口地址 P55CTL EQU 0FFDBH ;8255 控制口地址 ZXK EQU 0FFDCH ;字形口地址 ZWK EQU 0FFDDH ;字位口地址 ORG 3620HSTART: MOV DX,P55CTL ;8255A初始化 MOV AL,82H OUT DX,AL NOP NOP NO
24、P MOV AL,0FFH ;C口置高位,低电平亮。 MOV DX,P55C OUT DX,AL MOV AL,03H MOV DX,P55A OUT DX,AL MOV BUF,00H MOV BUF+1,08H MOV BUF+2,03H MOV BUF+3,02HIOLED1:MOV DX,P55B ;输入开关信息 IN AL,DXIN1: TEST AL,03H JZ STOP TEST AL,05H JZ STOP TEST AL,06H JZ STOP TEST AL 07H JZ STOP TEST AL,01H ;检测各速度开关 JZ K0 TEST AL,02H JZ K1
25、TEST AL,04H JZ K2STOP: MOV BX,0FFH CALL LIGHT JMP IOLED1 ;若没速度控制开关打开,则停止。K0: MOV BX,0FEH ;第一盏灯亮 CALL LIGHT MOV SI,0050H ;用来控制延时时间 MOV BL,0AAH ;AA存入BL显示用。SAM: TEST AL,08H ;检测开关K3有无打开,控制正反转。 JZ ZX0 JMP NX0K1: MOV BX,0FDH ;第二盏灯亮 CALL LIGHT MOV SI,090H ;用来控制延时时间 MOV BL,0BBH ;BB存入BL显示用。 JMP SAMK2: MOV BX
26、,0FBH ;第三盏灯亮 CALL LIGHT MOV SI,0120H ;用来控制延时时间 MOV BL,0CCH ;CC存入BL显示用。 JMP SAMZX0: PUSH BX MOV BX,0F7H CALL LIGHT1 POP BX CALL JDAS MOV DX,P55A ;正转八拍 MOV AL,02H OUT DX,AL CALL XDELAY MOV AL,06H OUT DX,AL CALL XDELAY MOV AL,04H OUT DX,AL CALL XDELAY MOV AL,0CH OUT DX,AL CALL XDELAY MOV AL,08H OUT DX,
27、AL CALL XDELAY MOV AL,09H OUT DX,AL CALL XDELAY MOV AL,01H OUT DX,AL CALL XDELAY MOV AL,03H OUT DX,AL CALL XDELAY JMP IOLED1NX0: PUSH BX MOV BX,0FFH CALL LIGHT1 POP BX CALL JDAS MOV DX,P55A ;反转八拍 MOV AL,01H OUT DX,AL CALL XDELAY MOV AL,09H OUT DX,AL CALL XDELAY MOV AL,08H OUT DX,AL CALL XDELAY MOV A
28、L,0CH OUT DX,AL CALL XDELAY MOV AL,04H OUT DX,AL CALL XDELAY MOV AL,06H OUT DX,AL CALL XDELAY MOV AL,02H OUT DX,AL CALL XDELAY MOV AL,03H OUT DX,AL CALL XDELAY JMP IOLED1XDELAY: CALL DIS ;延时程序 RETJDAS: MOV BH,BL ;拆字程序 AND BL,0FH MOV BUF+5,BL AND BH,0F0H MOV CL,4 SHR BH,CL MOV BUF+4,BH RET DIS: MOV C
29、L,20H ;显示程序 MOV BX,OFFSET BUFDIS1: MOV AL,BX PUSH BX MOV BX,OFFSET LED XLAT POP BX PUSH DX MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL POP DX PUSH CX MOV CX,SIDELAY:LOOP DELAY POP CX CMP CL,01H JZ EXIT INC BX SHR CL,1 JMP DIS1EXIT: MOV AL,00H PUSH DX MOV DX,ZWK OUT DX,AL POP DX RETLIGHT: PUS
30、H DX ;控制不同速度对应的灯亮 PUSH AX MOV DX,P55C MOV AL,BL OUT DX,AL POP AX POP DX RETLIGHT1: PUSH DX ;控制正反转灯亮灭 PUSH AX MOV DX,P55C IN AL,DX AND AL,BL OUT DX,AL POP AX POP DX RETBUF DB ?,?,?,?,?,?LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HCODE ENDS END START
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1