打印

简单的电机驱动,请大家看看那里出问题了

[复制链接]
1830|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dahema1982|  楼主 | 2007-8-10 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次做电机驱动,出了很多状况,请大家帮忙啊!!!
我在P2.0~P2.7上接了发光二极管!在没接步进电机的时候,发光管正常点亮,熄灭!在接上步进电机后,发光管就停在一个状态了~~~(P2.2,P2.3,P2.6,P2.7亮,其他灭).然后去把电机拔了就转一步,在插上的时候也转一下
当用电表去测OUTA,OUTB的电压的时候,二级管会闪,但停停闪闪的....
电机也是停停,动动~~~~正转反转....郁闷


下面是程序:
/*************************************************

步进电机驱动


*************************************************/

#include <REG54.H>
#include <intrins.h>
#define uchar unsigned char

#define uint unsigned int


code unsigned char seg7code[32]={0xcc,0xbd,0xae,0x9f,0x8f,0x1f,0x2e,0x3d,
                                0x4c,0x5b,0x6a,0x79,0x78,0x71,0x62,0x53,
                0x44,0x35,0x26,0x17,0x87,0x97,0xa6,0xb5,
                0xc4,0xd3,0xe2,0xf1,0xf8,0xf9,0xea,0xdb};
/*延时程序

由Delay参数确定延迟时间

*/

void mDelay(unsigned int Delay) 

{ unsigned int i;

for(;Delay>0;Delay--)

{ for(i=0;i<124;i++)

{;}

}

}



void main()

{
unsigned char j;
for(;;)


for(j=0;j<31;j++)
{
mDelay(200);
P2=seg7code[j];
}

}

}

相关帖子

沙发
dahema1982|  楼主 | 2007-8-10 17:26 | 只看该作者

这个是电路

图太大,只能打包了

请大家看看,调了好长时间了
相关链接:https://bbs.21ic.com/upfiles/img/20078/2007810172628370.rar

使用特权

评论回复
板凳
dahema1982|  楼主 | 2007-8-10 18:53 | 只看该作者

二极管

为了看单片机有没正常工作,我在P2.0~P2.7接了8个二极管,不知道这个对P2.0~P2.7的信号输出有没影响

二极管是这样接的
P2.0---发光二极管--10K电阻--5V

使用特权

评论回复
地板
zhaoyu2005| | 2007-8-11 09:15 | 只看该作者

怎么说你好呢?

抓个图俺也不知道是不是全的,弄个原理图应该是DXP做的,你以为每个人都有盗版的DXP用啊,发光二极管应该不影响电路的,估计是你的程序有问题,建议好好看看3955的datasheet和你的电机的资料,你的程序应该是停在了第一次输出(0xcc)

使用特权

评论回复
5
古道热肠| | 2007-8-11 09:50 | 只看该作者

原理图99SE打不开

  步进电机转动要脉冲换向,形成旋转磁场,电机才会转动的。

使用特权

评论回复
6
dahema1982|  楼主 | 2007-8-14 08:03 | 只看该作者

hehe ,问题解决了

是二极管干扰`~~~

使用特权

评论回复
7
mannerfh| | 2007-8-14 08:18 | 只看该作者

有分析原因吗?

    为什么是二极管会影响呢,影响了什么呢,有分析过吗?楼主最好花时间分析分析,大有好处!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

33

帖子

0

粉丝