大数跨境
0
0

【用户作品】用小安派DIY个简单的CC表

【用户作品】用小安派DIY个简单的CC表 安信可科技
2023-12-22
0
导读:666





本作品由安信可社区用户

bzhou830制作


原贴地址:【DIY电子作品】电压与电流CC表 基于小安派AiPi-Eye-S1 汇总









01

硬件分析

Power-Z 上使用的是 INA226,正好手上有这个芯片。那么搭配小安派惊艳的屏幕应该能实现出来一个高颜值的CC表。打开原理图可以看到S1正好预留了一个I2C的接口,完美

这个接口对应于 PCB 的这个位置:

看完控制板,我们再来看看 INA226 的接口电路原理图:

对应 PCB 如下:


看完这个,接线就变得很清晰了。INA226 板子的 iic 接口和小安派连接起来就好了。IN+/IN-/VBS 就留给被测量电路时使用。










02

软件界面

接触了lvgl之后感觉像是打开了新世界的大门,使用lvgl后的界面设计变得真的好看了太多。对比看了下网上的一些 CC 表界面之后,打开 gui guider 添加上几个 label。调一调颜色,编译运行下模拟器。得到如下的界面:

接下来就是把这个界面移植到小安派 S1 上。小安派 S1 的 weather demo 本来就是使用了 lvgl 的。那么为了少点工作量就直接将 weather demo 拿过来,然后替换掉 demos/240X320_ui 中的目录。编译运行起来:










03

INA226模块

INA226 是一款集成了高精度电流和电压测量功能的数字电流/功率监测芯片。它可以通过 I2C 接口与微控制器或其他设备通信,用于实时监测和测量电流、电压和功率。从 INA226 的 data sheet 中可以看到其典型测量电路如下图,vbus 引脚接上被测量电路的电源 + 端,Vin+/Vin-串联在被测试回路中。地址线 A0/A1 直接接地,因为我们这里的 IIC 上只使用了一片 INA226。

data sheet 中还给出了 layout 的参考方案,这个方案和我们使用的模块布局是比较一致的。

INA226 通过 I2C 接口与主控设备通信,所以我们就需要使用小安派的 IO 和 INA226 的 IIC 将时钟线和数据线连接起来。IIC 通信部分直接参考数据手册中的时序图即可,在 INA226_Init()函数中,写入 Configuration Register 的数据为 0x4527(16 次平均,1.1ms,1.1ms,连续测量分流电压和总线电压,想修改可以参考数据手册寄存器定义表格)。而写入 Calibration Register 的数据需要根据实际电路中的采样电阻阻值以及电流分辨率来设置。因为我们使用的 INA226 模块中使用的采样电阻为 R100(0.1 欧)。

因为 Shunt Voltage Register 的值最大为 0x7FFF,LSB=2.5uV, FSR = 81.92mV。又因为分流电阻阻值为 0.1 欧,所以最大电流为 819.2mA,Maximum Expected Current 的值不能超过 819.2mA。(避免在使用中出现超量程情况)

假设 Current_LSB = 0.02mA,则 Maximum Expected Current = 655.36mA,满足上述条件。则:
CAL = 0.00512/(0.02*0.1)*1000 = 2560= 0x0A00。所以写入 Calibration Register 中的数据为 0x0A00。










04

小安派驱动INA226

前面讲到 INA226 通过 IIC 接口和小安派通信。这里为了深入的了解下 IIC 时序,我们直接采用模拟 IIC 的方式来对 INA226 进行驱动,并且使用逻辑分析仪来调试、捕获波形数据来进行深入研究。驱动 INA226 的代码如下:

bsp_ina226.h

bsp_ina226.c

备注此截图为部分代码,请移步文首原贴地址,点击part2中查看完整代码。)


烧录代码用逻辑分析仪来看看数据波形,可以从波形上看到 INA226 和小安派通信正常。

这里再放出来一个通信不正常的图,原因就是输入、输出同时设置,出现电气干扰的情况下数据错误的情况。

从串口输出的测量值这时候已经出现:


至此,我们已经成功的驱动了 INA226, 后面讲测量的数据显示在显示器上,接着对外形美化一下就完成了。









05

说明及其他资料

●原作者B站分享

【用小安派 DIY 个简单的 CC 表-哔哩哔哩】

●说明

因为小安派 S1 和小安派 DSL 在显示驱动上是兼容的,所以这个 DIY 同样适用于小安派 DSL;小安派S1和小安派 DSL 能使用的IO是不一样的,所以需要适配对应的IO用作IIC接口使用。


●代码打包分享

点击文首帖子链接,评论区自取哦~






产品太多?教程无法快速找到?

安信可产品、教程索引目录

点击菜单快速查看(持续更新中)

☟☟☟


  热文回顾


1、作为一个平台开发工程师,我如何使用爱星物联?

2、【Thinker开发堂】Ra-08基于LoRaWAN协议的Class B模式应用

3、AiPi-Radar-Monitor 雷达检测站(Rd-03D)






开发资料

https://docs.ai-thinker.com/

官方教程

安信可科技CSDN

安信可官网

https://www.ai-thinker.com






【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读94
粉丝0
内容393