微机控制技术课程设计报告步进电机控制系统设计.doc

上传人:peixunshi0 文档编号:85437 上传时间:2025-07-10 格式:DOC 页数:21 大小:533.35KB
下载 相关 举报
微机控制技术课程设计报告步进电机控制系统设计.doc_第1页
第1页 / 共21页
微机控制技术课程设计报告步进电机控制系统设计.doc_第2页
第2页 / 共21页
微机控制技术课程设计报告步进电机控制系统设计.doc_第3页
第3页 / 共21页
微机控制技术课程设计报告步进电机控制系统设计.doc_第4页
第4页 / 共21页
微机控制技术课程设计报告步进电机控制系统设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、成绩课 程 设 计 报 告设计题目步进电机控制系统设计课程名称计算机控制技术B姓名学号班级自动化0803教师设计日期 2011年 7 月 8 日计算机控制技术课程设计报告步进电机控制系统设计摘 要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使

2、得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用设备等等。本设计采用8088CPU对步进电机进行控制,通过8255I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过驱动芯片驱动步进电机;实现步进电机正反运转以及变速运转。关键词:步进电机;脉冲信号;8088CPU;- I -Design for Stepper Motor Control System AbstractStepper mot

3、or is the electric pulse signal into angular displacement or linear displacement of the open-loop control components. In the case of non-overloaded, the motor speed, stopping only depends on the location of pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor,

4、the motor is turned a step angle. The existence of this linear relationship, with only periodic error of the stepper motor without the accumulation of errors and so on. Makes the speed, position and other control areas to control the stepper motor becomes very simple. The rapid development of microe

5、lectronics and micro-computer popularization and application, the application for the stepper motor opens up broad prospects for making the past with large and complex hardware circuits of the controller can be implemented in software, not only reduces the hardware cost and improve the control flexi

6、bility, reliability and versatility. In todays society, everywhere in all areas of the stepper motor, the application fields of robotics, automation equipment, industrial electronics, medical devices, advertising equipment, stage lighting equipment, printing equipment, computer equipment and so the

7、external application. This design uses 8088CPU the stepper motor control through 8255I / O port output with the timing of the square wave as a stepper motor control signal, the signal through the driver chip to drive a stepper motor; to achieve positive and negative stepper motor and variable speed

8、operation .Key Words:Stepper motor;pulse signal;8088CPU- 15 -目 录摘 要 IAbstract II第1章步进电机基本简介11.1 步进电机发展现状11.2 步进电机工作原理11.3 步进电机的特点11.4 步进电机换相、转向及加/减速控制方案21.5 步进电机工作方式2第2章系统硬件设计32.1 设计思路32.2 芯片介绍32.2.1 8088CPU32.2.2 8255A72.2.3 ULN280392.3 模块连接图92.4 硬件原理图(见附录A)9第3章软件设计103.1 软件算法103.2 程序流程图113.3 源程序12总

9、 结15参 考 文 献16附录A 硬件原理图17第1章 步进电机简介1.1 步进电机发展现状步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越练越大。随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所未有的挑战。但近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动步进电机的发展,为步进电机的应用开辟了广阔的前景,近几年来,步进电机需求量一直呈现出较快的增长速度,其中扫描仪、打印机、传真、DVD-ROM/CD-ROM驱动器、空调及多功能自动化办公设备等应用对

10、步进电机的需求增长最强。此外由于USB2.0的日益流行促进了高分辨率扫描仪的销售,步进电机向着小型、薄型和更小的步进角度发展。1.2 步进电机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。1.3 步进电机的特点(1) 输出转角大小与输入脉冲数严格成比例,即来一个脉冲,转一个步距角,且在 时间上与输入脉冲同步。(2

11、) 电机转子转速随输入信号的脉冲频率而变化。即控制脉冲频率,可控制电机转速。(3) 借助控制线路,易于获得正反转、间歇运动等特殊功能。即改变脉冲顺序,改变方向。(4) 转子的转动惯量小,启动、停止时间短。一般在信号输入几毫秒或几十毫秒后,即能使电机转动或达到同步转速。信号切断后,电机立即停止转动。(5) 输出转角精度高,无累积误差。(6) 步进电机的工作状态对各种干扰因素不敏感。(7) 控制特性好。(8) 步距值不受各种干扰因素的影响。(9) 总位移量取决于总的脉冲数 1.4 步进电机换相、转向及加/减速控制方案(1) 控制换相顺序 通电换相这一过程称为脉冲分配。四相步进电机的八拍工作方式,其

