新人关于单片机PWM控制好赢电调的问题

2020-01-30 14:00发布

         我的电调初始化程序已经完成了,无论输出的波形是什么样子的(只要是低一点的,大概在一毫秒左右),电机会按照程序走完,等待起飞的响声。电机就一直没有动静了。我试过调到一点五秒,还是一直等待起飞。调到两秒之后,就一直进入设置状态。我用的是stc12c5a60s2的单片机。
程序
#include <reg51.h>
sbit PWM=P0^3;
sfr AUXR   = 0x8E;
void delay1ms100us(void)   //误差 0us
{
    unsigned char a,b;
    for(b=42;b>0;b--)
        for(a=77;a>0;a--);
}
void delay19ms100us(void)   //误差 -0.000000000001us
{
    unsigned char a,b,c;
    for(c=213;c>0;c--)
        for(b=107;b>0;b--)
            for(a=1;a>0;a--);
}

void main(void)
{
    AUXR = AUXR|0x40;  // T1, 1T Mode
    InitTimer1();
        while(1)
        {
           PWM=1;
           delay1ms100us();
           PWM=0;
           delay19ms100us();
    }
}
我在复位端,以一定的频率,可以让电机转起来。
控制不好,有时会很快停下来。
希望得到大家的帮助,给的程序。。。。。。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
残忆视觉
1楼-- · 2020-01-31 02:21
bg8wj 发表于 2012-5-19 13:04
程序上正不知道你要搞神马!电调也好舵机控制也好,pwm波形 50%的中立位置,脉宽控制转数、舵机转动方向。 ...

%50的中立位置啥意思。电调不是20ms的周期,1~2ms高电平调节吗,而且我的电机不能以一个任意的脉宽就能转动。怎么办,求教

一周热门 更多>