舵机为什么转不了 20
我用stc52单片机编了个pwm方波控制舵机转动的程序,在proteus中能转45度,在实际中只有在开关电源的瞬间它才会小动一下,然后就不转了。不知道为什么啊???麻烦高...
我用stc52单片机编了个pwm方波控制舵机转动的程序,在proteus中能转45度,在实际中只有在开关电源的瞬间它才会小动一下,然后就不转了。不知道为什么啊???麻烦高手看下程序。在proteus中模拟时a=39是+90度,b=19是-90度。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm1=P1^0;
sbit pwm2=P1^1;
uint a,b,i;
void init()
{TMOD=0x01;
TH0=0xff; //定时0.01ms
TL0=0xf6;
EA=1;
TR0=1;
ET0=1;
}
void time0() interrupt 1
{TH0=0xff;
TL0=0xf6;
i++;
if(i>2000)
i=0;
if(i<=a) pwm1=1;
else pwm1=0;
if(i<=b) pwm2=1;
else pwm2=0;
}
void main()
{
init();
while(1)
{a=39;
b=19;
}
} 展开
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm1=P1^0;
sbit pwm2=P1^1;
uint a,b,i;
void init()
{TMOD=0x01;
TH0=0xff; //定时0.01ms
TL0=0xf6;
EA=1;
TR0=1;
ET0=1;
}
void time0() interrupt 1
{TH0=0xff;
TL0=0xf6;
i++;
if(i>2000)
i=0;
if(i<=a) pwm1=1;
else pwm1=0;
if(i<=b) pwm2=1;
else pwm2=0;
}
void main()
{
init();
while(1)
{a=39;
b=19;
}
} 展开
4个回答
德晟智能
2024-09-04 广告
2024-09-04 广告
舵机应该如何选型?今天由我们德晟智能科技有限公司说到舵机,相信不少工程师都非常熟悉了,但是如果说到舵机的产品选型,可能不少工程师都是一知半解的,甚至大部分的人都是纯靠扭矩来进行舵机选型的。“舵机”,顾名思义就是用来控制舵面控制的伺服器,而随...
点击进入详情页
本回答由德晟智能提供
展开全部
舵机最好不用开发板上的电源,会产生干扰信号。你试试给舵机单独供电。另外单片机和舵机要共地。
如果你运行程序时,舵机总是在小范围内抖动,很可能就是共用一个电源 干扰引起的。
如果你运行程序时,舵机总是在小范围内抖动,很可能就是共用一个电源 干扰引起的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
舵机最好不用开发板上的电源,会产生干扰信号。
给舵机单独供电,另外单片机和舵机要共地。
如果运行程序时,舵机总是在小范围内抖动,很可能就是共用一个电源 干扰引起的。
给舵机单独供电,另外单片机和舵机要共地。
如果运行程序时,舵机总是在小范围内抖动,很可能就是共用一个电源 干扰引起的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 驱动力不够,达不到电机的转动的功率。查下电压和电流
2. 电机存在着异种亚稳态,在线圈和磁感线垂直时,此时电机的转动力为0。但给一个小扰动,就能脱离亚稳态,让电机持续转动。因为在转动时,虽然这个点,受力为0,但电机的惯性可以让线圈偏离这个位置,而持续转动。
2. 电机存在着异种亚稳态,在线圈和磁感线垂直时,此时电机的转动力为0。但给一个小扰动,就能脱离亚稳态,让电机持续转动。因为在转动时,虽然这个点,受力为0,但电机的惯性可以让线圈偏离这个位置,而持续转动。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询