

了解舵机以及MG996R的控制方法 - slowlydance2me
source link: https://www.cnblogs.com/slowlydance2me/p/17151523.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

了解舵机以及MG996R的控制方法
1.舵机基础知识:
舵机是遥控航空、航天模型控制动作,改变方向的重要组成部件,舵机是一种位置(角度)伺服的驱动器。
舵机主要适用于那些需要角度不断变化并可以保持的控制系统,比如人形机器人的手臂和腿,车模和航模的方向控制。舵机的控制信号实际上是一个脉冲宽度调制信号( PWM信号),该信号可由FP-GA器件、模拟电路或单片机产生。
2.舵机的构造:
舵机主要是由外壳、电路板、驱动马达、减速器与位置检测元件所构成。
引脚接线说明:
-
红色:供电;
-
粽色:地线;必须与控制器, 如SMT32芯片共地;
-
橙色:PWM信号线;
3.工作原理:
由接收机发出讯号给舵机,经由电路板上的 IC驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。
大多数舵机PWM控制协议,都已经标准化。舵机一般有三根引线,分别为电源线、地线、信号线。通过PWM来控制舵机输出轴的旋转角度,下图是MG996R舵机PWM控制波形。
-
PWM信号周期: 20000 us
-
0度时,高电平时长: 500 us
-
180度时, 高电平时长:2500 us
-
每增加1 °,需增加高电平时长:(2500-500)÷180 = 11.1 us
(ps: 脉冲宽度(W),简称“脉宽”,是脉冲高电平持续的时间。占空比(D),脉宽除以脉冲周期的值。)
-
某角度值A,需要的总高电平时长:(A x 11.1 +500)us
注意:
①PWM波其实就是一种脉宽可连续调节的矩形脉冲波。
②占空比其实就是描述脉宽与脉冲周期的比值,是量化值。
③占空比调节就是脉宽调节,表达不一样,但本质是一样的。
4.舵机类型:
5.舵机的使用:
使用Arduino编译平台中的servo.h舵机库进行对舵机的控制
将舵机从0°~90°再回转的控制代码如下:
#include <Servo.h> Servo myservo; // 定义Servo对象来控制 int pos = 0; // 角度存储变量pos void setup() { myservo.attach(9); // 控制线(橙色)连接数字引脚9接受PWM信号 } void loop() { for (pos = 0; pos <= 90; pos ++) { // 角度pos从0°到90° // in steps of 1 degree myservo.write(pos); // 舵机角度写入 delay(10); // 等待10ms转动到指定角度 } for (pos = 90; pos >= 0; pos --) { // 从90°到0° myservo.write(pos); // 舵机角度写入 delay(10); // 等待10ms转动到指定角度 } }
连接开发板设置好端口和开发板类型,进行验证上传即可驱动舵机。
__EOF__
Recommend
-
11
【.NET 与树莓派】控制舵机 不管是小马达,还是大马达,嗯,也就是电机,相信大伙伴们也...
-
2
一个舵机的自我修养如何把一个舵机改装成 360° 连转舵机,以及用代码解决杂音?
-
7
一文分清普通电机、减速电机、步进电机、舵机、伺服电机的区别[转载] By: taho On: 2021年7月...
-
10
我想在制作中的全景穿越机上安装一个升降舵机,用来保护全景相机的镜头,于是需要在BetaFlight的地面站下控制舵机,在网上找到了这个教程,能解决问题。
-
6
在树莓派4B上使用PCA9685控制MG996R伺服电机 Posted on 2021-10-31...
-
3
舵机,由直流电机、减速齿轮组、传感器和控制电路组成的一套...
-
5
About PPM Encoder The PPM encoder allows to encode up to 8 PWM (pulse width modulated) signals into one PPM (pulse position modulation) signal. The function of the PPM encoder is to encode the multi-channel PWM s...
-
11
当你想完成 Golang 开发环境的便捷安装以及随时更新和保障多个版本的 Golang 共存的时候,就需要使用到 Golang 的专门版本管理工具 ——gvm 本篇随笔记录了在 Ubuntu 下安装使用 gvm 的过程 Gvm 的下载 我们可以...
-
2
起因是这样的,前段时间,我同时开始玩履带车和固定翼航模。履带车的动力是直流电机加驱动板,PWM 调制,0-100% 占空比控制电机从静止到全速转动。 航模的话,虽说十年前我就开始接触了,但一直都是浮于表面的玩,能动就行。玩航模必须要有遥控器和接收机,接...
-
7
OpenMV的定时器官方函数介绍: Timer类 – 控制内部定时器目录OpenMV的PWM资源介绍为什么要用Op...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK