前言

做过机器人、智能车或者玩航模的朋友应该对舵机不会陌生,这种舵机也是很常用的。

舵机只是我们通俗的叫法,它的本质是一个伺服电机,也可以叫做位置(角度)伺服驱动器。一般被应用在那些需要控制角度变化的系统中,可以方便的实现转动任意的角度,实现控制角度的变化。

sg90舵机的图示:

1、sg90舵机的应用场景

(1)航模

在很多的航模中,sg90舵机都被用于两翼的位置控制,从而实现航模的转向,倾斜之类的。因为航模本身的要求,需要尽量的控制航模的自重,而sg90舵机的重量本身就很轻,扭矩也大,所以能很好的满足要求。如下:

(2)智能小车的转向桥

因为sg90舵机的精准角度控制,所以在很多的智能小车类中被用作转向控制。如下的一个简易转向桥:

(3)云台控制

将sg90用于云台控制也是很常见,如下:

2、sg90舵机的参数

(1)sg90舵机的一些重要特性参数:

1)工作扭矩:16KG/CM

2)反应速度:0.12 - 0.13秒/60°

3)温度范围:-30° ~ +60°

4)死区设定:5微妙

5)转动角度:常见0°、90°、180°、360°

6)电压范围:3V - 5V

(2)sg90舵机的接线定义

sg90舵机的接线定义如下:

3、sg90舵机的工作原理

sg90舵机模块内是有控制电路的,控制信号通过信号线输入到内部的控制电路中,调制芯片将输入的信号进行调制,获得直流偏置电压。然后再由内部的基准电路产生周期为20ms,宽度为1.5ms的基准信号,将直流偏置电压和电位器电压进行比较,从而获得输出的电压差。由电压差控制舵机的转动,这个电压差的正负控制舵机正反转。大致原理就是这样!

4、sg90舵机的控制原理

至于如何驱动sg90电机也是比较简单的。

驱动原理:产生一个周期为20ms,高电平宽度为0.5ms-2.5ms的方波就能驱动sg90舵机。

换一种说法就是需要一个50Hz的pwm波,然后通过改变占空比来控制sg90舵机的转动角度。

下面以180°舵机为例说明,高电平宽度和sg90舵机的转动角度的关系表如下:

占空比如下:

方波示意如下:

或者看下面的演示图就更加形象:

(素材源自网络,侵删!)

按照理解的话,可以根据角度和高电平的时间推断一个公式:

PWM的高电平时间 = 0.5ms +(转动角度/180°)*2ms
注意:这是根据高电平宽度和角度推算的,不一定准确,使用中还是需要根据实际情况进行参数调整

5、180° 和 360° 的舵机

据我所知道的,sg90舵机是分为两种的,一种是转角范围180°的舵机,另外一种是360°转角的舵机。这两种是存在一定的差别的。

(1)180°舵机

180°舵机是给一个PWM信号就转动到一定的角度,然后保持在这个转动之后的位置,直到有下一个不同的PWM信号,才会转到其他的角度。

转动的角度和PWM高电平的时间关系如下:

0.5ms  ---- 0度;1ms    ---- 45度;1.5ms  ---- 90度;2ms    ---- 135度;2.5ms  ---- 180度;

(2)360°舵机

360°舵机是给一个PWM信号,就会按照一定的速度转动,这是和180°舵机不同的地方。但是按照我自己的测试中发现,其实360°舵机按照180°舵机的控制方式,每次只发一个周期的PWM的话,也是可以控制360°舵机按照一定的角度转动的。

转动的速度和PWM高电平的时间关系如下:​​​​​​​

0.5ms --- 正向最大转速;1.5ms --- 速度为0;2.5ms --- 反向最大转速;注意:其他的转速也是可以调的!

6、控制舵机的PWM的产生方式

(1)用中断的方式

中断的方式的话,大致的步骤如下:(以转动45°为例)

1)使用一个定时器,并开启中断;

2)第一次:先设置定时器的中断时间为1ms,这段时间IO输出高电平;

3)第二次:1ms时间到了,在中断里面让IO输出低电平,并同时设置下一次中断时间为19ms。就可以产生一个周期20ms,高电平时间为1ms的PWM方波控制信号。

4)一直循环上面的 2)3)的操作

(2)用MCU的PWM输出功能

这个方法比用中断的方式就容易多了,毕竟中断过于频繁的话,对于控制程序也不好,特别是有操作系统的时候,可能会影响系统的实时性能。

MCU自动生成PWM的方式就很好了,这个过程不需要MCU的参与,极大的释放了MCU的压力。有很多的MCU本身甚至可以产生很多路的PWM输出,可以用于控制很多路的舵机。

