Skip to content

Arduino执行器应用实战指南:从原理到控制

在Arduino开发中,传感器负责“感知”世界,而执行器则负责“改变”世界。无论是让轮子转动、让机械臂抓取物体,还是控制大功率设备的通断,执行器都是连接代码与物理动作的关键桥梁。

执行器的定义与分类

执行器(Actuator)是一种将电能、气压或液压能转换为机械能或其他形式能量的装置。在Arduino生态中,我们主要关注将电信号转换为物理动作的元件。

根据输出形式,常见执行器可分为以下三类:

分类典型代表输出特性适用场景
旋转运动直流电机、步进电机、舵机连续旋转或精确角度控制车轮驱动、机械臂关节、云台
直线运动直线步进电机、电磁铁往复推拉或精确位移3D打印机、自动门锁、阀门
开关控制继电器、固态继电器(MOS管)电路通断、功率放大灯光控制、家电控制、水泵

常见执行器的工作原理

1. 直流电机

最基础的执行器。通过改变输入电压的极性来改变转向,通过改变电压大小(通常使用PWM)来调节转速。由于Arduino引脚输出电流极小,必须配合电机驱动模块(如L298N、TB6612)使用。

2. 舵机

内部集成了直流电机、减速齿轮组、位置传感器和控制电路。它不需要复杂的驱动板,只需接收一个PWM信号即可定位到指定角度(通常为0°-180°)。脉宽通常在500μs到2500μs之间对应不同角度。

3. 继电器

本质上是一个电控开关。当Arduino给继电器线圈通电时,产生磁场吸合触点,从而接通或断开另一路高压/大电流电路。它实现了弱电(Arduino)与强电(220V市电)的电气隔离。

Arduino控制执行器的基本电路与代码

案例一:控制舵机角度

舵机通常有三根线:红(VCC)、棕/黑(GND)、橙/黄(信号)。

电路连接:

  • VCC -> Arduino 5V
  • GND -> Arduino GND
  • 信号线 -> Arduino PWM引脚(如 Pin 9)

代码示例:

cpp
#include <Servo.h>

Servo myServo;

void setup() {
  myServo.attach(9); // 绑定PWM引脚
}

void loop() {
  myServo.write(0);   // 转到0度
  delay(1000);
  myServo.write(90);  // 转到90度
  delay(1000);
  myServo.write(180); // 转到180度
  delay(1000);
}

案例二:继电器控制灯泡

电路连接:

  • 继电器 VCC -> Arduino 5V
  • 继电器 GND -> Arduino GND
  • 继电器 IN -> Arduino 数字引脚(如 Pin 8)
  • 继电器 COM/NO -> 串联在灯泡电路中(注意高压安全!)

代码示例:

cpp
const int relayPin = 8;

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW); // 初始关闭
}

void loop() {
  digitalWrite(relayPin, HIGH); // 开启继电器
  delay(2000);
  digitalWrite(relayPin, LOW);  // 关闭继电器
  delay(2000);
}

实际应用案例与注意事项

典型应用场景

  1. 智能浇花系统:土壤湿度传感器检测数据 -> Arduino判断阈值 -> 继电器开启水泵。
  2. 自动避障小车:超声波测距 -> 距离过近 -> 直流电机反转或舵机转向。
  3. 智能家居开关:ESP8266/ESP32接收手机指令 -> 继电器控制客厅灯光。

关键注意事项

  1. 电源隔离:电机和继电器属于感性负载,启动和停止时会产生反向电动势,极易干扰Arduino导致复位甚至烧毁引脚。务必在电机两端并联续流二极管,或使用带光耦隔离的继电器模块。
  2. 供电能力:Arduino的5V引脚通常只能提供约400-500mA电流。严禁直接用Arduino给大功率电机或舵机供电,必须使用外部电源,并确保外部电源GND与Arduino GND共地。
  3. PWM频率:控制舵机时,确保使用支持硬件PWM的引脚(Uno上为3, 5, 6, 9, 10, 11)。
  4. 高压安全:使用继电器控制220V市电时,必须确保接线绝缘良好,外壳接地,并在断电状态下进行接线操作。
  5. 驱动匹配:不要试图用Arduino引脚直接驱动电机。根据电机电压和电流选择合适的驱动板(如小电流用A4988,大电流用L298N或MOS管H桥)。

掌握执行器的控制,意味着你的Arduino项目从“数据展示”迈向了“物理交互”。在调试过程中,建议先从低压、小功率设备开始,确认逻辑无误后再接入大功率负载。