关于51单片机驱动l298n控制步进电机。步进电机不转只抖得问题
使用的是这个步进电机用的L298N我把a-a+b-b+分别接到了out1out2out3out4单片机的p1.0-3接到了in1-4代码如下#include"reg52....
使用的是这个步进电机
用的L298N
我把a- a+ b- b+ 分别接到了out1 out2 out3 out4
单片机的p1.0-3接到了in1-4
代码如下
#include "reg52.h"
#define speed 2
//Motor
sbit IN1 = P1^0; //定义管脚
sbit IN2 = P1^1;
sbit IN3 = P1^2;
sbit IN4 = P1^3;
void delay(int time);
/***************************************
函数功能:产生单相四拍脉冲控制步进机
**************************************/
void Go()
{ //A
IN1=0;
IN2=1;
IN3=1;
IN4=1;
delay(speed);
IN1=1;
IN2=0;
IN3=1;
IN4=1;
delay(speed);
//B
IN1=1;
IN2=1;
IN3=0;
IN4=1;
////
delay(speed);
//0
IN1=1;
IN2=1;
IN3=1;
IN4=0;
delay(speed);
}
/*******************延时函数****************************/
void delay(int time)
{
int i,j;
for(j=0; j <= time; j++)
for(i =0 ; i <= 120; i++);
}
void main()
{
while(1)
{
Go(); //步进电机运行
}
}
步进电机只振动。不转动是怎么回事 展开
用的L298N
我把a- a+ b- b+ 分别接到了out1 out2 out3 out4
单片机的p1.0-3接到了in1-4
代码如下
#include "reg52.h"
#define speed 2
//Motor
sbit IN1 = P1^0; //定义管脚
sbit IN2 = P1^1;
sbit IN3 = P1^2;
sbit IN4 = P1^3;
void delay(int time);
/***************************************
函数功能:产生单相四拍脉冲控制步进机
**************************************/
void Go()
{ //A
IN1=0;
IN2=1;
IN3=1;
IN4=1;
delay(speed);
IN1=1;
IN2=0;
IN3=1;
IN4=1;
delay(speed);
//B
IN1=1;
IN2=1;
IN3=0;
IN4=1;
////
delay(speed);
//0
IN1=1;
IN2=1;
IN3=1;
IN4=0;
delay(speed);
}
/*******************延时函数****************************/
void delay(int time)
{
int i,j;
for(j=0; j <= time; j++)
for(i =0 ; i <= 120; i++);
}
void main()
{
while(1)
{
Go(); //步进电机运行
}
}
步进电机只振动。不转动是怎么回事 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询