本作品由安信可社區(qū)用戶
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](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRi2AV9alAAQejQoRnwo929.gif)
01
硬件分析
Power-Z 上使用的是 INA226,正好手上有這個(gè)芯片。那么搭配小安派驚艷的屏幕應(yīng)該能實(shí)現(xiàn)出來(lái)一個(gè)高顏值的CC表。打開原理圖可以看到S1正好預(yù)留了一個(gè)I2C的接口,完美
這個(gè)接口對(duì)應(yīng)于 PCB 的這個(gè)位置:
![wKgaomWJRi2AO3OyAAAhzznUhAE36.jpeg](https://file1.elecfans.com//web2/M00/B8/F0/wKgaomWJRi2AO3OyAAAhzznUhAE36.jpeg)
![wKgZomWJRi6ARjQmAACH0Ml68cA16.jpeg](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRi6ARjQmAACH0Ml68cA16.jpeg)
看完控制板,我們?cè)賮?lái)看看 INA226 的接口電路原理圖:
![wKgaomWJRi6ALY7LAADsP3OGmCg614.png](https://file1.elecfans.com//web2/M00/B8/F0/wKgaomWJRi6ALY7LAADsP3OGmCg614.png)
對(duì)應(yīng) PCB 如下:
![wKgZomWJRi-AIBpeAANiyabVb18367.png](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRi-AIBpeAANiyabVb18367.png)
看完這個(gè),接線就變得很清晰了。INA226 板子的 iic 接口和小安派連接起來(lái)就好了。IN+/IN-/VBS 就留給被測(cè)量電路時(shí)使用。
02
軟件界面
接觸了lvgl之后感覺像是打開了新世界的大門,使用lvgl后的界面設(shè)計(jì)變得真的好看了太多。對(duì)比看了下網(wǎng)上的一些 CC 表界面之后,打開 gui guider 添加上幾個(gè) label。調(diào)一調(diào)顏色,編譯運(yùn)行下模擬器。得到如下的界面:
![wKgaomWJRi-AQiCUAAAhRP5S7DM537.png](https://file1.elecfans.com//web2/M00/B8/F0/wKgaomWJRi-AQiCUAAAhRP5S7DM537.png)
接下來(lái)就是把這個(gè)界面移植到小安派 S1 上。小安派 S1 的 weather demo 本來(lái)就是使用了 lvgl 的。那么為了少點(diǎn)工作量就直接將 weather demo 拿過來(lái),然后替換掉 demos/240X320_ui 中的目錄。編譯運(yùn)行起來(lái):
![wKgZomWJRjCANJofAAARI31JqTg54.jpeg](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRjCANJofAAARI31JqTg54.jpeg)
![wKgZomWJRjGAEc7gAALvpCMwo6c084.png](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRjGAEc7gAALvpCMwo6c084.png)
03
INA226模塊
INA226 是一款集成了高精度電流和電壓測(cè)量功能的數(shù)字電流/功率監(jiān)測(cè)芯片。它可以通過 I2C 接口與微控制器或其他設(shè)備通信,用于實(shí)時(shí)監(jiān)測(cè)和測(cè)量電流、電壓和功率。從 INA226 的 data sheet 中可以看到其典型測(cè)量電路如下圖,vbus 引腳接上被測(cè)量電路的電源 + 端,Vin+/Vin-串聯(lián)在被測(cè)試回路中。地址線 A0/A1 直接接地,因?yàn)槲覀冞@里的 IIC 上只使用了一片 INA226。
![wKgaomWJRjKAI9QLAABGMG09F0E875.png](https://file1.elecfans.com//web2/M00/B8/F0/wKgaomWJRjKAI9QLAABGMG09F0E875.png)
data sheet 中還給出了 layout 的參考方案,這個(gè)方案和我們使用的模塊布局是比較一致的。
![wKgZomWJRjOASrMGAAA6_VzYPEE579.png](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRjOASrMGAAA6_VzYPEE579.png)
INA226 通過 I2C 接口與主控設(shè)備通信,所以我們就需要使用小安派的 IO 和 INA226 的 IIC 將時(shí)鐘線和數(shù)據(jù)線連接起來(lái)。IIC 通信部分直接參考數(shù)據(jù)手冊(cè)中的時(shí)序圖即可,在 INA226_Init()函數(shù)中,寫入 Configuration Register 的數(shù)據(jù)為 0x4527(16 次平均,1.1ms,1.1ms,連續(xù)測(cè)量分流電壓和總線電壓,想修改可以參考數(shù)據(jù)手冊(cè)寄存器定義表格)。而寫入 Calibration Register 的數(shù)據(jù)需要根據(jù)實(shí)際電路中的采樣電阻阻值以及電流分辨率來(lái)設(shè)置。因?yàn)槲覀兪褂玫?INA226 模塊中使用的采樣電阻為 R100(0.1 歐)。
因?yàn)?Shunt Voltage Register 的值最大為 0x7FFF,LSB=2.5uV, FSR = 81.92mV。又因?yàn)榉至麟娮枳柚禐?0.1 歐,所以最大電流為 819.2mA,Maximum Expected Current 的值不能超過 819.2mA。(避免在使用中出現(xiàn)超量程情況)
假設(shè) Current_LSB = 0.02mA,則 Maximum Expected Current = 655.36mA,滿足上述條件。則:
CAL = 0.00512/(0.02*0.1)*1000 = 2560= 0x0A00。所以寫入 Calibration Register 中的數(shù)據(jù)為 0x0A00。
04
小安派驅(qū)動(dòng)INA226
前面講到 INA226 通過 IIC 接口和小安派通信。這里為了深入的了解下 IIC 時(shí)序,我們直接采用模擬 IIC 的方式來(lái)對(duì) INA226 進(jìn)行驅(qū)動(dòng),并且使用邏輯分析儀來(lái)調(diào)試、捕獲波形數(shù)據(jù)來(lái)進(jìn)行深入研究。驅(qū)動(dòng) INA226 的代碼如下:
bsp_ina226.h
![wKgaomWJRjOAW3_NAAAvhbBuut8704.png](https://file1.elecfans.com//web2/M00/B8/F0/wKgaomWJRjOAW3_NAAAvhbBuut8704.png)
bsp_ina226.c
![wKgZomWJRjSALBF7AAA3zigr-Zc169.png](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRjSALBF7AAA3zigr-Zc169.png)
(備注:此截圖為部分代碼,請(qǐng)移步文首原貼地址,點(diǎn)擊part2中查看完整代碼。)
燒錄代碼用邏輯分析儀來(lái)看看數(shù)據(jù)波形,可以從波形上看到 INA226 和小安派通信正常。
![wKgaomWJRjSAM1_tAACiXQjVDQM56.jpeg](https://file1.elecfans.com//web2/M00/B8/F1/wKgaomWJRjSAM1_tAACiXQjVDQM56.jpeg)
這里再放出來(lái)一個(gè)通信不正常的圖,原因就是輸入、輸出同時(shí)設(shè)置,出現(xiàn)電氣干擾的情況下數(shù)據(jù)錯(cuò)誤的情況。
![wKgZomWJRjWAI-kHAAB2xwzWQZA63.jpeg](https://file1.elecfans.com//web2/M00/B8/E7/wKgZomWJRjWAI-kHAAB2xwzWQZA63.jpeg)
從串口輸出的測(cè)量值這時(shí)候已經(jīng)出現(xiàn):
![wKgaomWJRjaAZc-6AACG1PBSYH424.jpeg](https://file1.elecfans.com//web2/M00/B8/F1/wKgaomWJRjaAZc-6AACG1PBSYH424.jpeg)
至此,我們已經(jīng)成功的驅(qū)動(dòng)了 INA226, 后面講測(cè)量的數(shù)據(jù)顯示在顯示器上,接著對(duì)外形美化一下就完成了。
05
說(shuō)明及其他資料
●原作者B站分享
【用小安派 DIY 個(gè)簡(jiǎn)單的 CC 表-嗶哩嗶哩】
●說(shuō)明
因?yàn)樾“才?S1 和小安派 DSL 在顯示驅(qū)動(dòng)上是兼容的,所以這個(gè) DIY 同樣適用于小安派 DSL;小安派S1和小安派 DSL 能使用的IO是不一樣的,所以需要適配對(duì)應(yīng)的IO用作IIC接口使用。
●代碼打包分享
點(diǎn)擊文首帖子鏈接,評(píng)論區(qū)自取哦~
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
456文章
51280瀏覽量
427771 -
IC
+關(guān)注
關(guān)注
36文章
5990瀏覽量
176318 -
接口
+關(guān)注
關(guān)注
33文章
8713瀏覽量
152016 -
DIY
+關(guān)注
關(guān)注
176文章
888瀏覽量
349367
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
零基礎(chǔ)開發(fā)小安派-Eyes-S1 進(jìn)階篇 ——通過屏幕輸入連接 Wi-Fi
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1 進(jìn)階篇 ——通過屏幕輸入連接 Wi-Fi](https://file1.elecfans.com//web3/M00/06/27/wKgZPGeIZTuAcudRAACkoCE6ppE932.jpg)
用小安派 DSL做一個(gè)天氣站
![<b class='flag-5'>用</b><b class='flag-5'>小安</b><b class='flag-5'>派</b> DSL做一<b class='flag-5'>個(gè)</b>天氣站](https://file1.elecfans.com//web3/M00/05/06/wKgZO2d7l-KAIy_KAADgnkgKEGg555.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1【進(jìn)階篇】——初識(shí) LVGL 并搭建最小工程
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1【進(jìn)階篇】——初識(shí) LVGL 并搭建最小工程](https://file1.elecfans.com//web3/M00/05/05/wKgZO2d7kMSAJAFJAACo0k1Ogbo923.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1——初識(shí)LVGL并搭建最小工程
零基礎(chǔ)開發(fā)小安派-Eyes-S1 外設(shè)篇——DAC
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1 外設(shè)篇——DAC](https://file1.elecfans.com//web3/M00/03/FA/wKgZPGduFxGAF2vbAAAmHgnYQCc658.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——I2S
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1外設(shè)篇——I2S](https://file1.elecfans.com//web3/M00/02/46/wKgZO2dcBjCAGEAkAAA8xj7khw009.webp)
電子DIY作品 小安派R1做個(gè)86盒中控
![電子<b class='flag-5'>DIY</b>作品 <b class='flag-5'>小安</b><b class='flag-5'>派</b>R1做個(gè)86盒中控](https://file1.elecfans.com//web3/M00/01/2E/wKgZO2dRSVaATaozAABOxwX0p4I002.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——FLASH
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1【外設(shè)篇】——FLASH](https://file1.elecfans.com//web3/M00/01/2D/wKgZO2dRSK2AJjzUAACvSBXB5k0411.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1 外設(shè)篇 ——I2C
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1 外設(shè)篇 ——I2C](https://file1.elecfans.com//web3/M00/00/2A/wKgZO2dG2qSAcdmuAAA7_hcCOyM118.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1【外設(shè)篇】——PWM](https://file1.elecfans.com//web1/M00/F4/64/wKgZoWcq2yeAHsRMAAC0LA8cL7M904.jpg)
小安派簡(jiǎn)易 DIY——土壤濕度檢測(cè)器
![<b class='flag-5'>小安</b><b class='flag-5'>派</b>簡(jiǎn)易 <b class='flag-5'>DIY</b>——土壤濕度檢測(cè)器](https://file1.elecfans.com//web1/M00/F3/E2/wKgaoWcgh1yADfGzAACZz7PXmvY031.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——GPIO中斷編程
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1外設(shè)篇——GPIO中斷編程](https://file1.elecfans.com//web1/M00/F3/E2/wKgZoWcghwuAHTB6AAB12Pu7oeU039.jpg)
零基礎(chǔ)開發(fā)小安派-Eyes-S1外設(shè)篇——GPIO 輸入輸出
![零基礎(chǔ)開發(fā)<b class='flag-5'>小安</b><b class='flag-5'>派</b>-Eyes-S1外設(shè)篇——GPIO 輸入輸出](https://file1.elecfans.com//web2/M00/0B/1B/wKgaomcbMaOAXRzEAACRGM3g1mU839.jpg)
小安派Cam-D200攝像頭黑屏,無(wú)畫面?!
![<b class='flag-5'>小安</b><b class='flag-5'>派</b>Cam-D200攝像頭黑屏,無(wú)畫面?!](https://file1.elecfans.com//web2/M00/02/4F/wKgZoma69KyABQXVAAFCUzbZI-A00.jpeg)
評(píng)論