60 lines
2.9 KiB
Markdown
60 lines
2.9 KiB
Markdown
# open_usb_power_supply
|
||
|
||
#### 介绍
|
||
基于AT32F415开发的USB便携式移动电压源
|
||
- 支持USB PD3.0/PD2.0,BC1.2协议,支持5V~20V输入
|
||
- 输出电压从2.7V ~ 20V可调,3A的输出电流带载能力,可满足日常实验使用
|
||
- 从100mA~3A的限流可调
|
||
- 电源输入电压,电流实时监测
|
||
- 电源输出电压,电流实时监测
|
||
- 电压检测分辨率8mV,电流检测分辨率40uV/10mR=4uA
|
||
- 320x240 TFT屏实时显示用电情况,可做为一个简易功率计使用,监测用电设备的用电能力
|
||
- 可通过BLE与上位机进行通信,实现更多应用的拓展开发
|
||
- 外围器件少,实现原理简单,非常方便DIY
|
||
- 小巧方便,不依赖特定电源,只要是USB适配器都可以使用
|
||
- 软硬件全部开源
|
||
|
||
|
||
#### 软件架构
|
||
- 本项目使用的软件架构为本人自行开发,此软件架构的核心是所有的功能模块被独立分开,模块与模块之间以消息的方式进行数据耦合,各种模块维护各自模块的状态,本着以功能内聚大,以数据耦合为主,尽量不使用逻辑耦合,或者直接修改对方数据的方式。
|
||
- 如下是程序框架图,下面对部分模块进行简要说明,详细的大家可以看看源代码,如有不明白的地方欢迎大家留言讨论:
|
||
![软件框图](docs/prgram_flowchart.png)
|
||
- **mcu_os:**
|
||
核心是mcu_os部分,这部分实现了消息处理,任务调度,内存管理等功能,本项目中的usr_main_app、usr_input_task、
|
||
usr_display_task几个功能任务模块就是居于此基础之上进行消息传递,实现系统UI的各个功能需求。
|
||
- **usr_display_task:**
|
||
负责接收来自usr_main_app发来的一些状态信息,在LCD屏幕上实现各种界面显示。
|
||
- **usr_main_app:**
|
||
负责接收来自usr_input_task发出的用户输入事件,对用户输入事件进行响应,并把一些状态信息发送给usr_display_task
|
||
- **usr_input_task:**
|
||
负责调用驱动层的io_key,读取io_key状态信息,生成按键事件并把按键事件发送给usr_main_app
|
||
|
||
#### 安装教程
|
||
|
||
1. xxxx
|
||
2. xxxx
|
||
3. xxxx
|
||
|
||
#### 使用说明
|
||
|
||
1. xxxx
|
||
2. xxxx
|
||
3. xxxx
|
||
|
||
#### 参与贡献
|
||
|
||
1. Fork 本仓库
|
||
2. 新建 Feat_xxx 分支
|
||
3. 提交代码
|
||
4. 新建 Pull Request
|
||
|
||
|
||
#### 特技
|
||
|
||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
|
||
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
|
||
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|