标题: 关于MG995舵机 依靠定时器模拟PWM控制 [打印本页]

作者: reveal    时间: 2017-11-11 15:37
标题: 关于MG995舵机 依靠定时器模拟PWM控制



先上一波代码,有问题 ,依然是看网上知道MG995 舵机 周期是20MS
占空比0.5ms是0° 2.5是180°  1.5ms是90°  但是舵机一直在都懂  现在有点怀疑是舵机有问题
有人能帮助解决下困难吗

# include "reg52.h"
typedef unsigned int uint ;
typedef unsigned char uchar ;
sbit Stevo =P1^0;
uint djzz=15;
void time0init();

void main()
{
        time0init();
        djzz=25;
}

void time0init()
{
        TMOD=0X01;
        TH0=(65536-20)/256;
        TL0=(65536-20)%256;
        EA=1;
        TR0=1;
        ET0=1;
}
void time0 ()  interrupt 1
{

        uint count =0;  //占空比
        TR0=0;
        TH0=(65536-40)/256;
        TL0=(65536-40)%256;
        count++;
        if(count >500)         //40*500=2000=20ms 一个周期
   {
        count=0;
   }
        if( djzz<count )           //  所需要角度 的电压固定  但是占空比给的电压打  说明角度大  因此需要角度小一点  
        {
                 Stevo=0;           // 给高转
        }
        else
                Stevo=1;        
                TR0=1;        
}


作者: reveal    时间: 2017-11-16 20:47
问题找到了  ,原因是没有加延时,没有让舵机有足够时间去反应
作者: yyxxhh    时间: 2018-5-4 10:27
你好,请问一下,需要在哪里加延时?我还是不太会用




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1