Arduino 第十二章:舵机
创作时间:
作者:
@小白创作中心
Arduino 第十二章:舵机
引用
CSDN
1.
https://blog.csdn.net/wangzhae/article/details/145581148
Arduino 第十二章:舵机
一、舵机概述
舵机是一种常见的执行机构,在机器人、航模、自动化控制等领域应用广泛。它能够根据输入信号精确地控制转动角度,具有控制简单、精度较高、扭矩较大等优点。舵机通常由直流电机、减速齿轮组、角度传感器和控制电路组成。
二、工作原理
舵机的控制基于脉冲宽度调制(PWM,Pulse Width Modulation)信号。控制信号是一个周期性的脉冲序列,周期一般为 20ms(50Hz),而舵机的转动角度由脉冲的高电平持续时间(脉冲宽度)决定。常见的舵机转动角度范围是 0° - 180°,对应脉冲宽度范围通常为 0.5ms - 2.5ms,具体对应关系如下:
- 脉冲宽度为 0.5ms 时,舵机转到 0°位置。
- 脉冲宽度为 1.5ms 时,舵机转到 90°位置。
- 脉冲宽度为 2.5ms 时,舵机转到 180°位置。
舵机内部的控制电路会根据输入的脉冲宽度,调整直流电机的转动方向和角度,同时角度传感器会实时反馈舵机的实际角度,形成闭环控制,确保舵机准确到达指定位置。
三、硬件连接
(一)所需材料
- Arduino 开发板(如 Arduino Uno)
- 舵机
- 杜邦线若干
(二)引脚说明
舵机一般有三根线:
- 红色线:电源正极,通常接 5V。
- 棕色线(或黑色线):电源负极,接地(GND)。
- 橙色线(或黄色线):控制信号线,连接到 Arduino 的一个数字引脚。
(三)连接方式
将舵机的红色线连接到 Arduino 的 5V 引脚,棕色线连接到 Arduino 的 GND 引脚,橙色线连接到 Arduino 的一个数字引脚,这里选择数字引脚 2。
(四)连接图
四、代码实现
(一)使用 Servo 库
Arduino 提供了 Servo
库,方便我们控制舵机。以下是一个简单的示例代码,让舵机在 0° - 180°之间来回转动:
#include <Servo.h>
// 创建一个舵机对象
Servo myServo;
// 定义舵机控制引脚
const int servoPin = 2;
void setup() {
// 将舵机控制引脚连接到舵机对象
myServo.attach(servoPin);
}
void loop() {
// 舵机从 0° 转到 180°
for (int angle = 0; angle <= 180; angle++) {
myServo.write(angle);
delay(15);
}
// 舵机从 180° 转到 0°
for (int angle = 180; angle >= 0; angle--) {
myServo.write(angle);
delay(15);
}
}
(二)代码解释
- 库的引入:
#include <Servo.h>
:引入Servo
库,该库提供了控制舵机的函数和方法。
- 变量定义:
Servo myServo;
:创建一个Servo
类的对象myServo
,用于控制舵机。const int servoPin = 9;
:定义舵机控制信号线连接到 Arduino 的数字引脚 9。
setup()
函数:
myServo.attach(servoPin);
:将舵机对象myServo
与指定的控制引脚servoPin
关联起来。
loop()
函数:
- 第一个
for
循环:for (int angle = 0; angle <= 180; angle++)
,让舵机从 0° 逐渐转动到 180°。myServo.write(angle);
函数用于设置舵机的转动角度,delay(15);
用于控制舵机转动的速度,避免转动过快。 - 第二个
for
循环:for (int angle = 180; angle >= 0; angle--)
,让舵机从 180° 逐渐转动到 0°。
五、注意事项
- 电源供应:舵机在转动时需要较大的电流,特别是在启动和负载较大的情况下。如果直接使用 Arduino 的 5V 引脚为舵机供电,可能会导致 Arduino 电源不足,影响其正常工作。可以使用外部电源为舵机供电,但要注意将外部电源的地与 Arduino 的地连接在一起,以保证信号的一致性。
- 角度范围:不同型号的舵机转动角度范围可能有所不同,大多数舵机是 0° - 180°,但也有一些舵机可以达到 270° 甚至连续旋转。在使用时要根据舵机的实际规格进行设置。
- 负载能力:舵机有一定的负载能力,在使用时要确保负载不超过舵机的额定扭矩,否则可能会导致舵机无法正常转动或损坏。
六、应用拓展
(一)机器人关节控制
在机器人的设计中,舵机可以作为关节的驱动部件,通过控制多个舵机的转动角度,实现机器人的各种动作,如手臂的伸展、弯曲,腿部的行走等。
(二)航模控制
在航模(如飞机、轮船、汽车模型等)中,舵机用于控制模型的舵面(如机翼、尾翼等),实现模型的转向、升降等操作。
(三)自动化设备
在一些自动化设备中,舵机可以用于控制阀门的开关、物料的抓取和放置等操作,实现自动化生产和控制。
热门推荐
胃胀气怎么办?摆脱烦恼~轻松享受健康的肠胃生活
派币骗局揭秘:律师教你如何识破数字货币投资陷阱
美国读研生活费解析:住宿、餐饮、交通、医疗…都在这儿!
【油漆施工完全指南】从流程到价格估算,一文读懂油漆工程
生抽和味极鲜什么区别?六大维度详解,附优质产品推荐
一粒速效救心丸可治多种病,不只是心梗
兼职合同需要交社保吗?法律专家权威解读
大家所了解的兼职是劳动关系吗
【新旧文存】真诚的文字赤诚的心 — 张岱《自为墓志铭》的联想
市场运营职业规划指南
普高和职高学籍可互转,杭州发布高中阶段职普融通试点方案
镜片像差?揭秘眼镜片不清晰的原因!
不吃早餐?饭前喝汤?这8种饮食习惯很“伤胃”!
《有的人》:一首说尽做人道理的名诗
Nature Communications:Olink在肿瘤精准诊断中的研究进展
常言“苏湖熟天下足”,为何后来又换成了“湖广”?
超声检查胃是否有诊断价值
毫不逊色《狂飙》的6部悬疑剧,剧情紧凑让人眼前一亮
汽车座椅海绵塌陷处理小妙招
年平均增长率(CAGR):投资增长的关键指标及其计算方法解析
“佛山第一商圈”发展规划发布:4家总部、9家首店集中入驻
荞麦:坚韧生命的象征与健康饮食的瑰宝
主板BIOS如何关闭集成显卡模式
TFA卡片 | 一套全面且实用的情商工具
斗鱼的养殖方法和注意事项
深圳地铁实现外卡支付,境外乘客出行更便捷
老年手足皲裂:症状、成因与防治全攻略
轮胎应该如何安全运输?这种运输方式的成本如何核算?
二本B类学校排名全解析:如何选择最适合你的大学?
闯黄灯不罚款的情况及原因