12、各相通电顺序为 A-AB-B-BC-C-CD-D-DA-A. ,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。(2) 控制步进电机的转向 如果给定工作方式正序通电,步进电机正转,如果按反序通电换相,则电机就反转。 (3) 控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。 1.5 步进电机工作方式四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与

13、双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图5-2-2.a、b、c所示:a. 单四拍b. 双四拍c. 八拍图1-1 步进电机工作时序波形图第2章 系统硬件设计2.1 设计思路以8088CPU为基础设计计算机控制系统硬件电路,包括支持计算机工作的外围电路(EPROM、RAM、键盘、显示、通信端口等)。选用8255扩展I/O接口,选取ULN2803芯片作为驱动单元,通过编程实现步进电机调速控制和正反转控制。2.2 芯片介绍2.2.1 8088CPU图2-1 8088CPU结构图AH:累加器的高八位,可以参加算术

14、或逻辑运算BH:基址寄存器的高八位字节,可以参加算术或逻辑运算CH:计数寄存器的高八位,可以参加算术或逻辑运算DH:为数据寄存器的高八位,可以参加算术或逻辑运算AL:累加的低八位,可以参加算术或逻辑运算。BL:基址寄存器的低八位,可以参加算术或逻辑运算。CL:计数寄存器的低八位,可以参加算术或逻辑运算。DL:为数据寄存器的低八位,可以参加算术或逻辑运算。SP:称为堆栈指针。它用来指出当前堆栈的栈顶位置,在堆栈指令操作时。 由它给出入栈或出栈的数据在栈中的地址。但是SP必与SS(堆栈段寄存器) 相结合才能确定堆栈的物理地址。堆栈是由高地址向低地址端扩展。 既入栈时SP进行减操作。随着入栈数据的增

15、多,堆栈扩展,SP值减。BP:称为基址指针,它也用来对堆栈中的数据进行操作,但是它用来指向堆栈中的一个数据区 的基址,可以用它对堆栈中任意位置的数据进行操作。然而它不具有SP始终指向堆栈栈顶的。 含义。同样BP的使用也必须与SS相结合才能确定在堆栈中的实际物理地址。DI:称为目的变址寄存器,有一般通用寄存器的特性它在数据串操作指令中通常用来存放目的数据串的守 首地址。CS:为代码段寄存器,给出当前代码段的基址,CPU执行指令是从CS段中取得的。DS:为数据段寄存器,给出当前数据段的首址,程序变量和数据存放在这个段中。SS:为堆栈寄存器,给出当前堆栈段的基址,堆栈进行的操作在这个段中。ES:附加

16、段寄存器,给出了当前使用的附加段的基址,用来存放待处理的数据。IP:指令指针寄存器,它用来存放待要取出指令的地址偏移量,它只有与CS寄存器相结合, 才能形成指向指令的真正物理地址。指令队列:为一个四字节寄存器(8088)队列中同时最多可存放4个字节的指令,它是一个先进先出的栈。总线控制电路:是用来控制BIU各部件的协同操作的。 图2-2 8088引脚图A16Al9S3S6地址/状态复用引脚(输出、三态)。当8088输出地址时,这4个引脚上送出地址的最高4位A16A19。当8088输出状态时,这4个引脚送出状态信号S3S6,其中S6始终为逻辑0,S5指示中断允许标志位IF的状态,S4、S3的指示

