当前位置:   article > 正文

智能车学习(十四)——舵机学习

舵机基础知识

一、舵机基础知识

1、定义

     舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。能够利用简单的输入信号比较精确的转动给定角度的电机系统。

     舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo。

2、舵机组成

image

3、工作原理

      控制电路接收信号源的控制信号,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。

 

二、舵机的规格

1、转速:

(1)定义:转速由舵机无负载的情况下转过60°角所需时间来衡量。

(2)一般在0.11S/60°~0.21S/60°之间。

 

2、转矩

(1)定义:舵机扭矩的单位是KG·CM,这是一个扭矩单位。可以理解为在舵盘上距舵机轴中心水平距离1CM处,舵机能够带动的物体重量。

 

3、电压

     厂商提供的速度、转矩数据和测试电压有关,在4.8V和6V两种测试电压下这两个参数有比较大的差别。如Futaba S-9001 在 4.8V 时扭力为 3.9kg、速度为 0.22 秒,在 6.0V 时扭力为 5.2kg、速度为 0.18 秒。若无特别注明,JR 的舵机都是以 4.8V 为测试电压,Futaba则是以 6.0V 作为测试电压。

 

三、模拟舵机及其控制原理

image

1、工作原理

     工作原理是控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。

 

2、控制信号

舵机的控制脉冲周期20ms,脉宽从0.5ms-2.5ms,分别对应-90度到+90度的位置。如下图所示:

image

 

四、使用PWM控制舵机输出

在main函数中的测试代码

#include "include.h"
#include "init.h"
#include "OLED.h"
#include "menu.h"
#include "keySquare.h"


void main()
{
  
  DisableInterrupts;
  system_init();
  EnableInterrupts;
  
  u16 duty = 450;
  FTM_PWM_init(FTM2,CH0,50,duty);
  OLED_Write_Int(0,0,duty);

  while(1)
  {
    if(keyBoard_get() == Keynum1)
    {
      time_delay_ms(100);
      if(keyBoard_get() == Keynum1)
      {
         duty += 10;
         FTM_PWM_Duty(FTM2,CH0,duty);
         
         OLED_Clear();
         OLED_Write_Int(0,0,duty);
         time_delay_ms(100);
      }
    }
  
    if(keyBoard_get() == Keynum2)
    {
      time_delay_ms(100);
      if(keyBoard_get() == Keynum2)
      {
         duty -= 10;
         FTM_PWM_Duty(FTM2,CH0,duty);
  
         OLED_Clear();
         OLED_Write_Int(0,0,duty);
         time_delay_ms(100);
        

      }
    }
  }
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/961058
推荐阅读
相关标签
  

闽ICP备14008679号