#第七届立创电赛#USB-Meter-Pro - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

标准版 #第七届立创电赛#USB-Meter-Pro

简介:立创训练营|立创电子设计大赛作品,作品完成于2022/08/26。实现typec类接口的消费产品的电流电压检测,电压表,小游戏机等功能。体积较为小巧,外观也还凑合。

开源协议: GPL 3.0

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

创建时间: 2022-08-08 13:37:28
更新时间: 2023-08-06 19:01:12
描述
# **USB-Meter-Pro 项目说明** ## **概述** --- 立创训练营|立创电子设计大赛作品,作品完成于2022/08/26。 本作品使用国民技术N32G430C8L7作为主控MCU,其余主要元器件有TFT彩屏,W25存储芯片,ina199电流采样芯片,DCDC降压芯片等。实现typec类接口的消费产品的电流电压检测,电压表,小游戏机等功能。硬件设计学习参考至开源平台的诸多大佬,程序独立设计完成,体积较为小巧,外观也还凑合。 ![1.png](//image.lceda.cn/pullimage/aM4YupupbvOTUnO79R0H2ezEiriC8lQ3QLq0Hp4y.png)
## **功能介绍** --- 1. 上电后会显示主菜单栏目,功率计上方内嵌了两个轻触按键(后面简称“上左右键”),短按可以上下切换选择光标位置,右下方内嵌按键(后面简称"下键")短按进入所选功能界面,在对应功能界面长按下键均可返回至上一级菜单; ![2.png](//image.lceda.cn/pullimage/6vIq5aiLA8R0uhEiABozjuKDo1JSvUw6RKsPAvh3.png) 2. [power meter],对应type-c功率计功能,界面显示充电电流电压(配有对应颜色曲线显示变化波动)、充电功率、充电时间,以及采样时间间隔(upd)和曲线展示的时间范围(range),并且可通过上左右键改变采样时间间隔及其对应曲线时间范围(短按加减时间,长按可多倍快速加减时间); ![3.png](//image.lceda.cn/pullimage/p4njA0E4zP7FwIBo1ZNLiqqwLVtDJWZ9NiXWiL1z.png) 3. [play game],字面意思“game”,此为摸鱼功能,参考谷歌恐龙小游戏设计的简单游戏,恐龙不停奔跑,玩家需要让恐龙跳跃(上右键)避开路上的仙人掌障碍物,玩家进行的时间越长,得分会越高,且障碍物移动速度也会不断加快以增加游戏难度。游戏结束后会自动保存本次成绩,可进入“record”页面查看成绩,系统会记录若干次最新成绩,以及历史最高成绩,存储在w25芯片中,掉电不丢失; ![4.png](//image.lceda.cn/pullimage/JwOdyx4aoYXgQyF61HJUBzec6HXV5w1KfanKcskX.png) 4. [ex voltage],电压表功能(0-30V),功率计预留弯排针侧面引出调试下载接口以及一个pwm输出口(暂时未开发)和adc电压检测引脚,通过两根公对母杜邦线连接gnd和adc即可当作简单的电压表使用且能曲线显示电压变化(同样具备功率测量时的时间调节功能);![5.png](//image.lceda.cn/pullimage/QE6369iIW0Yx81WueS3J7ohmcLaNQWFNPDA88gcE.png) 5. [author infor],显示作者(本菜鸟)相关信息,欢迎各位大佬来指点小弟一二,或者有兴趣的小伙伴来一起愉快的玩耍(づ ̄ 3 ̄)づ; ![6.png](//image.lceda.cn/pullimage/14Zcljo6YPrMivaoJCXmjpI4IwboWNGAFsW6dKPA.png) 6. 板载led红灯指示是否有供电,led蓝灯指示是否有按键按下;
## **硬件设计** --- - ### mcu:国民技术**N32G430C8L7** 引脚功能分配: |pin | application| pin |application| |:---:| :--: | :---------:|:-----: | |PD14 |osc_in| PA2 |adc_in3(ina199)| |PD15 |osc_out| PA1 |adc_in1(voltage) | |PA13 |swdio | PB12 |spi_nss(w25)| |PA14 |swclk | PB13 |spi_sck(w25)| |PA9 |debug_uart_tx| PB14 |spi_miso(w25)| |PA10 |debug_uart_rx| PB14 |spi_miso(w25)| |PA0 |pwm(舵机) | PB8 |BLK(tft) | |PB11 |adc_in4(电压表) |PB3 |CS(tft)| |NRST | RST | PB6 |DC(tft)| |PB0 | sw1 | PB7 |RES(tft) | |PB1 | sw2 | PB5 | SDA(tft)| |PB2 | sw3 | PB4 | SCL(tft)| |PB10 |led |
- ### 外部接口 - typec公母一对 - 2x4弯排针:调试串口,sw下载口,pwm(舵机),adc捕获(电压表), 3.3V,GND排针 - 三个功能按键 - 主板右下方有一对焊盘用以短接拉低rst复位,右上方也有一对焊盘并入type-c输入接口的VBUS和GND,用以测试。
- ### 电流采样:**INA199A3DCKT** 200电压放大倍率,直接模拟量输出 - ### 电压采样:电阻分压(1/10)AD检测 字面意思,电阻串联分压 - ### 1.14寸TFT彩屏**ST7789V** 选用插接式,pcb上焊接fpc插座(0.5mm,不太好焊接) - ### DC-DC降压 **SY8303AIC** type-c连通cc引脚线,支持pd快充,电压较高因此使用dcdc降压电路输出3.3V供电给其它芯片 - ### 存储芯片**W25Q32JVSSIQ**
## **软件设计** --- ### 底层驱动: 1. adc三路通道分别检测INA199输出的电流模拟量信号,充电电压,外部检测电压; 2. tft屏幕cv的中景园的驱动程序,适配普通io作为模拟SPI通信使用; 3. 配置硬件spi通信驱动w25; 4. 启用TIM2的channel2作为PWM输出; 5. 使用TIM6定时器中断,作为按键检测; ### 上层应用逻辑: 1. 基本流程图 ![7.png](//image.lceda.cn/pullimage/8ANMQGPuWMmv8Q4REMHqCXro3dlSJygY3nXyMtD1.png) 2. 最核心的部分即菜单控制功能(srv_menu.c),所有基础功能都在这里被集中组合调用起来,并通过按键和屏幕实现人机交互。采用枚举和结构体组合的方式来封装每一个菜单界面及其对应的交互功能,每个子菜单功能都是独立的,通过id号来相互跳转界面,移交控制权,互不干扰,可以比较方便的裁剪和扩展子菜单及其相应的功能,具体实现请看代码文件(时间仓促未整理,可能些许凌乱);![8.png](//image.lceda.cn/pullimage/boBqWDRI801h00bYqwDcl2fWtzm7WxTaCFO1RPzY.png)
## **学习|踩坑 记录** --- 1. mcu boot0引脚忘了设置接地,mcu引脚飞线极度痛苦(焊工不佳,长达两小时)。![9.jpg](//image.lceda.cn/pullimage/5ReRley6FjPkzUKKShJyy481RDOvsxzFWyaI8PaH.jpeg) 2. link无法下载,弹窗显示“RDDI-DAP ERROR”。原因,下载器杜邦线过长(0.8m),信号无法稳定传输。 3. adc初始化,1M时钟配置无法选用外部晶振。原因:暂时未知(更新:外部晶振为正常初始化的原因)。 4. 淘宝IPS屏幕引脚展示与实物顺序相反,插上即烧,跟淘宝卖家一通扯皮后免费给我补发了个1.14寸的IPS屏(原0.96),连夜加班重新布局设计了新的PCB打样。 5. W25q32芯片驱动代码在gitee上找的,debug了一天,最后还是大佬帮助发现驱动不完善,擦除没有延时,读取错位。心态炸裂。。。。。(更新:补充,系统时钟若配置成128M Hz则无法读写W25,降低频率则可,玄学原因未知) 6. 配置定时器发现外部晶振没有正常初始化成功,原因未知(更新:焊接问题,重新焊接后正常启动)。 7. 新板子充电电流读数为零,排查了大半天发现运放ina199信号线接反了,被迫割铜皮飞线。![10.jpg](//image.lceda.cn/pullimage/KhMNjIx7fq0dVYg2OVBC1iF3wwToDb8Zds2MPrYU.jpeg)
## **补充** --- ### 参考资料: - [立创官方案例](https://oshwhub.com/limengmeng12345/ji-chu-ying-usb-dian-ya-biao#P1) - 代码上传至gitee仓库:[gitee仓库](https://gitee.com/dead-poem/usb-meter-pro.git) - 哔哩哔哩视频:[视频传送门](https://www.bilibili.com/video/BV17G4y1k7Yc?vd_source=6c6ddc65aa9a516f6055f95eb2779c53) - 补图: ![11.jpg](//image.lceda.cn/pullimage/K0XS3OhhM8gkIFg8x9OE5OqQu8uUYazZYZxbzz67.jpeg) ![12.jpg](//image.lceda.cn/pullimage/GP5HkGMFFHv3TfXjzeiSk43L1jcPIoTaWPNr0QbK.jpeg) ![13.jpg](//image.lceda.cn/pullimage/ZbANPFLdnP7OhAlquyoi3rPEOpSNp8IletR37Apl.jpeg) ![14.jpg](//image.lceda.cn/pullimage/BBPPuzR2uuxc7iDgyxRCPKRnTbGsqrWkkKeOpzeg.jpeg) ![15.jpg](//image.lceda.cn/pullimage/3qbKx3kB441oEQDyUvUseDWFJVcjktbdVD6e6VJC.jpeg) ![16.jpg](//image.lceda.cn/pullimage/Ckm6gspWzqVqChiqEsUfGR1JiDPwOQAO9ywCmSJ8.jpeg)
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

电压表测试.mp4

13
2

功率计测试.mp4

13
3

游戏测试.mp4

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

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP