徐江进测控系统课程设计.docx
《徐江进测控系统课程设计.docx》由会员分享,可在线阅读,更多相关《徐江进测控系统课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
徐江进测控系统课程设计
测控系统课程设计
课题:
步进马达控制电路设计
班级测控1081班学号1081203125
姓名徐江进
专业测控技术与仪器
学院电子与电气工程学院
指导教师鲁庆
淮阴工学院
测控技术与仪器教研室
2011年12月
步进马达控制电路设计
一、绪论
本设计通过ATMEL89C52单片机对步进电机进行控制,主要介绍了步进电机控制器、驱动电路和LED显示电路的设计,实现了步进电机的控制。
具有以下功能:
1、按下不同的键,分别使步进电机实现顺时针和逆时针旋转;2、电机运转状态可以是正反转,加速减速,五种不同速度的各种组合;3、通过LED数码管显示电机运行状态特点。
该系统具有成本低、控制方便的特点。
步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。
控制步进电机的输入脉冲数量、频率及电机各相绕组的接通顺序,可以得到各种需要的运行特性。
尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。
本文介绍已实现的单片机对步进电机的控制系统。
该控制系统中,控制器担负着产生脉冲以及发送、接收控制命令的任务。
2、总体方案设计
2.1、方案介绍
本系统中AT89C52作为控制系统的核心,显示部分采用LED发光二极管和7段共阳极数码管显示速度级别,用按键分别实现步进电机开关的起停、正反转以及速度控制,步进电机类型为二相四线(5V),工作于单双拍混合方式,采用ULN2003驱动其工作。
整体设计以模块划分为主,硬件、软件相结合,分模块进行设计和调试,最后将各个模块衔接起来。
2.2、系统总体框图
图1.21系统总体设计框图
2.3、功能模块介绍
本系统中采用单片机作为主控制芯片。
有三个按键作为输入端,他们都是通过中断控制。
其中电机的起停按键和转向正反按键通过与门连接接入单片机的外部中断1,速度按键直接接到单片机的外部中断0。
P1口的低四位(P1^0–P1^3)用来连接ULN2003驱动芯片从而控制步进电机转动;P1口的高四位(P1^4–P1^7)用来连接LED指示灯。
其中,P1^7接起停键的指示灯,其余三个指示灯分别显示三种速度级别。
P2口接一个7段LED数码管,也用来显示速度级别。
3、硬件电路设计
3.1、整体电路设计
本设计采用51单片机AT89C51(晶振频率为12MHZ)对两相四线制步进电机进行控制。
通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。
ULN2003可以在5V的工作电压下,它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
通过ULN2003构成步进电机的驱动电路,电路图如图1所示。
51的25-28口接ULN2003的1-4输入端。
另外,用键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为2位单个数码管的显示驱动。
74LS164带锁存,使用串行接法可以节约I/O口资源。
其电路图如图3.11所示。
通过51的TXD和RXD口对CLK和DATA发送数据。
图3.11单片机控制步进电机线路图
图3.12显示电路图
3.2单片机系统设计
本系统中采用单片机作为微控制器。
其片内资源有32个并行I/O口,5个中
断源,包括2个16位定时器,2个外部中断和一个串行中断。
本系统中单片机采用外部时钟方式,外接11.0592MHZ晶振和30pF电容组成时钟电路。
采用上电复位和按键方式组成复位电路。
其复位电路和时钟电路连接如图3.21所示
图3.21复位电路和时钟电路
3.3步进电机控制设计
步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。
控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。
控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。
同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
要步进电机可以“步进”就得产生如图2所示的脉冲序列。
此脉冲序列是用周期、脉冲高度、通断时间来表征的。
数字电路中,脉冲高度由元件电平决定,如TTL电平为0~5V,COMS电平为0~10V。
步进电机的每一步的响应。
都需要一定的时间,即一个高脉冲要保留一定的时间,以便电机完全达到一定的位置。
通断的时间可以利用延时在软件中实现,这决定了步进电机的实际工作速率。
图3.31脉冲序列图
本系统中我们采用的是二相四线步进电机(5V),其逻辑功能图如图3.32所示。
图3.32步进电机逻辑
该电机可工作于单拍模式和单双拍混合模式,分别给A、B、^A和^B不同的控制信号,可得到不同的效果。
以单拍模式为例,正转则分别给A、B、^A和^B循环供电,反转则分别给A、^B、^A和B循环供电。
但一般单拍模式下转动时相角过度少、转动角度大,因此不连贯,如果设计成单双拍混合模式则转动较为连贯。
本系统中我们用单片机的P1^0接步进电机的A端控制信号,P1^1接^A的控制信号,P1^2接B的控制信号,P1^3接^B的控制信号,步进电机工作于单双拍混合模式。
表3.31列出了步进电机正向转动(顺时针方向)时P1口的控制数据(P1口的高四位未参与控制该电机,设其值为0)。
表3.31步进电机正向转动转序图
步进电机需要的电流大且易受噪声干扰,但单片机输出电流相对于步进电机较小,且有噪声干扰,为此本系统中添加了ULN2003驱动步进电机工作。
ULN2003有七路达林顿管,可以起到放大和消噪的作用。
其COMMON端与步进电机的COMMON端相连并接到高电平。
ULN2003的管脚图见附录A。
3.4按键设计
本系统中用按键来控制电机的起停、正反转和速度级别。
按键与单片机有查询和中断两种连接方式,本系统中起停和正反转按键采用中断方式控制,速度级别按键采用查询方式控制。
我们的起停和正反转按键分别接到与门的两端和该单片机的P3^4和P3^5两个I/O口,经与运算后进入单片机的INT1引脚。
速度按键直接接到该单片机的P2^7口,用查询方式控制。
3.5数码管显示设计
本系统中采用的是一个7段共阳级数码管,即数码管中LED每一位的正级都共高电平,这样要点亮该数码管中的某一位则只需要给相应位的LED的负级一个低电平即可。
由于LED二级管的门限电压最大只有0.7V,而单片机是5V供电,电流有15mA左右,如果按照上述方式使用则回路中几乎没有负载,会对单片机即数码管本身造成一定的伤害。
因此在本系统设计中我们在数码管接入电源中串一个1K左右的电阻,给电路限流来保护器件。
4、软件设计
4.1系统软件流程图
本程序先进行程序初始化。
初始化先对外部中断的触发方式进行设置,然后使能中断,最后对相关标志位进行初始化。
初始化完成后程序进入死循环。
在死循环中首先判断控制步进电机的按键是否被按下,没有被按下时清除相关电机控制标志位及关闭所有LED指示灯和数码管显示的状态,当该按键被按下时启动电机,然后查询速度按键状态,如果有键按下则相应速度标志位,若没有键按下则继续往下执行判断转动正反向标志位,最后判断速度级别并执行相应不同方向和速度级别状态下的相关控制程序。
然后进入下一次的循环操作。
依次类推。
软件主要流程如图4.11所示。
图4.11系统软件流程图
4.2速度按键控制流程图
单片机的外部中断一初始化在边沿触发方式,当起停和正反转按键中任何一个键按下时,单片机进入INT1的中断服务子程序,在中断复位子程序中先延时一小段时间用于按键消抖,然后查询P3^4和P3^5两个I/O口的状态,来判断是哪个按键按下,然后改变相应的标志位。
单片机主控制程序中一直查询速度按键管脚的状态,当查询到速度按键被按下时,先延时一小段时间用于按键消抖,然后再次查询该管脚的状态以确定该按键确实被按下,如果确实被按下则改变相应标志位的值,最后加上按键等待的相关控制,当按键没有被释放时一直等待。
速度按键控制流程如图4.21所示。
图4.21速度按键控制流程图
五、系统仿真调试
5.1仿真软件
本系统采用了一种基于Proteus的PC机对步进电机运动控制仿真方法, Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具,互动的电路仿真。
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
还可以用来仿真处理器及其外围电路。
包括仿真51系列、AVR、PIC、ARM、等常用主流单片机。
5.2系统仿真
对应的单拍正转、双拍正转、单双拍正转种情况下由虚拟示波器(OSCILLOSCOPE)采集的脉冲驱动信号,如图3所示。
结合表1的P1口脉冲,剔除正常存在的毛刺与抖动,与实际驱动所需的对应脉冲信号是完全吻合的。
下位机在接收到单拍正转对应图3(a)指令后步进电机的相应运动过程,如图4所示。
此处,虚拟步进电机的虚拟步距角为90度,图中A、B、C、D四相红代表高电平,蓝代表低电平。
图3与图4仿真过程记录的信息,与实际设计程序控制预期运行结果完全吻合,仿真效果明显可信。
如图5所示,下位机在运行的条件下,上位机Option单拍,单击正转按钮,即上位机向下位机发送指令“1”。
其中的virtualTerminal(虚拟终端),是Proteus软件的辅助分析工具,每次串口通信的指令将会被记录下来。
步进电机会根据P1的脉冲形式做对应的运动,Proteus中LCD、上位机Text正确显示步进电机运动状态。
六、课程设计总结
测控系统这门课不好学,课程设计也不好做。
但似乎有价值的东西都具有这样的特点,不容易得到。
测控系统知识为很多方面的实践制作提供了技术理论支持,如果仅仅只是纸上谈兵的话,对测控技术很难有比较正确深刻的理解。
技术活,还是要付出,才会有收获!
步进电机控制系统以8086作为控制的核心元件,利用8255的C口控制步进电机,同时获取控制转动方向(即正转和反转),A口连接键盘,以选取不同档的移动速度,B口连接LED显示器,以显示当前的速度档,8253作为定时器,提供必要的时钟信号。
本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、显示步数及设定速度等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力。
在老师的悉心指导和严格要求下,我们完成了四相步进电机设计课程。
从书本上的知识到自己亲手的课程设计,每一步对我们来说无疑是巨大的尝试和挑战。
虽然我们的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我们实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程。
经过这一段时间的课程设计,使得我对课堂学习的知识和掌握情况进行了验证,使我的综合能力有所提高!
!
!
七、参考文献:
[1] 刘国永,陈杰平.单片机控制步进电机系统设计[J].安
徽:
安徽技术师范学院学报,2002,16(4):
61263.
[2] 何立民.MCS251系列单片机应用系统设计[M].北京:
人民邮电出版社,1993.