找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9315|回复: 0
打印 上一主题 下一主题
收起左侧

步进电机驱动系统软件设计

[复制链接]
跳转到指定楼层
楼主
ID:311306 发表于 2018-6-2 19:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
`摘要:步进电机是一种把电脉冲信号转化成转动的角度位移量或者线性位移量的高性能数字化执行元件,其中输入的电子脉冲和步进电机转轴的转角成相应的比例,所以利用单片机能精确地控制。步进电机工作在在一般正常的额定功率情况下,步进电机的转动速度和转动停止的位置只取决于电子脉冲信号的频率大小和电子脉冲个数,却不与负载的大小以及负载的数目多少有关,广泛应用在工业系统控制、普通家用电器、数字仪表仪器以及各种各样的电子自动化控制系统中。
本论文设计是基于AT89C51单片机,单片机发出的电子脉冲信号对步进电机转动角度进行控制,并通过按键实现步进电机正转、反转、加速、减速,用LED直观地显示电机转动的速度大小。最后经过PROTEUS仿真,达到基本要求。
引言
单片机具有很多优点,比如说芯片体积小可微型化、功耗比较低、使用比较方便和具有很强的控制力等优点,在仪器仪表中广泛应用,倘若与不同类型的控制设备相结合,可测量密度、压强、角度、长度、硬度、元素、压力等物理量。由于单片机可以看做一个微型的计算机处理系统,所以功能比起相关的电子或模拟数字电路更为强大。 另外采用相关的单片机可以组成各式各样的智能数字控制系统,比如说温度报警散热系统、湿度测量系统等。
步进电机是一种用于开环控制的驱动可执行元件。它将电脉冲信号转换成相应的角位移或线位移,是用电脉冲信号进行控制的微电动机。步进电机可以控制做准确的转动定位,所以在电脑的外设及工业生产的自动化机具设备中应用很普遍,例如如传统的切割机等,另外机器人的各个关节控制也大量的使用步进电机。
近些年来,由于步进电机的控制精度不断提高,越来越多有较高控制精度要求的系统也开始采用步进电机。对于小功率步进电机,一般采用单片机与专用步进电机驱动器联合工作的方式,单片机产生脉冲,控制停启、正反转,变速等,专用步进电机驱动器则进行脉冲环形分配及功率驱动。
步进电动机突出的优点是它可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可,步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度因此在众多领域有着极其广泛的应用。研制一种高性价比步进电机驱动器及其控制系统具有重要的意义。
本次毕业设计选用的步进电机是两相步进电机,通过软件和硬件的结合,使用按键控制步进电机的复位、正转、反转、加速、减速功能,并且将步进电机所处的状态用相应的发光二极管显示。主要通过三大块来设计,包括驱动电路的设计、状态显示部分和按键部分的设计,可以通过控制脉冲个数来控制角位移量,从而控制转动的角度;同时可以通过控制脉冲频率来控制电机转动的加速度,从而达到调速的目的。
一、本论概述
1.目标选题的现状背景
1.1.课题的背景
步进电机是自动控制系统中常用的驱动执行部件。步进电机的输入信号为脉冲电流 ,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移 ,因而步进电机可看作是一个串行的数 /模转换器。由于步进电机能够直接接受数字信号 ,而不需数 /模转换,所以使用微机控制步进电机显得非常方便。
步进电机有以下优点:
(1)通常不需要反馈就能对位置和速度进行控制;
(2)位置误差不会积累;
(3)与数组设备兼容 ,能够直接接收数字信号;
(4)可以快速启停。
步进电机的品种规格很多,按照它们的结构和工作原理可以划分为磁阻式 (也称反应式或变磁阻式 )电机、 混合式电机、永磁式电机和特种电机等四种主要型式。步进电机不需位移传感器就可精确定位 ,所以在精确定位系统中应用广泛。目前打字机、计算机外部设备、数控机床、传真机等设备都使用了步进电机。随着电子计算机技术的发展 ,步进电机必将发挥它的控制方便、 控制准确的特点 ,在工业控制等领域取得更为广泛的应用。
1.2选题的意义和目的
步进电机是用脉冲信号进行控制,将电脉冲信号转换成和相应的角位移或线位移的为电动机,他突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速启停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
1.3课题的内容和具体要求
1.3.1本论文所选的步进电机是四相八拍步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接受到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转、加减速。
1.3.2课题的基本内容要求
基本要求:
1、实现电机正转;
2、实现电机反转;
3、实现电机先正传后反转;
4、实现电机转速变化(最少三个不同的转速);
5、电机可以人为控制启动和停止;
6、电机不同的功能之间使用键盘控制转换
7、对设计的电路进行一定的仿真,对仿真结果进行分析说明是否符合设计要求。
2.方案的论证和比较
2.1单片机的介绍
2.1.1单片机的概述
单片微型计算机简称单片机,又称为微控制器(MCU),它的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。51系列单片机是国内目前应用最广泛的一种8位单片机之一。经过20多年的推广与发展,51系列单片机形成了以个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51单片机的发展又进入了以个新的阶段。许多专用功能芯片的内核集成了51单片机,与51系列单片机兼容的微控制器以IP核的方式不断地出现在FPGA的片上系统中。今年来,基于51单片机的嵌入式实时操作系统的出现与推广,表明了51系列单片机在今后的许多年中依然会活跃如故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。
单片机就是在一块芯片上集成了CPURAMROM、定时器/计数器、输入输出(I/O)接口电路、中断、串行通信接口等主要计算机部件集成在一块芯片上,组成单片微型计算机,简称单片机。也就是说单片机是集成在一块芯片上的计算机,其功能之强大,在实际应用中常常完全融入应用系统中,所以单片机也称为嵌入式控制器(Embedded Microcon troller)。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎无处不在,无处不为。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的将程序存储器和数据存储器合用一个存储空间的结构,称为普林斯顿结构或称为冯诺依曼结构。另一种是将程序和数据存储器截然分开而分别寻址的结构,称为哈佛(Har-vard)结构。目前的单片机采用哈佛结构的较多。按数据总线的宽度,单片机分为4位、8位、16位以及32位等。
2.1.2单片机的特点
单片微型计算机(Single-Chip Microcomputer),简称单片计算机.就是将CPU,RAM,ROM,定时/计时器和多种接口集成在一块芯片上的微型计算机.
其主要特点如下:
1)片内存储容量较小:
  原因是受集成度的限制.ROM一般小于8KB,RAM一般小于256B,但可以在外部扩展.通常ROM,RAM可分别扩展至64KB.
2)可靠性高:
  因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC.
系统软件(:程序指令,常数,表格)固化在ROM,不易受病毒破坏.
许多信号的通道均在一个芯片内,故运作时系统稳定可靠.
3)便于扩展:
  片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统.
4)控制功能强:
  具有丰富的控制指令::条件分支转移指令,I/O口的逻辑操作指令,位处理指令.
5)实用性好:
  体积小,功耗低,价格便宜,易于产品化。
2.1.3单片机的应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1)在工业控制中的应用
   用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
2)在家用电器中的应用
   可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
3)在计算机网络和通信领域中的应用
    现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
单片机还有在医疗设备和相关电子设备中的应用等。
2.1.4单片机的选择
由于51系列单片机应用很广泛,集成度高,可靠性强,系统结构简单,价格低廉,易于使用等等优点,STC89C51系列的单片机是宏晶科技推出的新一代超强抗干扰、高速低功耗的单片机,他的功能已完全能够实现本设计的要求。而且此次设计需要完成的功能不多,一般情况在尽量节约成本的条件下完成设计。
2.1.5单片机的具体结构
AT89C51的主要参数如表1-1所示:
1-1 AT89C51的主要参数
型号
定时器
I/O
串行口
中断
速度(MH
其他特点
E2PROM
89C51
2
32
1
6
24
低电压
AT89C51E2PROM电可编闪速存储器。有两级或三级程序存储器保密系统,防止E2PROM中的程序被非法复制,不用紫外线擦除,提高了编程效率,程序存储器E2PROM容量可达20K字节。
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8CPU和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图:
主要特性:(1)与MCS-51 兼容; (24K字节可编程FLASH存储器;(3)寿命:1000/擦循环;(4)数据保留时间:10年;(4)全静态工作:0Hz-24MHz;(5)三级程序存储器锁定;(6128×8位内部RAM;(732可编程I/O线;(8)两个16位定时器/计数器;(95个中断源;(10)可编程串行通道;(11)低功耗的闲置和掉电模式;(12)片内振荡器和时钟电路。
特性描述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM32 I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
管脚说明:VCC:供电电压。GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
     P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。
     P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
      P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
管脚备选功能:
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0
P3.3 /INT1(外部中断1
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVXMOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.2步进电机的简介
2.2.1步进电机的概述
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
2.2.2步进电机的工作原理
    电机的U1V1W1接电源,分别有三个开关控制,U2V2W2分别接地。如果给处于错齿状态的相通电,则转子在电磁力的作用下,将向磁导率最大(即最小磁阻位置)位置转动,即向趋于对齿的状态转动。步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
它驱动时各线圈通电顺序如下:
                      1-2:步进电机线圈驱动顺序
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7A2.tmp.png      
顺序
A
B
A’
B’
0
1
1
0
0
1
0
1
1
0
2
0
0
1
1
3
1
0
0
1
当电机定子绕组通电时序为AB-BA’-A’B’-B’A-AB时为正转,通电时序为AB-B’A-A’B’-BA’-AB时为反转。单片机作为核心部件,向步进电机输入端传送10信息,则可实现上述操作。通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度,也就是改变电机的转动速度。
2.2.3、步进电机的结构及分类
步进电机结构分为转子和定子两部分:
1)定子:由硅钢片叠成的,定子上有6大磁极,每2个相对的磁极(N,S)组成一对,共有3对。定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。 01/3π2/3π,(相邻两转子齿轴线间的距离为齿距以π表示),即A与齿1相对齐,B与齿2向右错开1/3πC与齿3向右错开2/3πA'与齿5相对齐,(A'就是A,齿5就是齿1)。
2)转子:由软磁材料制成,其外表面也均匀地分布着小齿,与定子上的小齿相同,并且小齿的大小相同,间距相同
分类:步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。
2.2.4、步进电机的特点
1)一般步进电机的精度为步进角的3-5%,且不累积。
2)步进电机外表允许的最高温度。
步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。
3)步进电机的力矩会随转速的升高而下降。
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。
4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。
步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。
步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。
2.2.5、步进电机的选择
步进电机由步距角、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。
1)步距角的选择
电机的步距角取决于负载精度的要求,将负载的最小分辨率换算到电机轴上,每个当量电机应走多少角度。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36/0.72度(五相电机)、0.9/1.8度(二、四相电机)、1.5/3度(三相电机)等。
2)静力矩的选择
步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载两种。单一的惯性负载和单一的摩擦负载是不存在的。直接启动时两种负载均要考虑,加速启动时主要考虑惯性负载,恒速运行时只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍为好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)。
3)电流的选择
静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流。
4)力矩与功率换算
步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下:
                         P=Ω·M                                     (2.1)
                      Ω=2π·n/60                                   (2.2)
                      P=2πnM/60                                  (2.3)
其中P为功率单位为瓦,Ω为每秒角速度,单位为弧度,n为每分钟转速,M为力矩,单位为牛顿·
                 P=2πfM/400(半步工作)                             (2.4)
其中f为每秒脉冲数(简称PPS
2.2.6、步进电机的指标术语
相数:产生不同对极NS磁场的激磁线圈对数。常用m表示拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A
步距角: 行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360/50*4=1.8度(俗称整步),八拍运行时步距角为θ=360/50*8=0.9度(俗称半步)。
定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)
静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15% 以内。
失步:电机运转时运转的步数,不等于理论上的步数,称之为失步。
失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
最大空载起动频率:电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。
2.3、仿真软件的介绍
2.3.1keil软件
Keil uVision系列是德国Keil Software公司推出的51系列兼容单片机软件开发系统。它本次设计使用的是Keil2,是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。Keil uVision系列可以支持单片机C51程序设计语言,也可以直接进行汇编语言的设计与编译。
与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。无论是使用C语言还是汇编语言进行程序的编写,其方便易用的集成环境、强大的软件仿真调试工具也会使编程事半功倍。
KeilC51的特点:(1Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(2)与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
因此,本次设计采用C语言进行程序的编写。
2.3.2proteus软件
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051HC11PIC10/12/16/18/24/30/DsPIC33AVRARM8086MSP430等,2010年又增加了CortexDSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IARKeilMPLAB等多种编译器。
功能及特点:
1)功能:1)原理布图 2PCB自动或人工布线3SPICE电路仿真
2)特点:1)互动的电路仿真用户甚至可以实时采用诸如RAMROM,键盘,马达,LEDLCDAD/DA,部分SPI器件,部分IIC器件。2)仿真处理器及其外围电路可以仿真51系列、AVRPICARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境[8]
2.4、驱动电路的选择
本设计内容使用达林顿驱动芯片ULN20032003为极电极开路驱动芯片,能驱动4相步进电机,他的每一对达林顿都串联一个2.7K的基极电阻,5V的工作电压下它能与TTLCMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。缺点是如果用于驱动直流电机的话只能按一个方向转动。换向要改变电机的接法。
2.5、显示电路的选择
采用LED数码管显示,数码管显示在硬件连接方面显得较为复杂,在不同的应用场合下配合使用的芯片也不同,但是对于LCD液晶显示来说,在成本方面占较大优势。
由于本次设计只是在数码管上普通地显示转速,对转速变化有一个感性的认识,对显示器件要求不高,所以使用这一方案。
3、设计或实验过程论述3.1、硬件电路的设计3.1.1、硬件设计的总体方案
因为步进电机的控制是通过脉冲信号来控制的,将电脉冲信号转变为角位移或线位移的开环控制元件。所以怎样产生这个脉冲信号和产生怎样的信号是电机控制的关键。
用单片机来产生这个脉冲信号,通过单片机的P1口输出脉冲信号,因为所选电机是两相的,所以只需要P1口的低四位P1.0~P1.3分别接到电机的四根电线上。定时器定时来调整电机的转速,通过键盘的按钮,就可以改变定时初值从而改变了电机的转速,P0口接LED数码管,可以显示当前的电机转速和按钮状态,具体结构见图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7B3.tmp.png
3.1.2、单片机最小系统
单片机最小系统包括始终振荡电路和复位电路,其电路图如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C4.tmp.png
3.2  单片机最小系统
说明: ①复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 10u,R8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;
复位输入高电平有效,当振荡器工作时,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;
晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的方波便于12分频,方便定时操作)
单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31(EA/Vpp),当接高电平时,单片机在复位后从内部ROM0000H开始执行;当接低电平时,复位后直接从外部ROM0000H开始执行;
电源部分:接+5伏特的电压。
3.1.3、按键部分
本次设计选用的是单片机的P3口来控制信号的输入,于是把按键开关和P3口连接起来,另一端接地。当按下其中一个开关时,P3.0~P3.4中的某一个I/O的电位被拉低,则单片机控制步进电机进行相应的动作。接线如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C5.tmp.png
3.1.4、电机驱动芯片
在实际的电路中,单片机的I/O口并不能直接驱动LED发光,因此,必须在单片机和数码管之间加上驱动芯片,本次设计中使用了74HC573,它起到驱动和锁存的作用,其内部结构如图: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7C6.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D6.tmp.png
             3.4  74HC573芯片
74HC573的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时, 新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。
3.1.5、电机驱动芯片
本设计使用的是生活中被广泛使用的电机驱动芯片ULN2003AN ULN2003是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,其内部结构及外形如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D7.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D8.tmp.png
3.5 ULN2003的内部结构图
ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。
该电路的特点如下:
①ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,5V 的工作电压下它能与TTL CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
②ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。驱动电路如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7D9.tmp.png
3.6 电机驱动图
3.1.6、步进电机
本设计使用步进电机两相五线电机,电压为DC5V,本次设计中步进电机工作在二相励磁方式。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EA.tmp.png
地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单四拍(单相绕组通电A-B-C-D-A),双四拍(双相绕组通电AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A),电机如图:
3.7  电机实物图
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EB.tmp.png 3.1.7、显示部分
数码管选用7段共阳4LED,第一位显示电机的正反转状态,第一位显示“-”,第三、四位显示电机的状态,显示如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7EC.tmp.png
步进电机的四线接法P1.0~AP1.1~B P1.2~A’P1.3~B’,整体的硬件仿真图如图:
3.9 系统整体仿真图
3.2、软件部分3.2.1、主程序
进入主程序显示初始化状态,主程序由键盘程序、显示程序、步进电机驱动程序三部分组成,主程序首先初始化各变量,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,有键按下,则调用键盘程序,并显示出状态。其主程序框图如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7ED.tmp.png




3.10 主程序框图
3.2.2、显示子程序
转速的显示是给用户最直观的概念,知道电机的转的快慢,知道电机当前的转速,而需要怎样的速度,再对它进行加减速。而这个显示是调用显示子程序。具体流程图如图: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps80D.tmp.png



                      3.11 显示子程序框图
3.2.3、键盘扫描子程序
键盘是我们唯一和电机沟通的桥梁,通过键盘的输入从而改变电机的运行状态,这里所需要的键盘数量不多,可以根据学习板做成独立式键盘,键盘的焊接是行线接单片机P3口的p3.0~p3.4,通过调用KEY扫描键盘,调用延时程序,再判断是否有键按下,如果无键按下就返回继续扫描,如果有键按下,则调用delay延时去抖动,再读键值,等待键释放,具体流程如图:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps80E.tmp.png
3.12  键盘扫描子程序框图
4、基于AT89C51的步进电机控制系统的实现4.1、系统的故障及调试4.1.1、软件部分
1)调试:按照总体流程图,在keil软件上,用C语言编程,编程时采用分块进行,分为按键子程序、显示子程序、调速子程序以及主程序,具体步骤如下:
1)定义各个变量uchar maichong;uchar zhuansu;uchar  flag
2)定义正反转、加减速端口Sbit key_z=P3^1;sbit key_f=P3^2;sbit key_jia=P3^3;sbit key_jian=P3^4
3)调用显示子程序;
4)调用键盘扫描子程序;
5)执行主程序;     6)返回显示
2)故障及解决:在编程完成时,运行程序,在仿真图上可以看到电机并不能正常旋转,而是左右来回运转或者是只转半圈,刚开始认为是电机的四相接线接错了,更改之后,电机依旧不能正常运行,于是,我怀疑是程序的问题,改动了几个地方,没有解决。我决定一部分一部分地检查,检查到电机在简单接线时,现象依然不明显,此时认为是电机运转太快了,在眼中有视觉残留,于是,我调整程序中的延迟函数和脉冲个数,在不断地尝试下,最终,能够很清楚地看到电机正常运转,故障得到解决。
4.1.2、硬件部分
1)调试:根据原理图将硬件焊接好,用Proteus软件下载keil软件生成的HEX文件到单片机中,再给单片机上电,程序就开始运行。
2)故障及解决:完成了硬件的焊接,将程序通过数据线下载到单片机芯片中,接通电源,电机并不能运转,对比PROTEUS中的电路仿真图的接线,发现电机的四条接线位置不对,更改了位置后电机正常运转。可是,显示的LED并没有按照程序进行运转,此时,我怀疑是LED坏了,于是我将LED拆下来单独点亮,能够正常工作,查阅了相关书籍后发现,LED的驱动需要一定大小的电压和电流,于是我在单片机的I/O口与LED之间接入了驱动芯片74HC573,再次运行,LED正常显示。
4.2、设计结果
这次设计比较成功,在经过了器件的选择,软件的仿真及调试,硬件的焊接后,步进电机能按照预先的要求,实现按键控制电机的复位、正转、反转、加速、减速五个操作。并对应地在LED上显示出象征性的数字,从而直观地观察到电机的转速变化。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps81F.tmp.png
按下复位按钮,电机停止,对应的数码管上显示如下:
4.1  初始化显示图
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps820.tmp.png 按下正转按钮从P1口输出脉冲,步进电机正转,显示如下:
4.2  电机正转显示图
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps821.tmp.png 按下反转按钮从P1口输出脉冲,步进电机反转,显示如下:
4.3  电机反转显示图
按下加速按钮电机速度增加,按下减速按钮电机速度减少显示如图4.4所示:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps822.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps823.tmp.png
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps833.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps834.tmp.png
5、总结与不足5.1、总结
本次毕业设计主要实现了基于AT89C51单片机控制步进电机的运行,通过按键分别控制电机的复位、正转、反转、加速、减速,并在数码管上对应地显示转速的变化,经过了protueskeil软件仿真和调试,实现了步进电机按基本任务要求运行。
通过这次毕业设计,让我对单片机有了一个更深入的认识,单片机作为一种计算机基本硬件,与计算机广泛应用紧密相关,他能解决很多大型计算机所不能解决的问题,所以,掌握单片机设计方法是非常必要的。
这其中也让我对汇编有了更深一层的认识,并且还让我领略到单片机这一计算机控制的魅力。正如课程设计的任务和地位中所说的那样,计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最后取得成功。
最后,在设计的过程中我觉得我自己付出了很多努力,但是,这种付出是值得的,因为有了它,我培养起了要细致认真地工作,和发现问题、分析问题、解决问题的能力,也让我从汗水中尝到了快乐和喜
5.2、不足
因为我的能力有限,对其他别的种类电机不够了解,准备的资料不是很多,任务设计中仍然有很多不足,例如:由于没有用到定时器步进电机控制不精确;仅仅简单地显示转速,转速的测量不严密;元器件的使用可以选用更加精确等等。尽管存在一些问题,但是我相信我会在今后的学习中,我会尽量拓宽自己的知识面,注意更多,在分析问题时尽量做到面面俱到。
参考文献
1、李蒙, 毛建东.单片机原理及应用[M]. 中国轻工业出版社, 2010.2
2、楼然苗,李光飞.单片机课程设计指导.2[M].北京:北京航空航天大学出版社,2012.
3、周立功.单片机实验与实践[M].北京:北京航空航天大学出版社,2004
4、康华光.电子技术基础(数字部分)[M].北京:高等教育出版社,2006
5、杨新军.步进电机程序控制[J].英才高职论坛.200602(1)52—55
6、贾立新,王涌等.电子系统设计与实践[M].北京:清华大学出版社.2007
7、陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2000
8、陈理壁. 步进电机及其应用[M]. 上海:上海科学技术出版社, 1989
9、王自强. 步进电机应用技术[M]. 科学出版社, 2010.5
10、周向红. 51系列单片机应用与实践教程[M]. 北京: 北京航天航空大学出版社, 2008.5
11、丁明亮, 唐前辉. 51单片机应用设计与仿真[M]. 北京: 北京航天航空大学出版社, 2009.2

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表