1单片机控制步进电动机摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。在本设计方案中采用AT89C51型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。关键词:步进电机,单片机,调速系统,数码管,发光二极管。2目录摘要..............................................................................1第一章绪论...............................................................31.1概述...............................................................31.2设计目的.......................................................31.3设计任务和内容...........................................41.3.1设计任务....................................................41.3.2设计要求....................................................4第二章系统分析.......................................................42.1步进电动机原理及其控制...........................42.2步进电动机驱动...........................................6第三章核心器件简介...............................................9第四章系统流程与程序.........................................124.1流程图........................................................124.2系统程序:................................................14第五章仿真环境搭建及测试.................................175.1仿真环境搭建.............................................175.2测试运行.....................................................18第六章设计心得.....................................................18第七章附录.............................................................19参考文献...................................................................223第一章绪论1.1概述《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。1.2设计目的(1)加强对单片机及C语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个体设计能够真正使用。(3)把理论知识和实践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高利用已学知识分析和解决问题的能力。4(5)提高实践动手能力。1.3设计任务和内容1.3.1设计任务利用单片机控制二相四线(5V)步进电动机,完成通过按键实现步进电动机的启停控制,并以两个按键实现步进电动机的调速控制且速度变化明显。其中,速度分为3级,0级最低,2级最高。1.3.2设计要求通过本系统的设计,了解步进电动机的控制原理并掌握其编程控制方法;进一步熟悉单片机系统设计方法。第二章系统分析2.1步进电动机原理及其控制一、步进电动机是一种将电脉冲信号转换成相应角位移或线位移的电动机,它的运行需要专门的驱动电源,驱动电源的输出受外部的脉冲信号控制。每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。脉冲的数量决定了旋转的总角度,脉冲的频率决定了电动机旋转的速度,改变绕组的通电顺序可以改变电机旋转的方向。在数字控制系统中,它既可以用作驱动电动机,也可以用作伺5服电动机。它在工业过程控制中得到广泛的应用,尤其在智能仪表和需要精确定位的场合应用更为广泛。二、步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以200个励磁信号来计算,则每个励磁信号前进1.8度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。三、步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。四、本系统选用的是二相四线步进电动机(5V),其逻辑功能图如图2-1所示。该电动机可工作于单拍和单双拍两种模式下。分别给A、B、B、A不同的控制信号,可以得到不同的效果。以单拍模式为例,正转则分别给A、B、A、B循环供电,反转则分别得A、B、A、B循环供图2-1步进电动机逻辑功能图电。但是,一般情况下单拍模式转动时相角过度小,转动角度大,转动不连贯。为让步进电动机较连贯地转动,一般设6计成单双拍混合模式。表2-1列出了两相四线单双拍混合模式下正向转动(顺势针方向)时P2口的控制数据(P2口的高4位未参与控制该电动机,设其值为0)。表2-1两相四线步进电动机正转转序表工作模式转序B(P2.3)A(P2.2)B(P2.1)A(P2.0)P2口输出值两相四线步进式电动机单双拍混合模式A00010x01AB10010x09B10000x08BA11000x0cA01000x04AB01100x06B00100x02BA00110x032.2步进电动机驱动设计采用ULN2003作为步进电动机的驱动芯片。ULN2003是由7路高电流达林顿阵列共同发射极组成的驱动芯片,它工作电压高工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。图72-2-1ULN2003引脚图ULN2003采用DIP—16或SOP—16塑料封装。方框图封装外形图ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTLCOMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。作用介绍ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡8等控制电路中。可直接驱动继电器等负载。图2-2-2作用功能图输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003芯片引脚介绍引脚1:CPU脉冲输入端,端口对应一个信号输出端。引脚2:CPU脉冲输入端。图2-2-3引脚介绍引脚3:CPU脉冲输入端。引脚4:CPU脉冲输入端。引脚5:CPU脉冲输入端。引脚6:CPU脉冲输入端。引脚7:CPU脉冲输入端。9引脚8:接地。引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。引脚10:脉冲信号输出端,对应7脚信号输入端。引脚11:脉冲信号输出端,对应6脚信号输入端。引脚12:脉冲信号输出端,对应5脚信号输入端。引脚13:脉冲信号输出端,对应4脚信号输入端。引脚14:脉冲信号输出端,对应3脚信号输入端。引脚15:脉冲信号输出端,对应2脚信号输入端。引脚16:脉冲信号输出端,对应1脚信号输入端。2.3系统方案系统以AT89C51作为主控制器。按照设计任务需要3个按键,系统采用循环检测法扫描按键,分别将单片机的P1.5口接减速按键,P1.6口接加速按键,P1.7口接启停按键。此外,单片机的P2.0接步进电动机的A端控制信号P2.2接A的控制信号,P2.3接B的控制信号,P2.1接B的控制信号,步进电动机工作于单双拍混合模式。第三章核心器件简介1、AT89C51单片机10AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图3-1AT89C51单片机现在AT89S51/52已经取代了AT89C51/52。2.步进电动机3.步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P