基于单片机的步进电机控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的步进电机运行控制系统
摘要:步进电机是一种将脉冲信号转换成直线位移或角位移的控制微电机,其机械角位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成比例;它易于实现与计算机或其它数字元件接口,适用于数字控制系统。

通过一种设计方案,包括硬件的介绍和组建、硬件原理图和软件流程图的设计、源程序的编写等,介绍一种基于单片机的步进电机运行控制系统。

该系统接收到液氮液面的液位信号后,与键盘、显示系统设置的初值比较后,转化成步进电机的步进脉冲,然后通过单片机控制器驱动步进电机旋转,以带动丝杆传动系统,进而控制液氮液面升降的运动。

关键词: 步进电机单片机控制
Abstract: Step of electric motor is one kind transforms the pulse
signalthe straight line displacement or Angle displacement the control microelectrical machinery, its machinery Angle displacement and the rotational speedseparately becomes the proportion with the input
electrical machinerywinding pulse integer and the pulse frequency; It is easy to realizeand the computer or other digital part connections, is suitable to thenumerical control system. Through one kind of design proposal, andsets up, the hardware schematic diagram and the software flow chartdesign, the source program compilation including the hardwareintroduction and so on, introduces one kind based on the monolithicintegrated circuit Step of electric motor operating control system.After this system receives the fluid nitrogen liquid level the fluidposition signal, after the keyboard, the display system establishmentstarting value comparison, transforms Step of electric
motor step entersthe pulse, then actuates through the monolithic integrated circuitcontroller Step of electric motor to revolve, leads the lead screwtransmission system, then control fluid nitrogen liquid levelfluctuation movement.
Key word: Step of electric motor Monolithic integrated circuit Control
引言:步进电动机是根据组合电磁铁的理论设计的,是一种把电脉冲信号转换为相应的角位移或直线位移,并用电脉冲信号进行控制的特殊运行方式的同步电动机,在数字控制系统中作执行元件。

它通过专用电源把电脉冲按一定顺序供给定子各相控制绕组,在气隙中产生类似于旋转的脉冲磁场。

每输入一个脉冲信号,电动机就移动一步,因此,步进电机又称为脉冲电动机。

步进电机将脉冲信号转换成的机械角位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成比例,通过改变电脉冲频率,可在大范围内调速,同时,该电机还能快速起动、制动、反转和自锁.此外,步进电机易于实现与计算机或其它数字元件接口,适用于数字控制系统,并可取得较高的控制精度,系统硬件实施比较简单。

本文介绍的设计方案是基于单片机的步进电机运行控制系统。

在这个控制系统中,控制器是它的核心,因为它担负着产生脉冲,发送、接受控制命令等任务。

该系统的步进电机驱动控制电路,采用低价的AT89C51为控制器,可直接对步进电机进行控制,省去了昂贵的专用步进电机控制器,简化了硬件线路,降低了成本,提高了系统的可靠性。

.步进电机是纯粹的数字控制电动机。

它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

近几十年来,数字技术、计算机技术和永磁材料的迅速发展,为步进电机的应用开辟了广阔的前景。

第一章: 基于单片机的步进电机运行控制系统的组成及其工作原理
1.1步进电机概述
步进电机是一种将电脉冲转化为角位移的执行机构。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中。

步进电机的种类繁多,按其运动方式分为有旋转型和直线型,通常使用的旋转型步进电动机又可分为反应式,永磁式,感应式。

其中反应式步进电动机是我国应用最广泛的一种,它具有调速范围大、动态性能好、能快速起动、制动和反转。

主要用于计算机的磁盘驱动器、绘图仪、自动记录仪及调速性能和定位要求不是非常精确的简易数控机床等的位置控制。

从零件的加工过程来看,工作机械对步进电机的基本要求是:
1)调速范围宽。

尽量提高最高转速以提高劳动生产率。

2)动态性能好。

能迅速启动、正反转和停转。

3)加工精度高。

即要求一个脉冲对应的位移量小、并要精确、均匀。

这就要求步进电机步距小、步距精度高、不应丢步或越步。

