0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用安信可的小安派小安派,DIY个简单的CC表

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2023-12-25 17:07 次阅读

本作品由安信可社区用户

bzhou830制作

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

https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43882&highlight=%E7%94%B5%E6%B5%81&_dsign=9c71aaef

wKgZomWJRi2AV9alAAQejQoRnwo929.gif

01

硬件分析

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

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

wKgaomWJRi2AO3OyAAAhzznUhAE36.jpegwKgZomWJRi6ARjQmAACH0Ml68cA16.jpeg

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

wKgaomWJRi6ALY7LAADsP3OGmCg614.png

对应 PCB 如下:

wKgZomWJRi-AIBpeAANiyabVb18367.png

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

02

软件界面

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

wKgaomWJRi-AQiCUAAAhRP5S7DM537.png

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

wKgZomWJRjCANJofAAARI31JqTg54.jpegwKgZomWJRjGAEc7gAALvpCMwo6c084.png

03

INA226模块

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

wKgaomWJRjKAI9QLAABGMG09F0E875.png

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

wKgZomWJRjOASrMGAAA6_VzYPEE579.png

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

wKgaomWJRjOAW3_NAAAvhbBuut8704.png

bsp_ina226.c

wKgZomWJRjSALBF7AAA3zigr-Zc169.png

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

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

wKgaomWJRjSAM1_tAACiXQjVDQM56.jpeg

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

wKgZomWJRjWAI-kHAAB2xwzWQZA63.jpeg

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

wKgaomWJRjaAZc-6AACG1PBSYH424.jpeg

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

05

说明及其他资料

●原作者B站分享

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

●说明

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

●代码打包分享

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47821

    浏览量

    409198
  • IC
    IC
    +关注

    关注

    35

    文章

    5545

    浏览量

    173230
  • 接口
    +关注

    关注

    33

    文章

    7648

    浏览量

    148523
  • DIY
    DIY
    +关注

    关注

    176

    文章

    883

    浏览量

    345935
