当前位置:网站首页>舵机内部结及工作原理浅析[通俗易懂]
舵机内部结及工作原理浅析[通俗易懂]
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
边栏推荐
- 普林斯顿微积分读本05第四章--求解多项式的极限问题
- NAACL 2022 | 简单且高效!随机中间层映射指导的知识蒸馏方法
- Basic knowledge of switches
- A method that can make large data clustering 2000 times faster
- C#WPF 图片在显示时没有问题,但在运行时图片显示不出来的解决
- C#报错 The ‘xmins‘ attribute is not supported in this context
- Send a post request at the front desk can't get the data
- Calculate the number of combinations recursively
- 一种能让大型数据聚类快2000倍的方法,真不戳
- 【ECCV 2022|百万奖金】PSG大赛:追求“最全面”的场景理解
猜你喜欢

普林斯顿微积分读本05第四章--求解多项式的极限问题

Matrix Keyboard & Calculator Small Project Based on 51 (UcosII)

MySQL面试题整理

A unit test report for CRM One Order Application log
![[Gazebo Introductory Tutorial] Lecture 3 Static/Dynamic Programming Modeling of SDF Files](/img/ec/87566763daf7faa3769ee186f93ee0.jpg)
[Gazebo Introductory Tutorial] Lecture 3 Static/Dynamic Programming Modeling of SDF Files

1W字详解线程本地存储 ThreadLocal

【目标检测】小脚本:提取训练集图片与标签并更新索引
WebView的优化与常见问题解决方案

bgp dual plane experiment routing strategy to control traffic

ABAP file operations involved in the Chinese character set of problems and solutions for trying to read
随机推荐
Network Saboteur
I would like to ask the big guys, how to solve this error when cdc oracle initializes a 3 million table task running
2022年中国软饮料市场洞察
【POI 2008, BLO】Cut Point
laravel 抛错给钉钉
Fragment-hide and show
进程和计划任务管理
OTA自动化测试解决方案---整体方案介绍
Error: Rule can only have one resource source (provided resource and test + include + exclude)
作业8.9 构建TCP协议的服务器
3DS MAX 批量导出文件脚本 MAXScript 带界面
Stream通过findFirst()查找满足条件的一条数据
Calculate the number of combinations recursively
[target detection] small script: extract training set images and labels and update the index
the height of the landscape
C# 当前上下文中不存在InitializeComponent()
CodeForces - 834C
网络安全——XSS之被我们忽视的Cookie
日志@Slf4j介绍使用及配置等级
tampercfg内核模块导致机器频繁crash