OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 28BYJ48步进电机介绍和测试程序

共1条 1/1 1 跳转至

28BYJ48步进电机介绍和测试程序

菜鸟
2017-06-27 14:44:20    评分
 我们的开发要用到步进电机,因此选择了性价比较高的28BYJ48步进电机,并对其进行了学习和测试,下面介绍下28BYJ48步进电机和测试程序:

      28BYJ48步进电机介绍
      1、本次设计使用的是28BYJ48步进电机。以ULN2003APG作为驱动。步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。
       2、28BYJ48步进电机是5V 驱动的4相5线的步进电机,而且是减速进电机,减速比为1:64 ,步进角为5.625/64度。如果需要转动1圈,那么需要360/5.625*64=4096个脉冲信号。
         3、改变脉冲的顺序,可以方便的改变转动的方向。
        4、该步进电机的耗电流为200mA左右,驱动端口为P0.0(A),P0.1(B),P0.2(C),P0.3(C)。正转次序:AB组--BC组--CD组--DA组(即一个脉冲,正转5.625度);反转次序:AB组--AD组--CD组--CB组(即一个脉冲,正转 5.625 度),如表1,表2所示:


       5、电机主要参赛如下图所示:

        测试程序
        附上一个简单的28BYJ48步进电机c语言测试程序 :
        /*
      步进电机测试程序
     */
#include 
#define unit unsigned int
sbit set1=P0^0;        //定义四线步进电机4个IO口
sbit set2=P0^1;
sbit set3=P0^2;
sbit set4=P0^3;
 


void Delay(unit t)       //延时函数
{
   while(--t);
}
void main(void)
{
 for(;;)
   {
     set1=set2=0;      //相1 : 1100
     set3=set4=1;
     Delay(8000);
     set3=set2=0;      //相2 : 1001
     set1=set4=1;
     Delay(8000);
     set1=set2=1;      //相3 : 0011
     set3=set4=0;
     Delay(8000);
     set3=set2=1;      //相4 : 0110
     set1=set4=0;
    Delay(8000);       //如此循环即可实现转动,如果需要反方向转动,则必须是相4-相1时序
 }



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]