1.春天180°舵机(SR-403P)信号线和控制线颜色对应关系:
两黑一白:白色信号线,中间电源+,另一黑色电源-


以上MC9S12XS128单片机通道三产生的周期为20ms,高电平为1.5ms的舵机控制信号。
  void PWM_Init(void)
  {
      PWME_PWME3=0x00;   // Disable  PWM            禁止(通道3)             
      PWMPRCLK=0x33;     // 0011 0011 A=B=32M/8=4M  时钟预分频寄存器设置 
      PWMSCLA=200;       // SA=A/2/200=10k          时钟设置 
      PWMSCLB=200;       // SB=B/2/200 =10k          时钟设置                     
      PWMCLK_PCLK3=1;   // PWM3-----SB             时钟源的选择 
      PWMPOL_PPOL3=1;   // Duty=High Time          极性设置 
      PWMCAE_CAE3=0;    // Left-aligned            对齐方式设置 
      PWMCTL=0x00;      // no concatenation        控制寄存器设置  
      PWMPER3=200;     // Frequency=SB/200=50HZ   周期寄存器设置 
      PWMDTY3=15;     // 1.5ms对应的占空比       占空比寄存器设置 
      PWME_PWME3=1;     // Enable  PWM             使能 
  }
2.SG90舵机的高电平时间和角度的对应关系(PS:舵机PWM周期始终为20ms),不同的舵机可能有不同的对应关系,角度和占空比是一一对应的,一定的占空比对应着一定角度,和360°舵机还是有不同的,360°舵机的占空比决定着旋转的方向和旋转速度,和1.5ms的差值绝对值越大,其旋转的速度越快。

SG90优酷视频


0.5ms--------------0度;


1.0ms------------45度;


1.5ms------------90度;


2.0ms-----------135度;


2.5ms-----------180度;


这只是一种参考数值,具体的参数,请参见舵机的技术参数。


     


SG90舵机颜色和线的对应关系:棕色—-地 红色---VCC 橙色----信号线


3.舵机旋转控制调试(春天403和SG90舵机),旋转角度0°→45°→90°→135°→180°→0°,供电都是5V,控制信号线PWM3:


主要程序如下:

 #include "Includes.h"                             //总头文件
 
  void PWM_Init(void)
  {
      PWME_PWME3=0x00;   // Disable  PWM            禁止(通道3)             
      PWMPRCLK=0x33;     // 0011 0011 A=B=32M/8=4M  时钟预分频寄存器设置 
      PWMSCLA=200;       // SA=A/2/200=10k          时钟设置 
      PWMSCLB=200;       // SB=B/2/200 =10k          时钟设置                     
      PWMCLK_PCLK3=1;   // PWM3-----SB             时钟源的选择 
      PWMPOL_PPOL3=1;   // Duty=High Time          极性设置 
      PWMCAE_CAE3=0;    // Left-aligned            对齐方式设置 
      PWMCTL=0x00;      // no concatenation        控制寄存器设置  
      PWMPER3=200;     // Frequency=SB/200=50HZ   周期寄存器设置 
      PWMDTY3=15;     // 1.5ms对应的占空比       占空比寄存器设置 
      PWME_PWME3=1;     // Enable  PWM             使能 
  } 
  void main()
  {
         MCUInit(FBUS_32M);
         DisableInterrupt();
         PWM_Init();         // 1.5ms对应的占空比-----90°      
         Delay(1000000);
         for(;;)
         {
              PWMDTY3=5;          //0.5ms对应的占空比------0°
              Delay(1000000);
              PWMDTY3=10;         //1ms对应的占空比-------45°
              Delay(1000000);
              PWMDTY3=15;         //1.5ms对应的占空比-----90°
              Delay(1000000);
              PWMDTY3=20;         //2ms对应的占空比------135°
              Delay(1000000);
              PWMDTY3=25;         //2.5ms对应的占空比----180°
              Delay(1000000);
         }     
  }

调试效果视频:春天403 春天403舵机优酷视频 SG90(云盘) SG90优酷视频


舵机控制参考资料:MC9S12XS128控制180°舵机程序 MC9S12XS128单片机PWM资料