基于单片机的步进电机控制系统设计.doc
- 文档编号:14734828
- 上传时间:2023-06-26
- 格式:DOC
- 页数:34
- 大小:1.60MB
基于单片机的步进电机控制系统设计.doc
《基于单片机的步进电机控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的步进电机控制系统设计.doc(34页珍藏版)》请在冰点文库上搜索。
2017届电子信息工程专业本科毕业论文
基于单片机的步进电机控制系统设计
摘要:
步进电动机由于利用其组成的开环系统简单、廉价、实用价值高的特点。
因此在精度要求比较高的精密仪器以及各种控制装置中有着极其广泛的应用如:
喷绘机、刻字机、线切割、机器人等领域。
本文介绍的是一种基于单片机的步进电机的系统设计,用C语言编写出电机的正转、反转、加速、减速、停止程序代码,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上操作功能,步进电机的工作状态用相应的LCD1602显示。
本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、软件程序。
并对软、硬件进行调试,同时介绍了调试过程中出现的问题以及解决问题的方法。
该设计具有思路清晰、可靠性高、稳定性强等特点,通过调试实现了上述功能。
关键词:
步进电机脉宽调制驱动机构单片机
Abstract:
Steppermotorduetotheuseoftheopenloopsystemconsistingofasimple,cheap,andthecharacteristicsofhighpracticalvalue.Soinaccuracyrequirementhighprecisioninstrumentandvariouskindsofcontroldevicehastheextremelywidespreadapplication,suchas:
sprayingmachine,carvingmachine,threadcutting,robot,etc.
Isintroducedinthispaperasystembasedonsingle-chipsteppermotordesign,usingClanguagetowritethemotorforward,reverse,acceleration,decelerationandstoptheprogramcode,throughsinglechip,motordrivechipULN2003aswellasthecorrespondingbuttontoachievetheaboveoperationfunction,theworkingstateofthesteppermotorwiththecorrespondingLCD1602display.Contentofthisarticleintroducestheprincipleofstepmotorandsinglechipmicrocomputer,hardwarecircuitandsoftwareprogramofthesystem.Andthehardwareandsoftwaredebugging,andintroducesthedebuggingprocessproblemsandthemethodstosolvetheproblem.Thisdesignhasideasclearly,highreliability,strongstability,etc,throughdebuggingrealizedthefunction.
KeyWords:
Steppermotor;Pulse-widthmodulated;drivingmechanism;scm
1绪论
1.1引言
在众多的执行元件中,步进电机是机电设备不可缺少的元件。
步进电机是一种微型电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流。
用此电流供电,电机才能正常运转,而它的具体工作过程是将电脉冲信号转换成相应的角位移或者是线位移来达到转动的目的。
在数控系统、自动生产线、自动化仪表中应用电机实现其调速、快速起停、正反转控制的功能已普遍存在,它最突出的优点是能在宽频率中改变脉冲频率对步进电机实施控制。
并且组成的开环系统利于人们控制,操作简便。
微电子和计算机技术的日益成熟,使步进电机在工业电子自动化、印刷设备、机器人和智能医疗设备中的需求量不断提高,对于研制出具有高精确度、实时监控、数字显示的步进电机及其驱动控制系统有着很大的实用意义。
这次设计选用28BYJ-48型号四相步进电机,它有三种工作模式,利用其单双相工作模式进行工作,使其提高步进的精度。
整个控制系设计组成有:
电机驱动电路的设计、液晶显示和按键部分设计三大模块。
1.2课题研究的目的和意义
本文选用28BYJ—48型五线四相步进电机,采用单双相工作模式。
采用单片机控制脉冲数使其步进电机完成驱动,实现一系列指定工作要求。
因为步进电机旋转是以固定的角度一步一步转动的,所以研究其工作原理和工作模式有着很大的实用意义。
通过单片机的控制,让步进驱动器接收脉冲信号,驱动步进电机按预设定的方向,转动一个固定的角度,实现其指定功能。
在扫描仪、打印机、DVD-ROM 驱动器的应用中尤为频繁。
研究步进电机可以从研究单片机脉冲的控制开始入手,通过控制脉冲个数来控制步进电机的角位移量达到控制的目的。
在实际工作过程中可以用作准确定位。
通过设计硬件电路和程序编写,利用其上述步进电机的优点来作为设计目的,研究完成电机的工作模式和功能调试。
2系统硬件电路的设计
2.1步进电机介绍
2.1.1步进电机概述
步进电机作为本系统的主要组成部件。
它在不超载的状况下,其运行的转速、停止方位只由脉冲信号的频率和脉冲个数所决定,且不受负载变化而变化。
它的积累误差几乎没有,要驱动步进电机转动时,只需按照一个脉冲信号驱动电机转过一个步距角的方法即可实现运转。
这种特有的线性关系,让步进电机在速度和定位相关的行业中,变得非常易于控制。
不同的步进电机又因为厂家设置的电机参数不同,性能也迥异,因此选择一个合适步进电机,了解其性能指标参数尤为重要,这决定了步进电机的应用场合。
输入信号的时候,通过步进电动机对数字量能直接接收的特点,使其免去了大量繁琐的模拟量转换成数字量的工作,利用单片机简单的程序代码即可让其实现转动,因此非常适合用于微机控制。
这次设计采用带减速比步距角为5.625/64度的四相永磁式步进电机。
步进电机的主要参数有如下:
1、相数:
在不同磁力作用下N、S磁场的激磁线圈对数。
一般用符号m表示。
2、拍数:
是指电机转过一个齿距角完成磁场周期变化所需要的脉冲数,常用n表示。
以四相四拍运行方式为例:
即BC-CD-DA-AB-BC;四相八拍运行方式即B-BC-C-CD-D-DA-A-AB-B.
3、步距角:
输入一个脉冲信号,步进电机所转过的机械位移(角位移)。
转子转过的机械位移用β表示。
β=360度/(转子齿数*运行拍数),以现在应用普遍的二、四相,转子齿轮数为50齿的步进电机作计算说明。
四拍运行时步距角等于1.8度,八拍运行时步距角等于0.9度。
通过计算:
八拍运行时,不带减速齿轮情况下,步进电机转动一圈需要走400步。
4、步距角精度:
即电机实际转过的步距角和理论上计算的步距角之间的误差范围。
四拍和八拍运行时,误差范围分别应该在为5%和15%以下。
5、电机正反转控制:
电机的正反转与电机内部绕组密切相关,通过相与相之间的通电顺序不同,转子产生的旋转方向便发生变化如:
通电相序为B-BC-C-CD-D-DA-A-AB时则正转,通电相序为AB-A-DA-D-CD-C-BC-B时则反转。
2.1.2步进电机的工作原理
步进电机转动的工作原理是将脉冲电信号变换为相应的角位移或是直线位移,当电流流过定子绕组时,定子绕组生成一个磁场。
此磁场会使转子转过一个角度。
给输入一个电脉冲信号进入电机,电机就转动一个角度。
而输入信号的脉冲数与步进电机的角位移量成正比,输入信号脉冲频率高低又与电机转速成正比,因此只要改变绕组相通电的顺序,电机就会正反转动。
所以可用控制脉冲的数量、频率高低、相绕组通电顺序的这些方法,来控制电机的转动。
如下图所示28BYJ—48五线四相步进电机工作原理图,采用单极性直流电源供电方式。
通过对相绕组通电顺序的改变,使产生的磁场发生变化,磁力之间相互要达到平衡状态。
使步进电机完成在不同拍数之间工作模式的转动。
图2—1是该步进电机工作原理示意图。
图2-1 四相步进电机步进示意图
单四拍工作时,开关SB合上时,其余三个开关断开。
B相磁极和转子0、3号齿对齐,同时转子的1、4号齿就和C、D相绕组磁极错开,直至相互之间的磁拉力达到平衡;2、5号齿就和D、A相绕组磁极在磁拉力作用下错开,最后转子受力平衡不再转动。
当开关SC合上时,其余三个开关断开。
因为C相绕组产生的磁力线和1、4号齿之间磁力线的相互作用,所以转子因此而转动。
磁力达到平衡后1、4号齿和C相绕组的磁极就随之对齐了。
在磁拉力作用下0、3号齿和A、B相绕组开始错开;而在此时,2、5号齿就与A、D相绕组磁极错开,相应的磁拉力达到平衡。
按照上述方法依次类推出A、B、C、D相的通电顺序,则电机按照四个相数通电顺序依次转动。
1相励磁方式(单相)、2相励磁方式(双相)与1-2相励磁方式(单双相)工作时的电源通电时序波形图分别如图2-2所示:
图2-2步进电机工作时序波形图
2.1.3步进电机的分类与选择
步进电机的种类划分可分为三种:
反应式步进电机、永磁式步进电机、混合式步进电机;作为特种电机来说,它们的应用各有如下优缺点:
反应式步进电机,一般为三相。
步距角可以设计得很小,一般为1.5度。
此类电机可实现大转矩输出,但其缺点是动态性能相对较差,噪声和振动很大;80年代在欧美发达国家中已被淘汰。
永磁式步进电机,一般为两相。
其优点是转矩出力大,动态性能好,转矩和体积较小。
通常步进角为7.5度或者为15度。
混合式步进电机则融合了永磁式和反应式两者的优点。
可分为两相和五相两种,且它们的步进角分别为1.8度和0.72度。
这种在工业制造中的混合式步进电机应用甚广,不仅步距角小,输出力矩大,而且动态性能也很好。
在智能设备以及精确度要求高的工艺加工中多用此类型步进电机。
本设计中步进电机采用市场最常见的小型号28BJY—48步进电机,此电机为四相八拍步进电机,工作电压为5V。
此步进电机具有体积小、价格便宜等优点。
对于初步入门学习步进电机者来说,最为合适。
28BJY—48步进电机具参数如图表1-1所示。
表1-128BJY—48步进电机参数
电机
型号
电压
V
相数
相电阻Ω
±10%
步距角度
减速比
起动转矩
100P.P.S
g.cm
起动频率
P.P.S
定位转矩
g.cm
28BYJ-48
5
4
300
5.625/64
1:
64
≥300
≥550
≥300
28BJY—48步进电机以单双八拍为工作模式,其绕组通电时序为A-AB-B-BC-C-CD-D-DA,其步距角是最小步距角的16倍。
通过单片机的P1口把电机的A相、B相、C相及D相的真值表转换成单片机能识别的十六进制,并通过脉冲控制P1口不同相序通电后步进电机的转动。
步进电机真值表如表1-2所示。
表1-2步进电机单双八拍旋转相序真值表
橙(A)
黄(B)
粉(C)
蓝(D)
十六制(P1口)
1
0
0
0
0x08
1
1
0
0
0x0c
0
1
0
0
0x04
0
1
1
0
0x06
0
0
1
0
0x02
0
0
1
1
0x03
0
0
0
1
0x01
1
0
0
1
0x09
2.2步进电机驱动系统介绍
2.2.1步进电机驱动系统简介
步进电机工作时,不像直流电机那样直接通入交流电便可开始工作,需要专用设备进行驱动工作。
其中步进电机驱动系统由选择也至关重要,性能不同的驱动系统的共同点是其组成部分大致都一样,都由步进电机控制器、步进电机驱动器和步进电机三部分所组成。
步进电机驱动系统的性能与很多因素有关如:
驱动器自身性能优劣,以及驱动的电机和设计得驱动电路好坏等。
而其工作过程是由步进电机控制器发出步进脉冲和方向信号来完成的。
每发出一个电脉冲,驱动器则驱动步进电机转子转过一个步距角,并依次按照发送电脉冲的顺序和个数让步进电机做出相应的转动。
步进电机驱动器只要接收到来自单片机控制器的方向信号和步进脉冲后,控制电路就按已经设定好的相序通电方式,让相绕组通电或断电。
通常,+5V供电的单片机控制输出信号功率一般都不高,不能提供步进电机所需的输出功率,在运用设计电路知识时,应添加功率放大电路,此设计所用功率放大芯片为UNL2003。
2.2.2步进电机绕组的电气特性
步进电机各相绕组由铜线圈缠绕而成,涉及线圈那么可由电阻和电感特性分析电机相绕组,通过其分析电阻电感组成的电路,来分析电机工作时受影响的参数。
当绕组通电时,由于电感会削弱电流,限制绕组电流上升的速率,因此能导致电机绕组电流大小发生变化。
而绕组线圈电阻的存在又会使电机温度升高、电能白白损耗,最终影响其电机工作的工作状态。
因此分析这些影响电机工作的因素尤为重要。
图2-3电感-电阻串联电路及其电流波形
图2-3为电感一电阻串联电路,由电机相绕组等效而来。
当t=0时刻时,直流电压源V施加到该电路上,电路电流变化规律可由以下公式推导:
I(t)=V(1-e-Rt/L)/R
通电瞬间绕组电流上升速率为:
di(0)/dt=V/t
如图可知,当电流达到最大值时为:
Imax=V/R
由上图可知,当电路中的电流达到最大电流Imax的63%时,所需要用的时间是由L/R定义的时间常数决定的。
在t=t1时刻,曲线到达最高点转而开始下降,电流开始以初始速率一V/L下降,直至逐渐下降为零。
而此时刻反映在电路中的现象为:
电路断开与直流电压源V接通,并使之短路。
其电流变的化规律如下公式推导:
I(t)=Ve-R(t-t1)/L/R
如图2-4所示,在施加不同频率的电压矩形波之后,电流波形图中电流的大小变化。
(a)片段所显示的是低频时运行时,步进电机电流能达到最大值;当矩形波频率上升达到某一临界频率。
(b)片段所显示的是步进电机电流上升到最大值后立马变化随之下降;(c)片段所显示的是矩形波频率超过此临界频率值之后,步进电机绕组中的电流上升不到最大值。
因为步进电机转矩的大小与绕组的电流成正比,所以在临界频率上下运行时,电机转动的情况也不同。
低速运行电机能达到其额定转矩,在高于临界频率运行时,绕组电流随着频率的升高随之下降;电机转矩渐渐变小,高速运转时的负载能力也随之渐渐下降。
图2-4不同频率脉冲作用下电感-电阻电路的电流波形
2.3单片机原理
2.3.1单片机原理概述
单片机(single-chipmicrocomputer)是把微型计算机CPU、存储器、I/O口等核心工作部件都集成在一起的单芯片微型计算机。
图2-5中所示单片机结构图。
由于单片机内部高度集成化,对于结构配置进行了很大的改善,使得系统内的信号传送距离变短,提高了工作时的运行和读取速度,对于工业要求任务能够很好的胜任。
因此,单片机在智能家居、机器人、线切割等领域应用广泛。
图2-5典型单片机结构图
2.3.2单片机的应用系统
人们在对单片机在进行控制和数据处理时,在怎样让单片机完成指定功能的过程中,实行人机对话交流,了解系统的工作情况至关重要。
单片机CPU虽然在高度集成后拥有许多优点,但由于单片机自身芯片结构、引脚数目的限制,内存和I/O口都相对较少。
在实际应用时,单片机为了适应某些极端环境下工作,应该根据不同功能要求,加扩展口实现更多特定的系统功能。
单片机元件结构如图2-6所示。
图2-6单片机的应用系统
通过运用单片机最小应用系统,加入相应的外围电路和电机驱动系统电路,构成本设计的内容。
由于最小系统成本低、结构简单,对于一些模拟开关量的输入/输出控制、A/D和D/A转换控制和并行和串行口控制来说,配用最小应用系统还是能够完成的。
而对于最小应用系统有片内ROM/EPROM的芯片来说,电路一般由晶体振荡器、复位电路和电源所组成;片内无ROM/EPROM芯片,则最小应用系统应该配置上述的晶振、复位电路、电源以及外部程序存储器。
2.3.3AT89C52简介
AT89C52的主要参数如表2-1所示:
表2-1AT89C52的主要参数
型号
存储器
定时器
I/0
串行口
中断
速度
(MH)
其它特点
E²PROM
ROM
RAM
89C52
4K
512
3
32
1
5
35
低功耗
AT89C52是一种带8K字节可反复擦写的只读存储器。
有着低功耗,性能强的CMOS8位微处理器。
该器件的指令系统与其它单片机相兼容,由ATMEL公司生产技术生产,在电子行业应用甚广。
其功能引脚如图2-7所示。
图2-7单片机的引脚排列
1、主要特性:
·与MCS-51兼容
·具有8K在系统可编程Flash存储器
·工作平率范围:
0Hz-40Hz
·工作电压:
5.5V~3.3V
·用户应用程序空间为8K字节
·片上集成512字节RAM
·32可编程I/O线
·16位定时器/计数器3个。
即定时器T0、T1、T2
·8个中断源
·看门狗和EEPROM功能
·低功耗的空闲和掉电模式:
典型功耗2mA
·片内振荡器和时钟电路
2、管脚说明:
VCC:
电源电压。
GND:
接地。
P0端口:
P0口作为8位开路双向I/O口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和FIASH编程时,P0口也可以提供低8位地址和8位数据的复用总线,P0端口则接收指令字节。
当FIASH进行校验时,P0输出指令字节,P0外部电路则要接上拉电阻。
P1端口:
P1口是8位双向I/O口,需要提供上拉电阻。
当P1口被写入1后,其管脚被内部上拉到高电位,可用作输入口。
而在外部电路中被下拉为低电平时,将输出电流,因为内部上拉的作用导致。
P2端口:
P2口为一个内部上拉电阻的8位双向I/O口,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入口。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出高8位地址;在访问8位地址的外部数据存储器时,P2口引脚上的内容,在访问期间内不会发生改变。
P3端口:
内部自带8个上拉电阻的双向I/O口。
可接收用于Flash闪速存储器编程和程序校验的控制信号,P3口输出缓冲器可吸收4个TTL逻辑门电路。
P3端口除了有内部常用的功能外,还可为AT89C52提供一些特殊功能口,如下所示:
P3口管脚复用功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
RST:
复位接口。
外接复位电路,复位默认高电平有效。
XTAL1:
构成单片机内部时钟工作电路的输入端。
XTAL2:
来自反向振荡器的输入端。
3、I/O口引脚:
a:
P0口,双向8位三态I/O口,此口为地址总线(低8位)复用;
b:
P1口,8位准双向I/O口;
c:
P2口,8位准双向I/O口,与地址总线(高8位)复用;
d:
P3口,8位准双向I/O口,双功能复用。
3系统整体硬件结构
3.1系统整图
系统整图如图3-1所示,本系统采用外部中断方式,p0口作为液晶显示部分,p1口为电机的驱动部分,p3口作为信号的输入部分。
图3-1系统整图
3.2时钟部分
时钟电路是微计算机的核心,它控制着单片机CPU工作时的运行速度和性能。
通常想让CPU的运行速度提高,可以选择提高时钟的频率,本次设计采用12MHz的晶振频率。
如图3-6。
图3-6时钟部分电路
3.3电源部分
利用电池盒或者电源头让步进电机得到5V的电压。
如图3-2所示。
图3-25V电路部分
3.3按键部分
按键设计部分用单片机的P3口来作控制信号的输入端,并用按键开关和P3口依次连接,用以下按键来控制功能。
当要使电机正转时按下S1,P3.0口变为低电平;要使电机反转时按下S2,P3.1口变为低电平;停止时按下S3,P3.2口变为低电平,电机停止。
加速时按下S4,P3.3口变为低电平,电机加速;减速时按下S5,P3.4口变为低电平,电机减速。
如图3-3。
图3-3按键部分电路
3.4驱动部分
下图是步进电机的驱动电路,驱动芯片选用ULN2003来完成驱动的。
通过ULN2003驱动芯片具有高耐压,能输出大电流的特点,弥补了单片机自身对电机提供控制信号的不足,加上ULN2003芯片其内部结构由7个硅NPN达林顿管组成,可以在5V的工作电压下与CMOS电路和TTL直接相连,处理数据。
因此选择此款驱动芯片。
如图3-4。
图3-4驱动部分电路
3.5状态指示部分
用LCD1602液晶显示屏电机状态,其显示内容包括步进电机的正转、反转、停止、转速信息。
利用显示设备LCD1602液晶显示,既能清楚方便的了解步进电机工作所处的状态,又能达到控制目的。
如图3-5。
图3-5状态显示部分电路
4系统软件设计
4.1系统开发软硬件环境
现在众多的微型计算机中,在与51单片机相比之下,以不断创新52型STC系列的单片机为内核的出现,完善了一些51单片机的不足之处。
国外单片机公司如:
ATMEL、TI、ARM公司推出了52单片机的开发环境以适应其市场的需求。
本次毕业设计选用微机芯片为STC系列的AT89C52单片机。
4.2系统主程序
步进电机控制系统由五部分组成如:
电机正转、电机反转、电机加速与电机减速、电机停止。
其主程序运行框图如图4-1所示。
开始
显示函数
进入大循环
LCD初始化
定时器初始化
模式切换
按键扫描
state=0
正反转标记
置零
正转键是否按下
停止键是否按下
减速键是否按下
加速键是否按下
反转键是否按下
State=1
调用正转
驱动电机正转
State=1
调用反转
驱动电机反转
State=1
则改变speed值调节速度
State=1
则改变speed值调节速度
END
N
Y
Y
Y
Y
Y
图4-1主程序框图
程序开始执行,开始各I/O口的初始化,各功能按键的定义,分配单片机的各口位,然后LCD1602液晶屏显示。
再看各功能键盘是否被按下,如果有功能按键被按下,步进电机做出相应的正转、反转、加速、减速和停止;并通过液晶屏显示步进电机的工作状态,一直循环。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 步进 电机 控制系统 设计