单片机基于297298的步进电机驱动器.docx
《单片机基于297298的步进电机驱动器.docx》由会员分享,可在线阅读,更多相关《单片机基于297298的步进电机驱动器.docx(22页珍藏版)》请在冰豆网上搜索。
单片机基于297298的步进电机驱动器
编号:
单片机
实训(论文)说明书
题目:
步进电机控制器
院(系):
信息与通信学院
专业:
电子信息工程
学生姓名:
学号:
0901130324
指导教师:
符强严素清
2012年01月03日
摘要
步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,具有快速起动和停止的特点。
其驱动速度和指令脉冲能严格同步,具有较高的重复定位精度,并能实现正反转和平滑速度调节。
它的运行速度和步距不受电源电压波动及负载的影响,因而被广泛应用于数模转换、速度控制和位置控制系统。
本文在分析了步进电机的驱动特性、斩波恒流细分驱动原理和混合式步进电机驱动芯片L297/L298的性能、结构的基础上,结合AT89C52单片机,设计出了混合式步进电机驱动电路。
关键词:
步进电机;AT89C52单片机;L297/L298驱动。
Abstract
Steppingmotorsisakindofwillconvertangulardisplacementorelectricalimpulsessignallinedisplacementofprecisionactuator,havefaststartandstopcharacteristics.Thedrivingspeedandinstructionspulsecanstrictlysynchronization,whichhashighrepositioningprecision,andcanrealizethepositive&negativeandsmoothadjustablespeed.Itsoperationspeedandstepdistancefromsupplyvoltagefluctuationandloadeffect,whichhavebeenwidelyappliedinanalog-to-digitalconversion,speedcontrolandthepositioncontrolsystem.Basedontheanalysisofthesteppermotordrivingcharacteristics,achopperconstant-currentsubdivideddrivingprincipleandhybridsteppingmotordrivechipL297/L298theperformance,structureinthefoundation,theunionAT89C52singlechipcomputer,designedahybridsteppingmotordrivercircuit.
Keywords:
Steppingmotor;AT89C52singlechipcomputer;L297/L298driver.
目录
第一章绪论1
1.1课题背景1
1.2设计目的与意义1
1.3选择方案1
1.3.1步进电机概述1
1.3.2步进电机工作原理2
1.3.3控制方案3
第二章步进电机驱动器4
2.1驱动器的选择4
2.2.1L297/L298驱动特性分析4
2.1.2L297/298功能分析4
2.2驱动器的芯片连接6
第三章单片机电路8
3.1步进电机控制器8
3.1.1脉冲产生电路8
3.2加速减速控制10
3.3显示及键盘电路12
3.4细分驱动12
3.5程序设计13
第四章总结16
参考文献17
附录:
原理图
第一章绪论
1.1课题背景
步进电机以其独特的特点可以在无速度传感器和无位置传感器系统中实现精确的开环状态定位或同步运行。
我们通过调节发送给步进电机的步进脉冲个数来实现精确的位移或者角度定位,而调节发送的步进脉冲频率就可以实现速度调节,这些都有利装置或设备的小型化和低成本,因而在众多领域中得到广泛的应用。
步进电机的使用性能与它的驱动电路有密切的关系,随着电子技术的发展,使步进电机的控制电路和功率驱动电路发生了很大变化,特别是集成电路的推广和微机的普及应用,更使步进电机驱动电源的研制上了一个新台阶,使其性能指标有了显著的提高。
国内对这方面的研究一直很活跃,但是可供选用的高性能的步进电机驱动电源却很少,而且国内的驱动电源方面基本都存在着体积大、外形尺寸不规则、性能指标不稳定及远没有达到系列化等问题,这就给驱动电源的选用和安装带来了极大的不便,国外虽然有通用的各种类型的步进电机驱动电源,但大都存在一些问题,如价格昂贵,与我国的系统连接不匹配等问题。
如前所述,步进电机伺服系统的性能,不仅与步进电机本体的特性有关,而且还与步进电机的控制方式、驱动电源的特性及负载特性有着密切的关系,特别是驱动电源技术方面,对步进电机运行性能的改善,如高频力矩的提高,步距分辨率的提高,单步振荡及振动的消除等方面起着至关重要的作用。
1.2设计的目的与意义
掌握步进电机的工作原理及控制方法,本次设计任务要完成的目标是:
利用单片机控制实现步进电机的启停、正转、反转、加速、减速、实现步进电机的细分控制、控制器满足步进电机的幅频特性等功能。
1.3选择方案
1.3.1步进电机的概述
步进电机是一种将电脉冲信号转换为角位移的执行机构,由步进电机及其功率驱动装置构成一个开环的定位运动系统。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步距角)。
脉冲输入越多,电机转子转过的角度就越多,输入脉冲的频率越高,电机的转速就越快。
因此可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度,从而达到调速的目的。
步进电机种类,根据自身的结构不同,可分为常用三大类:
反应式(VR,也称磁阻式)、永磁式(PM)、混合式(HB)。
其中混合式步进电机兼有反应式和永磁式的优点,它的应用越来越广泛。
1.3.2步进电机工作原理
图1是一个四相磁阻式步进电机的结构示意图,该电机定子上有8个凸齿,相距180°的两个凸齿构成一相,每一相上的线圈反相连接,这样8个齿就构成四相,AA1、BB1、CC1、DD1,因此称为四相步进电机[1]。
图1四相磁阻型的步进电机结构示意图
当有一相绕组被励磁时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他的六个凸齿并无磁通。
为使磁通路径最短,在磁场力的作用下,转子被迫转动,使最近的一对齿与被励磁的一相对准。
在图1的a图中B相被励磁,转子与B相对准。
在这个位置上,再对A相进行励磁,则转子在磁场作用下顺时针转过15°,如图1的b图所示,这样步进电机就转过了一个步距角。
继续对C相进行励磁,转子在磁场的作用下进一步顺时针转过15°,到达c图所示的位置,又转过了一个步距角。
再对D相进行励磁,又产生了一个新的磁场,在磁力的作用下转子又转过一个步距角15°。
这样步进电机的四相完成一个通电循环,若要继续转动,就继续顺次励磁,即步进电机按照A→B→C→D→A顺序顺次励磁,那么电机就不停地转动;若要电机反转,只需要改变电机的励磁顺序,按照A→D→C→B→A的次序励磁即可。
一般对步进电机采用半步驱动,即四相八拍工作方式,使步进电机每次励磁转过1/2的步距角,即每次改变励磁方式步进电机转过7.5°,它的励磁方式是A→AB→B→BC→C→CD→D→DA→A,若要反转也是只需改变励磁方式即可,即按照A→AD→D→DC→C→CB→B→BA→A,采用八拍工作方式使得电机的转动更加稳定,也进一步增强了步进电机的控制精度。
改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。
它们之间的相互关系,可由下式计算:
Lθ=3600/(P×N×C)
式中:
Lθ为步长;P为相数;N为转子齿数;C为通电方式。
在图1中,步长为150,表示电机转一圈需要24步。
1.3.3控制方案
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制[2]。
步进电机最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定,步进电动机开环控制系统组成如图2。
在本文中我们选用的步进电机为四相八拍混合式步进电机57BYG450,参数具体如下:
电压12v,电流0.45A,步距角1.80/步,空载启动频率1200步/秒,空载运行频率≥20步/秒,转动惯量0.135kg/cm2。
图2步进电动机开环控制系统组成
第二章步进电机驱动器
2.1驱动器的选择
混合式步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得了更为广泛的应用。
但其步距角较大、分辨率低、易发热等缺点往往满足不了工业上的精确定位和大扭矩控制。
为解决上述问题,本电路采用混合式步进电机驱动芯片L297/L298。
2.1.1L297/L298驱动特性分析
一般情况下,步进电机根据环形分配器决定分配方式,各绕组的电流轮流切换,从而使步进电机的转子步进旋转。
步距角的大小只有两种,即整步工作和半步工作,而步距角已由电机的结构确定。
如果在每次输入脉冲切换时。
不是将绕组电流全部通入或关断,只改变相应绕组中的额定电流的一部分,则转子相应的每步转动原有步距角的一部分,而额定电流分成多少次进行切换,转子就以多少步完成一个原有的步距角。
这种将一个步距角细分成若干步的驱动方法即为细分驱动[3]。
同时,在步进电机每相绕组通电周期中,常用的驱动方法采用恒定电流值驱动,该方法在驱动大力矩负载时往往发热现象严重。
为了解决上述问题,提出了斩波恒流驱动方法,在斩波恒流电路中,采用高电压驱动,电机绕组回路不串联电阻,这样电流上升的速度会很快。
同时在电路中设置采样电阻,在绕组电流达到额定值时,由于采样电阻的反馈作用,通过比较器使电源电压工作在关断状态,从而使绕组电流保持在额定值附近内波动。
由于电源电压并不是一直向绕组供电,而只是一个个窄脉冲,总的输入能量是各脉冲时间的电压与电流乘积的积分,取自电源的能量大幅度下降,具有很高的效率,降低了发热量。
在驱动器中采用将细分和斩波恒流驱动结合技术,电机内电流波形图如图3(b)。
2.1.2L297/L298功能分析
L297单片步进电动机控制器集成电路适用于双极性两相步进电动机或单极性四相步进电动机的控制。
用L297输出信号可控制L298双H桥驱动集成电路,用来驱动
(a)普通方法驱动(b)斩波恒流细分驱动
图3驱动电路电流波形
电压为12V,每相电流为0.45A以下的步进电动机。
L297也可用来控制由达林顿晶体管组成的分立电路,驱动更高电压、更大电流的步进电动机。
此器件的特性是只需要时钟、方向和模式输入信号。
相位是由内部产生的,因此可减轻微处理机和程序设计的负担。
此芯片是具有20个引出脚的双列直插式塑胶封装的器件,采用固定斩波频率的PWM恒流斩波方式工作。
L297主要由译码器、两个固定斩波频率的PWM恒流斩波器以及输出逻辑控制组成,工作原理分述如下:
L297的核心是脉冲分配器,它产生三种相序信号,对应于三种不同的工作方式:
即半步方式(HALFSTEP);基本步距(FULLSTEP,整步)一相激励方式;基本步距两相激励方式。
脉冲分配器内部是一个3bit可逆计数器,加上一些组合逻辑,产生每周期8步格雷码时序信号,这也就是半步工作方式的时序信号。
此时HALF/FULL信号为高电平。
若HALF/FULL取低电平,得到基本步距工作方式,即4步工作方式。
L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的转矩-频率特性。
每个斩波器由一个比较器,一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号。
图4中,频率f,是由外接16脚的RC网络决定的,当R>10
kΩ时。
F=1/0.69RC,当时钟振荡器脉冲使触发器置l,电机绕组相电流上升,采样电阻的Rs电压上升到基准电压Vref时,比较器翻转。
使触发器复位,功率晶体管关断,电流下降,等待下一个振荡脉冲的到来。
这样触发器输出的是恒频PWM信号,调制L297的输出信号,绕组相电流峰值由Pref整定。
图4L297内部斩波器电路示意圈
2.2驱动器的芯片连接
L297和L298的芯片及其管脚功能如下图5所示,L297和L28的组合控制驱动的应用电路图如图6。
图5L297/L298的芯片图
图6L298和L297的组合电路图
L297和L298的组合驱动控制的真值表如下:
励磁方式
励磁相
(A相)
(B相)
(C相)
(D相)
四相八拍混合式步进电机
A
1
0
0
0
AB
1
1
0
0
B
0
1
0
0
BC
0
1
1
0
C
0
0
1
0
CD
0
0
1
1
D
0
0
0
1
DA
1
0
0
1
第3章单片机控制电路
3.1步进电机控制器
AT89C52是美国ATMEL的低电压、高性能8位CMOS单片机。
片内置8K字节可重复擦写的Flash闪速存储器,256字节RAM。
3个16位定时器,可编程串行UART通道。
对完成步进电机的简单控制已足以胜任[4]。
本控制器主要由AT89C52单片机晶振电路、
3.1.1步进脉冲产生电路
在采用单片机的步进电机开环系统中,控制系统的CP脉冲的频率或换向周期实际上是控制步进电机的运行速度。
系统可用两种办法实现步进电机的速度控制:
一种是延时,一种是定时。
延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的CP脉冲或换向周期。
延时子程序的延时时间与换
图8步进电机速度控制器设计
向程序所用的时间和就是CP脉冲的周期。
该方法简单,占用资源少,全部由软件实现,调用不同的子程序就可实现不同速度的运行;但占用CPU时间长,不能在运行时处理其他工作,因此只适合较简单的控制过程。
定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便的控制系统输出CP脉冲周期。
当定时器起动后,定时器从装载的初值开始对系统及其周期进行加计数;当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序。
将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。
由于从定时器装载完重新起动开始至定时器申请中断止,有一定的时间间隔,造成定时时间增加。
为了减少这种定时误差,实现精确定时,要对重装的计数初值作适当调整。
调整的重装初值主要考虑两个因素:
一是中断响应所需的时间;二是重装初值指令所占用的时间,包括在重装初值前中断服务程序中的其他指令因素。
综合这两个因素后,重装计数初值的修正量取8个机器周期,即要使定时时间缩短8个机器周期。
在定时中断方式控制电动机变速时,实际上是不断改变定时器装载值的大小。
在控制过程中,采用离散办法逼近理想升降速曲线。
为了减少每步计算装载值的时间,系统设计时就把各离散点的速度所需的装载值固化在系统的ROM中,系统在运行中用查表法查出所需的装载值,这样可大幅减少占用CPU的时间,提高系统的响应速度。
其流程图如下:
3.2步进电机起动及加/减速控制方案
步进电动机的最高起动频率(突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则可以达到N*102KHz.以超过最高起动频率的频率直接起动,将出现"失步"现象,甚至无法起动.较为理想的起动曲线,应是按指数规律起动.但实际应用对起动段的处理可采用按直线拟合的方法,即"阶梯升速法".可按两种情况处理,①已知突跳频率则按突跳频率分段起动,分段数n=f/fq.②未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量(后称阶梯频率)△f=f/8,即采用8段拟合.在运行控制过程中,将起始的速度(频率)分为n分作为阶梯频率,采用"阶梯升速法"将速度连续升到所需要的速度,然后锁定,按预置的曲线运行.
如图2所示.
用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时,使脉冲频率增高,减速时相反.如果使用定时中断来控制电机的速度,加减速控制就是不断改变定时器的初值.速度从V1→V2如果是线性增加,则按给定的斜率升/降速;如果是突变,则按"阶梯升速法"处理.在此过程中要处理好两个问题:
3.2.1速度转换时间应尽量短
为了缩短速度转换的时间,可以采用建立数据表的方法.,结合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表,并通过转换程序将其转换为定时初值表.通过在不同的阶段调用相应的定时初值,控制电机的运行.定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行.
3.2.2保证控制速度的精确性
要从一个速度准确达到另外一个速度,就要建立一个校验机制,以防超过或未达到所需速度.
3.2.3步进电机的换向问题
步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内再换向,以免产生较大的冲击而损坏电机.换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个CP脉冲前发出.如图3所示.对于CP脉冲的设计主要要求其有一定的脉冲宽度(一般不小于5μs)、脉冲序列的均匀度及高低电平方式.
在某一高速下的正、反向切换实质包含了降速→换向→升速三个过程.
3.2.4速度与定时器初值的转换
本系统的速度控制是依靠定时产生CP脉冲来完成的,设定的速度与产生CP脉冲的定时器初值间存在一定关系.C51定时器的工作方式有多种,本设计定时器工作在连续方式下.在连续模式,定时器从它的当前值开始计数,当计到0FFH后又从"0"开始重新计数.在该方式下,将定时器的当前值和比较寄存器CCRX相比较,如相等则产生中断,并在该中断服务程序中可以将下一个事件发生的时间加到比较寄存器CCRX上,如图4,如此这样便会得到连续的定时时间间隔,并在每一个定时间隔到来产生中断请求.
定时初值=所需定时值/计数周期;对于步进电机其速度值常以频率形式给定,诸如运行在20KHZ下,因此上式可转换为:
定时初值=计数频率/速度值.(其中计数频率为系统时钟频率)
3.3显示及键盘电路:
3.4细分电路的设计
针对上述两种现有的细分技术状况,本论文的目的在于:
(1)、从理论和实践的角度,建立一种新的步进电动机高精度细分方法和数学模型,以消除现有技术方案中不可克服的滞后角△θ值所引起的问题,使细分技术提高到更高的水平。
(2)、在新原理方法指导下设计相应的硬件控制电路。
(3)、设计细分控制函数修正的电路及其相应的计算机自动控制程序。
本电路的构思及技术解决方案叙述如下:
为了实现高精度的定位,对步进电机步距进行高分辨细分的关键,也是本系统的难点所在。
从以上的分析可知,步进电动机的细分驱动电路都是通过电流合成矢量的旋转来实现的。
一般的细分方法只改变某一相的电流,该方法的缺陷是电流合成矢量的幅值是不断变化的,使步进电机的传距亦随之变化,从而引起滞后角的变化,最终就影响可细分数的增加,即限制了分辨率的提高。
采用现有技术细分方法时的电流矢量旋转示意图(图2.2):
图2.2电流矢量旋转示意图
为了能够从根本上解决这个问题,消除现有技术中由于滞后角的变化引起的△θ值大于微步距角而导致不可继续细分的问题,只有使电流合成矢量ih形成新的距角特性曲线,为达到这一点,必须满足一下两个条件:
(1)、电流合成矢量旋转时每次变化的角度要均匀;
(2)、电流合成矢量的大小或幅值要保持不变。
基于这个条件,即可建立“电流矢量恒幅均匀旋转”细分驱动方法。
同时改变两相电流的大小,使电流合成矢量恒幅均匀旋转。
这种方式可称为步进电机的模拟运行,它是一种基于交流同步电机概念的特殊细分技术,实质是对运行于交流同步电机状态的步进电机所受的交流模拟信号在一个周期内细分,即每个细分点对应于一个交流值。
当细分数相当大时,例如本系统中将一个四分之一周期分成4096个点,电机绕组的电流信号就逼近模拟连续信号。
这种细分技术可以极大地提高步进电机的分辨率和运行稳定性。
3.5程序设计
在程序的编制中,要特别注意步进电机在换向时的处理。
为使步进电机在换向时能平滑过渡,不至于产生错步,应在每一步中设置标志位。
在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。
这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。
本设计应用单片机和L297、L298集成电路构成步进电机控制驱动器.使用LCD1602
做显示,包括实时速度显示和状态显示,L297自带正反转控制功能,1/2细分功能等,单片机主要是产生脉冲,显示及控制L297的正反转,停止,半步全步等。
此次编程及调试是用keil软件进行的,程序的编写及调试步骤如下:
1.根据步进电机步进电机的相序,编好正反转相序表,这个是关键,不能编错。
2.定义各个变量及相关液晶显示符
3.定义各个按键:
4.编写各个子程序。
5.编写主程序,进入主程序即开始进行键盘扫描及调用液晶显示。
6.定时器T0的中断服务程序,进入中断,若满足条件,即向步进电机送脉冲。
1602LCD的一般初始化(复位)过程:
脉冲产生:
本系统的速度控制是依靠定时产生CP脉冲来完成的,设定的速度与产生CP脉冲的定时器初值间存在一定关系.C51定时器的工作方式有多种,本设计定时器工作在连续方式下.在连续模式,定时器从它的当前值开始计数,当计到0FFH后又从"0"开始重新计数.在该方式下,将定时器的当前值和比较寄存器CCRX相比较,如相等则产生中断,并在该中断服务程序中可以将下一个事件发生的时间加到比较寄存器CCRX上,如图4,如此这样便会得到连续的定时时间间隔,并在每一个定时间隔到来产生中断请求.
定时初值=所需定时值/计数周期;对于步进电机其速度值常以频率形式给定,诸如运行在20KHZ下,因此上式可转换为:
定时初值=计数频率/速度值.(其中计数频率为系统时钟频率)
第四章总结
本文创新点在于提出应用单片机和L297、L298集成电路构成步进电机控制驱动器.使之具有元件少.可靠性高、占空间少、装配成本低等优点.通过软件开发,可以简化和减轻微型计算机的负担.另外.在上面提出的在加减速程序中定时器的装载值用式子计算不精确,这两条赋值要执行不少的时具体做的时候.可直接把初值计算出来或把除号用相加来计算.以达到精确的目的.
步进电机开环控制系统具有成本低、简单、控制方便等优点。
本次设计中该驱动单元通过细分特性,提高了步进准确度和定位准确度。
在长时间的大力矩驱动过程中,由于其斩波恒流特性较好控制了发热现象。
但同时,由于本人时间和经验不足,技术水平有限,还存在一些不足之处需加以改进:
本设计采用开环控制,负载位置对控制电路无反馈,因此步进电机必须正确响应每次励磁变化。
如果励磁频率选择不当,电机不能达到新的要求位置,那么实际的负载位置相对