编号:82882046
类型:共享资源
大小:141.50KB
格式:DOC
上传时间:2020-05-31
上传人:glfsn****3.com
认证信息
个人认证
余**(实名认证)
中国
IP属地:中国
20
积分
- 关 键 词:
-
步进
电机
速度
控制系统
设计
- 资源描述:
-
目录
1总体规划的确定1
1.1步进电机1的分析
1.2电机控制方案2
1.3控制算法的方案3
1.4串行通信模拟3
硬件的设计与实现
2.1微处理器选择4
2.2控制电路4的实施
2.3键盘和显示电路6
3软件设计和实施7
3.1控制信号输入程序7
3.2步进电机控制程序设计8
3.3程序分析和解释10
4系统模拟和调试11
4.1程序调试11
4.2串行通信调试11
4.3调试结果和分析12
5设计总结13
参考文献14
附录15
步进电机调速系统设计报告
1总体规划的确定
该系统以单片机为核心,接收并分析来自键盘或串口的控制指令,通过中央处理器的逻辑运算输出控制信息,使步进电机按要求转动。由于步进电机是开环元件,系统不需要反馈环节,但也要求控制信号足够精确。另外,为了实现单片机和电机之间的信号对接,需要增加一个步进电机驱动单元。
1.1步进电机分析
步进电机,也称为脉冲电机,是一种机电数模转换器,将电脉冲信号转换成角位移。在开环数字程序控制系统中,输出控制部分通常采用步进电机作为驱动元件。步进电机控制电路接收来自计算机的指令脉冲,控制步进电机相应转动,步进电机驱动数控系统的工作台或刀具。显然,指令脉冲的总数决定了数控系统工作台或刀具的总位移,指令脉冲的频率决定了移动速度。因此,命令脉冲能否可靠地执行基本上取决于步进电机的性能。
步进电机的工作是步进旋转。一般步进电机工作时,其电源是单极DC电源。如果步进电机旋转,步进电机定子的每相绕组必须在适当的时间通电。当步进驱动器接收到脉冲信号时,它驱动步进电机在设定的方向上旋转一个固定的角度(即步进角度)。角位移可以通过控制脉冲数来控制,从而达到精确定位的目的。同时,通过控制脉冲频率可以控制电机的速度和加速度,达到调速的目的。本设计采用单片机输出的可调脉冲作为单片机的控制信号,通过改写脉冲频率来调节单片机的转速。
有三种常见的步进电机:永磁型、电抗型和混合型。永磁型步进电机一般为两相,转矩和体积较小。无功步进一般为三相,可以实现大转矩输出,但噪声和振动都很大。混合式步进是指混合永磁型和电抗型的优点。它分为两个阶段和五个阶段,使用最广泛。单片机引脚的输出电压一般不足以驱动步进电机旋转,因此需要在单片机和步进电机之间增加驱动电路。
1.2电机控制方案
步进电机有三相、四相、五相和六相,不同的电机有多种工作模式。由于步进电机是将电脉冲信号转换成直线或角位移的执行元件,它不能直接连接到交流/DC电源,但必须使用特殊设备——步进电机来控制驱动器。典型的步进电机控制系统如图1所示:控制器可以发出脉冲信号,其脉冲频率可以从几赫兹连续变化到几十千赫兹,这为环形分配器提供了脉冲序列。环形分配器
主要功能是将控制环节的脉冲序列按照一定的规则分配,然后通过功率放大器的放大作用施加到步进电机驱动电源的各个输入端,驱动步进电机旋转。环形分配器主要有两种类型:一种是使用计算机软件设计方法来实现环形分配器所需的功能,通常称为软环形分配器。另一种类型是环形分布
软环分配采用微机控制,而不是脉冲分配器,直接将控制信号的分支引脚送到驱动电路。常用的方法是通过对输出存储器中定义的控制模式进行编程来输出字。这样,当确定步进电机的相数和控制方式时,根据一定的规则输出控制字就足够了。软环分配用程序代替了脉冲分配器,在一定程度上降低了成本。然而,如果有许多控制字要预先存储,它将占用更多的内存在单片机。另外,当被控步进电机的相数较多时,所需的输出引脚也会增加,从而占用单片机更多的数据端口,降低了接口的利用率,限制了单片机实现更多的功能。由于该任务要求系统具有键盘、显示器、串口控制等部分,并且要控制两个电机,为了留下更多的数据接口来实现上述功能,设计并选择了常规的电机控制电路。脉冲分配器完成电机绕组电平的时序控制(即脉冲分配),使得每个电机只需要一个单片机相应输出触发信号(控制方向)和一组脉冲波(控制速度)。需要注意的是,脉冲波频率的计算和输出控制不如直接输出控制字的方法精确,并且由于脉冲分频器的存在,响应效果会稍差一些。
1.3控制算法方案
单片机对步进电机的控制算法也很多。例如,上述输出字方法是利用单片机内部的定时功能,以固定的间隔输出控制字,将电机速度的控制变为两个输出之间的时间间隔的控制。控制算法在很大程度上取决于电机的控制方案。
以上选择的电机控制方案要求单片机实时输出改变电机方向的触发信号和控制电机转速的脉冲信号。
对于电机方向的控制,按键或串口控制命令可以改写相应标记量的值,并通过接口输出。
电机速度的控制是对输出脉冲波频率的控制,并且该频率应该通过时间标度来测量。单片机中输出频率的控制是通过两个中间变量的比较来实现的:一个变量(由a代替)由单片机中的定时器重写,所表示的时间量作为标度;另一个变量(由B代替)被一个键或串行端口控制指令重写以表示速度值(其大小可以通过算术运算与实际速度统一)。每次执行定时器中断程序时,程序都会改变其电平:原来的高电平变为低电平,原来的低电平变为高电平。显然,B的值直接决定了比较结果的速度,即输出端高低电平的变化速度。改变B的大小可以改变输出脉冲频率,从而控制步进电机的速度。
变量的使用不仅有利于控制输出脉冲频率,而且有利于多个步进电机的异步运行。为每个电机定义一个速度变量,并分别与时间标量进行比较,比较结果控制相应引脚电平的变化。通过反转或位异或来重写引脚电平可以有效地控制输出电平,而不会相互干扰。
1.4串行通信的模拟
单片机上提供了一个通用异步收发器,用于串行通信。数据发送时由TXD终端送出,接收时由RXD终端输入。有两个缓冲区SBUF,一个作为发送缓冲区,另一个作为接收缓冲区。通用异步收发器的TTL级可用于短距离机间通信,驱动芯片可连接到RS232C与通用微机通信。波特率时钟必须从内部定时器1或定时器2获得。
本设计利用软件模拟上位机的控制终端,通过串口向单片机的串口输出控制信号,形成不同于键盘的另一种控制模式。
硬件的设计与实现
2.1微处理器的选择
AT89C51是一款低电压、高性能的CMOS8位微处理器,具有4K字节闪存可编程可擦只读存储器和128字节随机存取数据存储器。片上通用8位中央处理器由ATMEL的高密度和非易失性存储技术生产,并与标准的MCS-51指令系统兼容。AT89C51提供以下标准功能:4K字节闪存、128字节内部RAM、32个输入/输出端口和两个16位定时/计数器。五矢量两级中断结构、全双工串行通信端口、片内振荡器和时钟电路。同时,AT89C51可以降低到0Hz静态逻辑运行,并支持两种软件可选的节能运行模式。空闲模式停止中央处理器的工作,但允许随机存取存储器、定时/计数器、串行通信和中断系统继续工作。掉电模式保存随机存取存储器的内容,但振荡器停止工作,并禁止所有其他组件工作,直到下一次硬件复位。AT89C51足以实现步进电机的简单控制。
2.2控制电路的实现
传统的步进电机由ULN达林顿驱动器驱动,该驱动器包含多个达林顿管并且适于驱动感应负载。本文设计的步进电机控制驱动器的框图如图2所示:
图2步进电机控制驱动器框图
L297芯片是一种硬件环路集成芯片,可以为计算机控制的两相双极或四相单极步进电机产生四相驱动信号。内部主要部分是一组解码器,可以产生各种所需的相位序列。该器件由两种输入模式控制,方向控制(顺时针/逆时针)和半/满,以及步进时钟,步进时钟可以将解码器从一个步骤推到另一个步骤。解码器有四个输出点连接到输出逻辑部分,以提供抑制和斩波功能所需的相位序列。因此,L297可产生三相序信号,对应三种不同的工作模式:半步、全步、单相励磁模式和基本步、两相励磁模式。脉冲分配器内部设置有3-3位可逆计数器,组合逻辑产生每周期8步的格雷码定时信号,它是半步操作模式下的定时信号。此时,半/全信号为高功率。如果半/全为低电平,则获得基本步进工作模式,即双四拍全步进工作模式。L297的另一个重要组成部分是两个脉宽调制斩波器控制相绕组电流,实现恒流斩波控制,以获得良好的转矩频率特性。每个斩波器由一个比较器、一个RS触发器和一个外部采样电阻组成,并配有一个公共振荡器,为两个斩波器提供触发脉冲信号。
L298是一款高电压、高电流双全桥驱动器,设计用于接受标准TTL逻辑电平信号并驱动感应负载,如继电器、圆柱线圈、DC电机和步进电机。L298有两个抑制输入,允许器件不受输入信号的影响。每个桥的三级管的发射极连接在一起,并且相应的外部端子可以用于连接外部感测电阻器,并且可以布置另一个输入电源以使得逻辑能够在低电压下工作。L298芯片是一个15引脚多瓦直接插入封装的集成芯片。
由L297和L298组成的步进电机控制电路如图3所示。这种控制电路的优点是元件少,装配电路简单,成本低,可靠性高,占用空间小。控制电路所需的信号也相对简单,可以简化和减轻微机的负担。此外,L297和L298是独立的芯片,因此组合和控制非常灵活。然而,缺点是受控电机的类型和操作模式将受到芯片的限制。
图3步进电机控制电路
2.3键盘和显示电路
本设计的键盘采用低级有效的独立键盘,采用位操作扫描键盘。选择LM016L液晶显示器显示,可同时显示两个电机的运行方向和速度。
添加通信串口、晶振及相关附件后的系统整体电路图如下(系统调试后的完整电路图见附录):
3软件设计和实现
单片机是系统的核心,主要承担接收控制信号、逻辑分析计算、控制变量输出及显示、计算输出等功能。该程序采用模块化设计。以上功能主要包括主功能、键盘扫描、串口中断、定时中断和显示程序。其中,主要功能主要是定义和设置单片机的工作模式、内部元件和中断,以及协调各模块之间的操作顺序。其流程图如下:
图5主要功能流程图
3.1控制信号输入程序
控制信号可以通过独立的键盘和串口通信输入。键盘输入主要使用扫描程序,即键盘接口的逻辑值是连续取的,键盘的控制信息可以通过特定值的位操作来识别。
串行通信控制信号的输入也采用扫描方式,但单片机软件要做的主要是定义计数器的工作和串口协议,如波特率等。串行通信成功实现后,通过编辑获得的数据可以形成相应的控制输出。
为了避免两个控制信号之间的冲突,程序通过外部开关选择控制模式。整个控制信号输入程序的流程图如下:
图6输入扫描程序流程图
3.2步进电机控制程序设计
在确定方案时,曾提到步进电机的控制主要是控制单片机的输出脉冲频率。频率的速度必须用时间来衡量。显然,微控制器内部的定时器用于计时,电平输出指令在定时器中断程序中。每次计时结束时,都会执行比较操作,并反向重写电平。值得注意的是,由于微控制器定时器的定时是减去预先存储的起始量。这样,为了加速电机速度和增加输出频率,必须减少速度标量B以减少两者的比较次数,并且更频繁地执行中断以重写电平,从而达到增加频率的目的。频率控制原理图如图7所示。
图7频率变化原理
从图中可以清楚地看到,速度标志量越小,输出波形的频率越快。由此,我们可以确定键盘控制和串口控制下步进电机控制算法程序的流程图如下:
图8步进电机控制程序流程图
3.3程序分析和描述
本设计的程序使用了许多变量,其中运行速度变量在控制输入和控制输出之间起着关键作用。可以说,运行速度的控制就是电机速度的控制。在计数器阶段,Cnt变量的使用释放了计时器,使其成为一个独立的行程时间,计算计时器中断的次数,而计数器本身不参与逻辑运算。这样,大大提高了单片机中有限定时器的利用率。当新控件需要时间测量时,只需要添加变量。另外,反转改变输出电平的算法简单方便,节省了单片机的存储空间,也节省了有限的数据端口。该设计方案可以在多个方面充分提高单片机的利用率,值得推广。
4系统模拟和调试
在仿真过程中,首先完成由键盘控制的步进电机的加减速控制,以确定键盘扫描和电机行走的基本算法是否可行。之后,打开一个新的界面来控制另一个电机。新变量的加入使得两台电机的异步运行变得非常容易。最后,对串行接口的通信和控制进行了仿真。
4.1程序调试
对于脉冲波的输出算法,可以选择引脚位定义,然后将变量或引脚代码分别反相。这种方法可靠且简单,但是如果要控制的电机数量很大,程序将会非常长。8位异或运算可以解决这个问题。位异或只能影响目标引脚而不影响其他引脚的输出,并且可以同时重写多个引脚的电平。
键盘扫描就是不断地使用I
调试监视器的关键是将初始化信息准确地成批发送给监视器。对于本设计中使用的AT89C51微控制器,如果选择P0作为显示输出,必须在P0的每个引脚上连接一个拉电阻。然而,电机速度的显示需要选择一个合适的转换函数,以运行速度作为因变量来显示正确的速度值。
4.2串行通信调试
调试串行通信的关键是正确初始化串口。一旦通信成功,串行端口控制解决了大部分问题,然后缓存中的数据用于编程控制。它的算法离键盘控制不远。
串口调试中最重要的一点是,除了串口初始化和程序中的通信外,电路图中设备相关属性的设置必须符合通信要求。例如,串口的波特率应该设置为软件中的初始化波特率。同样,也应仔细选择模拟上位机的传动位置和停止位置。
本设计只完成了单片机和控制端口之间的简单的字节通信,所以能够通信的控制功能非常有限。
4.3调试结果
经过调试,系统可以通过键盘和串口异步控制两个步进电机,并在显示屏上显示每个电机的转向和转速。串口控制的仿真效果如下图所示:
图9
- 内容简介:
-
-
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。