# 麦轮工程机器人 **Repository Path**: hf26023/mailun-engineering-robot ## Basic Information - **Project Name**: 麦轮工程机器人 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-10 - **Last Updated**: 2026-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 麦轮工程机器人项目 ## 项目简介 ![麦轮工程机器人](./image/HF-00687.jpg) 这是一个基于 STM32 的工程机器人控制项目,主要面向以下两个核心场景: - 麦轮底盘运动控制 - 四轴机械臂动作控制 工程当前配置的主控芯片为 `STM32F103C8T6`。项目已集成底盘控制、机械臂控制、蓝牙通信、姿态检测、测距显示等模块,便于在现有基础上继续扩展控制逻辑和外设能力。 ## 功能特性 - 全向运动控制:支持麦轮底盘运动控制。 - 坦克模式扩展:在原有底盘模式上增加坦克底盘控制方式。 - 四轴机械臂控制:支持多关节动作与夹爪控制。 - 传感器接入:已集成陀螺仪、超声波等模块。 - 状态显示:支持 OLED 显示姿态、距离、电压等信息。 - 蓝牙参数配置:支持自动修改蓝牙参数,并兼容 sayHi App 协议。 - 保护机制:包含电机过热保护和夹爪保护逻辑。 ## 工程结构 - [Src](./Src):CubeMX 生成的主程序入口与外设初始化代码。 - [Inc](./Inc):主工程头文件与 HAL / FreeRTOS 配置。 - [app](./app):机器人业务逻辑代码,包括底盘、机械臂、传感器、串口和显示模块。 - [Drivers](./Drivers):STM32 HAL 与 CMSIS 驱动。 - [Middlewares](./Middlewares):中间件代码。 - [MDK-ARM](./MDK-ARM):Keil 工程文件。 - [EWARM](./EWARM):IAR 工程文件。 - [mike.ioc](./mike.ioc):STM32CubeMX 工程配置文件。 ## 主要模块 - [app/CAR_TASK.c](./app/CAR_TASK.c):机器人周期任务与交互逻辑。 - [app/contrl.c](./app/contrl.c):底盘与执行机构控制。 - [app/my_usart.c](./app/my_usart.c):蓝牙串口协议与数据处理。 - [app/mpu6050.c](./app/mpu6050.c):MPU6050 姿态传感器驱动。 - [app/echo.c](./app/echo.c):超声波测距相关逻辑。 - [app/oled.c](./app/oled.c):OLED 显示驱动。 ## 开发与使用 ### 打开工程 - 使用 STM32CubeMX 打开 [mike.ioc](./mike.ioc) 可查看或调整引脚与外设配置。 - 使用 Keil 打开 [MDK-ARM/mike.uvprojx](./MDK-ARM/mike.uvprojx) 进行编译下载。 - 使用 IAR 打开 [EWARM/mike.ewp](./EWARM/mike.ewp) 进行编译下载。 ### 蓝牙协议切换 当前默认使用 sayHi App 协议。 如果需要改回蓝牙调试器使用的旧协议,请在 [app/my_usart.c](./app/my_usart.c) 中将: ```c #define BtMode 1 ``` 修改为: ```c #define BtMode 0 ``` 其中: - `1` 表示使用 sayHi App 协议 - `0` 表示使用早期蓝牙调试器协议 ## 更新记录 - 新增坦克底盘控制方式,在原有麦轮底盘模式基础上提供更多运动控制方案。 - 增加电机过热保护,长时间超阈值会关断电机输出。(2026年5月9日 22:07:07) - 增加夹爪保护功能:连接蓝牙后,需要先手动控制夹爪张开,夹爪才能闭合,以避免长时间闭合导致舵机过热。(2026年5月9日 22:07:07) ## 说明 如果你准备继续开发,建议优先从 [app](./app) 目录入手;该目录包含了机器人控制逻辑的主要实现,而 [Src](./Src) 与 [Inc](./Inc) 更多承担芯片初始化、外设配置和系统框架接入的职责。