亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

DIY 双轴 FPV 摄像头云台:Arduino + 摇杆模块控制教程

硬件清单

元器件数量备注
Arduino UNO R31主控
SG90 微型舵机2分别驱动俯仰/偏航
双轴 FPV 云台套件1含亚克力支架、螺丝、两个舵机(已含)
摇杆模块1两轴电位器 + 按键,模拟量输出
杜邦线若干1包

项目背景

云台套件包含亚克力结构件、两颗 SG90 舵机(已预装)。本教程提供两种控制模式代码,分别对应“跟随模式”与“速率模式”,适合 FPV 穿越机、固定翼相机稳定或地面机器人视觉跟踪。

接线说明

DIY 双轴 FPV 摄像头云台:Arduino + 摇杆模块控制教程
注意: 图中上下舵机位置请勿搞反;摇杆 X/Y 定义可在代码中对调。

控制模式对比

模式行为适用场景
代码 1:位置跟随摇杆偏转多少,舵机即转到对应角度;回中则舵机回中FPV 实时跟随、云台云台稳像
代码 2:速率/积分摇杆偏向某方向,舵机持续向该方向转动至限位;回中则保持当前角度巡逻扫描、定点锁定、无回中弹簧的摇杆

代码 1:位置跟随模式

#include <Servo.h>
Servo yawServo, pitchServo;
const int X_AXIS = A0, Y_AXIS = A1;

void setup() {
  Serial.begin(9600);
  pinMode(X_AXIS, INPUT); pinMode(Y_AXIS, INPUT);
  yawServo.attach(8);   // 底部舵机
  pitchServo.attach(9); // 顶部舵机
}

void loop() {
  int x = analogRead(X_AXIS);        // 0-1023
  int y = analogRead(Y_AXIS);
  // 映射到舵机范围,根据实测微调系数
  x = map(x, 0, 1023, 0, 180);
  y = map(y, 0, 1023, 0, 150);       // 俯仰限幅 150°
  x = 180 - x;                       // 方向修正
  yawServo.write(x);
  pitchServo.write(y);
  delay(20); // 约 50Hz 刷新
}

代码 2:速率/积分模式

#include <Servo.h>
Servo yawServo, pitchServo;
const int X_AXIS = A0, Y_AXIS = A1;
int yawPos, pitchPos;

void setup() {
  Serial.begin(9600);
  pinMode(X_AXIS, INPUT); pinMode(Y_AXIS, INPUT);
  yawServo.attach(8); pitchServo.attach(9);
  yawPos = yawServo.read(); pitchPos = pitchServo.read();
}

void loop() {
  int x = analogRead(X_AXIS);
  int y = analogRead(Y_AXIS);
  // 死区 ±50,避免中位抖动
  if (x > 550) { yawPos--; yawServo.write(yawPos); delay(50); }
  if (x < 450) { yawPos++; yawServo.write(yawPos); delay(50); }
  if (y > 600) { pitchPos++; pitchServo.write(pitchPos); delay(50); }
  if (y < 450) { pitchPos--; pitchServo.write(pitchPos); delay(50); }
  // 可选:增加限位保护
  yawPos = constrain(yawPos, 0, 180);
  pitchPos = constrain(pitchPos, 0, 150);
}

调试与校准技巧

  1. 舵机零位校准:上电前手动拨动舵机至机械中心,再通电
  2. 摇杆中位校准:串口打印 analogRead 值,记录静止时的 X/Y 中心值,代码中做死区判断
  3. 方向反转:若云台动作与预期相反,修改 map 目标范围或交换正负
  4. 抖动抑制:加装 100μF 电解电容并联舵机电源;软件端增加滑动平均滤波

进阶扩展

制造工艺

  1. 集成二维码、RFID与体温验证的门禁控制系统
  2. 树莓派摄像头安装鸟屋完整指南:NoIR 相机、LED 补光与环境监测
  3. ESP32-CAM 运动检测安防相机,推送照片到 Discord
  4. Arduino Mega 驱动紫外线消毒机器人:远程遥控杀菌系统
  5. 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
  6. 自制 Arduino 电视遥控器:3D 打印外壳、电池供电、支持三大品牌协议
  7. 舵机驱动避障机器人:基于 Arduino 与 HC-SR04 构建
  8. Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
  9. Arduino Nano + 摇杆控制双步进电机:Visuino 图形化教程
  10. Arduino + MPU6050 姿态控制舵机:SG90 与 MG996R 精准跟随实战
  11. Millport SmartLathez 1740 CNC车床:精密与动力的结合
  12. Hurco TM8 斜床身车床:紧凑设计、精密控制、多功能刀具