我在用开发板驱动步进电机的时候里面响但是不转
#include "reg52.h"
void delay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<80; k++)
{ }
}
}
unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};
unsigned int i,j;
void main()
{ while(1)
{
for(j=0;j<12;j++)
{ for(i=0;i<8;i++)
{ P1=FFW[i]; }
delay(5); }
}
我在用开发板驱动步进电机的时候里面响但是不转
答案:2 悬赏:40
解决时间 2021-02-03 03:07
- 提问者网友:巴黎塔下许过得承诺
- 2021-02-02 13:32
最佳答案
- 二级知识专家网友:woshuo
- 2021-02-02 14:54
延时和相序。。就这么两个问题,这里应该是延时太少了。。
全部回答
- 1楼网友:我的任性你不懂
- 2021-02-02 15:09
这类问题往往与硬件电路和软件程序都可能有关系,不能下载,电路问题的可能性大一些。
没给出电路,瞎猜一种可能性:
如果单片机默认复位状态 步进电机的几组线圈都通电 ,而你的电源供电能力不足(例如usb口供电,特别是笔记本usb口供电),就可能出现你描述的情况:单片机处在复位初态 电源负荷重电压下降太多没法工作;不插电机通电后程序初始化好了步进电机几个线圈就不会同时接通,电流小一些,系统可以工作。
其中一种可能的电路 就是 51单片机直接连接 uln2003一类的达灵顿管驱动步进电机,就会有上述问题,但是如果电源供电能力不太差,不至于系统不能工作。
建议:
1. 测量一下工作后复位前后的电压;
2. 换一个供电能力强一些的电源试试看。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