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

可编程三轴机械臂套件:Arduino + 蓝牙 本地/远程双模控制

核心硬件清单

组件数量备注
Arduino Mega 25601IO口充足,无需扩展芯片
SainSmart 3轴托盘码垛机械臂模型1适配Arduino UNO/MEGA,3自由度
MeArm DIY机械臂套件14自由度(含夹爪),备选机型
HC-06蓝牙模块1串口透传,Android远程控制
Adafruit RGB背光LCD 16×21I2C接口,状态显示
Android设备1运行MIT App Inventor 2开发的控制App
10kΩ旋转电位器4本地模式下对应4轴位置控制
12mm轻触开关3模式切换、程序保存/运行、急停
LED(红/蓝/绿/黄)各1多色状态指示

软件工具

功能规格

机械臂具备两大核心功能:

主要特性:

可编程三轴机械臂套件:Arduino + 蓝牙 本地/远程双模控制
硬件框图:Mega主控、4舵机、4电位器、HC-06、LCD、按键、LED、蜂鸣器

机械结构与自由度定义

可编程三轴机械臂套件:Arduino + 蓝牙 本地/远程双模控制
四自由度定义:Base(腰, 0-180°)、Shoulder(肩, 抬升)、Elbow(肘, 前伸)、Gripper(夹爪, 开合)

电路设计要点

可编程三轴机械臂套件:Arduino + 蓝牙 本地/远程双模控制
舵机直连Mega PWM引脚,**舵机电源必须独立**(5-6V外接,共地),建议并联470μF电容滤除电机噪声

关键注意事项:

  1. 舵机选型至关重要:廉价MG995等国产模拟舵机易抖动、扭矩不足;数字舵机(300Hz)配合标准Servo.h(50Hz)可能需修改库定时器频率
  2. 若舵机抖动严重,增加代码中delay给舵机足够到位时间
  3. 所有地线(GND)必须可靠连通:外接电源负极、Arduino GND、舵机信号线地

代码架构与核心逻辑

项目采用多文件模块化结构:

文件职责
ArmDefine.h常量定义:各舵机最小/最大/中位角度,针对两种机械臂预设两组参数
MJRoBot_Arm_Robot_Task_Prgm.ino主逻辑:Setup、Loop、蓝牙指令解析、模式切换、程序录制/回放
General_Functions.ino通用函数:蓝牙指令组帧、蜂鸣器发声、按键消抖
Arm_Ctrl_and_Display.ino舵机驱动、电位器/滑块读取、LCD/串口显示、报警处理

关键常量定义

// ArmDefine.h - MeArm 4-DOF参数示例
#define minGrip 15   #define minBase 0    #define minShou 60   #define minElbw 60
#define maxGrip 45   #define maxBase 170  #define maxShou 180  #define maxElbw 150
#define midGrip 30   #define midBase 87   #define midShou 138  #define midElbw 100

// SainSmart 3-DOF参数(注释备用)
/* #define minGrip 75  #define minBase 5   #define minShou 5   #define minElbw 0
#define maxGrip 125 #define maxBase 150 #define maxShou 155 #define maxElbw 0
#define midGrip 100 #define midBase 90  #define midShou 90  #define midElbw 0 */

标定方法: 电位器置中,PWM映射默认0-255→0-179°,逐轴转动电位器观察串口/LCD实时角度,记录机械极限无干涉的最小/最大值,回填上述宏定义。

步骤记录数组

int gripPos[100], basePos[100], shouPos[100], elbwPos[100];
int posIndex = 0; // 当前步骤索引,掉电不保持(可扩展EEPROM断电保存)

主循环伪代码


void loop() {
  checkBTcmd();           // 解析蓝牙指令 → command字符串
  defineLocalRemote();    // 根据command切换LOCAL/REMOTE模式
  bool execCmd = digitalRead(execTaskPin) == HIGH || command == "runon";
  if (execCmd) RunProgram(); else recArmPosition();
  command = "";
}

核心函数职责

远程控制App

可编程三轴机械臂套件:Arduino + 蓝牙 本地/远程双模控制
MeArm 4DOF通过Android App远程编程演示

完整源码与资源

GitHub仓库:https://github.com/Mjrovai/MJRoBot-Programmed-Arm

原理图:Arm Robot Diagram.png

结语

希望本项目助你入门电子、机器人与物联网!更多教程访问博客:MJRoBot.org
来自南半球的问候,下期再见! — Marcelo

制造工艺

  1. 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
  2. Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
  3. Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
  4. 基于 Arduino MKR1000 与 ThingSpeak 的远程 IoT 机械臂控制系统
  5. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  6. Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
  7. Arduino DIY 电压表:Nokia 5110 屏幕显示,手把手教学
  8. DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
  9. Python 3 控制 Arduino UNO - 串口通信点亮内置 LED 入门教程
  10. Arduino PowerPoint 指针:无缝无线演示控制器
  11. 工业机械臂重塑制造业:核心优势、类型与头部厂商深度解析
  12. 机器人操作器与机械臂:核心差异、类型分类与应用场景深度对比