標(biāo)題: 關(guān)于MG995舵機(jī) 依靠定時器模擬PWM控制 [打印本頁]

作者: reveal    時間: 2017-11-11 15:37
標(biāo)題: 關(guān)于MG995舵機(jī) 依靠定時器模擬PWM控制



先上一波代碼,有問題 ,依然是看網(wǎng)上知道MG995 舵機(jī) 周期是20MS
占空比0.5ms是0° 2.5是180°  1.5ms是90°  但是舵機(jī)一直在都懂  現(xiàn)在有點(diǎn)懷疑是舵機(jī)有問題
有人能幫助解決下困難嗎

# 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 )           //  所需要角度 的電壓固定  但是占空比給的電壓打  說明角度大  因此需要角度小一點(diǎn)  
        {
                 Stevo=0;           // 給高轉(zhuǎn)
        }
        else
                Stevo=1;        
                TR0=1;        
}


作者: reveal    時間: 2017-11-16 20:47
問題找到了  ,原因是沒有加延時,沒有讓舵機(jī)有足夠時間去反應(yīng)
作者: yyxxhh    時間: 2018-5-4 10:27
你好,請問一下,需要在哪里加延時?我還是不太會用




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1