欢迎来到天天文库
浏览记录
ID:21818014
大小:25.00 KB
页数:5页
时间:2018-10-24
《基于单片机的步进电机细分驱动系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于单片机的步进电机细分驱动系统设计 摘要:为了优化步进电机的控制性能,使其具有更高的定位精度、更小的低速振动,更大的扭矩输出,本文设计了基于AT89C52单片机的步进电机细分驱动系统。通过对步进电机驱动原理进行详细分析,根据此原理完成系统的硬件设计和软件设计。本文最后对设计的系统进行实验,结果表明该驱动系统具有控制精度高、低频运行电机振动小等优点。 关键词:步进电机;AT89C52单片机;电机驱动 DOI:10.16640/j.cnki.37-1222/t.2017.06.136 0引言 步进电机也被称为脉冲电机,它是以控制器发出的脉冲信号作为驱动的运动元件。在不超过电机额定功
2、率下,步进电机运动的位置和速度只与脉冲数和脉冲频率有关,不会受其它因素影响,只要给步进电机一个脉冲信号,它就会转动一个固定角度[1-2]。相对于其他的控制方式,基于细分的步进电机驱动方案可以使电机具有更高的定位精度、更小的低速振动以及更大的扭矩输出,因此得到广泛应用。 1步进电机细分驱动的原理 步进电机控制原理如图1所示(这里都是以两相混和式步进电机为控制对象),控制转子旋转主要是通过控制各相绕组的电流大小使绕组合成磁势的大小和方向发生变化[3]。 常见的步进电机转子齿数一般为z=50,电机磁极对数为2p=2,当有一相绕组接通时,每一齿距的空间机械角为如公式1.1所示,每一极距所占的
3、转子齿数如公式1.2所示,为每一极距的空间机械角如公式1.3所示[4]。 从上公式1.2可以看出,因为每一极距所占的齿数是一个带小数的值,所以当某一个定子和转子一致时,其它的定子和转子一定会错开,这个角度计算公式为:(13-12.5)*t=0.25*t,所以,在步进电机换相时,转子实际转过的角度为0.25*θz=θs=1.8°。步进电机有很多种换相方式,比较常见的有以下两种:1)采用A-B-C-D顺序不断地通电。2)采用A-AB-B-BC-C-CD-D-DA-A通电顺序。采用第二种方式时,θs=0.9°,转子的转速可以由下式1.4计算出: 式中:电机拍数为N,每秒输入f个脉冲。 由上
4、式可以看出,只要N发生改变,步进电机的速度就会发生改变,步进电机增大细分也就是加大N的值,也就是所说的运行拍数变大,所以步距角就会变小[5]。采用这种方法会降低电机速度,为了达到预定速度,通常需要加快输入脉的频率f。 对步进电机细分控制其实就是对电流进行细分控制,电流大小被分为多少个阶梯等级,转动一个固定的步距角就需要多少步来实现。步进电机细分驱动如图2所示,从图中可以看出电机步距控制是通过控制绕组中电流实现,走一个步距角一般都是由许多个电流细分组成。因此,我们把这种控制方式称为细分控制。 2驱动系统硬件设计 步进电机驱动器硬件方案如图3所示。驱动器选择AT89C52单片机为主控制器
5、,步进电机由单片机产生的脉冲进行控制,通过数模转换模块D/A将控制器产生的数字信号转换为电压量,电压传输到脉冲分配器,功率电阻对电机相电流进行转换,这个电压和单片机D/A模块产生的电压进行比较,通过逻辑运算输出PWM波,这个PWM波功率较小,不能驱动电机,必须经过光耦电路进行功放大。电机的运转情况通过编码器采集,以直观的方式进行读取。 方案中的脉冲分配器选用IXM160高性能CMOS集成电路,该电路是美国IXMS公司生产的,它具有两路独立的脉冲输出,通常被用来驱动两路独立的H桥,以实现对电流进行精确的闭环控制。所以,IXM160非常适合用来做步进电机控制分散电路,借助该芯片对电流的高精度
6、控制,驱动器可以步实现200细分,即发送200个脉冲步进电机走一个步距角。数模转换模块D/A选取具有高达12位的高精度AD657模块,它的数模转换非常迅速,只需要2μs便可完成。功率开关管选择APT公司的APT34GE121BR器件。选用日本信浓公司生产的SST43D2165型步进电机,这款电机的工作频率范围很大,推荐工作在1.5A的电流下。测速编码器采用专门定制的编码器,具有20位的高精度。通过这种设计方案,不仅大幅提高了步进电机的运动精度,还使低速状体下的谐振与纹波大大减小,改善了电机的性能。 3步进电机细分驱动系统的软件设计 在运行前,我们先设定好步进电机的运动方式,按照:启动一
7、匀加速一匀速一匀减速一停止的方式运行,我们提前在单片机的EPROM中导入标准的正弦、余弦函数表,当步进电机需要运行在在恒转速,可以通过按键灯外部设备发送信号给单片机,单片机根据控制信号进行运行,数字信号经过D/A模块转换成电压信号送给脉冲分配器。因为C语言具有编程方便、移植性和可读性强的优点,因此AT89C52单片机采用C语言进行编写。启停控制时,需要安装S型曲线的方式进行启停,以增加控制精度,减小振动。为减少系统的运算
此文档下载收益归作者所有