可编程电流表
简介
TYPE-A转TYPE-A可编程电流表,可设置20mA-3A可编程电流,支持5-35V供电,做为快充中间件也不在话下,小幅度波动容忍度可调,大电流极速响应,极速断开。
简介:TYPE-A转TYPE-A可编程电流表,可设置20mA-3A可编程电流,支持5-35V供电,做为快充中间件也不在话下,小幅度波动容忍度可调,大电流极速响应,极速断开。开源协议
:GPL 3.0
描述
项目说明
可编程电流表是一个支持电流保护功能的电流表,可以实时查看供电电压及电流的情况,实时提示限流值的情况。快速响应、及时保护后级负载电路的安全,快速调节,易于使用。
开源协议
本项目遵照GPL 3.0 开源协议,可以自由复制、修改和传播。
项目相关功能
1、支持快充供电,USB 供电压范围 5-35V,工作电压范围广;
2、可编程保护电流 20mA - 3000mA 连续可调,触发周期可调,响应迅速;
3、容忍度可调,对于小的波动,可设置允许的小幅度波动;
4、大电流极速响应,当瞬时电流超过设定值的1.2倍时,会立即断开后级电路;
5、提供源代码,优化改进更容易。
项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
项目进度
1、2023-07-12 项目中标,确认开始设计方案
2、2023-07-14 完成硬件电路设计,下单PCB打样
3、2023-07-18 收到PCB板,开始焊接测试
4、2023-07-28 完成程序设计,开始功能测试及视频录制
5、2023-07-30 最后对采样数据进行滤波优化,使显示更平滑,总体制作完成,等待验收
6、2023-07-31 任务验收及内容优化
7、2023-08-16 代码优化及面板重新设计
8、2023-09-07 新版面板打样到货,再次提交审核
设计原理
整体设计思路:因本次主要是要实现一个可编程电流表,首先是电流的显示,其二是要可编程的电流保护功能,要求不复杂,但考虑到是做为充电器的中间件,后期可能会有QC,出现比较高的电压,就需要支持宽电压供电,所以这里使用了DC-DC降压电路,供电电压范围可以达到5-20V。使用了二级稳压,DC-DC先降压到5V,再进一步通过LDO将5V降到3.3V,这样能很好的提高MCU供电电压的稳定,以此获得更平滑的供电,也能提高ADC采样的稳定性。
1、供电电路
供电直接由USB供电,使用DC-DC降压芯片 JW5015A,将输入电压降到5V,然后再使用LDO SK6014稳压到3.3V,之间使用了一个可恢复保险丝和ESD进行后级保护,防止前级DC电路有问题时进行保护后级电路的安全。
目前采用的这款DC-DC降压芯片是目前感觉最好用的一款,主要是支持范围比较宽,而且在低电压下能很稳定的输出。实测在输入电压为5.12V时,测量5V输出能达到5.08V(误差值可能与FB反馈端精度有关),几乎没有压降,在整个供电范围内,输出电压也非常的稳定。
2、输出控制及电流采样电路电路
输出控制使用了微硕的一款PMOS WSD30L20DN,这款PMOS最高支持30V的电压及20A的电流(很好的散热情况下),并且价格实惠,DFN 3*3封装,体积小巧。
工作原理简单分析:PMOS是低电平导通,所以初始上电时,由R3给Q2 G极施加高电平,Q2默认截止。当需要打开时,由VBUS_CTRL输入高电平,使Q1导通,将Q2 G极电压拉低,Q2打开,给后级供电,实现了整个开关过程,因Q2的Vgs电压为20V,为了保护MOS管,所以做了分压,防止Vgs电压过高而损坏MOS管。
电流采样使用的是INA180A3,这个 A3的增益100,我理解的就是放大100倍,起到将小电压放大的作用,方便于我们采样,以提高采样精度,采样输出端也使用了一个3.3V ESD,防止芯片串入高压损坏MCU。
3、USB电压采样
电压采样主要是尽量使用0.1% 精度的电阻,以便提高采样精度。
4、LCD ST7789 1.14寸屏显示电路:
这里使用的是1.14寸的屏,是8脚插接屏,这个屏非常好买,而且价格低,使用十分广泛。此处对背光加了额外电路,以便可以方便使用PWM来控制亮度。
5、按键电路:
这里使用了两个按键和一个拨轮编码器,这个按键是软硅胶按键,手感比较好。编码器使用的是EC12B的拨轮编码器,在淘宝还真不太多,但价格也不高,仅4元,不过邮费略高,一次多买一点也还是可以接受的。
这里把按键还单独拿出来说的原因就是,按键并联的硬件防抖电容大家不要省啊,这个防抖能起非常好的作用,别觉得没用就不焊了啊。
6、无源蜂鸣器驱动电路:
蜂鸣器要买无源的啊,别买成有源的了,因为这里是使用PWM驱动发声的。
7、主控电路:
主控使用的是国民技术的 N32G430C8L7,Flash 64K,SRAM 16K,立创商城或淘宝都可以买到,国产芯片中也算是价廉物美了。
软件说明
1、开发环境:
软件使用Keil 5.36开发的,这个版本比较稳定。N32G430C8L7 SDK版本使用的是1.1.0。
2、ADC 采样:
这里使用了DMA方式进行ADC采样,减少了MCU的参与,速度快效率高。
这里采样了3个通道,分别是电压、电流和内置的温度采样,不过温度并没有使用。采样使用了16倍过采样,减小了ADC采样的漂移,提高了采样的精度,不好的地方就是延长了采样时间。
上面是DMA采样传输完成后的中断,每次采样完一组数据后就会进入中断,这样我们就能做一些数据处理。
关于限流保护,也是放在这里进行处理的,这样能够优先进行响应,响应速度快,及时保护后级电路的安全。
3、毫秒定时器:
高精度的时间在程序设计中非常的重要,因此开启一个高精度时钟是非常重要的,不要想着滴答定时器,一个是精度不高,二呢就是会消耗MCU的时间,会浪费大量的MCU资源。而本程序中毫秒定时器几乎参与到了所有模块中,特别的重要。
因为时间定时器就是一个时间计数功能,所以使用了基础定时器TIM6就能满足要求,没必须浪费其它通用定时器或高级定时器的资源。
在定时器更新中断中,除了做时间计数外,还有做了更多功能。
1)因N32G430串口没有空闲中断,所以只能自己实现空闲中断,以便实现串口的不定长接收功能;
2)自动进行蜂鸣器的响铃停止功能,做了一个时间计录标记,当达到指定的时间后自动停止,这样就不需要额外编写检查程序了;
3)在进入限流保护后,也是在这里处理不同声音处理,不需要再使用Delay延时等待。
实物展示
设计注意事项
注意采样电阻R11 R12建议使用 0.1%精度的电阻,最低也是1%精度的,不然会影响电压采样的精度。
其他
演示视频:演示视频上传附件即可,附件最大只能长传50M的文件,大于50M的文件可放置在其他网盘或视频网站上,只需把地址链接放入这里即可
工程附件:参加活动的作品必须把工程相关的程序附件上传至开源平台或个人的代码存储云端,附件最大支持50M上传(请勿在立创工作区上传,有限制)
附件有大小限制,可以访问B站查看高清视频:
#星火计划# 可编程电流表_演示视频: https://www.bilibili.com/video/BV19u4y1k7Jf/
#星火计划# 可编程电流表_ISP下载演示 :https://www.bilibili.com/video/BV1yV4y1i7iF/
几个立创没有的元件的购买链接(可以自己找找,这里只是为了减小搜索麻烦):
EC12B 1510001A : https://item.taobao.com/item.htm?spm=a1z09.2.0.0.16852e8dHDosl1&id=622986639277&_u=7otnt32a9b
DC-DC 芯片 JW5015A : https://item.taobao.com/item.htm?spm=a1z09.2.0.0.16852e8dHDosl1&id=704422089732&_u=7otnt3c943
1.14寸 ST7789 8P接插屏: https://item.taobao.com/item.htm?spm=a1z09.2.0.0.67002e8dEAHchZ&id=671435982680&_u=6otnt31283
其他元件建议优先立创买,找一些可靠的商城,防止复刻出问题。
评论