4)输出转距大。

可直接带动负载。

1.1.1三相单、双六拍步进电机的结构和工作原理:
三相单、双六拍步进电机通电方式:这种方式的通电顺序是:U-U V-V-VW-W-WU-U或为U-UW-W-WV-V-VU-U。

按前一种顺序通电,即先接通U相定子绕组;接着是U、V两相定子绕组同时通电;断开U相,使V相绕组单独通电;再使V、W两相定子绕组同时通电;W相单独通电;W、U两相同时通电,并依次循环。

这种工作方式下,定子三相绕组需经过六次切换才能完成一个循环,故称为“六拍”,而“单、双六拍”则是因为单相绕组与两相绕组交替接通的通电方式。

拍数不同使这种通电方式的步距角也与单三拍的不同。

三相单、双六拍时电动机运行情况如图1-1所示。

图1-1 单、双六拍运行的三相步进电机
a)U相绕组通电b)U、V相绕组同时通电c)U相绕组断电,V相绕组通电
当U相定子绕组通电时,和单三拍运行的情况相同,转子1和3齿的轴线与U极轴线对齐,如图1-1a所示。

当U、V相定子绕组同时通电时,转子2和4齿又将在定子极V、V′的吸引下,使转子沿逆时针方向转动,直至转子1和3齿和定子极U和U′之间的作用力被转子2和4齿与定子极V和V′之间的作用力平衡为止,如图1-1b所示。

当断开U 相定子绕组而由V相定子绕组单独通电时,转子将继续沿逆时针方向转过一个角度,使转
子2和4齿轴线和定子V、V′的轴线对齐,如图1-1c所示。

转子转过的角度与相应的单三拍运行V相绕组通电时转过的角度相等。

若继续按VW-W-WU-U的顺序通电,那么步进电机就按逆时方向连续转动。

如通道顺序该为U-UW-W-WV-V-VU-U时,电动机将按顺时针方向转动。

在单三拍运行方式十每经过一拍,转子转过的步距角为30° /2。

采用单、双六拍通电方式后,在由U相定子绕组通道V相绕组单独通电,中间还要经过U 和V两组同时通电这一状态,也就是说要经过二拍,转子才转过30°。

所以,单、双六拍运行方式时,三相步进电机的步距角为θ=30°/2。

由此可见同一个步进电机,因通电方式不同,运行的步距角也是可以不同的,采用单、双拍运行时,步距角要比但单拍运行时减小一半。

实际工作中,还常用按UV-VW-WU-UV的通电顺序或UW-WV-VU-UW的通电顺序运行的“双三拍“通电方式,这种通电方式比单三拍的好,因为单三拍在切换时出现的一相定子绕组断电而另一相定子绕组开始通电的状态容易造成失步,而且由于单一定子绕组通电吸引转子,也易使转子在平衡位置附近产生振荡。

而双三拍运行时,每个通电状态均为两相定子绕组同时通电,通电方式改变时保证其中一相电流不变(另两相切换),是运行可靠、稳定。

以双三拍工作的步进电机其通电方式改变时的转子位置于单、双六拍通电方式改变时的情况相同。

这样,双三拍运行方式的步距角也为30°,与单三拍运行方式相同。

由于这种步进电机的步距角较大,如用于精度要求很高的数控机床等控制系统,会严重影响到加工工件的精度。

这种结构只在分析原理是采用,实际使用的步进电机都是小步距角的。

图1-2所示的结构是常见的一种小步距角的三项反应式步进电机。

图1-2 小步距角的三相反应式步进电机
在图1-2中,三项反应式步进电机定子上有6个极,极上有定子绕组,沿直径相对的两个极的线圈串联,构成一项控制的绕组。

极与极之间的夹角为60°,每个定子磁极上均有五个齿。

齿槽等宽,齿间夹角9°。

转子上没有绕组,转子圆周上有军运的40个齿。

齿间夹角也是9°。

根据步进电机的工作要求,定、转子的齿宽、齿距必须相等。