收藏 人收藏

    评论

    相关推荐

    小安DIY简单CC

    Power-Z 上使用的是 INA226,正好手上有这个芯片。那么搭配小安派惊艳的屏幕应该能实现出来一个高颜值的CC表。打开原理图可以看到S1正好预留了一个I2C的接口,完美
    的头像 发表于 12-22 18:15 1057次阅读
    用<b class='flag-5'>小安</b>派<b class='flag-5'>DIY</b>个<b class='flag-5'>简单</b>的<b class='flag-5'>CC</b>表

    小安派-UNO-ET485 Arduino开发板简介

    前面几款小安派出来的时候,经常有粉丝询问是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社区搜索查看,小安派-UNO-ET485 Arduino开发板来了,兼容UNO的经典外形,易上手。
    的头像 发表于 12-03 09:58 485次阅读
    <b class='flag-5'>小安</b>派-UNO-ET485 Arduino开发板简介

    如何用小安派玩小霸王游戏

    “啊哈!小霸王!其乐无穷啊!”,还记得小时候玩的小霸王游戏机吗?这次小安派的用户来带大家回忆起童年啦,来看看安信可社区大佬如何用小安派玩小霸王游戏。
    的头像 发表于 11-05 10:08 395次阅读
    如何用<b class='flag-5'>小安</b>派玩小霸王游戏

    零基础开发小安派-Eyes-S1【入门篇】——初识小安派-Eyes-S1

    前言:本教程针对零基础人员可以快速上手小安派-Eyes-S1实现一些简单的应用开发,仅供参考学习,本人也在学习的过程中,感谢大家支持。 小安派S1全套开发板清单如下: 实物图如下: 本教程用到的所有
    的头像 发表于 09-18 15:41 431次阅读
    零基础开发<b class='flag-5'>小安</b>派-Eyes-S1【入门篇】——初识<b class='flag-5'>小安</b>派-Eyes-S1

    小安派-Eyes-S1外设接口简介

    前言:本教程针对零基础人员可以快速上手小安派-Eyes-S1实现一些简单的应用开发,仅供参考学习,本人也在学习的过程中,感谢大家支持。
    的头像 发表于 09-18 09:55 487次阅读

    零基础开发小安-Eyes-S1【入门篇】——初识小安-Eyes-S1

    一、小安-Eyes-S1简介 AiPi-Eyes-S1 是开源团队专门为Ai-M61-32S设计的一款开发板,支持WiFi6、B
    发表于 09-08 11:06

    安信可开源硬件:小安派-Knob

    “ 嘿,你看这个东西它又亮又圆?”,“ 是什么?”,原来是小安派又上新了,开源硬件新成员——小安派-Knob,来看看介绍~ 01概述 小安派-Knob 是安信可开源团队设计的一款旋转编码器驱动
    的头像 发表于 08-21 15:14 585次阅读
    安信可开源硬件:<b class='flag-5'>小安</b>派-Knob

    安信可小安派智能监控终端如何配置Wi-Fi

    小安派智能监控终端是基于小安派-SCP-2.4中控板上实现的的一个监控设备。它支持时间显示,语音播报,远程信息监控,远程控制RGB。
    的头像 发表于 08-19 10:08 483次阅读
    安信可<b class='flag-5'>小安</b>派智能监控终端如何配置Wi-Fi

    安信可小安派-Knob旋转编码器驱动板简介

    “ 嘿,你看这个东西它又亮又圆?”,“ 是什么?”,原来是小安派又上新了,开源硬件新成员——小安派-Knob,来看看介绍~
    的头像 发表于 08-19 10:06 318次阅读
    安信可<b class='flag-5'>小安</b>派-Knob旋转编码器驱动板简介

    零基础开发小安派-Eyes-DU之【PWM循环呼吸灯】

    性能。 既然是开源硬件,那必然讲究一个DIY,今天小安亲自用小安派-Eyes-DU来制作一个PWM循环呼吸灯,来看看详细教程。   01工程搭建 1.工程文件搭建 这里我建的文件夹名称
    的头像 发表于 08-14 15:37 526次阅读
    零基础开发<b class='flag-5'>小安</b>派-Eyes-DU之【PWM循环呼吸灯】

    小安派Demo固件编译和烧录指南

    小安派Demo固件编译和烧录指南
    发表于 08-06 09:35 305次阅读
    <b class='flag-5'>小安</b>派Demo固件编译和烧录指南

    小安派-SCP-2.4 无线中控器参数概述

    上2周小安发布了小安派天气站的制作DEMO:《5分钟!0基础DIY【安信可开源硬件-小安派天气站】工程师手把手教学编程》,小安在视频号、B站
    的头像 发表于 07-23 11:32 563次阅读
    <b class='flag-5'>小安</b>派-SCP-2.4 无线中控器参数概述

    小安派-DSL屏幕驱动开发板的基本信息

    今天小安又看到一款小安派的成员,新品来袭~来看看这款小安派-DSL 屏幕驱动开发板的基本信息参数吧。
    的头像 发表于 07-10 09:56 513次阅读
    <b class='flag-5'>小安</b>派-DSL屏幕驱动开发板的基本信息

    小安派开源硬件制作一个桌面天气站

    上周安信可推出了小安派的2款开源硬件——AiPi-Eyes-S1、AiPi-Eyes-S2,安信可应用开发团队用小安派开源硬件制作了一款桌面天气站,为出行做好参考~
    的头像 发表于 07-02 11:07 565次阅读
    用<b class='flag-5'>小安</b>派开源硬件制作一个桌面天气站

    小安派-Eyes-S1/S2多功能开发板简介

    今天,我们在小安派放出新鲜的开发板产品AiPi-Eyes-S1(小安派-Eyes-S1)、AiPi-Eyes-S2(小安派-Eyes-S2),奇思妙想走起来。
    的头像 发表于 06-19 10:10 532次阅读
    <b class='flag-5'>小安</b>派-Eyes-S1/S2多功能开发板简介