關於sg90舵機的,要知道!要注意!

這類舵機的轉向跟頻率和佔空比相關,二者缺一不可!spa

一、在一個特定的頻率下,特定的佔空比使得舵機會轉到一個角度,佔空比不變,則角度不會不會變化,因此想要舵機動,就要在國定的頻率下不斷改變佔空比。文檔

二、當頻率改變時,佔空比的比值也要改變,這根第1點的佔空比不同了。那到底頻率和佔空比是怎樣的取值,不單單要看舵機的文檔資料(理論),另外還要用戶信號源輸出it

頻率和佔空比給舵機(實際),找到舵機轉向角度/位置下的合適的頻率值和佔空比值。程序

三、如下的是兩個舵機在其相應的信號來時,轉向90°的單片機程序。模擬轉向,不是精確的哈,主要是可以表達出頻率不變時,一個佔空比值對應一個舵機角度/位置。di

  #include <reg52.h>

sbit duoji_1 = P2^7;
sbit duoji_2 = P2^0;

sbit xinhao_1 = P3^4;
sbit xinhao_2 = P3^5;

void aa(unsigned char i) //延時i個ms
{
  unsigned char j,k;
  for(;i>0;i--) 
    for(j=2;j>0;j--) 
      for(k=245;k>0;k--);
}

void main(void)
{
  while(1)
  {
     if(!xinhao_1) 
    {
      duoji_1 = 0;
      aa(19);
      duoji_1 = 1;
      aa(2);
      duoji_1 = 0;
      aa(19);
      duoji_1 = 1;
      aa(2);
    }
    else
    {
      duoji_1 = 0;
      aa(19);
      duoji_1 = 1;
      aa(1);
      duoji_1 = 0;
      aa(19);
      duoji_1 = 1;
      aa(1);
    }
    if(!xinhao_2) 
    {
      duoji_2 = 0;
      aa(19);
      duoji_2 = 1;
      aa(2);
      duoji_2 = 0;
      aa(19);
      duoji_2 = 1;
      aa(2);
    }
    else
    {
      duoji_2 = 0;
      aa(19);
      duoji_2 = 1;
      aa(1);
      duoji_2 = 0;
      aa(19);
      duoji_2 = 1;
      aa(1);
    }
  }
相關文章
相關標籤/搜索