不经电机的步距角为:θ=360°/mz (1-1)
式中z—转子的齿数
m—运行拍数
由式(1-1)可求得步进电机的转速为:
n= 60×θf/2π=60f/zm
式中f-步进电机的脉冲频率,单位为拍/s或脉冲数/s。

以上讨论的步进电机都是三相的,也有其它多相步进电机。

可见步进电机的相数和转子齿数越多,则步距角越小。

一定的脉冲频率下相数和转子齿数越多转速也越低。

但是相数和转子数越多,电源就越复杂,成本也要提高。

因此目前步进电机一般最多做到六相。

步进电机的控制特性分别如图1-3a和b所示。

若把步进电机输入的脉冲信号重换成角位移或直线位移,其角位移或直线位移s与电脉冲数k成正比,其转速n与线速v与脉冲频率成正比。

a) b)
图1-3 步进电机的控制特性
a)s=f(k)或θ=f(k) b)v=f(f)或n=f(f)
1.1.2步进电机的驱动电源
步进电机应由专用的驱动电源来供电,由驱动电源和步进电机组成一套伺服装置来驱动负载工作。

步进电机的驱动电源,主要包括边频信号源、脉冲分配器和脉冲放大器等三个部分,如图1-4所示。

边频信号源是一个频率从几十赫兹到几千赫兹的可连续变化的信号发生器。

变频信号员可以采用多种线路。

最常见的有多谐振荡器和单结晶体管构成的驰张振荡器两种。

它们都是通过调节电阻和电容的大小来改变电容充放电的时间常数,以达到选取脉冲信号频率的目的。

脉冲分配器是由门电路和双稳态处发起组成的逻辑电路,它根据指令把脉冲信号按一定的逻辑关系加到放大器上,使步进电机按一定的运行方式运转。


1-4
步进电机驱动电源的框图
目前,随着微型计算机特别是单片机的发展,变频信号源和脉冲分配器的任务均可由单片机来承担。

这样不但工作更可靠,而且性能更好。

从脉冲分配器输出的电流只有几个毫安,不能直接驱动步进电机,因为步进电机的驱动电流可达到几安到几十安,因此在脉冲分配器后面都有功率放大电路作为脉冲放大器,经功率放大后的电脉冲信号可直接输出到定子各相绕组中去控制步进电机工作。

步进电动机的特点:
(1).步进电动机的角位移与输入脉冲严格成正比。

因此,当它转一周后,没有累计误差,具有良好的跟随性;
(2).由步进电动机与驱动器组成的开环数控系统,既非常简单,廉价,又非常的可靠。

同时它也可以与角度反馈环节组成高性能的闭环数控系统;
(3).步进电动机的动态响应快。

易于起停,正反转及变速;
(4).速度可以在相当宽的范围内平滑调节。

低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载;
(5).步进电动机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源;
(6).步进电动机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施;
(7).步进电动机自身的燥声和振动较大。

带惯性负载的能力差。

1.2系统的组成及系统的总体设计框图和控制过程
1.2.1系统的组成
本系统主要是由AT89C51步进电机控制器、步进电机、丝杠传动系统和液氮液面升降系统、传感器检测单元、8279键盘、显示系统等几部分组成。

