05基于89S52单片机的步进电机联动作图控制修改.docx
《05基于89S52单片机的步进电机联动作图控制修改.docx》由会员分享,可在线阅读,更多相关《05基于89S52单片机的步进电机联动作图控制修改.docx(33页珍藏版)》请在冰豆网上搜索。
05基于89S52单片机的步进电机联动作图控制修改
摘要
本文目的是要完成基于水电模拟数据采集的图形显示部分。
步进电机是一种进行精确步进运动的机电执行元件,它广泛地用于对精度要求比较高的运动控制系统中。
因此本文采用步进电机来实现图形显示部分的功能,其核心是用单片机控制两个电动机联动带动画笔,依照数据进行作图。
本文比较了几种常见的步进电机驱动电路后,选择以ULN2803和L298N芯片为驱动器的两种驱动电路设计方案并且设计了相应的过压保护电路。
该方案硬件电路简单,控制和保护电路也较完善,采用集成芯片调试也较模拟电路简单,编程也非常方便。
采用AT89S52作为步进电机联动作图的控制器,通过C51程序对步进电机的运动进行控制,以实现作图的功能。
软件分为送脉冲模块,电机走步控制模块和插补算法模块三部分,其中重点研究了步进电机运动的圆弧插补算法。
设计步进电机走步控制的小灯模拟,采用实验箱上的小灯模拟程序控制下的步进电机获得脉冲的实际情况。
分别用六个小灯代表两个步进电机的A、B、C三相,小灯亮表示电机该相在该时刻获得高电平,小灯熄,表示电机该相在该时刻获得低电平。
对小灯模拟可能出现的问题和问题原因可能性进行分析和改进。
并分析了小灯模拟的局限性,提出了小灯模拟在实际运用中应该注意的问题。
关键词:
89S52步进电机驱动电路插补算法
Abstract
Theaimistocompletethecollectionofdatabasedonthegraphicspowersimulationshowed.ElectricalisastepintheimplementationofprecisionmechanicalandelectricalcomponentsoftheEgyptiancampaign,whichiswidelyusedforhigh-precisionmovementcontrolsystemforcomparison.Thustheelectricalmotorsusedtoachievethispartofthefunctionalgraphicsshow,thecoreofwhichiscontrolledbytwoelectricmotorssinglechipmicroprocessortobrushthem,inaccordancewiththedatamap.
Themorecommontypesofelectricalmotorsdrivingcircuit,chooseULN2803andL298Nchipstodrivethetwo-drivencircuitdesignanddesigncorrespondingoverVoltageprotectioncircuit.Theprogrammesimplehardwarecircuit,controlandprotectioncircuitshaveabetteruseofintegratedcircuitchipdebuggingismoresimplesimulation,programmingisalsoveryconvenient.
AT89S52usedasasteppingelectricallinkagemapofthecontroller,throughC51proceduresforthemovementtoadvancetheelectricalcontrolforthefunctionalmap.Softwaremodulesintosendingpulse,thecontrolmoduleandelectricalgenerationalgorithmmodulesspacedthreeparts,whichfocusonthemyriadelectricalmovementvocabularywidelyalgorithms.
Costumedesigncontrolsmallelectricalmotorslightssimulationexperimentsusingsmallboxesoflightstotheelectricalsimulationprogrammedcontrolofthemyriadpulsatingreality.RespectivelywithsixsmalllightsonthetwoelectricalmotorsA,B,Cthree-phase,thesmalllightsinthelightofthetimethattheelectricalaccessHigh-levelVoltagesmalllightsputoutthatthemomentwasthattheelectricalHigh-levelVoltage.Simulationofsmalllightsmaycausepotentialproblemsandissuesanalysisandimprovement.Simulationandanalysisofthelimitationsofthesmalllampsmadeusingsmalllightstobesimulatedinrealattention.
Keywords:
89S52ElectricalmotorsDrivingcircuitDrainalgorithms
目录
第1章绪论1
1.1引言1
1.2选题的意义和目的1
1.3步进电机系统历史现状及发展趋势1
1.4步进电机原理2
1.5步进电机的单片机控制3
第2章步进电机控制系统组成与实现5
2.1步进电机控制系统的组成5
2.2单片机的选用5
2.2.1AT89S52简介5
2.2.2晶振电路6
2.2.3复位电路7
2.3步进电机选用7
2.4步进电机驱动电路的设计与选择9
2.4.1步进电机驱动电路的设计方案9
2.4.2步进电机驱动电路的选择10
2.5步进电机控制电路的抗干扰设计13
2.5.1干扰的产生13
2.5.2抗干扰措施13
第3章步进电机控制的程序实现15
3.1步进电机控制软件设计简介15
3.2送脉冲模块16
3.2.1步进电机三相六拍工作方式16
3.2.2与T/C有关的特殊功能寄存器17
3.2.3送脉冲模块程序17
3.3电机走步控制模块18
3.3.1步进电机输出字表18
3.3.2步进电机走步控制程序20
3.4插补算法模块21
3.4.1圆弧插补算法21
3.4.2圆弧插补算法程序流程图22
3.4.2采用圆弧插补算法画圆程序25
第4章步进电机控制系统的模拟与分析27
4.1步进电机走步控制的小灯模拟27
4.1.1小灯模拟原理27
4.1.2小灯模拟效果显示27
4.2小灯模拟结果分析28
4.3小灯模拟的在实际运用上的局限性28
束结语29
致谢词30
参考文献31
附录一ULN2803步进电机控制系统电路图33
附录二L298N步进电机控制系统电路图34
附录二步进电机控制的程序36
第1章绪论
1.1引言
随着电子技术的迅速发展,特别是随大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。
如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业测控领域带来了一次新的技术革命。
目前,单片机以其高可靠性、高性能价格比,在工业控制系统、数据采集系统、智能仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。
因此,我的毕业设计选题为基于89S52单片机的步进电机联动控制。
1.2选题的意义和目的
着世界高科技发展的潮流,中国的工程测量技术走进了高科发展的道路,为我国国民经济、科学教育、特别是国防军事的发展做出了巨大贡献。
而工程测量所采集的数据迫切需要一种现代化的手段将其实时的,直观的表现出来。
将采集的数据用图形化的方式表现出来是一种常用的,具有广泛应用前景的手段。
本设计目的是要完成基于水电模拟数据采集的图形显示部分。
图形显示部分就是在平面上作出所采集数据的图形,其核心是控制两个电动机联动带动画笔,依照数据进行作图。
水电模拟所采集的数据主要是水的压力,电场强度等,图形显示部分的任务是通过单片机控制步进电机做出压力等势线和电势等势线等图形。
这些等势线大都是不规则曲线,因而在软件设计中需要重视插补算法的实现。
1.3步进电机系统历史现状及发展趋势
步进电机又称脉冲电动机,是数字控制的一种执行元件。
它是随着计算机控制系统发展而发展起来的,利用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或者线位移的电动机。
步进电机驱动器是其控制系统中的一部分。
而步进电机与它的驱动器是一个整体的不可分割的两部分,统称为“步进电动机单元”。
因而步进电机与驱动器关系密切。
晶体管技术的应用,使驱动器向小型化前进了一步。
70年代驱动器技术进入全盛时期,步进电机及其相应的驱动器相续问世,如日本的EPM系列、美国的M系列、德国的IBS/IBC系列等。
功放驱动元件除了用晶体管外,也可用晶闸管,电源线路结构除了采用单一电压等级的驱动器外,还有采用两种不同电压等级的驱动器;随着步进电机的应用和发展,其驱动器也在不断发展、完善和提高,驱动电路集成化已成为一种趋势。
以美国为例,它生产的步进电机驱动器体积仅两个香烟盒大小,而功能上可驱动较大的步进电机,工作发热低,电机工作平稳。
而驱动技术方面现在应用较多的有斩波驱动、升频升压驱动等。
1.4步进电机原理
图1-1为三相反应式步进电机的工作原理图,其定子上有六个极,每个极上装有控制绕组,每相对的两极组成一相。
转子上有四个均匀分布的齿,其上没有绕组,当A相控制绕组通电时,转子在磁场力的作用下与定子齿对齐,即转子齿1、3和定子齿A、A'对齐,如图1-1(a)所示。
若切断A图2-1步进电机外型图相,同时接通B相,在磁场力作用下转子转过300,转子齿2、4和定子齿B、B'对齐,如图1-1(b)所示,转子转过一个步距角。
如再使B相断电,同时C相控制绕组通电,转子又转过300,使转子齿1、3和定子齿C、C'对齐,如图1-1(c)所示。
如此循环往复,并按A→B→C→A顺序通电,步进电机按一定方向转动。
电机的转速取决于控制绕组接通和断开的变化频率。
图1-1三相反应式步进电机单三拍工作时工作原理图
实际的步进电机的转子铁心和定子磁极上均有小齿,齿距相等。
定子和转子
的齿数要有一定比例的配合,即要求在某一相的一对极下,定子和转子的齿一一对齐,而此时在其它两相的磁极下,定子和转子的齿要分别错开一定的角度。
这样,如果步进电机的三相绕组按一定的方式通电,那么它就以一定的步矩角进行走步。
步进电机的步距角的大小是由转子的齿数、控制绕组的相数和通电方式决定,它们之间存在以下关系,如式1-1所示。
(1-1)
式中,θs为步距角;C为通电状态系数,当采用单相或双相通电方式时,C=1;
而采用单、双相轮流通电方式时,C=2;m为步进电机的相数;Zr为步进电机转子齿数。
控制绕组通电状态的改变,是由外加输入脉冲驱动电路来实现的。
每当外电
路送入一个脉冲,控制绕组的通电状态即改变一次,与此对应步进电机将转动一个步距角。
因此步进电机转过的步距角数等于外加脉冲数,则步进电机的转速为,如式1-2所示。
(1-2)
式中f为步进电机通电的脉冲频率,单位为Hz;n为步进电机的转速,单位为r/min。
步进电机的转速用步矩角表示为,如式1-3所示
(1-3)
由式(1-1)和(1-2)可知,电机的相数和转子的齿数越多,则步距角就越小,电机在脉冲频率一定时的转速也越低。
当电机的相数和转子的齿数一定转子的转速和输入的脉冲频率成正比。
因此,改变输入的脉冲频率就可以改变转速,改变通电状态顺序就可以实现正反转。
由于这些特性,步进电机控制系统中,能够按照控制命令实现启动、停止、升速、降速、正反转等操作[2]。
1.5步进电机的单片机控制
步进电动机的驱动电路根据控制信号工作。
在步进电动机的单片机控制中,控制信号由单片机产生。
其基本控制作用如下。
(1)控制换相顺序
步进电动机的通电换相顺序严格按照步进电动机的工作方式进行。
通常我们把通电换相这一过程称为脉冲分配。
例如.三相步进电动机的单三拍工作方式,其各相通电的顺序为A—B—C,通电控制脉冲必须严格按照这一顺序分别控制A、B、C相的通电和断电。
(2)控制步进电机的转向
通过前面介绍的步进电机原理我们知道,如果按给定的工作方式正序通电换相,步进电机就正转;如果按反序通电换相,则电动机反转。
例如,三相步进电动机工作在单三拍方式,通电换相的正序是A—B—C,电动机就正转;如果按反序A—C—B,电动机就反转。
(3)控制步进电动机的速度
如果给步进电动机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔时间越短,步进电功机就转得越快。
因此,脉冲的频率决定了步进电动机的转速。
调整单片机发出脉冲的频率,就可以对步进电动机进行调速[2]。
第2章步进电机控制系统组成与实现
2.1步进电机控制系统的组成
步进电机控制系统由控制系统(89S52),步进电机驱动模块,步进电机和悬挂运动控制系统四部分组成。
步进电机控制系统的组成框图如图2-1所示。
图2-1步进电机作图控制系统的组成框图
2.2单片机的选用
2.2.1AT89S52简介
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
AT89S52引脚图如图2-2。
图2-2AT89S52引脚图
本文在设计时选用了ATMEL公司的AT89S52单片机,是出于以下几方面的考虑:
(1)插好单片机芯片后,可以在线刷新单片机内部程序,不需要频繁的插上拔下,不再需要启动像89C51那样的12V的VPP编程高压,也大大降低开发的成本。
在线编程刷新芯片的寿命超过普通89C51的10倍以上,性能方面完全兼容51全系列。
(2)ISP技术最大的优势还是在于在线刷新程序带来的所见即所得的易用性。
这个ISP在线编程器的革命性编程方式使得修改程序的容易程度接近仿真器。
ISP可烧写芯片的型号库支持自定义添加。
板载编程器是通过电脑并口完成,它的写入速度是采用COM串口板载编程器速度的5倍以上。
(3)在本地就能方便地买到,性价比高,可得到销售商的技术支持。
2.2.2晶振电路
单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚X1和X2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成内部震荡方式。
由于单片机内部有一个高增益反向放大器,当外接晶振后,就构成了自激振荡器并产生震荡时钟脉冲。
内部震荡方式的外部电路如图2-3所示。
本系统选C1和C2值为10pF。
图2-3晶振电路图
2.2.3复位电路
复位是单片机的初始化操作。
单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
当AT89S52单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
图2-4复位电路图
2.3步进电机选用
步进电机在控制系统中是执行元件,在计算机接口和编程时是检测元件和解算元件。
了解步进电机的主要技术参数,特别是其矩频特性,合理选择步进电机,是整个控制系统可靠工作的前提和保证。
步进电动机的选用主要考虑以下几个指标:
(1)步距角:
每给定一个电脉冲信号,电动机转子所应该转过角度的理论值,其计算公式如下:
式中:
Z-转子的齿数;
N-转子转过一个齿距的运行拍数。
步进电机的转速n由下式表示:
式中:
f-输入脉冲的频率(Hz);
Z-转子的齿数;
N-转子转过一个齿距的运行拍数。
可见步进电机转速的高低,取决于输入到步进电机的脉冲频率的高低。
电脉冲频率f高,则电机转速快,反之,转速慢。
因此,步进电机的运动控制问题从根本上说就是要控制输入到步进电机的脉冲。
(2)最大静转矩;
(3)响应频率和起动频率
要求步进电动机输出很大的转矩,还是要求较高的定位精度和较快的反应速度,这是设计控制系统需要首先考虑的问题。
步距角越小,分辨率越高;电动机的响应速度越快,系统的速度越快,整个系统的效率就越高。
在选用步进电动机时,必须着重考虑步距角、响应频率和起动频率。
步进电动机的选用将在很大程度上影响整个控制系统的分辨率和速度。
实际应用中,由于负载参数无法确定等原因,要结合现场的需要,即可选择出合适的步进电机。
此设计主要考虑超生自动扫描系统,故选择了常州微特电机总厂生产的36BF003和55BF003-II两种三相六拍反应式步进电机。
电机技术参数如表所示。
表2-1两种步进电机的主要技术参数
电机型号
步距角(0)
相电压(V)
相电流(A)
静转距kg
cm
空载启动频率
运行频率
36BF003
1.5/3
27
1.5
0.82
3100Hz
12000Hz
55BF003
1.5/3
27
3
7
1800Hz
12000Hz
2.4步进电机驱动电路的设计与选择
2.4.1步进电机驱动电路的设计方案
方案一:
用集成芯片L297和L298配合使用。
L297是步进电机控制器,适用于双极性两相步进电机或单极性四相步进电机,L298是步进电机驱动器,内含两个H桥的高电压大电流双全桥式驱动器,接受标准TTL逻辑电平,可驱动46V,2.5A及其以下的步进电机。
图2-5为此方案的电路框图。
图2-5步进电机驱动电路方案一框图
方案二:
用分立元件自行搭建驱动电路。
可将驱动电路分为隔离电路模块、控制电路模块、功放模块和电机过流保护模块。
电路方框图如图2-6所示。
图2-6步进电机驱动电路方案二框图
方案三:
用专用电机驱动芯片L198N驱动步进电机。
电路方框图如图2-7所示。
脉冲信号
控制信号
图2-7步进电机驱动电路方案三框图
方案四:
采用小功率步进电机驱动芯片ULN2803驱动电机。
电路方框图如图2-8所示。
方案选择:
方案三,方案四硬件电路简单,控制和保护电路也较完善,采用集成芯片,调试远比模拟电路简单,编程也非常方便,就本设计而言驱动电压和电流也完全可以达到要求。
因而使用二相步进电机选择了方案三,使用三相、四相步进电机选择方案四。
2.4.2步进电机驱动电路的选择
实验设计选择以ULN2803为三相步进电机动芯片的驱动电路。
ULN2803是一种达林顿管阵列驱动芯片,其内部有八路达林顿管,组成最大工作电压50V,当工作电压达到最大时工作电流可达到500MA。
ULN2803可以单路输入,单路
输出,当负载较大时采用单路方式不足以满足要求时也可以采取多路并行输出驱动,原理图如图2-9所示。
图2-9ULN2803工作原理图
ULN2803管脚图如图2-10所示。
图2-10ULN2803管脚图
实验设计选择以L298N为二相步进电机驱动芯片的驱动电路。
L298N是SGS公司的产品,内部含4通道逻辑驱动电路,步进电机专用驱动器,,内含两个H桥的高电压大电流双全桥式驱动器,接受标准TTL逻辑电平,可驱动46V,2A及其以下的步进电机。
其引脚图如图2-11所示,1脚和15脚单独引出连接电流采样电阻器形成电流传感信号[10]。
图2-11步L298N管脚及外围电路图
L298N可驱动两个电机,MO5,MO6,MO7,MO8之间分别接两个电机。
5,7,10,12脚接入控制电平,控制电机正反转,ENA,ENB接控制使能端,控制电机停转。
L298N逻辑功能如表2-2所示:
表2-2L298N逻辑功能
ENA(B)
IN1(IN3)
IN2(IN4)
电机运行情况
H
H
L
正转
H
L
H
反转
H
同IN2(IN4)
同IN1(IN3)
快速停止
L
X
X
停止
L298N与步进电机之间连入过压保护电路。
该电路有4对二极管并联而成,具体连接见图2-12。
当加在步进电机各相的脉冲电平高于5V时将不会有电流流入电机。
图2-12过压保护电路
2.5步进电机控制电路的抗干扰设计
2.5.1干扰的产生
在单片机应用系统中,影响系统正常工作的主要因素是来自系统内部和外部的各种干扰。
内部干扰是指元器件本身产生的干扰,通过电源、地线、分布电容和电感等途径影响系统工作。
外部干扰是指雷电及其他电气设备产生的干扰,电源和地线引入的干扰等。
如何有效地抑制干扰是单片机应用系统开发
成功与否的关键所在。
单片机系统中的干扰有多种类型。
一是来自空间辐射的干扰。
可控硅逆变电源、变频调速器、发射机等特殊设备在工作时会产生很强的干扰,在这种环境中单片机系统难以正常运行;二是来自电源的干扰。
各种开关的通、断、火花干扰、大电动机启停等现象在工业现场很常见,这些来自交流电源的干扰对单片机系统的正常运行危害极大;三是来自信号通道的干扰。
2.5.2抗干扰措施
本系统为了抗干扰采取的主要措施有:
(1)电源去耦。
对于系统中每一片集成电路,在电源和地之间都要加上去耦电容。
该电容既是本芯片的蓄能电容,也能抑制高频噪声。
(2)在满足要求的前提下尽量用较低的时钟频率和低频的器件。
(3)合理布置元件在线路板上的位置,把模拟电路、高速数字电路和产生噪声的功率驱动部分合理地分开。
各部件之间的引线尽量短,对各种输入输出线进行分类,以减少寄生电容的干扰。
布线时避免900折线,减少高频噪声发射