基于单片机的步进电机控制的设计.docx
《基于单片机的步进电机控制的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的步进电机控制的设计.docx(31页珍藏版)》请在冰豆网上搜索。
![基于单片机的步进电机控制的设计.docx](https://file1.bdocx.com/fileroot1/2022-11/28/2ab5baa8-21af-4a86-92ac-790839e332e3/2ab5baa8-21af-4a86-92ac-790839e332e31.gif)
基于单片机的步进电机控制的设计
摘要
步进电机由于其精确性及其良好的性能得到广泛的应用,本文介绍了基于STC89C52单片机的步进电机控制系统的设计,在硬件部分,描述了该系统的硬件配置工作原理,在单片机和步进电机之间选用了ULN2003驱动芯片,通过按键向单片机输送控制信号,控制步进电机的转速和正反转,实践表明系统性能优于传统的步进电机控制器。
步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在众多领域有着极其广泛的应用。
本文是一种基于单片机的步进电机的系统设计,用C语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的数码管显示出来。
本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的方法。
经过实践应用证明,该控制系统的抗干扰能力以及稳定性都非常好。
关键字:
步进电机;STC89C52单片机;ULN2003
Abstract
Becauseofaccuracyandwellcapability,thesteppermotorisusedinmanyfields.DesignofasteppingmotorcontrolsystembasedonMCU-89C52processorisintroduced.Thesystemhardwareconfigurationandworkingprinciplearedescribedinthispaper.TheStep-motordrivechoosesULN2003modelbetweenthesingle-chipmicrocomputerandstep-motor.Asanautomaticcontrolsystem,thissystemsendsthecontrolsignalstotheMCUbypressingthebuttontocontroltherotationspeedandrotationdirectionoftheSteppingMotor.Thepracticeshowedthattheperformanceofthissystemoutdidthetraditionalsteppingmotorcontroller.Theopen-loopsystemwhichiscomposedbystep-motorissimple,cheapandverypractical,sothereareverywidelyrangeofapplicationsinmanyotherfields.Thisarticledescribesonedesignofstep-motorsystembasedon.thesingle-chipmicrocomputer,Theprogramofthepreparationofamotor,straightrevolving,reverserevolving,speedup,slowdown,stopiswrittenbyClanguage.Theabovefunctionsarerealizedthroughthesingle-chipmicrocomputer,motordriverchipULN2003andcorrespondkey,andtheworkstateofsteppermotorisdisplayedthroughthenumeraldiode.Thisarticleintroducestheprincipleofsteppermotorandsingle-chipmicrocomputer,thesystemhardwarecircuit,theprogramcomponents,whilesoftwareandhardwareforthedebugging,atthesametimeintroducestheproblemswhichareappearedinthedebuggingprocessandthesolutionsoftheproblems.Frompractice,wecanbearoutthatbothofthecapabilityofresistinginterferenceandthestabilityareallright.
Keywords:
Steppermotor;STC89C52single-chipmicrocomputer;ULN2003
第一章绪论
1.1课题研究的目的和意义
步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现变速,快速启停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
1.2研究背景
随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的关注。
单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。
数控机床最早生产于美国,是军备竞赛的产物,为解决航空与航天方面的大型和复杂零件的单件、小批量生产而发展起来的。
1952年美国试制了世界上第一台三坐标数控立体铣床,此后数控系统经历了两个阶段和六代产品的发展。
这主要是指电子管数控系统、晶体管数控系统、集成电路数控系统、小型计算机数控系统、微处理器数控系统和基于工业PC的通用CNC系统。
前三代为第一阶段,数控系统主要是由硬件连接构成,称为硬件数控,后三代称为计算机数控,其主要功能由软件完成,又称为软件数控。
我国1958年研制出第一台数控机床,同样经历了留待发展史。
近20年来,随着微电子技术及相关技术的发展,特别是微处理器技术的应用,使数控机床的性价比有了极大的提高,实际应用普及率越来越高,使得数控机床已成为现代机械制造技术的基础。
战后全球经济发展的历史经验证明,一个国家的实力极其繁荣,主要取决于其制造业所能提供的产品与劳务的竞争力。
我国与工业化国家的技术差距主要是制造技术方面的差距[3]。
制造是人类最古老的生产活动之一,18世纪中叶的工业革命促进了现代工业化生产的出现,19世纪电气技术的发展和20世纪内燃机的发明,引发了制造业的革命,流水线生产和泰勒式工作制得到了广泛的应用,二战期间,大批大量的制造技术有了很大的发展。
二战后50年来,计算机、微电子、信息和自动化技术有了迅速的发展,并在制造业中得到了愈来愈广泛的应用,先后出现了数控(NC)、计算机数控(CNC)、柔性制造单元(FMC)、柔性制造系统(FMS)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)等多项先进制造技术与制造模式,制造业正经历着一场新的技术革命。
作为机械制造技术中主要发展方向的精密加工技术是集测量学、微电子学、近代光学、控制论信息论等先进技术与机械制造技术相融合的一门交叉学科,是现代许多尖端技术和国防技术赖以存在和发展的基础,代表了一个国家科技发展的水平。
因而许多国家竞相发展精密加工及超精密加工技术,可以说,精密机械制造技术的水平在很大程度上将成为衡量一个国家科技水平的标志。
现代机械制造技术是一个多技术紧密耦合的技术族,其中数控技术是实现其最终目标的基础,它的发展和运用开创了制造业的新时代,使世界制造业的格局发生了巨大的变化。
目前世界各国都在大力发展数控技术,而且国外的数控加工系统在精度和自动化的程度上都达到了很高的水平【7】。
经历了几个五年计划的努力,我国的数控系统已经取得了很大的发展,六五期间的技术引进,七五期间的消化吸收,到八五末,我国已经自行研制开发了适合我国数控机床发展需要的各种档次的数控系统。
但是,由于我国许多因素的影响,我国的数控技术方面整体发展水平还比较低,利用率也不高。
经济型数控在我国占有比较重要的地位,并起了很大的作用,它以单板机为数控核心,以步进电机为执行元件,由于其结构简单,价格便宜,只需一万元左右就可以装备一台经济型数控机床,很适合我国中小型企业使用。
步进电机今后的发展,依赖于新材料的应用,设计手段以及驱动技术的最佳匹配。
首先,精确的分析和设计,模型的建立和完善,是一项重要的基础研究,至今还有许多工作要做,它可以为各类问题的深入分析提供基础,为优化设计指出方向。
其次,随着自动控制技术、计算机网络通信技术在众多领域中得以应用,尤其是智能化技术方向的发展将会成为步进电机下一阶段的发展趋势。
最后,电力电子技术、微电子技术的发展,高性能永磁材料的应用及优化设计技术对步进电机的发展起到重要作用,同时驱动技术改进的作用也不容忽视,特别是微步驱动技术的应用和成熟,对步进电机的设计和发展产生了很多的影响,也提出了一系列研究的新课题和新方向[4]。
1.3论文的主要研究内容
本论文所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。
步进电机是一种将电脉冲转化为角位移的执行器件。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。
另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
第二章步进电机的介绍
2.1步进电机的简介
步进电机又称脉冲电机或者阶跃电机。
它是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机受脉冲信号控制,它的直线位移量或角位移量与电脉冲数成正比,所以电机的线速度也与脉冲频率成正比,通过改变脉冲频率的高低就可以在很大的范围内调节电机的转速,并能快速启动、停止和反转。
电机步距脚和转速大小都不受电压波动和负载变化的影响,也不受环境条件如温度、气压、冲击和振动等影响。
它每转一周都有固定的步数,在不丢失的情况下运行,其步距误差不会长期积累。
步进电机有多种不同的结构,主要类型分为反应式步进电机、永磁式步进电机和混合式步进电机。
近20多年来,步进电机驱动技术和电机结构都取得了很大的发展,逐渐形成以混合式及反应式为主的产品格局。
混合式步进电动机是在同步电动机或者说是在永磁感应式同步电动机的基础上发展起来的,其综合了两类步进电机的特点,因而性能更好[1]。
2.2步进电机的分类
反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。
图1-1三种步进电机
反应式步进电机一般为三相,转子无绕组,定转子开小齿、步距小,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大,在欧美等发达国家80年代已经被淘汰[6]。
永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度;转子的极数=每相定子极数,不开小齿,步距角较大,力矩较大。
混合式步进电机是指混合了永磁式和反应式的优点。
开小齿,混合反应式与永磁式优点:
转矩大、动态性能好、步距角小。
它又分为两相和五相:
两相步进角一般为1.8度而五相步进角一般为0.72度。
这种步进电机的应用很广泛。
2.3步进电机的特点
来一个脉冲,转一个步距角。
控制脉冲频率,可控制电机转速。
改变脉冲顺序,改变转动方向。
角位移量或线位移量与电脉冲数成正比。
步进电机的角位移与输入脉冲数严格成正比,因此,当它转动一周后,没有累计误差,具有良好的跟随性。
由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。
同时,它也可以与角度反馈环节组成高性能的闭环数控系统。
步进电机的动态响应快,易于启停、正反转及变速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。
步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。
步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。
步进电机的主要缺点是效率较低,并且需要配上适当的驱动电源,还有它自身的噪声和振动较大,带负载惯量的能力不强,此外在应用中,步进电机运转很有可能出现低频振荡,而使用细分驱动技术可以有效克服低频共振的危害[2]。
2.4步进电机的应用
通常选择步进电机我们希望步进电机的输出转矩大、启动频率和运行频率高、步距误差小等等。
首先应考虑的是系统的精度和速度的要求,为了提高精度,希望脉冲当量(每输入一个脉冲使被控制对象产生的位移)小。
但脉冲当量太小,要求的减速比较大,而最高速度将受到步进电机的最高运行频率限制,故应兼顾精度与速度。
经过长期的发展,步进电机的应用已渗透到数字控制的各个领域,尤其在数控机械中广泛应用了其开环控制的特点。
近年来,随着微电子技术、大功率电力电子技术及驱动技术的进步,步进电机在办公自动化机器、工业机械和计算机外设等领域作为控制用电机和驱动用电机被广泛使用。
2.5步进电机的工作原理
步进电机工作原理大体类似,以四相步进电机28BYJ-48为例具体来说明。
实物如图2-1所示。
图2-1电机实物图
图2-2四相步进电机步进示意图
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D,四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2-3所示。
图2-3步进电机工作时序波形图
步进电机28BYJ-48型四相八拍电机,电压为DC5V—DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)(步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度,该参数反映了步进电机的实际精度)。
当通电状态改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。
。
。
),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。
。
。
),八拍(A-AB-B-BC-C-CD-D-DA-A。
。
。
),如表2-1所示。
表2-1(驱动方式:
4-1-2相驱动)
导线颜色
1
2
3
4
5
6
7
8
5红
+
+
+
+
+
+
+
+
4橙
—
—
—
3黄
—
—
—
2粉
—
—
—
1蓝
—
—
—
→CCW方向旋转(轴伸端视)
双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。
同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。
四相八拍与四相四拍相比较,步距脚小了一倍,有利于削弱振荡,提高电机的带负载能力。
电动机的转速取决于控制绕组与电源接通或断开的变化频率。
控制绕组与电源的接通或断开,通常是由电源逻辑线路来控制的[5]。
28BYJ-48步进电机加驱动才可以运转,驱动信号要为脉冲信号,没有脉冲信号的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度转动。
28BYJ-48的步距角为5.625/64度,如果需要转动一圈,那么需要(360°/5.625)*64=4096个脉冲信号。
28BYJ-48步进电机还具有瞬时启动和急速停止的优越特性。
改变脉冲的顺序,可以方便地改变转动方向。
2.6控制步进电机速度的方法
这里介绍三种控制步进电机速度的方法,设计中考虑到编程的难易程度,选择了第二种方法来实现控制步进电机的速度。
(1)改变控制方式的变速控制
最简单的变速控制可利用改变步进电机的控制方式实现。
例如,在三相步进电机中,启动或停止,用三相六拍,大约0.1秒以后,改用三相三拍的分配方式,在快达到终点时,再度采用三相六拍的控制方式,以达到减速的目的。
(2)均匀地改变脉冲时间间隔的变速控制
步进电机的加速或减速控制,可以均匀地改变脉冲时间间隔来实现。
例如,在加速控制中,可以均匀地减小时间间隔;在减速控制中,可以均匀地增加时间间隔。
具体地说,就是均匀地减小(或增加)延时程序中的延时时间函数。
由此可见,所谓步进电机控制程序,实际上就是按一定时间间隔输入不同的控制字。
所以,改变传送控制字的时间间隔(亦即改变延时时间),即可以改变步进电机的控制频率。
这种方法的优点是由于延时的长短不受限制,因而使步进电机的工作频率变化范围较宽。
(3)定时器的变速控制
在单片机控制系统中,也可以使用单片机内部的定时器来提供延时时间。
其方法是将定时器初始化后,每隔一定的时间,由定时器向CPU申请一次中断,CPU响应中断后,便可以发出一次控制脉冲。
此时,只要均匀地改变定时器时间常数,即可达到均匀加速或减速的目的,这种方法可以提高控制系统的效率。
第三章设计要求及方案选择
3.1设计要求
(1)了解项目从构思、设计、制作、系统集成等全过程,掌握分析问题、解决问题的方法和技巧。
(2)初步了解步进电机的一些基本原理及控制的方法
(3)了解掌握单片机的一些知识及编程部分,掌握STC89C52芯片的性能与应用。
(4)画出相关的电路原理图以及PCB图,把硬件部分搭建好。
(5)要求完成整体方案电路的软硬件设计。
(6)能够熟练使用搜索引擎以及相关书籍获取必要的文献。
(7)按相应的键能实现准确控制步进电机的启动/停止/正转/反转/加速/减速。
本课题的研究目的之一就是设计一套硬件系统较简单、经济,但功能较为齐全,适应性强,操作方便,交互性强,可靠性高的步进电机控制系统。
3.2方案选择
3.2.1单片机的选择
单片机选择的是STC89C52单片机,STC本来就是51系列的单片机,可以代换AT的51。
特点是可以选择倍频,提高速度。
比如用的10M的晶振可以倍频工作在20M下,下载程序非常的方便,3条串口线就可以让速度非常的快。
这些是相对于AT的51来说的。
它有内部EEPROM,可以串口下载程序。
3.2.2驱动芯片的选择
驱动芯片一开始有考虑使用L298N,芯片ULN2003接5V电压,而L298N可以接至12v,也就是说它有更强的驱动能力。
而且L298N有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。
相比ULN2003,L298N的功能要强大的多,但是价格也贵得多,在本设计中,ULN2003已经能实现基本功能,考虑到性价比,最后选择了ULN2003来驱动。
3.2.3最终方案
从该系统的设计要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度,这样只要2根口线,再加上一根方向线和一根启动信号线共需要4根输入线。
系统的输出线与步进电机的绕组数有关。
这里选择电机28BYJ-48,该电机共有四相绕组,工作电压为+5V,可以和单片机共用一个电源。
步进电机的四相绕组用P1口的P1.3到P1.6控制,由于P1口驱动能力不够,因而用一片ULN2003增加驱动能力。
用P0口控制第一个数码管用于显示速度等级,用P2口控制第二个数码管用于显示正反转。
数码管采用共阳极的。
第四章硬件设计
4.1系统框图
整个系统由单片机系统电路、按键电路、状态显示电路、驱动电路和电机等组成。
本设计采用单片机STC89C52对四相步进电机进行速度和方向控制,由单片机产生的脉冲信号经过驱动电路功率放大后驱动步进电机的转动。
按键有方向按键和速度调节按键,按键按下去以后,信息传到单片机,调用相应的子程序,经过驱动电路作用在电动机上,让电动机停止、启动、正转、反转、加速、减速,数码管会实时显示电动机的工作状态。
图4-1系统框图
4.2单片机模块
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选【8】。
单片机最小系统或者称为最小应用系统,就是用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:
单片机、复位电路、晶振电路。
复位电路:
使用了单刀单掷开关,单片机的RST作为复位的接口。
复位电路采用手动复位,所谓手动复位,是指通过接通一次单掷开关,使单片机进入复位状态,晶振电路用30PF的电容和一12M晶体振荡器组成,为整个电路提供时钟频率。
晶振电路:
8051单片机的时钟信号通常用两种电路形式得到:
内部震荡方式和外部中断方式。
在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振电路用的电容值一般在5到30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多