chan千&夜ge

导航

 

这类舵机的转向跟频率和占空比相关,两者缺一不可!

1、在一个特定的频率下,特定的占空比使得舵机会转到一个角度,占空比不变,则角度不会不会变化,所以想要舵机动,就要在国定的频率下不断改变占空比。

2、当频率改变时,占空比的比值也要改变,这根第1点的占空比不一样了。那到底频率和占空比是怎样的取值,不仅仅要看舵机的文档资料(理论),另外还要用户信号源输出

频率和占空比给舵机(实际),找到舵机转向角度/位置下的合适的频率值和占空比值。

3、以下的是两个舵机在其相应的信号来时,转向90°的单片机程序。模拟转向,不是精确的哈,主要是能够表达出频率不变时,一个占空比值对应一个舵机角度/位置。

 #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);
    }
  }
posted on 2018-04-22 13:09  chan千&夜ge  阅读(15603)  评论(0编辑  收藏  举报