登录|立即注册|使用QQ帐号登录
论坛 > 51单片机
发帖|
看3130|回2|收藏
楼主 ID:184758 只看他
2017-3-30 12:02
关于单片机驱动步进电机的资料.

电机的电路原理图:
0.png 0.png

单片机程序:

代码:

  1. #include <reg52.h>


  2. //unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
  3. //unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格

  4. void delay(unsigned int i)//延时
  5. {
  6. while(i--);
  7. }
  8. void main()
  9. {


  10. while(1)
  11. {
  12. //
  13. //     P1=0x01;  //输出对应的相 可以自行换成反转表格
  14. //     Delay(500);        //改变这个参数可以调整电机转速
  15. //     P1=0x02;  //输出对应的相 可以自行换成反转表格
  16. //     Delay(500);        //改变这个参数可以调整电机转速
  17. //     P1=0x04;  //输出对应的相 可以自行换成反转表格
  18. //     Delay(500);        //改变这个参数可以调整电机转速
  19. //     P1=0x08;  //输出对应的相 可以自行换成反转表格
  20. //     Delay(500);        //改变这个参数可以调整电机转速
  21.                 P1=0x00;
  22.                 delay(1000);
  23.                 P1=0xff;
  24.                 delay(1000);
  25.                


  26.   }
  27. }


代码:

  1. /*
  2. 1、本程序用于测试4相步进电机常规驱动
  3. 2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
  4. 3、速度不可以调节的过快,不然就没有力矩转动了
  5. 可以按照给的原理图接线
  6.   接P1.1-P1.4
  7. */


  8. #include <reg52.h>


  9. unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
  10. unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格

  11. void Delay(unsigned int i)//延时
  12. {
  13. while(--i); m               
  14. }

  15. main()
  16. {

  17. unsigned char i;

  18. while(1)
  19. {
  20.   for(i=0;i<4;i++)      //4相
  21.      {
  22.              P1=F_Rotation[i];  //输出对应的相 可以自行换成反转表格
  23.              Delay(500);        //改变这个参数可以调整电机转速
  24.          }
  25.   }
  26. }

0.png
下载:
步进电机资料.rar (542.79 KB)
(下载次数: 72, 2017-3-30 12:01 上传)

下载积分: 黑币 -5


沙发 ID:212426 只看他
2019-7-19 11:43
谢谢分享。。。
板凳 ID:588621
2019-7-25 21:55

引用:

mass_lynnxy 发表于 2019-7-19 11:43
谢谢分享。。。

加个好友3334156266qq让我看看程序大佬

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版