# robotic_arm **Repository Path**: mymcu/robotic_arm ## Basic Information - **Project Name**: robotic_arm - **Description**: use esp32 build robtic arm with 4 DOF - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-27 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 四轴可控机械臂 ## 项目展示
机械臂实物图

4自由度机械臂实物展示

## 项目概述 这是一个基于ESP32S3的4自由度机械臂控制系统项目。该项目包含完整的硬件设计文件和软件控制代码,可实现精确的机械臂控制和演示功能。 ## 项目特点 - **4自由度控制**:包括基座、肩部、肘部、腕部和夹爪的独立控制 - **I2C通信**:使用Adafruit PWM舵机驱动板进行多舵机控制 - **平滑运动**:支持多步插值运动,确保机械臂动作平滑自然 - **多种控制模式**:包含手动控制和自动演示两种模式 - **完整设计**:提供CAD设计文件和Arduino代码 ## 项目结构 ``` robotic_arm/ ├── CODE/ # 软件代码目录 │ ├── arm_demo/ # 自动演示代码 │ │ └── arm_demo.ino # 机械臂演示程序 │ └── arm_code/ # 主控制代码 │ └── arm_code.ino # 手动控制程序 ├── CAD/ # 硬件设计目录 │ └── Compact Robot Arm FUSION v1.f3d # Fusion 360设计文件 ├── PIC/ # 项目图片目录 │ └── Pic-Robot Arm.png # 机械臂实物图片 └── README.md # 项目说明文档 ``` ## 硬件要求 ### 主要组件 - ESP32 - Adafruit PCA9685 PWM舵机驱动板 - 5个数字舵机(建议使用金属齿轮舵机) - 电位器(用于手动控制) - 外部电源(5V/2A以上) ### 连接说明 - I2C_SCL: 引脚12 - I2C_SDA: 引脚13 - 舵机通道分配: - a1 (通道0): 基座旋转 - a2 (通道1): 肩部关节 - a3 (通道2): 肘部关节 - a4 (通道3): 腕部关节 - a5 (通道4): 夹爪开合 ## 软件功能 ### 1. 自动演示模式 (arm_demo.ino) - 预设运动序列,机械臂在两个位置间循环运动 - 平滑插值运动,120步渐进控制 - 可调节运动速度和停留时间 - 适合展示和测试机械臂性能 ### 2. 手动控制模式 (arm_code.ino) - 通过电位器实时控制机械臂各关节 - 支持实时位置反馈 - 精确的模拟量到舵机脉冲转换 - 适合精确操作和调试 ## 使用方法 ### 安装依赖库 ```cpp #include #include ``` ### 上传代码 1. 安装Arduino IDE 2. 安装Adafruit PWM舵机驱动库 3. 选择对应的开发板类型 4. 上传所需的.ino文件到Arduino ### 运行程序 - **演示模式**:上传arm_demo.ino,机械臂将自动执行预设动作 - **手动模式**:上传arm_code.ino,通过电位器控制机械臂运动 ## 技术参数 - **工作频率**:50Hz - **脉冲宽度范围**:100-512 - **中位脉冲宽度**:306 - **I2C通信速率**:115200 baud - **控制精度**:120步插值(演示模式) ## 注意事项 1. **电源要求**:确保为舵机提供足够的电源,避免Arduino供电不足 2. **安全操作**:首次运行时,确保机械臂有足够的运动空间 3. **校准调整**:根据实际舵机特性,可能需要调整SERVOMIN、SERVOMID、SERVOMAX参数 4. **接线检查**:确认I2C连接正确,避免通信错误 ## 开发说明 本项目使用Fusion 360进行机械结构设计,Arduino IDE进行软件开发。设计文件和代码都经过测试验证,可直接使用或作为进一步开发的基础。 ## 许可证 本项目为开源项目,欢迎学习、修改和分享。 ## 联系方式 如有问题或建议,欢迎通过项目仓库提交Issue或Pull Request。