发作品签到
专业版

#第七届立创电赛#N32G430电流表及快充采样

工程标签

1.2w
0
0
55

简介

采用国民技术MCU N32G430实现的电流表,支持电压、电流、功率、纹波及电流波动图形显示

简介:采用国民技术MCU N32G430实现的电流表,支持电压、电流、功率、纹波及电流波动图形显示

开源协议

GPL 3.0

创建时间:2022-08-12 12:34:28更新时间:2022-09-05 10:04:58

描述

 

* 1、项目功能介绍


采用国民技术MCU N32G430实现的电流表,支持电压、电流、功率、纹波及电流波动图形显示。

学习Keil5编写单片机不久,很多不太明白,通过几次参加立创训练营,真的觉得能学到很多东西,比独立学习能更快,这是为什么呢?我觉得可能有以下几个方面的原因:

1、有厂商的专业人员指导,能够快速的入门学习,并且能提供有效的技术支持;

2、有立创的各位有经验大佬帮助,有问题能够获取帮助,并且还有立创提供的元器件优惠卷、PCB打样卷,能减轻开发成本,少了后顾之忧;

3、有群里千号人员的相互帮助,就算大部分有不会,便总会有一些大佬或正好明白某块的学员能够帮助、能够解答,真的能提高学习的效率。

 

所以训练营的模式真的非常好,我现在制作的这个目前主要目标是实现以下功能:

1、电压、电流显示、功率显示,这个比较简单,已经实现

2、电压纹波显示,目前也实现了基本功能已实现

3、充电协议分析,暂时想通过D+D-进行协议判断,但实测好像非常不准确,不知道充电协议具体应该怎么分析,有待完善

4、电流波动图,正在完善过程中已实现

5、功耗统计,这个功能虽然简单,但目前对这个单片机不太熟悉,得到的每次时间有些误差,所以还在优化

6、快充诱骗,想法是通过D+D-实现,但后面发现N32G430没有DAC功能,所以目前是放弃了。

 

想要的功能大部分都已实现,程序代码也放在了附件,需要自取了。

 

功能简单说明下:

1、Boot/SEL按键切换不同功能页,第一页是电压电流显示,第二页是电压纹波,第三页是电流波动情况;

2、BTN1/+、BTN2/-在第二页和第三页调整显示的范围,放大或缩小波形图。

不明白的可以相互讨论,感谢大家的关注!

 

成品图也放出来看下吧,还是比较小的,同时加了TYPE-C口,这样也比较方便。

打回来的PCB,改过一版了,因为第一版发现OLED焊接屏排线留的孔放不进去^-^

焊好的样式,本来想拍一个工作的图片,发现屏幕闪动比较厉害,拍出来的显示内容不全,干脆后面录视频时再放上来了。

三个按键,可以方便实现一些切换、调参等。

 

第一屏:电压测量界面

第二屏:电压纹波界面

第三屏:电流波动界面

 

*2、项目属性


参考训练营项目,参考项目链接: https://oshwhub.com/limengmeng12345/ji-chu-ying-usb-dian-ya-biao#P1

 

 

* 3、开源协议


GPL 3.0

 

*4、硬件部分


 

(1)供电部分

这里选的是使用LDO实现供电,为了兼容快充,选的是GM7333,这款LDO支持的输入电压达到了 40V,并且支持250mA的电流输出能力,完全满足了国民这款MCU的供电需求,并且外围电路简单,比使用降压电路更方便,体积也更小巧。

(2)主控电路

主要使用了四路ADC,用于采样电压、电流和D+、D-的电压,使用BOOT0和PB0、PB1三个IO口用于按键,RST也引出,方便调试时使用。

然后就是串口和SWD烧录口,PB6 PB7做为LED,方便程序观察状态,毕竟是新手,多留个状态灯也好判断系统有没有正常运行,后面也可以做为功能灯使用。

 

(3)电流采样

    电流采样使用的是INA199A1做差分放大,其实也可以使用运算放大器,但最好是精密运放,但差分电阻精度要高,不然不同硬件误差比较大,比较麻烦,并且元件较多,成本上不存在优势,所以还是使用专门的电流放大的比较方便。

    这里要注意的是型号后面这个A1,A 是指精度 为1.5%(A B精度都是1.5%,C是1%,具体可以看手册),1 是指放大倍率为 50倍,2 为100倍,3为200倍,即A1就是指放大50倍,精度为1.5%。选型主要是与采样电阻及MCU的采样电压相关,详细不讲了,如果想要了解可以相互讨论。

 

(4)电压采样

这个其实没什么好讲的吧,就是对电压进行分压,然后采样就可以了。这里的电压是使用 1:10采样,就是最后算出来的值 乘以10就是实际电压了,D+ D-是1:3,结果乘以3就可以了,分压计算通过 Vadc=VIN*R2/(R1+R2),R2是低侧电阻,就是连GND的哪个。注意:分压后最大电压不能超过供电电压(这里是3.3V)即可,不然始终是3.3V,就不能得到真实值了。

 

(5)OLED驱动电路

我这里使用是30P焊接OLED屏,支持SSD1306和SH1106,我自己使用的是SH1106白光的0.96屏,这个屏某鱼上比较便宜,才4-5元一个,可以考虑多买一些放着,使用方便。当然也预留了OLED外接接口。

 

 

 

 

*5、软件部分


 

就拿DMA实现4路ADC采样来说下吧,这个也是官方示例有一部分,然后遇到一个问题就是不知道应该实现是ADC中断后去处理数据还是要DMA处理完数据后去处理数据,在群里问,居然说去找个电路去学习下。没办法后面跑去找国民哪边的技术问,因为是初学,什么都不明白,不过实际操作一次后就能明白具体是什么作用,应该在哪处理。

 

其他等完善开源后自己看吧,注释会比较详细,主要也是方便自己做笔记,不然时间长了也忘了。

 

*6、BOM清单


 

 

*7、大赛LOGO验证


 

* 8、演示您的项目并录制成视频上传


 

 

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
C9F2336A-8065-4506-B286-5A7A7F5E4B3B.mp4
506
2
USBMeter.zip
303
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航