欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)方波控制舵機(jī)抖動(dòng)得厲害的問題 [打印本頁]

作者: 錦燈籠    時(shí)間: 2019-11-9 11:56
標(biāo)題: 單片機(jī)方波控制舵機(jī)抖動(dòng)得厲害的問題
我想用方波控制舵機(jī)從而控制機(jī)械抓的張開與閉合,但是機(jī)械爪雖然是張開與閉合但是抖得厲害,而且會(huì)不停的張開與閉合,但是我單獨(dú)的讓它做一個(gè)動(dòng)作比如張開它就反應(yīng)良好,動(dòng)一下就不動(dòng),為什么張開與閉合的程序放在一起它就老是抖還循環(huán)呢   例程如下,main里面的張開與閉合放在一起就有問題

單片機(jī)源程序如下:
#include <reg52.h>
#define uint unsigned int         
#define uchar unsigned char
sbit P1_0=P1^0;                         //PWM信號(hào)輸出端                 
void Init_t0(void);    //子函數(shù)聲明   
void Init_t1(void);
void delay(unsigned int x) //延時(shí) x ms
{
unsigned int i,j;
for(i=x;i>0;i--);
for(j=110;j>0;j--);
}
void main()  
{         
        P1_0=0;                                 //置PWM初始輸出為高電平                        
      Init_t0();
       TR0=1;
  delay(9000);           //等待中斷
      // TR0=0;
      

       Init_t1();
       TR1=1;
       delay(9000);
      // TR1=0;

}
void Init_t0(void)
{   
        TMOD=0x11;                  //設(shè)置定時(shí)器0工作方式1后面運(yùn)行TR位啟動(dòng)
        TH0=(65536-1500)/256;
        TL0=(65536-1500)%256;         //1.5ms 的高電平
        EA=1;
        ET0=1;
      //  TR0=1;         
}
void Init_t1(void)
{   
        TMOD=0x11;                  //設(shè)置定時(shí)器1工作方式1后面運(yùn)行TR位啟動(dòng)
        TH1=(65536-1500)/256;
        TL1=(65536-1500)%256;         //1.5ms 的高電平
        EA=1;
        ET1=1;
      //  TR0=1;         
}
/*******************中斷服務(wù)程序**********************/  
void PWM0() interrupt 1         //定時(shí)器0中斷,產(chǎn)生方波
{  
        if(P1_0==1)                         //如果上個(gè)電平為1,則下個(gè)低電平的時(shí)間為18.5ms
        {  
                TH0=(65536-18000)/256;                 //試過t1=1500;t0=20000-t1;但舵機(jī)老是吱吱的響,推測:運(yùn)算耗時(shí).
                TL0=(65536-18000)%256;                 //1800是抓取
        }
        else                                         //如果上個(gè)電平為0,則下個(gè)高電平為1.5ms
        {
                TH0=(65536-2000)/256;
                TL0=(65536-2000)%256;
        }
        P1_0=~P1_0;
}
void PWM1() interrupt 3         //定時(shí)器0中斷,產(chǎn)生方波
{  
        if(P1_0==1)                         //如果上個(gè)電平為1,則下個(gè)低電平的時(shí)間為18.5ms
        {  
                TH1=(65536-19000)/256;                 //試過t1=1500;t0=20000-t1;但舵機(jī)老是吱吱的響,推測:運(yùn)算耗時(shí).
                TL1=(65536-19000)%256;
        }
        else                                         //如果上個(gè)電平為0,則下個(gè)高電平為1.5ms
        {
                TH1=(65536-1000)/256;
                TL1=(65536-1000)%256;
        }
        P1_0=~P1_0;
}



作者: 噗噗噗p    時(shí)間: 2019-11-9 13:15
張開或者關(guān)閉的時(shí)候可能堵轉(zhuǎn)了,建議多調(diào)試一下找準(zhǔn)舵機(jī)旋轉(zhuǎn)的角度能使爪子剛好閉合和張開
作者: 錦燈籠    時(shí)間: 2019-11-9 14:54
噗噗噗p 發(fā)表于 2019-11-9 13:15
張開或者關(guān)閉的時(shí)候可能堵轉(zhuǎn)了,建議多調(diào)試一下找準(zhǔn)舵機(jī)旋轉(zhuǎn)的角度能使爪子剛好閉合和張開

我剛剛調(diào)到兩個(gè)相對(duì)比較靠中間的角度,但是舵機(jī)還是不停的循環(huán),不停的抖動(dòng)
作者: 樹懶flash    時(shí)間: 2019-11-10 10:22
可以看看舵機(jī)脈沖是否適合,電壓是否穩(wěn)定




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