当前位置:网站首页>舵机内部结及工作原理浅析[通俗易懂]
舵机内部结及工作原理浅析[通俗易懂]
2022-08-10 13:44:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
一、舵机实物图
就像上面这张照片,相信大家都不会陌生,我们常见到的舵机就是这个模样,一般是塑料外壳,当然很少见的也有金属外壳的舵机,因为涉及到控制信号,所以一般有三条引出线。
像上图所示的样子,舵机有一个三线的接口。黑色线(或棕色线)是接地线,红线接+5V电压,黄线(或是白色或橙色)接控制信号端。(而步进电机一般会有4~6根不等的引出线)
二、舵机的内部结构
各种品牌型号舵机的样子,长的几乎都是差不多的,一般情况下,舵机的输出轴都是偏向一边的,这是由于内部齿轮组的安装方式的原因,如果拆开舵机,我们就会发现更多真相。我们可以很明显的看出,舵机和步进电机的动力是有着很大区别的,舵机的驱动力来自——直流电机,通过变速齿轮的传动和变速,将动力传输到输出轴,同时,舵机内部都设有角度传感器和控制电路板,用来参与舵机的转动角度的控制和信号的反馈检测工作。
如果还不够直观的话,我们再来看一张舵机实物的拆解图,你就不用再拆了,因为拆了也是一样的内部构造。
三、舵机的闭环检测机制
关于舵机的精准位置控制,存在以下如下图的闭环控制机制。即:位置检测器(角度传感器)是它的输入传感器,舵机转动的位置变化,位置检测器的电阻值就会跟着变化。通过控制电路读取该电阻值的大小,就能根据阻值适当调整电机的速度和方向,使电机向指定角度旋转。从而实现了舵机的精确转动的控制。
四、舵机的工作原理
舵机的工作原理可以通过下面这张简单的流程图说明,结合上面所说的闭环检测机制内容,相信你很轻松的就可以了解舵机的工作流程和工作原理了。
说到舵机的控制信号,一般是脉宽调制(PWM)信号,如下图,直观反映了PWM信号和舵机转动角度的关系,你也可以简单的理解为,通过给舵机通电的时间控制,结合角度传感器的反馈信号检测和控制,实现了舵机的精确角度控制。
舵机的控制信号周期为20MS的脉宽调制信号(PWM),其中脉宽从0.5ms-2.5ms,相应的舵盘位置从0-180度,呈线型变化。也就是说,给舵机提供一定的脉宽,他的输出轴就会保持一定的对应角度,无论外接转矩怎么改变,知道给他提供另外一个脉冲信号,他才会改变输出角度到新的对应的位置上。
舵机内部有一个基准电路,产生周期为20MS,宽度为1.5MS的脉冲信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
舵机是一种位置伺服驱动器,转动范围不能超过180度,适用于那些需要不断变化并可以保持的驱动器中,比喻说机器人的关节、飞机的多面等。
注意:舵机的运动范围是180度,我曾经参加了一个教育机器人的比赛,其实就是一个小车加上几个传感器,当时用的PARALLAX的电机,以为PARALLX是舵机,我很疑惑,今天在书上看到舵机的旋转范围是180,180度的话,小车不是只能走半圈?所以之前用的PARALLAX是改造过的伪舵机。
五、180度电机与360度电机
360度舵机与一般舵机的区别是:给一般舵机一个PWM信号,舵机会转到一个特定角度,而给360度舵机一个PWM信号,舵机会以一个特定的速度转动,类似与电机。但与电机不同的是,360舵机是闭环控制,速度控制稳定。
PWM信号与360舵机转速的关系:
0.5ms—————-正向最大转速;
1.5ms—————-速度为0;
2.5ms—————-反向最大转速;
拿到那种360度旋转电机的时候,首先就是调零,接VCC、GND,然后用波形发生器产生一个周期20MS、高电平1.5MS的波形去调零。(经验之谈,不知道对不对)
以上说的不一定都对,各位看官不吝赐教!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130034.html原文链接:https://javaforall.cn
边栏推荐
- ABAP 里文件操作涉及到中文字符集的问题和解决方案试读版
- NAACL 2022 | 简单且高效!随机中间层映射指导的知识蒸馏方法
- 递归递推之Fighting_小银考呀考不过四级
- SecureCRTPortable – 破解
- 八大排序总是忘?快来这里~
- Send a post request at the front desk can't get the data
- The recursive recursive Fighting_ silver study ah but level 4
- AWS 安全基础知识
- [219] The training course notes of the go engineer with more than 3,000 MOOCs 02 Programming ideas in the go language
- C# error The 'xmins' attribute is not supported in this context
猜你喜欢
记录几道整型提升的题目
ABAP 里文件操作涉及到中文字符集的问题和解决方案试读版
2022-08-09:以下go语言代码输出什么?A:否,会 panic;B:是,能正确运行;C:不清楚,看投票结果。 package main import ( “fmt“ “syn
How does IT Xiaobai learn PHP systematically
【学习笔记】Redis的持久化
R语言实战应用案例:论文篇(一)-特殊柱形图绘制
laravel throws the error to Dingding
【ECCV 2022|Millions of Prizes】PSG Competition: Pursuing the "Most Comprehensive" Scene Understanding
ABAP file operations involved in the Chinese character set of problems and solutions for trying to read
Code Casual Recording Notes_Dynamic Programming_70 Climbing Stairs
随机推荐
雨水中存在的PFAS化学物质对饮用水安全构成了威胁
友邦人寿可观测体系设计与落地
recursive recursive function
Matrix Keyboard & Calculator Small Project Based on 51 (UcosII)
R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:gtExtras包的gt_highlight_rows函数高亮(highlight)表格中特定的数据行、配置高亮行的特定数据列数据加粗
[JS Advanced] Creating sub-objects and replacing this_10 in ES5 standard specification
SecureCRTPortable – 破解
【Gazebo入门教程】第三讲 SDF文件的静/动态编程建模
Stream通过findFirst()查找满足条件的一条数据
ABAP 里文件操作涉及到中文字符集的问题和解决方案试读版
矩阵键盘&基于51(UcosII)计算器小项目
Short read or OOM loading DB. Unrecoverable error, aborting now
BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection Paper Notes
the height of the landscape
C# InitializeComponent() does not exist in the current context
A unit test report for CRM One Order Application log
YTU 2295: KMP pattern match one (string)
Makefile missing separator. Stop.怎么解决「建议收藏」
【ECCV 2022|百万奖金】PSG大赛:追求“最全面”的场景理解
八大排序总是忘?快来这里~