文章转载自 https://www.cnblogs.com/zhoubatuo/p/6138033.html

一、关于舵机:

舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度。)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。

舵机的形状和大小多的让人眼花缭乱,大致可以分为下面这几种(如图所示)
 
最右边的是常见的标准舵机,中间两个小的是微型舵机,左边魁梧的那个是大扭力舵机。图上这几种舵机都是三线控制。
制作机器人常用的舵机有下面几种,而且每种的固定方式也不同,如果从一个型号换成一个型号,整个机械结构都需要重新设计。
第一种是MG995,优点是价格便宜,金属齿轮,耐用度也不错。缺点是扭力比较小,所以负载不能太大,如果做双足机器人之类的这款舵机不是很合适,因为腿部受力太大。做做普通的六足,或者机械手还是不错的。

第二种是SR 403,这款舵机是网友xqi2因MG995做双足机器人抖动太厉害,摸索找到的,经过测试。制作双足机器人不错~~~至少不抖了。优点是扭力大,全金属齿轮,价格也还算便宜。缺点嘛。。。做工很山寨。。。其他缺点等待反馈

第三种就是传说中的数字舵机AX12+,这个是久经考验的机器人专用舵机。除了价格高,使用RS485串口通信(控制板就得换数字舵机专用控制板),其他都是优点。 
下图是一个普通模拟舵机的分解图,其组成部分主要有齿轮组、电机、电位器、电机控制板、壳体这几大部分。 
电机控制板主要是用来驱动电机和接受电位器反馈回来的信息。电机嘛,动力的来源了,这个不用太多解释。电位器这里的作用主要是通过其旋转后产生的电阻的变化,把信号发送回电机控制板,使其判断输出轴角度是否输出正确。齿轮组的作用主要是力量的放大,使小功率电机产生大扭矩。 
舵机底壳拆开后就可以看到,主要是电机与控制板 
控制板拿起来后下方是与控制板连接的电位器
从顶部来看电机与电位器,与电机齿轮直接相连的为第一级放大齿轮。 
经过一级齿轮放大后,再经过二、三、四级放大齿轮,最后再通过输出轴输出。 
通过上面两图可以很清晰的看到,本舵机是4级齿轮放大机构,就是通过这么一层层的把小的力量放大,使得这么一个小小的电机能有15KG的扭力。

二、舵机控制方法:

舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值,和频率。一般而言,舵机的基准信号都是周期为20ms,宽度为1.5ms。这个基准信号定义的位置为中间位置。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。最重要的一点是,不同舵机的最大转动角度可能不相同,但是其中间位置的脉冲宽度是一定的,那就是1.5ms。如下图:
角度是由来自控制线的持续的脉冲所产生。这种控制方法叫做脉冲调制。脉冲的长短决定舵机转动多大角度。例如:1.5毫秒脉冲会到转动到中间位置(对于180°舵机来说,就是90°位置)。当控制系统发出指令,让舵机移动到某一位置,并让他保持这个角度,这时外力的影响不会让他角度产生变化,但是这个是由上限的,上限就是他的最大扭力。除非控制系统不停的发出脉冲稳定舵机的角度,舵机的角度不会一直不变。
当舵机接收到一个小于1.5ms的脉冲,输出轴会以中间位置为标准,逆时针旋转一定角度。接收到的脉冲大于1.5ms情况相反。不同品牌,甚至同一品牌的不同舵机,都会有不同的最大值和最小值。一般而言,最小脉冲为1ms,最大脉冲为2ms。如下图:

三、小总结:

  首先是舵机的引线,一般为三线控制(没有接触过不是三线的),红色为电源,棕色为地,黄色为信号。控制舵机的时候,需要不断的给PWM波才能使得舵机在某个角度有扭矩。

  关于舵机的控制程序,我的上一篇博文:SEM32之PWM波形输出配置总结有进行介绍。只需要改变PWM波的占空比就可以改变舵机的转动角度了。