SG90舵机的原理和控制方式相关推荐

  1. sg90舵机工作原理_舵机跑舵?锲而不舍终除隐患!

    因为专注才更专业,快快关注吧! 欢迎投稿:sea@shipmg.com 正文开始 一.前言某司二条姐妹船采用 SSP5 型 360º全回转电力推进器,左右两台中压永磁电机推进船舶行驶,另外两面分别由两 ...

  2. sg90舵机工作原理_快来听郑老轨分享船舶舵机液压锁报警测试经验!

    点击☝上方"泛海国际船管"轻松关注哦! [编者按:以下工作经验分享为敝司外派轮机长郑永忠,根据在船工作经验,结合大家日常中,比较容易忽略的地方,整理出来的文章,经其本人同意后,刊发 ...

  3. 树莓派-10-安装jupyter并控制SG90舵机

    1 开发工具jupyter notebook 1.1 安装jupyter #(1)安装jupyter notebook $ sudo pip3 install jupyter $ sudo pip3 ...

  4. ESP8266驱动SG90舵机控制开关灯(灯的开关)的折腾记录

    https://blog.csdn.net/qq_47749454/article/details/117638828 想法来源地址在上面,可以去参考一下,建议是结合两篇文章一块看,按照大佬的先来折腾 ...

  5. 51单片机控制SG90舵机、MG90S舵机

    舵机的控制信号为周期是20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化.也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应 ...

  6. 懒人开关 ESP32控制舵机旋转(基于ESP32+SG90舵机+微信小程序)

    提示:站在巨人肩膀上的小白,大家可以提出自己的看法.如有侵删: 原文参考链接:esp32单片机控制舵机 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/566 ...

  7. C51单片机定时器2实现SG90舵机控制

    谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地.小 ...

  8. php控制舵机,分享一个关于SG90舵机的实验(+串口控制)

    新手第一次做实验,如果有写的不对的地方,还希望各位大佬多多指导. --------第一次做实验,也发现了自己学习过的东西掌握的不是很好,大佬们有啥入门级别的模块也可以推荐一下,分享当然更好了. --- ...

  9. STM32F103单片机控制SG90舵机

    前言 在智能衣柜系统中,试用SG90旋转0°-180°,模拟衣柜的开关门,舵机正转开门,180°-0°反转模拟一个关门的现象. 一,SG90舵机 1.1SG90链接: [淘宝]https://m.tb ...

最新文章

  1. 匿名函数、普通函数、箭头函数作用域
  2. Java领域的对象如何传输-了解序列化的意义
  3. 使用redis的发布订阅模式实现消息队列
  4. 目标检测——阅读代码需要了解的内容
  5. iPhone 的黄金时代已结束!
  6. “机智号”成功试飞火星,但它使用的开源软件安全吗?
  7. PDFCreator(pdf转换器电脑版免费版)官方繁体中文版V4.3.0 | PDF生成器下载 | pdf转换器哪个好用?
  8. 数字冰雹智慧城市大数据可视化分析决策系统
  9. 《电磁学》学习笔记1——电场
  10. 计算机超级管理用户名,超级管理员设置及简介
  11. Python:实现Gale-Shapley盖尔-沙普利算法(附完整源码)
  12. 数美科技:全栈防御体系怎么样护航游戏ROI增长
  13. 数据结构与算法(陈越版)第一讲 基本概念
  14. 教妹学Java(十七):do-while 循环
  15. 代码设置margintop_js获取css属性,更改margin-top属性,给每个a标签的margin-top属性在原基础上 +5px...
  16. ROS机器人021-机器人命令行发送cmd_vel话题及/cmd_vel geometry_msgs/Twist示例
  17. 若依管理系统windows本地运行教程
  18. UE4-简单的FPS项目制作(B站视频笔记)P1P2
  19. Android 获取电池容量 mAh
  20. LED与照明光学基础知识

热门文章

  1. 新浪财经分析报告(0605)
  2. 心态决定一切 成败一念之间
  3. 无法启动游戏 因为计算机,WeGame只需五步即可解决游戏无法启动的问题!
  4. mysql binlog增量备份脚本_实现mysqlldump+binlog日志全量备份和增量备份脚本
  5. 非静态的字段、方法或属性 要求对象引用
  6. flink sql 知其所以然(十五):改了改源码,实现了个 batch lookup join(附源码)
  7. JUC-9.“锁”事(显式锁与隐式锁/悲观锁与乐观锁/公平锁与非公平锁/可重入锁/读写锁(独占/共享/降级)/邮戳锁/死锁)、锁升级
  8. 清除windows系统垃圾文件简易脚本(bat)
  9. linux-shell系列5-统计
  10. MySQL ERROR 1153 解决办法