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

自制 MK2 Plus 机械臂控制器 - 基于 Arduino 与 CNC 扩展板

组件与物料清单

组件数量
CNC 扩展板1
NEMA 17 步进电机3
Arduino UNO1
A4988 步进电机驱动模块3
微型限位开关3

所需工具

软件工具

项目简介

EEZYBOT MK2 机械臂

Thingiverse 上著名的 EEZYBOT MK2(设计者 daghizmo)按 1:7 缩放 ABB IRB460 运动学结构。原版使用舵机驱动,精度与平滑度有限。MK2 Plus 重混版(Thingiverse)改用 3 个步进电机驱动连杆机构,性能大幅提升。

3D 打印耗时数天,建议先打印再阅读后续内容。

原点校准方案

步进电机无位置记忆,上电需回零。利用 3 个限位开关建立原点。连杆机构运动学较复杂,组装后直观理解开关位置。

Z 轴限位开关安装在底座任意位置,热熔胶固定导线防脱落。为配合 CNC 扩展板标签,将两连杆电机分别称为 X、Y 电机,底座旋转电机称为 Z 电机。

接线指南

CNC 扩展板丝印清晰,注意 A4988 驱动模块插入方向。连杆侧电机对应 X/Y 端子,底座旋转电机接 Z 端子,限位开关按标签接线,极性不敏感。需 12V 电源保证电机扭矩。

代码实现

使用 AccelStepper 库 实现多电机同步加减速运动。通过 Arduino IDE 库管理器安装或访问 官网。

引脚定义与对象创建


#define XSTEP 2
#define YSTEP 3
#define ZSTEP 4
#define XDIR 5
#define YDIR 6
#define ZDIR 7
#define ENABLE 8
#define XLIMIT 9
#define YLIMIT 10
#define ZLIMIT 11
#define XMOTORACC 250
#define XMOTORMAXSPEED 1000
#define YMOTORACC 250
#define YMOTORMAXSPEED 1000

#include <AccelStepper.h>
AccelStepper XMOTOR(1, XSTEP, XDIR);
AccelStepper YMOTOR(1, YSTEP, YDIR);
AccelStepper ZMOTOR(1, ZSTEP, ZDIR);

引脚初始化


void pinsetup() {
  pinMode(ENABLE, OUTPUT);
  digitalWrite(ENABLE, LOW);
  pinMode(XLIMIT, INPUT_PULLUP);
  pinMode(YLIMIT, INPUT_PULLUP);
  pinMode(ZLIMIT, INPUT_PULLUP);
}

回零逻辑详解

回零分两阶段:

  1. XY 回零:连杆耦合运动
    • X、Y 反向运动触发 Y 限位
    • 同向运动触发 X 限位
    • 微调脱离限位开关
  2. Z 回零:独立旋转触发 Z 限位并微调脱离

首次回零必备手捏电源开关,若电机反向立即断电并翻转电机插头。

主程序框架


void setup() {
  Serial.begin(9600);
  pinsetup();
  autohome();  // 仅运行一次
  Serial.println("HOMING OK");
}

void loop() {
  // 示例:简单往复运动
  XMOTOR.runToNewPosition(100); delay(1000);
  YMOTOR.runToNewPosition(50); delay(1000);
  YMOTOR.runToNewPosition(-50); delay(1000);
  YMOTOR.runToNewPosition(0); delay(1000);
  XMOTOR.runToNewPosition(0); delay(1000);
}

扩展建议

总结

无需上位机即可让机械臂执行预设动作,代码完全在 Arduino 端运行。感谢 Thingiverse 所有优秀设计师!

代码与资源

制造工艺

  1. MeArm 机械臂 V1.0——Arduino 与 Raspberry Pi 驱动的桌面级机械臂制作全指南
  2. 以太网远程控制机械臂 — 基于 Arduino 101 与 WIZ750SR
  3. LittleArm 2C:3D 打印 Arduino 机械臂 - STEM 教学专用,坚固易装
  4. DIY 手势控制机械臂:基于 Arduino + 柔性传感器 + IMU + 蓝牙的六自由度仿生臂
  5. 通过专用 Android App 蓝牙控制 Arduino 机械臂
  6. MeArm 机械臂精准手柄控制器:基于 Arduino UNO 的轨迹记录与回放
  7. 自制可录制动作的纸板机械臂——Arduino 与舵机轻松 DIY
  8. Realtime Robotics推出先进控制器简化集成加速部署
  9. KUKA KMR iiwa:面向工业 4.0 的移动协作机器人臂
  10. 双臂 SCARA 机器人:高阶装配与柔性生产的利器
  11. Yama Seiki GA-2000CR:配备机械臂与托盘系统的紧凑型车削中心
  12. 英飞凌发布 IMC300 电机控制器:集成 Arm Cortex-M0 提升灵活性