找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8580|回复: 10
收起左侧

五一单片机控制四线双极性步进电机的各种源程序

  [复制链接]
ID:243768 发表于 2017-10-28 21:07 | 显示全部楼层 |阅读模式
用五一单片机来控制步进电机的几种转动方式
0.png

原理图:
0.png

1 单四拍工作的源程序
2 双四拍工作的源程序
3 半步八拍方式的源程序
4 细分的源程序
技术资料\
271398.pdf
2916应用.pdf
UDN2916应用.pdf
UDN2916英文1.pdf
步进电机细分.pdf

局部原理图.jpg
步进电机接线图.jpg


这是其中的一个单片机源程序:
  1. /*************************************************************************************
  2. *  标题:  步进电机试验三(半步八拍)                                                                                                 *
  3. *    通过本例程了解步进马达使用及驱动程序编写                                                                                 *
  4. *;   半步八拍工作方式:                                                                    *
  5. *;   正转:A/  A/B  B  AB  A  AB/  B/  A/B/
  6. *    反转:A/B/  B/  AB/  A  AB  B  A/B  A/                                                                                                       *
  7. *    UDN2916电流控制真值表:
  8. *         I0    I1       输出电流
  9. *          L            L                  最大
  10. *          H                L                  最大*2/3
  11. *          L                H                  最大*1/3
  12. *     H     H         0                                                                     *
  13. *  请学员一定要消化掉本例程                                                                    *
  14.    J14短路冒需断开                                                                                                    *
  15. **************************************************************************************/  
  16. #include "reg52.h"

  17. #define speed 2
  18. //Motor
  19. sbit PH1 = P1^0;          //定义管脚
  20. sbit PH2 = P1^1;
  21. sbit I01 = P1^2;
  22. sbit I11 = P1^3;
  23. sbit I02 = P1^4;
  24. sbit I12 = P1^5;



  25. void delay(int time);

  26. /***************************************
  27. 函数功能:产生脉冲控制步进机
  28. 正转:A/  A/B  B  AB  A  AB/  B/  A/B/
  29. I0 I1 均为0 以最大电流输出(没有四分) 均为1不输出电流
  30. **************************************/
  31. void Go()
  32. {         
  33.         //A/  A拍反向电流
  34.         PH1 = 0;         //PH1为0 A组线圈为反向电流
  35.     I01 = 0;
  36.         I11 = 0;         //以最大电流输出(没细分) 以下相同 均是此意思
  37.         
  38.         
  39.         PH2 = 1;     //PH2为1 B组线圈为正向电流
  40.         I02 = 1;
  41.         I12 = 1;     //关闭电流输出,以下相同均是此意思
  42.       
  43.    

  44.         delay(speed);

  45.          // A/B  AB拍 A为反向电流  B为正向电流
  46.     PH1 = 0;     //PH1为0 A组线圈为反向电流
  47.     I01 = 0;
  48.         I11 = 0;
  49.         

  50.         PH2 = 1;     //PH2为1 B组线圈为正向电流
  51.         I02 = 0;
  52.         I12 = 0;


  53.         

  54.         delay(speed);
  55.         //B          B拍 B为正向电流
  56.         PH1 = 1;
  57.     I01 = 1;
  58.         I11 = 1;
  59.         
  60.          PH2 = 1;
  61.         I02 = 0;
  62.         I12 = 0;
  63.         
  64.         delay(speed);
  65.         //AB   AB拍 均为正向电流

  66. ……………………

  67. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
四线双极性.rar (4.09 MB, 下载次数: 147)

评分

参与人数 2黑币 +57 收起 理由
zqy181818 + 7 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:283843 发表于 2018-2-12 15:36 | 显示全部楼层
看看  谢谢
回复

使用道具 举报

ID:277732 发表于 2018-2-13 12:51 | 显示全部楼层
厉害 学习一下
回复

使用道具 举报

ID:303205 发表于 2018-4-7 16:24 | 显示全部楼层
学习一下了,感谢楼主
回复

使用道具 举报

ID:336174 发表于 2018-6-7 23:25 | 显示全部楼层
我想问一下就是步进电机的四个管脚怎么接呢?我的是A A/ B B/ 型的
回复

使用道具 举报

ID:199737 发表于 2018-6-13 22:48 | 显示全部楼层
delay(speed);有什么作用?为什么是speed?
回复

使用道具 举报

ID:369969 发表于 2018-9-9 10:19 | 显示全部楼层
现在四线两相电机可不好买
回复

使用道具 举报

ID:298008 发表于 2020-2-9 15:51 | 显示全部楼层
谢谢楼主分享!!!
回复

使用道具 举报

ID:714776 发表于 2020-5-7 17:39 | 显示全部楼层
lengyu309 发表于 2018-6-13 22:48
delay(speed);有什么作用?为什么是speed?

speed是程序里面宏定义的,其实是代表了一个数值,来调整速度的
回复

使用道具 举报

ID:873907 发表于 2021-3-27 16:52 | 显示全部楼层
小辑轻舟 发表于 2018-4-7 16:24
学习一下了,感谢楼主

这个介绍详细着
回复

使用道具 举报

ID:896506 发表于 2021-5-23 09:52 | 显示全部楼层
可以用定时器实现吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表