51单片机控制L298N驱动两相步进电机
感觉程序没有问题,运行的的时候步进电机不转,老是在抖!大侠帮我看看是怎么回事#include<reg52.h>P1.0=A;P1.1=a;P1.2=B;P1.3=bcod...
感觉程序没有问题,运行的的时候步进电机不转,老是在抖!大侠帮我看看是怎么回事
#include<reg52.h>
P1.0=A ;P1.1=a ;P1.2=B ; P1.3=b
code unsigned char run[8]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09}; //两相四线八拍工作方式
void delay(unsigned char i)//延时函数ms
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
main()
{
unsigned char z;
while(1)
{
for(z=0;z<8;z++)
{
P1=run[z];
delay(5);
}
}
} 展开
#include<reg52.h>
P1.0=A ;P1.1=a ;P1.2=B ; P1.3=b
code unsigned char run[8]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09}; //两相四线八拍工作方式
void delay(unsigned char i)//延时函数ms
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
main()
{
unsigned char z;
while(1)
{
for(z=0;z<8;z++)
{
P1=run[z];
delay(5);
}
}
} 展开
1个回答
展开全部
老是抖的话,有几个可能(可能性排名不分先后):
1、程序节拍不对,这个您既然已经排除了,就查另外其他问题
2、一个线圈没电。试试单独接一个线圈,找出没电的线圈,看是否电路问题,比如对应线圈的EN脚的电平是否正常,还是接触不良。还有一个极小的可能是电机烧了一个线圈,用万用表测一下两个线圈的电阻,如果悬殊太大就说明一个线圈烧了。
3、驱动电流不足,电压太低。
4、启动频率太高(这个一般会傍有呼叫声,但电流太小或频率搞得离谱可能也听不到),delay(5)再弄大一点
5、单片机的端口驱动能力不足,导致信号微软不稳定(这个可能性还比较大)。用上拉电阻提高单片机输出能力,包括EN脚的电平
嗯,暂时想到这么多了……
1、程序节拍不对,这个您既然已经排除了,就查另外其他问题
2、一个线圈没电。试试单独接一个线圈,找出没电的线圈,看是否电路问题,比如对应线圈的EN脚的电平是否正常,还是接触不良。还有一个极小的可能是电机烧了一个线圈,用万用表测一下两个线圈的电阻,如果悬殊太大就说明一个线圈烧了。
3、驱动电流不足,电压太低。
4、启动频率太高(这个一般会傍有呼叫声,但电流太小或频率搞得离谱可能也听不到),delay(5)再弄大一点
5、单片机的端口驱动能力不足,导致信号微软不稳定(这个可能性还比较大)。用上拉电阻提高单片机输出能力,包括EN脚的电平
嗯,暂时想到这么多了……
德晟智能
2024-09-04 广告
2024-09-04 广告
舵机伺服电机是一种在自动控制系统中广泛应用的执行元件。它具有快速响应、精准定位的特点,能够将电压信号转化为转矩和转速,以驱动控制对象。在东莞市德晟智能科技有限公司的产品中,舵机伺服电机扮演着重要的角色,广泛应用于各种精密电子设备、交通运输工...
点击进入详情页
本回答由德晟智能提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |