新手入门,有哪位大神帮帮讲 一下,我用51单片机控制步进电机驱动器,程序和接线如下,但为什么电机就是不转,而且还保持扭矩的,单片机高电平原有4.5V,但用万用表测PUL+和PUL-好像只有3.4V不知是不是这个原因,如果是该怎么解决,帮一下感激不尽!好急~~~
程序:
#include "reg52.h"
sbit P10=P1^0;
sbit P11=P1^1;
sbit P11=P1^2;
void delay(unsigned int x)
{
unsigned int y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
}
}
void main()
{
while(1)
{
P10=0;
delay(1000);
P10=1;
delay(1000);
P11=0;
P12=1;
}
}
嗯,接线思路是对的,这种接线至少电机会激磁,也就是上电后电机不能用手自由转动。我给你说两种————————————————————————————————111111111111111111,接线不变(电机一定能激磁,不然是接线有错误),程序改动为
void main()
{
while(1)
{
P11=0;
delay(这个值自己准确计算一下,不要太小,假设脉频率500hz(100,200,5000都可以),此处延时为0.001s,参照单片机晶振频率机器周期什么的(以前学的忘的差不多了)换算成具体数值。真不会算自己随便设成1000,200,10000,10……多试点也行);
P11=1;
delay(同上值);
P12=1;
}
}
————————————P10不知道你干嘛的,我姑且认为可不加。————————再不行可以私信我,细聊第二种方法。