《机器人构建实战》——2.1 舵机的基础知识

简介:

本节书摘来异步社区《机器人构建实战》一书中的第2章,第2.1节,作者:丘柳东 ,王牛 ,李瑞峰 ,陈阳,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.1 舵机的基础知识

2.1.1 舵机及其工作原理

舵机主要用来控制转向,在船舶、飞机、航模等场合有着广泛的应用,如图2.1所示。机器人技术的兴起,足式和复合型运动机构运来越多地出现在机器人上,而这些机构都是舵机大展拳脚的地方。

97f129dcfee84b1a6b199f8aee10a959b821babb

除了外壳,舵机的核心组成部分(见图2.2)包括直流电动机、减速齿轮(组)、角度传感器和控制电路,这4个部分使舵机成为一个带有角度反馈的自动控制系统。

a56c0cf73e617c0b0770f27a8f0b4a7b49b98181

其工作流程如图2.3所示,具体如下。

① 控制电路接收外部角度控制信号,判断直流电动机的转动方向。

② 驱动直流电动机转动,通过减速齿轮组将动力传至舵机摆臂。

③ 角度传感器检测当前角度信息并反馈给控制电路。

④ 判断是否已经到达指定角度,如果到达停止转动,否则继续转动。

舵机与普通直流电动机的区别如下。

转动范围不同:舵机在一定角度范围内运动,而直流电动机则是360°范围内转动。

反馈有无不同:普通直流电机无法反馈转动的角度信息,需要加装检测模块,舵机由于集成了角度传感器,能够反馈角度信息。

应用场合不同:普通直流电机一般是做动力用,主要是对转动的速度进行控制,舵机用于精确的角度控制,到达指定角度后会停止。

2.1.2 舵机的主要参数

舵机的参数是用来判断舵机性能高低的标准。舵机具有以下主要参数。

转动范围:舵机的最基础参数。舵机的转动范围一般在360°以内,范围越大,适用场合越多。但是有可能角度分辨率越低。

最大转矩:代表舵机的负载能力。转矩的单位是kg/cm,表示舵机在摆臂长度1cm处,能吊起几千克重的物体;

最大转动速度:表示运动性能的高低。转动速度的常见单位是/60°,意思是舵机转动60°所需要的时间。

角度分辨率:表示舵机的角度转动精度,受到转动范围和量化值范围的共同影响。如果量化值固定,那么转动范围越大,角度分辨率则越低。

此外,舵机输出轴、减速齿轮采用的材质(常见为塑料和金属),也是判断舵机品质的一个重要标准。

2.1.3 数字舵机

传统的模拟舵机需要外部不断地提供PMW信号进行角度的定位。PWM信号一般以20ms为一个周期,用一个(1.5±0.5)ms的脉冲来控制舵机的角度。

数字舵机只需要发送一次PWM信号就能保持在指定的某个位置。由于具有模拟舵机没有的微处理器,数字舵机具有以下优势。

① 数字舵机可以在将动力脉冲发送到舵机马达之前,根据设定的参数对输入信号进行处理。这意味着控制脉冲的宽度,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。

② 数字舵机向电动机发送控制脉冲的频率更高。使得电动机在同一时间里收到更多的激励信号,反应更快。

因此,数字舵机的加速和减速更迅速、更柔和,能够提供更高的精度和更好的固定力量,防抖动功能更强。

2.1.4 博创CDS5516数字舵机

博创CDS5516数字舵机(见图2.4)属于一种集电动机、伺服驱动、总线式通信接口为一体的集成伺服单元,主要用于微型机器人的关节、运动轮、履带驱动,也可用于其他简单位置的控制场合。CDS5516数字舵机的特点如下。

de0278919790c0ba96454de2b42f5791c3650b18

① 大转矩:16kgf·cm的持续转动输出转矩,大于20kgf·cm的位置保持转矩。

② 位置伺服控制模式下转动范围0~300°。

③ 高转速:最高0.16 s/60°输出转速。

④ 在速度控制模式(电动机模式)下可连续旋转,调速。

⑤ 总线连接,理论上可串联254个单元。

⑥ 0.32°位置分辨率,高达1M通信波特率。

⑦ 具备位置、温度、电压、速度反馈。

CDS5516数字舵机具有两个相同功能的接口,任意一个都可以连接控制器或其他舵机,满足在搭建的机器人进行舵机的串联。

相关文章
|
7月前
|
人工智能 自然语言处理 机器人
探索人工智能:使用Python构建一个简单的聊天机器人
探索人工智能:使用Python构建一个简单的聊天机器人
323 0
|
17天前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
2月前
|
人工智能 自然语言处理 机器人
用Python构建你的第一个聊天机器人
【10月更文挑战第7天】在这篇文章中,我们将一起探索如何利用Python编程语言和AI技术,一步步打造一个基础的聊天机器人。无论你是编程新手还是有一定经验的开发者,都能通过这个指南获得启发,并实现一个简单的对话系统。文章将引导你理解聊天机器人的工作原理,教你如何收集和处理用户输入,以及如何设计机器人的响应逻辑。通过动手实践,你不仅能够学习到编程技能,还能深入理解人工智能在语言处理方面的应用。
63 0
|
4月前
|
前端开发 JavaScript 机器人
从零开始构建一个聊天机器人
【8月更文挑战第7天】构建聊天机器人是一个涉及多个步骤和技术的复杂过程。从前期准备到实际部署,每一步都需要仔细规划和执行。通过不断学习和实践,你可以逐步掌握构建聊天机器人的技巧和方法,为企业创造更大的价值。
|
4月前
|
Apache UED 数据安全/隐私保护
揭秘开发效率提升秘籍:如何通过Apache Wicket组件重用技巧大翻新用户体验
【8月更文挑战第31天】张先生在开发基于Apache Wicket的企业应用时,发现重复的UI组件增加了维护难度并影响加载速度。为优化体验,他提出并通过面板和组件重用策略解决了这一问题。例如,通过创建`ReusableLoginPanel`类封装登录逻辑,使得其他页面可以轻松复用此功能,从而减少代码冗余、提高开发效率及页面加载速度。这一策略还增强了应用的可维护性和扩展性,展示了良好组件设计的重要性。
57 0
|
4月前
|
人工智能 自然语言处理 机器人
掌握未来沟通的艺术:运用TensorFlow与自然语言处理(NLP)技术,从零开始构建你的专属智能对话机器人,让机器理解你的一言一行
【8月更文挑战第31天】本文详细介绍如何利用TensorFlow与自然语言处理技术开发对话机器人。从准备问答数据集开始,通过预处理、构建Seq2Seq模型、训练及预测等步骤,最终实现了一个简易的聊天机器人。示例代码涵盖数据加载、模型搭建及对话功能,适合希望在实际项目中应用AI技术的开发者参考。
49 0
|
4月前
|
人工智能 搜索推荐 安全
从零到一:微信机器人开发的实战心得
从零到一:微信机器人开发的实战心得
262 2
|
5月前
|
机器学习/深度学习 人工智能 安全
运用F5构建机器人防御,轻松应对恶意Bot威胁
运用F5构建机器人防御,轻松应对恶意Bot威胁
49 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
【AIGC】基于大语言模型构建多语种聊天机器人(基于Bloom大语言模型)
【5月更文挑战第8天】基于大语言模型Bloom构建多语种聊天机器人
163 1
|
7月前
|
传感器 机器人 Java
使用Java构建机器人应用
使用Java构建机器人应用
97 0