基于stm32单片机的麦轮小车(遥控,寻迹,避障,蓝牙)

1. 前言

随着智能移动机器人在工业、教育等领域的广泛应用,全向移动平台因其灵活的运动能力成为研究热点。今天给大家分享一款好玩的产品 — 智能小车,对了,博主还在文末给大家准备了一些练手小项目(真能做出东西来的)~

这是产品图:在这里插入图片描述

核心模块布局
前方安装HC-SR04超声波传感器,用于避障检测;
底部配置4路TCRT5000红外传感器,实现黑线路径识别;
顶部搭载0.96寸OLED屏幕,实时显示运行状态;
主控板居中设计,连接电机驱动、通信模块及供电电路。

2. 器件准备

器件名称功能描述
STM32F103C8T6Cortex-M3内核主控,72MHz主频,协调传感器数据处理、电机驱动与通信协议。
HC-SR04超声波测距模块,检测范围2cm~400cm,精度±3mm,触发避障逻辑。
TCRT5000红外反射式传感器,通过接收管电压变化识别黑线路径,响应时间<10ms。
HC-05蓝牙模块支持AT指令集,手机APP发送指令控制小车运动模式与速度。
DRV8833双H桥电机驱动芯片,最大输出1.5A电流,驱动4路麦克纳姆轮PWM调速。
NRF24L012.4GHz无线模块,支持6通道数据传输,用于多车协同或远程监控。
SSD1306 OLED128×64分辨率显示屏,显示车速、障碍距离、蓝牙连接状态等参数。

3. 原理图与PCB设计

3.1 核心电路设计

供电系统
12V锂电池输入,经LM2596降压至5V(传感器供电),再通过AMS1117-3.3V为单片机供电。
关键设计:电机电源与逻辑电源隔离,加入100μF电容滤波。

传感器接口
超声波模块:Trig引脚接PB5(GPIO输出),Echo接PB6(定时器输入捕获);
TCRT5000:DOUT引脚接入PA4-PA7(ADC采样反射电压);
NRF24L01:SPI接口连接PA4-PA7(SCK、MISO、MOSI、CSN)。

电机接口
电机驱动电路(图3)

3.2 PCB布局要点

(图先欠着噢~)
主控芯片居中,缩短与各模块的走线距离;
电机驱动模块靠近轮子,大电流路径避免直角走线;
模拟信号(传感器)与数字信号(PWM)分层布局,减少交叉干扰。

4. 示例代码

4.1 超声波测距(定时器捕获)

// 获取距离(单位:cm)
float Get_Distance() {
    HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_SET);
    delay_us(20);
    HAL_GPIO_WritePin(Trig_GPIO_Port, Trig_Pin, GPIO_PIN_RESET);
    
    while (!HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin)); // 等待高电平
    TIM2->CNT = 0;
    while (HAL_GPIO_ReadPin(Echo_GPIO_Port, Echo_Pin));  // 计算高电平时间
    uint32_t pulse = TIM2->CNT;
    return pulse * 0.034 / 2; // 声速340m/s
}

4.2 麦克纳姆轮运动解算

void Mecanum_Move(int Vx, int Vy, int Wz) {
    // 运动学逆解
    int w1 = Vx - Vy - Wz;  // 右前轮
    int w2 = Vx + Vy - Wz;  // 左前轮
    int w3 = -Vx + Vy - Wz; // 右后轮
    int w4 = -Vx - Vy - Wz; // 左后轮
    
    // PWM限幅与输出
    Set_PWM(MOTOR1, constrain(w1, -1000, 1000));
    Set_PWM(MOTOR2, constrain(w2, -1000, 1000));
    // ... 其他电机同理
}

4.3 蓝牙指令解析

void BLE_Command_Handle(uint8_t *data) {
    if (strstr((char*)data, "#MODE=1#")) {
        mode = REMOTE; // 切换为遥控模式
    } else if (strstr((char*)data, "#SPD=")) {
        sscanf((char*)data, "#SPD=%d#", &target_speed);
        Set_PWM_Global(target_speed);
    }
}

5. 应用场景

  • 智能仓储搬运
    在仓库中沿预设路径(黑线)自主移动,通过超声波避障,实现货物精准运输。

  • 机器人竞赛平台
    支持扩展机械臂、摄像头等模块,参与RoboMaster等赛事,完成竞技任务。

  • 教育实训设备
    用于高校嵌入式课程教学,学习PWM控制、串口通信、传感器融合等关键技术。

  • 家庭服务机器人
    搭载语音模块后,可通过蓝牙指令控制其递送物品或执行清洁任务。

6. 优化与扩展方向

  • 算法优化
    引入PID控制算法调节电机转速,提升运动平滑性;
    采用卡尔曼滤波处理超声波数据,减少环境噪声干扰。
    功能扩展

  • 增加IMU模块(MPU6050),实现姿态反馈与运动补偿;
    集成OpenMV摄像头,通过视觉识别实现SLAM建图与导航。
    通信增强

  • 改用WiFi模块(ESP8266)接入物联网平台,支持云端监控;
    开发多车通信协议,实现编队行驶与任务协作。
    低功耗设计

  • 启用STM32的休眠模式,待机电流降至1mA以下;
    增加电池管理系统(BMS),实现充放电保护与电量预警。

7. 资料领取

资料可以点击链接进行获取免费领取单片机资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值