17、CPU当前正在使用的段寄存器。A8A15地址(输出、三态)。CPU访问存储器或I/O接口时,从这些引脚送出地址信号A8A15。AD0AD7地址/数据复用引脚(双向、三态)。当ALE=1时,这些引脚上传输的是地址,而不是数据。M/IOIO/存储器控制(输出、三态)。低电平表示CPU当前访问的是存储器,高电平表示访问的是I/O接口。WR写控制(输出、三态)。低电平表示CPU正在对存储器或I/O接口进行写操作。DT/R数据传送方向控制(输出、三态)。用于确定数据传送的方向。高电平时表示CPU向存储器或I/O接口发送数据;低电平表示CPU从存储器或I/O接口接收数据。此信号常用于控制总线收发器的传送方

18、向。DEN数据允许(输出、三态)。低电平表示数据总线上有有效数据。它在每次访问内存或I/O接口以及在中断响应期间有效。它常用作数据总线驱动器的片选信号。ALE地址锁存允许(输出、三态)。高电平表示地址线上有有效地址。它常作为锁存控制信号将A0A19锁存到地址锁存器。RD读控制(输出、三态)。低电平表示CPU正在对存储器或I/O接口进行读操作。READY“准备就绪”(输入、高电平有效)。它是被访问的内存或I/O接口发出的响应信号,高电平表示存储器或I/O设备已准备好,可以进行数据传送。若存储器或或I/O设备没准备好,则可将此引脚拉低。CPU在总线周期的T3采样READY引脚,若为低电平,CPU将

19、自动插入1个或多个等待周期Tw。直到READY变为高电平后,CPU才脱离等待状态,继续执行后续操作。NMI非屏蔽中断请求(输入、上升沿有效)。此信号不能用软件屏蔽。若此信号有效,CPU在当前指令执行结束后就进入NMI中断过程。INTR可屏蔽中断请求(输入、高电平有效)。CPU在每条指令的最后一个周期对此引脚进行采样,以决定是否进入中断响应周期。此信号可用软件屏蔽。INTA中断响应(输出、低电平有效)。CPU对INTR信号的响应。在响应过程中,CPU在此引脚连续送出两个负脉冲,可用作外部中断源的中断向量码的读选通信号。TEST测试(输入、低电平有效)。当CPU执行WAIT指令时,每隔5个时钟周期

20、对此引脚进行一次采样。若为高电平,CPU则继续处于空转状态,直到此引脚变为低电平,CPU才结束空转状态,继续执行下一条指令。RESET系统复位(输入、高电平有效)。为使CPU完成内部复位过程,该信号至少要保持4个时钟周期。复位后CPU内部寄存器的状态如下表所示。当RESET返回低电平时,CPU将重新启动。HOLD总线保持请求(输入、高电平有效)。当某一总线主控设备要占用系统总线时,通过此引脚向CPU提出请求。HLDA总线保持响应(输出、高电平有效)。CPU对HOLD请求信号的响应:所有三态引脚变为高阻态,同时使此引脚变为高电平,表示处理器已放弃对总线的控制。当CPU检测到HOLD信号无效后,就

21、立即使此引脚变为低电平,同时恢复对总线的控制。SS0系统状态信号输出。它与IO/M和DT/R信号决定了最小模式下当前总线周期的状态。三者的状态组合所表示的处理器操作见下表。2.2.2 8255A8255A是Intel公司采用CHMOS工艺生产的一种高性能通用可编程输入输出并行接口芯片,可以方便应用在Intel系列微处理器系统中。8255A是40引脚2双列直插式芯片,片内有A,B,C 3个8位I/O端口,可提供24条可编程输入输出端口线。图2-3 8255引脚图RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择

22、信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出

23、线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择

