站内搜索
发作品签到
60多元手搓摩托车 BSD 盲区监测!
专业版

60多元手搓摩托车 BSD 盲区监测!

简介

基于 STM32F103 的低成本盲区监测(BSD)方案,硬件 / 软件 / 结构全开源!支持 12V 车载供电、声光预警、多模块扩展,专为摩友 DIY 设计,新手友好,可自由二次开发~

简介:基于 STM32F103 的低成本盲区监测(BSD)方案,硬件 / 软件 / 结构全开源!支持 12V 车载供电、声光预警、多模块扩展,专为摩友 DIY 设计,新手友好,可自由二次开发~
星火计划2026
复刻成本:60

开源协议

GPL 3.0

创建时间:2026-04-07 22:05:08更新时间:2026-06-05 09:19:35

描述

视频链接:

【60多元手搓摩托车 BSD 盲区监测!】 https://www.bilibili.com/video/BV1uhdrBzEG5/?share_source=copy_web&vd_source=3a906d0c214145c071e4a9eb3dd0b57e

项目简介

基于 STM32F103 的低成本盲区监测(BSD)方案,硬件 / 软件 / 结构全开源!支持 12V 车载供电、声光预警、多模块扩展,专为摩友 DIY 设计,新手友好,可自由二次开发~
👉 核心:盲区来车预警 | 全开源可定制 | 低成本易上手

项目背景/创意来源

  • 骑行中变道、超车时的盲区风险极高,缺乏低成本、可DIY的解决方案;
  • 希望打造一个「人人可参与、人人可修改」的开源项目,汇聚社区力量完善功能。

制作过程图文/视频记录

先说明一下本人不是专业做嵌入式这块的,属于建筑工程管理这块工作的,属于一个零基础的小白靠着这一个月的利用晚上下班时间看视频学习画板子做电路测试,看人家的代码怎么写,刚入门的都知道其中的心酸,其实这个项目的技术含量不高,相比于开源广场的各位大神的作品来说,我这个作品是相当的low,但是我这个人就是喜欢做自己喜欢的事,想把他干起来,自己喜欢就好了,所以不好请大家谅解。
现在我来说一下具体的安装教程吧!
有条件的朋友后期可以将面板换成亚克力的盖板里面可以装上led灯条作为警示灯使用。

90d7374666ba6513a689e95d763d3d7d.jpg

1、时间仓促锡膏还没到,只能先用那电烙铁给板子上点锡

image.png
2、上完锡之后,就把元器件一个个摆上去。这里可得注意了,先别放主控芯片,咱得先焊接电源芯片。我这眼睛紧紧盯着,生怕哪个焊点没弄好。

image.png

3、焊接好电源芯片后,我赶紧测试一下,看看有没有短路的情况。心里那是既紧张又期待,就怕前面的功夫白费了。测试完没短路,我又测了测供电的电压,还好,电压正常,这心里的石头算是落了一半。

6fa1dd23f518ac0fba8eb7c8667e3030.jpg
接下来,我把主控芯片放上了。看着这初具雏形的毫米雷达,心里别提多有成就感了。虽然过程有点小波折,但一步步做下来,还是很有收获的。
4、先别急着安装,先烧录程序测试一下

image.png

image.png
5、安装壳体

8d925560f9f8ec49318aa132038fd9b8.jpg

f445e4a574c1de43176f06f14a3007a0.jpg

a3101e888301a583c7819a5e1490fbad.jpg

45d6e2bd97a4e874611981035f20ac67.jpg

cd0f1965d7ed8e7f6979a21644f486aa.jpg

用到的材料

image.png

image.png

image.png

image.png

image.png

image.png

🛠️原理解析(硬件说明)

1. 核心参数

功能模块实现情况备注
主控制器STM32F103C8T6 Cortex‑M3 @72MHz,64KB Flash,20KB RAM经典MCU,性能足够,生态丰富
电源管理两级MP1584EN降压:12V→5V→3.3V适合车载宽电压输入,效率较高
雷达接口H1(USART1:PA9/PA10) 提供+5V、TXD、RXD、GND专为独立雷达模块设计,串口通信
警示灯驱动U5/U6连接器(引脚1=12V,引脚2悬空)+ Q1/Q2 MOSFET(AO3400A)低边驱动架构,MCU控制接地端
电源指示LED1/LED2(阳极悬空,阴极接地)需串联电阻接+5V/3.3V作电源指示灯
扩展接口H2(USART2)、H4(I²C+4 GPIO)、H3(预留)、H5(SWD)支持多传感器、显示模块扩展

2. 电源方案分析

项目设计细节评价
拓扑结构两级降压:12V → MP1584EN → 5V → MP1584EN → 3.3V降低每级压差,提升整体效率
输入滤波C5(22µF)+ C6/C7(各10µF)基本满足稳压芯片要求
输出滤波5V:C8/C9(10µF)+ C11(47µF);3.3V:C14(47µF)电容容量足够
去耦电容C2/C3/C10/C12/C16(0.1µF)分布在3.3V网络布局合理,有助于高频噪声抑制
电感选型L1、L2(22µH)符合MP1584EN推荐值