PWM波控制舵机总结相关推荐

  1. PWM波控制舵机实验

    PWM波控制舵机实验 硬件连接 首先是舵机的引线,一般为三线控制(没有接触过不是三线的),红色为电源,棕色为地,橙黄色为信号.控制舵机的时候,需要不断的给PWM波才能使得舵机在某个角度有扭矩 控制原理 ...

  2. 树莓派输出pwm波c语言,树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制

    树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制 树莓派Ubuntu18.04使用pigpio库产生PWM波实现舵机控制 一:pigpio库简介 pigpio是一个用于树莓派的库 ...

  3. STM32:利用PWM波控制飞盈电调过程和注意事项

    STM32:利用PWM波控制电调过程和注意事项 在进行模型控制的过程中,如四旋翼无人机等,需要用到电机,这些电机需要通过电调来控制电机的转速.在电调模块中带有的说明书一般都是利用遥控器进行控制,有些情 ...

  4. 使用Arduino ESP32 通过PWM波控制大疆GM6020以及3508无刷电机(更新)

    使用Arduino控制大疆GM6020无刷电机: 话不多说直接上代码 #include <Servo.h> Servo myservo; //创建一个舵机控制对象// Arduino自带的 ...

  5. 最简单的pwm信号控制舵机

    控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压.它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出.最后,电压差的正 ...

  6. PWM波控制LED灯的亮暗

    在做蓝桥杯第九届省赛题的时候,遇到了这样一个题目:实现4个不同等级的LED亮度分布. 这个要求我们可以联想到第七届的省赛题,控制PWM波的输出,我们在这里也可以应用相同的原理,就是通过定时器来达到LE ...

  7. STM32 PWM波驱动模拟舵机(库函数版)

    数字舵机 vs 模拟舵机 "数字舵机区别于传统的模拟舵机,模拟舵机需要给它不停的发送PWM信号,才能让它保持在规定的位置或者让它按照某个速度转动,数字舵机则只需要发送一次PWM信号就能保持在 ...

  8. FreeRTOS基础(二):STM32G4系列运行FreeRTOS驱动8路PWM波控制多个路舵机

    一.TIM2和TIM3配置,基于STM32CubeMX HCLK主时钟配置成72MHz 二.8路PWM初始化配置,50Hz PWM输出 注意:添加启动命令 /* TIM2 init function ...

  9. 摇杆控制舵机(云台)

    使用摇杆控制舵机(云台) 硬件 摇杆1 SG90舵机1 STM32F103C8T6最小系统板*1 软件思路 1.先采集摇杆的x,y的电压信息来获取摇杆的位置状态(如果是单个舵机就采集一个维度就可以了, ...

最新文章

  1. 排名看似毫无波澜的,但 R 语言热度仍在上升 | 8月编程语言排行
  2. hibernate它 11.many2many双向
  3. 用VB.net开发.NET Micro Framework
  4. 如何利用LabelImg将标注文件在YOLO格式与PascalVOC格式间相互转换
  5. 无忧计算机c语言二级题库,干货for计算机等级考试题库:二级C语言试题
  6. [Docker] Centos7 安装docker-18.03.1-ce(离线安装)
  7. 《企业级ios应用开发实战》一2.2 iOS框架介绍
  8. [转]Java常用概念解答
  9. n的阶乘程序python_Python程序对N阶乘的尾随零进行计数
  10. linux find 命令使用注意
  11. Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比
  12. LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)
  13. 吴恩达机器学习之多变量线性回归实现部分
  14. Callback Promise Generator Async-Await 和异常处理的演进
  15. mysql各存储引擎介绍表格_十六、MySQL基础系列笔记之数据表存储引擎的介绍
  16. 呼叫中心中间件(mod_cti基于FreeSWITCH)-排队(ACD 话务分配)
  17. 应用VB语言程序生成十个随机数
  18. macOS SwiftUI 指示器组件规范之 02 评级指标 Rating Indicators
  19. 我想要成为一个什么样的人
  20. oVirt管理端高可用模式搭建(hosted-engine)

热门文章

  1. 【原创】常用元器件(电阻)选型之阻值有多少-cayden20220910
  2. Android Kotlin之let、with、run、apply、also函数的使用
  3. 【经典算法】双指针(尺取法):爱,是双向奔赴,还是你追我赶?
  4. 《论语》原文及其全文翻译 学而篇8
  5. Sim300模块AT命令
  6. 即便到愚人节,也千万别做的恶作剧!
  7. SoftLayer Object Storage 节点
  8. Centos7系统下使用Docker部署SpringBoot项目及安装Mysql
  9. IDEA/AndroidStudio 一键为项目中所有文件添加copyright
  10. “妖精”团队———阿里巴巴