自行车RGB呼吸灯 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 自行车RGB呼吸灯

简介:支持姿态感应的定制自行车RGB呼吸灯

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-09-25 12:30:54
更新时间: 2023-10-30 09:17:37
描述

 

 

硬件功能:

 

       此硬件实现的功能是根据自行车行驶状态展现不同的灯效,照亮自行车附近的地面,实现炫酷,美观,警示的作用。现在的效果就是正常行驶、加速、滑行时是蓝色的呼吸灯效果,刹车时灯变红,刹车结束后回复蓝色呼吸灯效果,在自行车静止时,展示RGB滚动灯效两秒后熄灭进入休眠模式,在两分钟内重新运动将重新进入工作模式,如果自行车静止超过两分钟,则自动关机,需要手动按压重启。

 

 

实现思路:

 

 

总体思路:通过六轴陀螺仪识别当前自行车运动的加速度,划分出静止运动两个状态,再根据加速度的大小和正负(主要是Y轴)划分出刹车和正常行驶状态,确定不同的状态后,单片机执行相关的代码控制两个RGB灯进行灯效变幻。

 

 

硬件选型:

 

主控MCU:N32G430C8L7(和STM32差不多)

六轴陀螺仪:MPU6050(模块拆卸芯片)

RGB灯:WS2812B

3.3V稳压芯片:ME6211C33M5G-N

5V转4.2V充电芯片:TC4056A

电池:600mA铝包电池

 

软件协议:

 

MPU6050与N32采用IIC通讯

N32与WS2812B采用DMA通讯

 

 

 

实现细节:

 

开机:ME6211稳压芯片带有EN引脚,通过按钮触发高电平,3.3V电压出现后N32上电工作,通过GPIO产生高电平维持ME6211工作,实现电源自持。

 

关机:静止两分钟后将EN脚转为低电平,芯片失电关机。或按钮触发关机。

 

功耗:为了尽可能的低功耗,经测试,此硬件可在低至16M系统时钟频率(N32最高可达128MHZ频率)下正常工作,MPU6050也进行了相应的低功耗优化,以50Hz的频率进行六轴取样。WS2812呼吸灯的设计也使功耗进一步下降。实测六个月内只需充电一次(轻度使用,每两天骑半小时左右,其中包含两个月没骑)

 

防水:由于自行车本身的性质,特别是此硬件的摆放位置,要求硬件在户外工作的稳定性,防水防尘防潮,电路板正反面用三防胶密封。

 

板型:由于每辆自行车的底部结构不同,因此PCB板需要高度定制化,根据实际情况设计PCB板形状。

 

结构:此装置采用双层结构,三个PCB板隔离。最下面的板是主板,下方的LED灯对应自行车的孔洞。下层的间隙来源于微动开关,加上中间板后可实现按压装置上电,上层放电池,通过PCB上的孔引到下层。最上方的板覆盖防水材料(简单的比如胶带)用于防水防尘,上层与下层的间隙需要密封,保证不进水,这里采用热熔胶。热熔胶有弹性,也方便按压开关。TypeC充电口需要用胶塞堵好。

调试:自行车底部空间狭小,不方便DAP调试,为了在自行车上调试设备,将SWD、SCK引脚连接到TypeC,通过设计一个转换PCB,将其引出到好调试的位置。(连接器

 

 

 

实现难点:

 

  • 由于自行车结构不同,需要定制设计,PCB的形状不一。(不过可以放到别的位置,比如自行车后座处,难度会降很多。)
  • 防水防尘的结构设计,需要有较强的动手能力。
  • 对代码需要有一定了解。

 

 

制作历程:

 

B站视频链接

 

 

过程图片:

 

 

 

 

 

随便说说:

 

这个项目是去年的九月份就开始了,一开始是在调MPU6050的IIC协议,调DMA控制WS2812B,中间遇到了很多的问题,比如陀螺仪的数据不对(后来发现是IIC初始化的问题),比如呼吸灯的呼吸效果(里面涉及HSV空间到RGB空间的转换),陀螺仪模块的噪声如何解决,防水防尘如何设计,又如何保证便携性(现在这个装置是可以拆下来的),如何实现极低功耗,焊接组装什么的都是小问题了。后来考研时间紧迫了,就暂时搁置了。等到考完研回家,又重新捡起了这个项目,把上述问题都解决了,所以做一个工程要想的东西真的有很多。现在这个装置在自行车上露天八个月了(小雨大雨都经历过),一共就充过两三次电吧,说明我的设计还是比较可以的。

 

这个项目严格意义上算是我的第一个自己设计的项目(只不过时间线拉的比较长),代码也是一点一点Debug出来的,艰辛啊。工程编译后还有29个Warning...,不过能用就行。

 

自行车跟着我也有四年了,毕业也不舍得卖,邮寄到新学校接着骑了,一部分原因就是这个硬件吧,倾注了很多,赋予了这辆车的灵魂,呼吸灯的效果仿佛这辆车真的有了生命。

 

这个项目各方面要求实现的话我觉得还是有难度的,代码结构可能也不是很好,所以算是做一个分享吧,有困惑的地方也可以私聊我,一起进步。

 

 

 

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

Bikebreath.zip

377
2

VID_20231013_134352.mp4

135
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP