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° 甚至连续旋转。在使用时要根据舵机的实际规格进行设置。
- 负载能力:舵机有一定的负载能力,在使用时要确保负载不超过舵机的额定扭矩,否则可能会导致舵机无法正常转动或损坏。
六、应用拓展
(一)机器人关节控制
在机器人的设计中,舵机可以作为关节的驱动部件,通过控制多个舵机的转动角度,实现机器人的各种动作,如手臂的伸展、弯曲,腿部的行走等。
(二)航模控制
在航模(如飞机、轮船、汽车模型等)中,舵机用于控制模型的舵面(如机翼、尾翼等),实现模型的转向、升降等操作。
(三)自动化设备
在一些自动化设备中,舵机可以用于控制阀门的开关、物料的抓取和放置等操作,实现自动化生产和控制。
热门推荐
防臭地漏选购指南:原理、类型与维护全攻略
装修防臭秘籍:告别卫生间异味!
人参选购指南:从零开始学会辨别真伪
膳食管理服务包含哪些项目
解码酵母菌:预防与应对的科学之道
口腔念珠菌病的主要原因是什么?
在家也能做米其林三星推荐:广州烧鹅!
刹车油应在什么情况下更换?这种更换依据有哪些影响因素?
刹车油应在什么情况下更换?这种更换依据有哪些影响因素?
日语N4和N3难度差别
日语四六级考试要求详解:从N4到N3你需要掌握什么?
高效管理下午时间,轻松提升健康!
冬季来临,抓住最后时机种出高产榴莲!
西南联大与云南陆军讲武堂:打卡历史的N种方式
昆明抗战胜利馆&讲武堂:历史爱好者的打卡圣地
暑假打卡昆明抗战遗址:你去了哪些?
寄UPS到国外都要清关吗?正式清关手续流程是怎样的?
国际快递邮寄货物最新要求(跨境电商卖家&外贸人看过来)
长征医院教你如何通过生活方式改善肺磨玻璃影
《僵尸先生》英叔模拟器上线!道士VS僵尸,谁才是最终BOSS?
林正英与《僵尸先生》:从巅峰到衰落的经典之路
《僵尸先生》:一部带火传统鬼文化的经典之作
独居时代:如何调适心理,拥抱自由?
福建周宁:种一山好茶 做一叶精品 兴一方产业
常春藤:卫生间除臭的绿色秘密武器
科学设计卫生间通风系统:从原理到案例的全面解析
CDCA中消防协推荐:卫生间深度清洁指南
云南文山三七粉:养生保健的科学之选
三七粉:古人的止血神药,现代人的养生良方
潼南乡村振兴:潼洲小院的成功秘籍