软件代码

项目结构

ms_60/
├── hal/                     # 硬件抽象层
│   └── STM32F10x_StdPeriph_Driver/  # STM32 标准外设库
├── lib/                     # 第三方库
│   └── cmsis/               # CMSIS 库
├── src/                     # 源代码
│   ├── led/                 # LED 控制模块
│   ├── radar/               # 雷达模块
│   ├── systick/             # 系统时钟模块
│   ├── utils/               # 工具模块
│   │   ├── ring_buffer.c    # 环形缓冲区
│   │   ├── ring_buffer.h
│   │   ├── scheduler.c      # 调度器
│   │   ├── scheduler.h
│   │   ├── watchdog.c       # 看门狗模块
│   │   └── watchdog.h
│   ├── warning/             # 预警系统模块
│   ├── main.c               # 主程序
│   ├── main.h               # 主头文件
│   ├── startup_stm32f10x_md.s  # 启动文件
│   ├── stm32f10x_conf.h     # 配置文件
│   ├── stm32f10x_it.c       # 中断处理
│   └── stm32f10x_it.h       # 中断处理头文件
├── .eide/                   # EIDE 配置
├── .vscode/                 # VS Code 配置
├── build/                   # 构建输出
├── README.md                # 项目说明文档
├── ms_60.code-workspace     # VS Code 工作区文件
└── stm32f1x_64KB_flash.ld   # 链接脚本

成果演示

image.png

1. 核心功能

1.1 雷达数据采集

  • 使用 BSD_MS60 雷达模块通过串口(USART2)采集周围障碍物数据
  • 支持最多 8 个目标的同时检测
  • 数据包括:距离、角度、速度和目标 ID
  • 雷达模块仅在检测到目标时发送数据,无目标时不发送数据
  • 采用 DMA 方式接收串口数据,提高系统效率

1.2 盲区预警系统

  • 将车辆周围分为三个区域:
    • 左侧盲区:角度范围 -15° ~ 0°
    • 右侧盲区:角度范围 15° ~ 90°
    • 正后方:角度范围 -15° ~ 15°
  • 根据目标距离计算预警等级:
    • LEVEL0:无目标/安全(LED 熄灭)
    • LEVEL1:提醒(5-8 米)(LED 慢闪 1Hz)
    • LEVEL2:警告(2-5 米)(LED 快闪 4Hz)
    • LEVEL3:危险(0-2 米)(LED 常亮)
  • 实现了雷达数据超时机制:当 1 秒内未收到雷达数据时,自动将预警等级设置为无目标状态

1.3 LED 显示系统

  • 左侧 LED(PA8):显示左侧盲区和正后方的预警状态
  • 右侧 LED(PB15):显示右侧盲区和正后方的预警状态
  • 支持四种状态:
    • 常亮:表示危险(0-2 米)
    • 快闪(4Hz):表示警告(2-5 米)
    • 慢闪(1Hz):表示提醒(5-8 米)
    • 熄灭:表示无目标/安全
  • 高电平点亮 LED,低电平熄灭 LED
  • 优化的 LED 控制逻辑:确保当雷达停止发送数据时 LED 能够立即熄灭

2026年5月13日更新:

一、电路功能概述

这是一个 基于 STM32F103C8T6 的主控与雷达探测控制系统,整体电源链为:

12V 直流输入 → MP1584EN (DC-DC Buck) → +5V → AMS1117-3.3 (LDO) → 3.3V

核心功能:

功能模块说明
主控单元STM32F103C8T6 (ARM Cortex-M3, 72MHz),64KB Flash
毫米波雷达MS603015S80M4 雷达模块,通过 UART (RXD/TXD) 与 MCU 通信
两路 12V 输出控制通过 N-MOSFET (AO3400A) 独立控制两个接线端子(U5/U6)的 12V 输出
电源管理12V 输入 → 5V (Buck) → 3.3V (LDO),带完整保护电路
调试接口SWD (SWCLK/SWDIO) 4pin 排针

删除一些扩展接口只留烧录口更换LED控制引脚并更新程序,雷达板直接贴在后侧

image.png

image.png

image.png

更新外壳设计 可以方便调换位置

image.png

image.png

image.png

2026年6月3日更新:

    更新程序源码及说明书

2026年6月4日更新:

   更改判断方式为纯距离,适合摩托车
    
   

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
1
顶盖.step
95
2
外壳.step
79
3
新设计外壳.rar
91
4
PCB= = =(1).3mf
20

附件

序号文件名称下载次数
1
60两轮车改用距离进行判断不适合速度判断.rar
24
2
921600摩托.hex
17
3
921600电动车.hex
7
克隆工程
添加到专辑
0
0
分享
Logo GIF0
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航