找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4641|回复: 12
收起左侧

单片机ULN2003驱动步进电机程序写进去后不转 微微发烫

[复制链接]
ID:461673 发表于 2019-3-7 14:18 | 显示全部楼层 |阅读模式
这一款的
5X9F]1C73DG_IL34]Q4D.png
把程序写进去后电机不转 微微发烫,四个灯只亮了三个.什么情况


回复

使用道具 举报

ID:349617 发表于 2019-3-7 15:10 | 显示全部楼层
步进电机在刹车的时候电流是非常大的,要不就会溜了
回复

使用道具 举报

ID:123289 发表于 2019-3-7 15:52 | 显示全部楼层
你给了驱动,但没有换相或相序混乱。
回复

使用道具 举报

ID:461673 发表于 2019-3-7 16:15 | 显示全部楼层
小李子铁头 发表于 2019-3-7 15:10
步进电机在刹车的时候电流是非常大的,要不就会溜了

都没转哪来的刹车
回复

使用道具 举报

ID:238279 发表于 2019-3-7 16:23 | 显示全部楼层
示波器看一下驱动波形,如果没有示波器,可以先杜邦线按照通电顺序手动接一下,看是否正常以排除硬件问题
回复

使用道具 举报

ID:252893 发表于 2019-3-7 17:37 | 显示全部楼层
楼主好,不知道您的代码写得如何,发烫有可能是脉冲持续的时间太短了,导致脉冲带不动电机,能量转而消耗在电机的线圈上面。我这里有一种驱动您上面步进电机的方法:

假设管脚链接如下:
                               a--------p1.1
                               b--------p1.2
                               c--------p1.3
                               d--------p1.4

具体的脉冲编码如下:
   while(1)
{……
  p1.4=0;p1.0=1;delay_ms(20);//让脉冲延时20ms,
  p1.1=0;p1.2=1;delay_ms(20);
  p1.2=0;p1.3=1;delay_ms(20);
  p1.3=0;p1.4=1;delay_ms(20);
……
}
最后如果还不行请看看这一份文件,希望能帮到您!

ULN2003步进电机驱动原理及应用程序.doc

53 KB, 下载次数: 50

步进电机驱动

回复

使用道具 举报

ID:10947 发表于 2019-3-7 18:02 | 显示全部楼层
发烫说明程序有跑起来,只是驱动马达线圈的时序不对
回复

使用道具 举报

ID:461673 发表于 2019-3-7 21:40 | 显示全部楼层
elima 发表于 2019-3-7 17:37
楼主好,不知道您的代码写得如何,发烫有可能是脉冲持续的时间太短了,导致脉冲带不动电机,能量转而消耗在 ...

嗯  我去试试
回复

使用道具 举报

ID:432823 发表于 2019-3-7 22:10 | 显示全部楼层
可能缺拍,正常时4个都亮,频率不要超过200HZ
回复

使用道具 举报

ID:461673 发表于 2019-3-7 22:16 | 显示全部楼层
elima 发表于 2019-3-7 17:37
楼主好,不知道您的代码写得如何,发烫有可能是脉冲持续的时间太短了,导致脉冲带不动电机,能量转而消耗在 ...

IMG20190307221328.jpg
这样接线对吗
回复

使用道具 举报

ID:486587 发表于 2019-3-7 22:39 | 显示全部楼层
我是先做一个LED接口,然后单步逐个发送数据,正确后接上步进电机再联发。你的最大可能是数据错误,因为一直在一个状态,电机一直通电,因此发热
回复

使用道具 举报

ID:480682 发表于 2019-3-7 23:59 | 显示全部楼层
跟我一样的。我给你代码运行一下。/*******************************************************
ULN2003驱动5V减速步进电机程序
Target:STC89C52RC-40C
Crystal:12MHz
Author:战神单片机工作室
Platform:51&avr单片机最小系统板+ULN2003步进电机驱动套件
*******************************************************
接线方式:
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 P0                    //步进电机控制接口定义
  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. //ms延时函数
  8. void Delay_xms(uint x)
  9. {
  10. uint i,j;
  11. for(i=0;i<x;i++)
  12.   for(j=0;j<112;j++);
  13. }
  14. //顺时针转动
  15. void MotorCW(void)
  16. {
  17. uchar i;
  18. for(i=0;i<4;i++)
  19.   {
  20.    MotorData=phasecw[i];
  21.    Delay_xms(4);//转速调节
  22.   }
  23. }
  24. //逆时针转动
  25. void MotorCCW(void)
  26. {
  27. uchar i;
  28. for(i=0;i<4;i++)
  29.   {
  30.    MotorData=phaseccw[i];
  31.    Delay_xms(4);//转速调节
  32.   }
  33. }
  34. //停止转动
  35. void MotorStop(void)
  36. {
  37. MotorData=0x00;
  38. }
  39. //主函数
  40. void main(void)
  41. {
  42. uint i;
  43. Delay_xms(50);//等待系统稳定
  44. while(1)
  45. {
  46.   for(i=0;i<500;i++)
  47.   {
  48.    MotorCW();   //顺时针转动
  49.   }
  50.   MotorStop();  //停止转动
  51.   Delay_xms(500);
  52.   for(i=0;i<500;i++)
  53.   {
  54.    MotorCCW();  //逆时针转动
  55.   }
  56.   MotorStop();  //停止转动
  57.   Delay_xms(500);  
  58. }
  59. }
复制代码

回复

使用道具 举报

ID:426861 发表于 2019-3-8 08:59 | 显示全部楼层
用万用表测量2003的电源,地,还有你配置的相关引脚,看电压是否是你设置的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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