28BYJ48型步进电机的控制方法

来源:本站
导读:目前正在解读《28BYJ48型步进电机的控制方法》的相关信息,《28BYJ48型步进电机的控制方法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《28BYJ48型步进电机的控制方法》的详细说明。
简介:本文给大家介绍了28BYJ48型步进电机的控制方法。

步进电机是一种将电脉冲转化为角位移的执行设备。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。我们可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时我们可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V。当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A……),双(双相绕组通电)四拍(AB-BC-CD-DA-AB……),四相八拍(A-AB-B-BC-C-CD-D-DA-A……)。本例是使用四相八拍驱动方式实现的。

下面是我写的C语言控制程序实现28BYJ48型步进电机正转五圈然后倒转五圈的效果:

//********************************************************************************//*  标题:  步进电机正反转演示程序                                               *//*  文件:  步进电机正反转演示.C                                                 *//*  日期:  2015-3-13                                                            *//*  环境:  使用自制单片机最小系统板测试通过                                     *//********************************************************************************//*  描述:  28BYJ-48步进电机正反转控制                                           *//*  电机使用端口:P1.0、P1.1、P1.2、P1.3                                        *//*  单双八拍工作方式:A-AB-B-BC-C-CD-D-DA                                       *//********************************************************************************#include #include//**********************正向旋转相序表*****************************unsigned char code FFW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//**********************反向旋转相序表***************************** unsigned char code REV[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//***********************延时子程序******************************** void delay(unsigned int t){                             unsigned int k;   while(t--)   {     for(k=0; k<125; k++)     {}   }} //**********************步进电机正转****************************** void  motor_ffw(unsigned int n) {   unsigned char i;   unsigned int  j;   for (j=0; j<8*64*n; j++)    {      for (i=0; i<8; i++)        {          P1 = FFW[i];         delay(1);         }    } } //*********************步进电机反转******************************** void  motor_rev(unsigned int n){    unsigned char i;  unsigned int  j;  for (j=0; j<8*64*n; j++)      {        for (i=0; i<8; i++)        {          P1 = REV[i];          delay(1);        }      } } //*************************主程序*********************************main() {     while(1)                        {        motor_ffw(5);          //电机正转5圈       delay(1000);       motor_rev(5);          //电机反转5圈       delay(1000);    } }

提醒:《28BYJ48型步进电机的控制方法》最后刷新时间 2024-03-14 01:04:01,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《28BYJ48型步进电机的控制方法》该内容的真实性请自行鉴别。