1.2.2系统的总体设计框图
1.2.3系统的控制过程
在系统中,主要控制三相步进电机带动丝杆的传动,从而使得液氮液面按照要求变化.三相步进电机的定子上有六个极,转子是4个均匀的齿,电机的转动是根据控制绕组与电源接通或开断的变化频率呈步进状态,其转向取决于通电相序,在本系统中,主要采用三相电机三相单双六拍: A—AB—B—BC—C—CA—A-…...首先AA相通电,而后在接通B相(这时A相不断开)即AB两绕组同时通电;此后断开A相绕组,B相单独通电,依次规律循环往复,这种方式需经过6个切换才能完成一个循环,单相三拍方式的每一拍步进角为3°,三相六拍的步进角则为 1.5°,因此,在三相六拍下,步进电机的运行反转平稳柔和,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需提高1倍,对驱动开关管的开关特性要求较高.
当步进电机驱动系统工作时,控制器首先检测接收传感器信号(获取液位信号),经过A/D转换成需要的检测量,即:将模拟量转换为数字量送入单片机的数据口(P1口)——单片机根据需要轮流给P1.0,P1.1,P1.2端口发送步进脉冲来控制电机运行,程序中,只要依次将6个控制字送到P1口,步进电机就会转动一个齿距角.每送一个控制字,就完成一拍,步进电机就转过一个步距角;然后将之与设定的初值进行比较,得出其差值,并根据程序的设定转化为步进电机的步进脉冲,从而通过单片机控制的驱动器来驱动步进电机, 以带动丝杆传动系统,进而控制液氮液面升降系统的运动,完成一个循环控制过程.
采用单片机AT89C51具有4K字节Flash闪速存储器,128 8字节内部RAM,32个I/O口线,2个16位定时/计数器,1个六向量两级中断结构,一个全双工串行通信接口,同时片内还有振荡器及时钟电路.可以很方便地使用不同相数的步进电机按一种可执行的通电方式来控制,在这个系统中,单片机的主要作用是接收键盘设定值,显示设定初值及检测的当前值,同时还具有串行通信功能.检测传感器信号,接受传感器信号,并进行处理,计算出步进电机需要的步进量,通过P1.0,P1.1和P1.2提供控制步进电机的时序脉冲,控制步进电机的运行,系统采用软件来完成脉冲分配,这样可根据应用系统的需要,方便灵活地改变步进电机的控制方式,步进一步的时间可有两个控制字的送出时间间隔来决定.
第二章: 硬件设计
2.1.采用51系列单片机AT89C51作为控制器的核心组成一个步进电机控制系统
AT89C51是一种高性能的8位单片机。

片内带有一个4KB的Flash可编程,可擦除只读存储器(EPROM),它采用了COMS工艺和公司ATMEL的高密度非易失性存储器(NURAM)技术,而且其输出引角和指令系统都与MS C-51兼容。

片内的Flash存储器允许在系统内改编程序或常规的非易失性存储器编程器来编程。

因此A T89C51是一种功能强,灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。

2.1.1 AT89C51的主要性能
●4KB可改编程序Flash存储器(可经受1000次的写入/擦除).
●全静态工作:0H z~24MHz.
●3级程序存储器保密.
●128×8字节内部RAM.
●32条可编程I/O线.
●2个16位定时器/计数器.
●6个中断源.
●可编程串行通道.
●片内时钟振荡器.
另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式—空闲方式(Idle Mode)和掉电方式(Power Down Mode).在空闲方式中,CPU 停止工作,而RAM,定时器/计数器,串行口和中断系统继续工作.在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM 中的内容,直到下一次硬件复位为止。

2.1.2 AT89C51引脚功能说明
图2—1是AT89C51的引脚结构图,有双列直插封装(DIP)方式和方形封装方式,下面分别叙述这些引脚的功能.
图2—1
(1).主电源引脚
①Vcc:电源端.
②GND:接地端.
(2).外接晶体引脚XTAL1和XTAL2
①XTAL1:接外部晶体的一个引脚.在单片机内部,它是构成片内振荡器的反相放大器的输入端.当采用外部振荡器时,该引脚接受振荡器的信号,即把此信号直接接到内部时钟发生器的输入端.
②XTAL2:接外部晶体的另一个引脚.在单片机内部,它是上述振荡器的反相放大器的输出端.采用外部振荡器时,此引脚应悬浮不连接.
③单片机外接电路
时钟产生产生和复位电路
片内电路与片外器件就构成一个时钟产生电路,CPU 的所有操作均在时钟脉冲同步下进行。

片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz ~12MHz 之间选取。

C1、C2是反馈电容,其值在5pF ~30pF 之间选取,典型值为30pF 。

本电路选用的电容为30pF ,晶振频率为12MHz 。

这样就确定了单片机的4个周期分别是:
振荡周期=1/12s μ;
机器周期(SM )=s μ1;
指令周期=s μ4~1。

图2—2 时钟产生电路
XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容。

