找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1894|回复: 5
打印 上一主题 下一主题
收起左侧

单片机+uln2003步进电机驱动问题

[复制链接]
跳转到指定楼层
楼主
在网上买两套uln2003驱动板和步进电机,程序用下面的去测试,怎么都无法驱动这两套电机,用的最小系统STC89C52。程序在仿真软件上试过能驱动电机,下载到板上就是不行,请教一下,这是什么问题。驱动线和电源线连接都没错。
*******************************************************
接线方式:
IN1 ---- P00
IN2 ---- P01
IN3 ---- P02
IN4 ---- P03
+   ---- +5V
-   ---- GND
*********************/
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. #define MotorData P1                    //步进电机控制接口定义
  5. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A
  6. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D
  7. uchar speed;
  8. //ms延时函数
  9. void Delay_xms(uint x)
  10. {
  11. uint i,j;
  12. for(i=0;i<x;i++)
  13.   for(j=0;j<112;j++);
  14. }
  15. //顺时针转动
  16. void MotorCW(void)
  17. {
  18. uchar i;
  19. for(i=0;i<4;i++)
  20.   {
  21.    MotorData=phasecw[i];
  22.    Delay_xms(speed);//转速调节
  23.   }
  24. }
  25. //停止转动
  26. void MotorStop(void)
  27. {
  28. MotorData=0x00;
  29. }
  30. //主函数
  31. void main(void)
  32. {
  33. uint i;
  34. Delay_xms(50);//等待系统稳定
  35. speed=40;
  36. while(1)
  37. {
  38. for(i=0;i<10;i++)
  39.   {
  40.    MotorCW();  //顺时针转动
  41.   }  
  42.   speed--;     //减速
  43.   if(speed<4)  
  44.   {
  45.    speed=40;    //重新开始减速运动
  46.    MotorStop();
  47.    Delay_xms(500);
  48.   }  
  49. }
  50. }
复制代码

1.jpg (113.42 KB, 下载次数: 63)

1.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:467738 发表于 2019-11-20 11:47 | 只看该作者
补充一下,上电后LED灯也没有一个亮的。
回复

使用道具 举报

板凳
ID:467738 发表于 2019-11-22 09:15 | 只看该作者
昨晚解决了
回复

使用道具 举报

地板
ID:25310 发表于 2019-11-22 10:56 | 只看该作者
啥情况,没加上拉电阻?
回复

使用道具 举报

5#
ID:643424 发表于 2019-12-19 18:33 | 只看该作者
问一下楼主怎么解决的,我现在也遇到了这个问题
回复

使用道具 举报

6#
ID:627772 发表于 2020-1-1 21:04 | 只看该作者
这个有问题?我做的同时控制两个没什么问题。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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