基于单片机的步进电机控制设计
2017-01-28乐荣廷海南大学
乐荣廷海南大学
基于单片机的步进电机控制设计
乐荣廷
海南大学
现代社会科技发展迅速,单片机正在各个领域发挥着重要的作用。步进电机作为现代数控系统中的重要执行元件,因为其优越特性受到广泛的关注与研究。本文即基于单片机对这类控制电路的设计方案构想。
脉冲;步距角;控制;细分驱动
一、步进电机工作原理
步进电机属于开环控制电机,能够将电脉冲信号转变成线位移量或角位移量。从结构上来看,它主要由定子和转子构成。当步进驱动器接收到一个脉冲信号时,在不失步的前提下,电机只会产生周期性误差,而不是累进误差,这是因为它转过每周的步数是随步距角固定的,步距误差不会随着周数累积。电机能够以每步一定的角度旋转,通过控制脉冲个数可控制角位移量,从而达到准确定位的目的。
二、步进电机的分类
根据构造可以分为反应式(转子为电工纯铁)、永磁式(转子为永久磁铁)和混合式(转子为电工纯铁与永久磁铁)三种。其中,反应式步进电机构造简单,成本低,步距角为1.2°,但动态性能较差,可靠性低。永磁式的动态性能好,但步距角较大一般为7.5°/15°,精度较差。混合式步进电机结合了上述两种的长处,但结构复杂成本较高。由于性能较均衡,且相对来说较实惠,两相的混合式步进电机成为市面上最受欢迎的步进电机,尤其是它可在配上驱动器后达到更高的精度。
三、重要特性指标介绍
(1)步距角
定子绕组上有电流通过时,会在周围空间激发带有方向的磁场,使转子和定子的磁场方向随着转子转动的某一固定角度而转动,如此循环。这即可看做以特定规律来改变定子绕组上的电流,来控制其产生的磁场的转动。每当接收到脉冲信号时,步进电机按预先编辑好的方向被控制转过一个确定的角度,即一个“步距角”。因此在设计上,使用电机中相位不同绕组来依次分配,提供连续的脉冲信号后,能使电机按步距角不间断的转动。这个固定角度是生产出厂后固有的。实际工作中电机不一定按这个固定角度转动,而是跟驱动器有直接关系。
(2)转矩
在通电情况下,电机处于不转动的状态,则固定住转子不转动的定子的力矩称为转矩。在电机输出功率较低时,力矩和保持转矩大小上接近。输出力矩随着电机速率的逐渐提升而趋向降低,随之输出功率也发生相应变化。
(3)空载启动频率
即为在不接负载时,使步进电机由静止突然启动并进入不失步的状态且能够运行正常所允许的最高频率。在电机空载启动后,如果频率不等于空载启动频率,则一般无法正常工作并发生故障,如丢步等。在非空载情况下启动后,频率要求会较之低一些。当电机要实现速度的提升时,需要以一个固定不变的加速度不断加速。
(4)相数
即电机内部线圈组数。由于相数不同,步距角也不同。现在市面上常见的有二相、三相、四相、五相的电机。例如,二相步进电机的步距角是0.9°/1.8°,三相步进电机的是0.75°/1.5°。相数越多,步进电机的性能越好。
四、电路设计
(1)硬件设计
驱动器的选择:根据具体的功能实现进行驱动的选取,若需要低速运行或定位精度要求小于0.9°,则选用细分驱动器,其原理为将一个步距角的距离分成若干个细分步完成,例如每周100标准步的步进电机在使用8细分驱动后,每周步数为100*8=800步,步距角缩小8倍,因此在精度上提高8倍。
选用51通用单片机系列中的STC89C51单片机进行外界命令的接收与处理,来控制二相步进电机的启动停止、正反转、速度快慢、步距角及对应线位移等参量。输入由串行口和键盘编程后控制,通过串行口与上位机进行通讯。根据键盘手动输入的编码(预先在程序中编辑好),用单片机输出电可擦除只读存储器中存放好的不同的电流控制信号来切换设计要求中的数模转换方式。
取P0口作为数模转换细分电流所需的8位数据口。取P2口编码作为按键中断控制细分模式选择,经过细分驱动的电路与步进电机相连接。(数据口可根据实际情况调整)
此外,在51单片机上连接一个8155芯片,其中AD口与P0口相连接收和锁存数据,地址锁存ALE、读信号RD、写信号WR、复位端RESET均与单片机对应口相连,当片选信号端CE低电平时有效,8155与单片机进行信息交换。
(2)软件设计
软件编程上,使用STC_ISP自带的软件延时保证电机转动每步的时间间隔;用由外部中断INT_0、INT_1等触发的中断子函数,实现按键启动停止电机、细分驱动器的切换控制等。在Keil中编辑主函数与功能函数,包括完成系统的初始化等。键盘输入选用4*1独立按键,程序上使用按键扫描和状态机中选择电机的工作方式进行编程。
由步距角=360°/(转子齿数*运行拍数)的公式可得,以转子齿为50齿的常规二相电机为例,四拍运行时整步的步距角=360/(50*4)=1.8°,八拍运行时半步的步距角=360/(50*8)=0.9°。由步距角计算出脉冲周期,然后根据驱动器的不同,按照其对应说明书上的时序,通过取P1口上所需用到的位数并对其进行高低电平的赋值作为所需脉冲,编成一个周期,一个周期即对应一个步距角。改变脉冲宽度可调整转速快慢,反置脉冲输出前后可反转电机。
(3)注意
上位机给步进电机的脉冲要与驱动器的分辨率一致;转换电机转动方向太频繁或超过步进电机响应频率均会会导致抖动。若步进电机的启动时抖动,可能是因为启动频率过高,针对这种情况需要使用加减速启动方式,通常将启动频率设置为正常运转的25%即可。