在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。

一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。

但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。

这一特定频率就是石英晶体的固有频率,也称谐振频率。

即用来连接AT89C51片内OSC的定时反馈回路,如图2—2所示。

石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。

通常,OSC的输出时钟频率f OSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。

电容C1和C2可以帮助起振,典型值为30pF,调节它们可以达到微调f OSC的目的。

图2—3为单片机复位电路。

单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。

单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。

MCS-51单片机的RST引脚是复位信号的输入端。

例如:若MCS-51单片机时钟频率为12MHz,则复位脉冲宽度至少应该为2μs。

图2—3 复位电路
上图为上电复位和按键复位电路。

上电瞬间,RST端的电位与Vcc相同,随着电容的逐步充电,RST端的电位逐渐下降,此时ζ=22×10-6×1×103=22ms.当按下键时,RST端出现5×1000/1200≈4.2V,使单片机复位。

(3).控制或与其它电源复用引脚RST,ALE/PROG,PSEN和EA/Vpp.
①RST:复位输入端.当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。

②ALE/PROG:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节.即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号.因此,它可用作对外输出的时钟,或用于定时目的.然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。

在对Flash编程期间,该引脚还用于输入编程脉冲(PROG)。

如果需要的话,通过对专用寄存器(SFR)区中8EH单元的D0位置数,可禁止ALE操作.该位置数后,只有在执行一条MOVX或MOVC指令期间,ALE才会被激活.另外,该引脚会被微弱拉高,单片机执行外部程序时,该设定禁止ALE位无效。

③PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号.当AT89C51由外部程序存储器取指令(或常数)时,每个机器周期两次PSEN有效(即输出2个脉冲).但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。

④EA/Vpp:外部访问允许端.要使CPU只访问外部存储器(地址为0000H—FFFFH),则EA端外部必须保持低电平(接到GND端).然而要注意的是:如果保密LB1被编程,复位时在内部会锁存EA端的状态。

当EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。

在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。

(4).输入/输出引脚P0.0—P0.7,P1.0—P1.7,P2.0—P2.7,P3.0—P3.7
①P0端口(P0.0—P0.7):P0是一个8位漏极开路型双向I/O端口.作为输出端口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作为高阻抗输入端用。

在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。

在Flash编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节.验证时,要求外接上拉电阻。

②P1端口(P1.0—P1.7):P1是一个带有内部上拉电阻的8位I/O端口.P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入.对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口,P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号低的引脚会输出一个电流(I IL)。

在Flash编程和程序校验时,P1接受低8为地址。

③P2端口(P2.0—P2.7):P2是一个带有内部上拉电阻的8位双向I/O端口.P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入.对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口.P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(I IL)。

在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX@DPTR指令)时,P2送出高8位地址。

在访问8位地址的外部数据寄存器(如执行MOV@RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区P2寄存器的内容)在整个访问期间不会改变。

在对Flash编程和程序校验期间,P2也接收高位地址和一些控制信号。

④P3端口(P3.0—P3.7):P3是一个带内部上拉电阻的8位双向I/O端口.P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P3作输入口使用时,因为内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(I IL)。

在AT89C51中,P3端口还用于一些复用功能。

复用功能如表2—4所示。

在对Flash编程或程序校验时,P3还接收一些控制信号。

2.2步进电机驱动电路组成
图2−4 步进电机驱动电路
由驱动系统的硬件控制图可以看出,单片机只是根据需要轮流给P1.0,P1.1,P1.2端口发送步进脉冲来控制电机运行,则三相六拍的系统控制模型如附表所示:在程序中,只要依次将6个控制字送到P1口,步进电机就会转动一个齿距角。

每送一个控制字,就完成一拍,步进电机就转过一个步距角。

表2−1 三相六拍的系统控制模型
2.3液位信号的获取与放大
2.3.1 传感器选用细则
现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。

当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。

测量结果的成败,在很大程度上取决于传感器的选用是否合理。

1. 根据测量对象与测量环境确定传感器的类型
要进行—个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。

因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。

相关文档
最新文档