24、 当A1=1.A0=1时,控制寄存器被选择.2.2.3 ULN28032-4 ULN2803结构图2.2 模块接线图+12 5PB10 A 步进电机驱动单元TDN-ACS 系统 8255 A 4PB11 BB 3C 2PB12 C CCD 1PB13 D 图2-4 模块接线图 2.3 硬件原理图(见附件)第3章 软件设计3.1 软件算法 步进电机是将电脉冲信号转变为角位移或线位移。脉冲信号及信号分配可由根据不同的要求编程产生。如果选用四相步进电机,各相分别为A,B,C,D相。四相步进电机工作方式可用四相单四拍、四相双四拍、四相八拍方式3种控制方式。此次课程设计采用的步进电机为35BYJ46四

25、相八拍电机,电压为DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相八拍方式工作时各相采用如下方式:A-AB-B-BC-C-CD-D-DA-A8255B口输出电平在各步中的情况如下:步序控制位控制字工作状态PB0PB1PB2PB3 1000101HA2001103HAB3001002HB4011006HBC5010004HC611000CHCD7100008HD8100109HDA表3-1 四相八拍 步序控制

26、位控制字工作状态PB0PB1PB2PB3 1000101HA2001002HB3010004HC4100008HD表3-2 四相四拍 开始3.2 程序流程图 初始化四相八拍反转CX=0? NOYES四相八拍正转CX=0?NOYES四相四拍反传 CX=0?NO结束YES3.3 源程序STACK SEGMENT STACK DW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE1 DB 01H,03H,02H,06H,04H,0CH,08H,09H ;四相八拍反转对应步值TABLE2 DB 01H,09H,08H,0CH,04H,06H,02H,03H ;四相八拍正转对应

27、步值TABLE3 DB 03H,06H,0CH,09H ;四相四拍反传对应步值DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AXMAIN: MOVCX,0002HMOV AL,90H ;8255初始化B口为输出OUT 63H,ALA1: PUSHCX ;四相八拍反转MOV BX,OFFSET TABLE1 MOV CX,0008H A2: MOVAL,BX OUT61H,ALCALLDALLY1 INCBXLOOPA2POPCXLOOPA1MOVCX,0002HB1: PUSHCX ;四相八拍正转MO

28、V BX,OFFSET TABLE2 MOV CX,0008H B2: MOVAL,BX OUT61H,ALCALLDALLY2 INCBXLOOPB2 POPCXLOOPB1C1: MOV BX,OFFSET TABLE3 ;四相双四拍反转 MOV CX,0004H C2: MOVAL,BX OUT61H,ALCALLDALLY3 INCBXLOOPC2MOVCX,0002HJMP A1DALLY1:PUSHCX ;延时子程序MOV CX,500HT1: PUSHAXPOPAXLOOPT1POPCXRETDALLY2:PUSHCX MOV CX,1000HT2: PUSHAXPOPAXLOO

29、PT2POPCXRETDALLY3:PUSHCX MOV CX,1000HT3: PUSHAXPOPAXLOOPT3POPCXRETCODE ENDS END START总 结 经过这个学期对微控的深入学习,并且在老师的悉心指导和严格要求下,我们终于完成了我相步进电机设计课程。从书本上的知识到自己亲手的课程设计,每一步对我们来说无疑是巨大的尝试和挑战,也成就了我们目前在大学期间独立完成的最大的项目。记得在刚接到这个课题时,由于对相关知识不是很了解,我们都有些茫然不知所措。设计好一个步进电机需要什么专业知识?带着这个疑问我们开始了地学习和实验:去图书馆查阅相关资料、上网去了解相关的内容,渐渐头脑

30、中的概念清晰了起来。在具体设计的过程中,我们遇到了更大的困难。我们不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。在这个循环往复的过程中,我们这篇稚嫩的设计日臻完善。虽然我们的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我们实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程。最后感谢阎高伟老师在课程设计中的悉心指导。参 考 文 献1 潘新民, 王燕芳. 微型机算计控制技术. 高等教育出版社,20012 马春燕等. 微机原理与接口技术. 电子工业出版社,20083 计算机控制技术试验指导书. 太原理工大学自动化实验室

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

宁ICP备18001539号-1