一种基于步进电机调速系统的设计

时间:2022-06-08 10:27:41

一种基于步进电机调速系统的设计

【摘要】设计一种以单片机为控制器的步进电机调速系统,具有速度测量和控制功能,能够显示和设定电机转速。采用C语言编程,利用控制理论知识,设计软件控制算法,实现了电机调速的稳定工作。

【关键词】步进电机;调速;算法

1.引言

步进电机是将电脉冲信号转变为角位移或线位移的控制驱动装置,能够快速启停、精确步进,是自动控制系统中主要控制器件之一。其工作特点是通过输入脉冲信号来进行控制,电机的转速只受脉冲信号作用,不受负载变化的影响,所以通过控制脉冲的频率,可以方便地控制电机的速度和加速度,实现调速的目的。随着信息技术的发展,许多先进的理论得到推广和应用,步进电机通过细分驱动技术,可以减小转动的步距角,提高运行的稳定性,降低噪声,显著改善动态性能。在控制系统对电机工作的应用特性要求越来越高的形势下,步进电机以其过载性好、控制方便、可靠性高的优点,将得到更广泛的应用。掌握更多的步进电机控制技术,对运动控制系统的设计有着非常重要的意义。

2.系统设计方案

系统设计以STC89C52RC单片机为控制器,通过I/O接口输出控制信号,利用驱动器L298N产生控制脉冲,实现对电机工作的控制。利用按键输入设定电机转速,通过单片机定时器对控制脉冲计数计时,测定电机转速,并通过LCD12232液晶实时显示。系统的调速根据控制理论知识设计控制方法,通过编程语言实现,在设定速度改变后,控制器按照控制算法,输出相应的控制信号,使电机转速迅速达到设定值,实现自动控制快速、精确、稳定的要求。主要电路有单片机控制电路、电机驱动电路、按键输入电路和液晶显示电路。系统整体方框图如图1所示:

图1 系统整体方框图

3.电机转速的检测

步进电机的工作是随着控制脉冲的输入,按照相应的步距角转动。以四相八拍式步进电机为例,电机的正常工作是按照四个相序,以八个节拍的控制脉冲为一个循环。步距角为0.9o,则一个脉冲循环过程转过的角度为,使步进电机转过一圈的脉冲循环次数,所以对步进电机转速的测量可以对控制脉冲计数,通过单片机定时器计时,测定转动一圈脉冲数量的时间,转换为相应时间转动圈数。在以步进电机组成的运动系统中,很方便通过检测电机转速来计算系统的传动速度。例步进电机带动传送带运动,电机转动半径为R,电机转速为N转/分,则系统的传送速度,所以通过控制输入脉冲可以实现对传动系统的速度的精确控制。设步进电机的四相依次为A、B、C、D,八拍的控制脉冲顺序为A—AB—B—BC—C—CD—D—DA。系统设计利用单片机的P1口低四位接口控制步进电机的四相,按照电机相序,P1口的控制脉冲顺序为:0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09,将控制脉冲反向输入时可方便地控制电机反向转动。简单的C语言程序测速函数和定时计时函数如下:

Void cesu()

{ char code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};

TR0=1;

for(j=0;j

{for(i=0;i

{ P1=FFW[i];

delay(m);

}

}

Su=1/t;

TR0=0;

}

void time0() interrupt 1

{ TH0=0xDC;

TL0=0x00;

t++;

}

4.电机转速的控制

控制步进电机的转速实际是对输入脉冲频率的控制,通过增大控制脉冲的频率来增加转速,减小脉冲频率来减小转速。对脉冲频率的控制可以通过调整脉冲间的延时时间,也可以利用定时器定时控制脉冲频率。由于电机转动是机械转动,在脉冲频率太高时,电机出现振动现象,设计延时函数时,在最小的时间参数下应保证脉冲频率能够使电机正常工作,同时注意转速改变太大时会出现失步现象。在设定电机转速后,系统实时测定电机转速,通过检测反馈信号,计算转速偏差,然后按照偏差数据设定电机控制算法。系统设计以调节脉冲间隔延时的方式设定控制方法有比例(P)控制、比例积分(PI)/控制。

4.1 比例(P)控制

比例控制是输出与偏差成比例

工作特点是响应快,能够根据偏差快速调节,不足之处是不能够消除余差。通过单片机设计程序的比例控制为数字比例控制,简单的C语言程序实现控制算法如下所示,其中su1为输入的设定速度值,可以通过按键调整,su为实际测量速度值,e为偏差值,a为比例控制系数,m为脉冲延时控制的输出量,m1为辅助变量,当偏差为零时,输出变量m等于m1,使系统稳定。

Void pc()

{ int su1,e,m1;

cesu();

e=su1-su;

m=a*e+m1;

m1=m;

}

4.2 比例积分(PI)控制

比例积分控制是比例与积分共同作用

积分作用的一个优点是它能够消除余差。如果偏差为零,积分控制器的输出不变,偏差不为零时,使积分控制器的输出向上或向下变化。虽然积分作用能够消除系统余差,但是积分作用很慢,需要对误差积累到一定程度才能有明显的控制作用,所以积分控制器很少单独使用,通常将积分作用和比例作用一起使用,构成PI控制,实际的利用单片机程序控制是数字离散控制,累计一定时间内的转速偏差,进行PI控制。利用C语言程序设计控制算法如下,其中ee为累计偏差,tt为累计时间,可以通过定时器计时获得。

Void PIC()

{ int su1,e,m1;

cesu();

e=su1-su;

ee=ee+e;

m=a*e+ee/tt+m1;

m1=m;

}

5.结束语

步进电机的控制主要是对输入脉冲的控制,相比于直流电机而言,更容易控制电机的启停与加速,方便对转速的检测。本文设计是以单片机为控制器,简要说明电机的驱动方式,重点论述对电机的速度测量和控制,从实际应用角度,设计以单片机为核心,利用C语言编程实现的速度检测方法和控制算法,经过实际系统设计应用,电机转速得到了精确稳定的检测和控制。

参考文献

[1]王娟.步进电机智能控制系统的设计[J].机电工程技术,2013(6):15-17.

[2]杨滁光,徐德好.步进电机的单片机控制方法探讨[J].仪器仪表用户,2009(4):101-103.

[3]王晨光,孙运强,许鸿鹰.步进电机的单片机控制设计分析[J].国外电子测量技术,2008(9):39-41.

上一篇:TSW2500型短波发射机浮动载波节能情况实验分析 下一篇:基于TC控制的坦克火炮系统的非线性研究