成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • 芯片介紹
    • 程序設(shè)計(jì)
    • 程序測(cè)試
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

電子系統(tǒng)的"生命監(jiān)護(hù)儀"——INA226電壓電流檢測(cè)芯片的介紹和使用

13小時(shí)前
338
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

前言

電流電壓檢測(cè)作為電流電壓檢測(cè)是電子系統(tǒng)的“生命體征監(jiān)測(cè)儀”,實(shí)時(shí)捕捉電路中的電流流動(dòng)與電壓波動(dòng),像安全衛(wèi)士般守護(hù)系統(tǒng)運(yùn)行——精準(zhǔn)識(shí)別過流、過壓、欠壓等異常狀態(tài),觸發(fā)保護(hù)機(jī)制防止硬件損毀。又能化身“能耗分析師”,精確計(jì)算功率損耗與能源效率,為優(yōu)化電路設(shè)計(jì)、延長(zhǎng)電池續(xù)航提供數(shù)據(jù)基石。

圖1 INA226參數(shù)圖

? ? 本期我們介紹德州儀器的INA226實(shí)現(xiàn)電流電壓檢測(cè)。

主控芯片STM32F103C8T6

芯片介紹

圖 2 INA226架構(gòu)圖

? ? 首先我們來看看芯片架構(gòu)圖,INA226主要由左邊的模擬電路部分和右邊的數(shù)字通訊部分組成。

模擬電路部分由五大關(guān)鍵模塊構(gòu)成:電壓檢測(cè)通道,電流檢測(cè)通道,基準(zhǔn)電壓源,Σ-Δ型ADC,溫度補(bǔ)償網(wǎng)絡(luò)。

圖 3 總線電壓測(cè)量示意圖

? ? 電壓ADC通道可以切換測(cè)量總線電壓,電流經(jīng)過負(fù)載之后,會(huì)在采樣電阻中產(chǎn)生壓降,而INA226則可以通過這個(gè)壓降來計(jì)算出電流大小。

圖4 電流測(cè)量工作圖

? ? 這個(gè)采樣電阻的大小通常在0.1Ω或者0.01Ω,以0.01Ω采樣電阻為例,在8x的PGA模式下,最低可以采樣到1mA的電流大小。

圖5 數(shù)字通訊示意圖

? ? 芯片由五個(gè)主要寄存器(圖中四個(gè)加上一個(gè)配置寄存器)和I2C通訊總線組成,其中A0和A1用來決定芯片的I2C通訊地址。

圖6 ?配置寄存器示意圖

? ? 配置寄存器是INA226的核心控制單元,用于設(shè)定芯片的工作模式和性能參數(shù)。通過配置寄存器(地址0x00)的16位字段,用戶可定義平均采樣次數(shù)(1~128次)、總線電壓與分流電壓的獨(dú)立轉(zhuǎn)換時(shí)間(140μs~8.244ms),以及選擇連續(xù)測(cè)量、單次觸發(fā)或低功耗關(guān)機(jī)等工作模式。該寄存器還包含軟復(fù)位功能,可一鍵恢復(fù)默認(rèn)狀態(tài)。其配置直接影響測(cè)量精度、響應(yīng)速度和功耗水平,例如高精度場(chǎng)景需增加平均次數(shù)和轉(zhuǎn)換時(shí)間,而動(dòng)態(tài)檢測(cè)需縮短轉(zhuǎn)換時(shí)間以提升采樣率。合理配置能協(xié)調(diào)ADC、PGA和數(shù)字濾波模塊的協(xié)同工作,確保電流電壓檢測(cè)的可靠性與效率。

圖7 ?電流電壓寄存器示意圖

? ? 分流電壓寄存器和總線電壓寄存器顧名思義分別用來存儲(chǔ)采樣電阻兩端的電壓還有總線電壓值。

圖 8 功率電流寄存器示意圖

? ? 功率寄存器和電流寄存器分別存儲(chǔ)根據(jù)電壓電流計(jì)算的功率值和經(jīng)過采樣電阻的電流大小。

還有一些其他的寄存器這里不做過多的介紹了,下面讓我們編寫STM32的代碼。

程序設(shè)計(jì)

typedefstruct {? ? I2C_HandleTypeDef *hi2c;uint8_t?address;float?current_lsb;float?r_shunt; ??float?BusVoltage;float?Current;float?Power;} INA226_t;

代碼塊1 : 結(jié)構(gòu)體代碼

首先定義一個(gè)INA226的結(jié)構(gòu)體,它包含了器件地址,計(jì)算用電流變量,采樣電阻值,總線電壓值,采樣電流值,功率。

HAL_StatusTypeDef?INA226_WriteReg(INA226_t *dev,?uint8_t?reg,?uint16_t?value){uint8_t?buf[3];? ? buf[0] = reg;? ? buf[1] = (value >>?8) &?0xFF;? ? buf[2] = value &?0xFF;return?HAL_I2C_Master_Transmit(dev->hi2c, dev->address, buf,?3, HAL_MAX_DELAY);}

代碼塊2 HAL庫(kù)硬件I2C寫操作

使用STM32HAL庫(kù)實(shí)現(xiàn)硬件I2C通訊。

HAL_StatusTypeDef?INA226_ReadReg(INA226_t *dev,?uint8_t?reg,?uint16_t?*value){uint8_t?buf[2];? ? HAL_StatusTypeDef ret;? ? ret =?HAL_I2C_Master_Transmit(dev->hi2c, dev->address, &reg,?1, HAL_MAX_DELAY);if?(ret != HAL_OK)?return?ret;? ? ret =?HAL_I2C_Master_Receive(dev->hi2c, dev->address, buf,?2, HAL_MAX_DELAY);if?(ret != HAL_OK)?return?ret;? ? *value = (buf[0] <<?8) | buf[1];return?HAL_OK;}

代碼塊3 HAL庫(kù)硬件I2C讀操作

同樣的利用STM32HAL庫(kù)實(shí)現(xiàn)對(duì)指定寄存器的讀取,利用這種方式我們可以得到獲取各寄存器的值。

floatINA226_ReadBusVoltage(INA226_t *dev){uint16_t raw =?0;float?Voltage;if?(INA226_ReadReg(dev,?INA226_REG_BUS_VOLTAGE, &raw) !=?HAL_OK)?return-1;? ??Voltage?= raw *?1.25f /?1000.0f;?? ? dev->BusVoltage?=?Voltage;return?Voltage;}

代碼塊3 ?INA226總線電壓讀取程序

如上述代碼所示,利用STM32讀取寄存器總線電壓寄存器的值后,再根據(jù)手冊(cè)計(jì)算實(shí)際電壓值后返回。

其他寄存器處理暫不演示,源碼已上傳至交流群。

程序測(cè)試

圖9 ?INA226電壓電流功率讀取值

圖10 ?實(shí)際電壓圖

? ? 經(jīng)過程序測(cè)試,可以看到總線電壓測(cè)試結(jié)果和電壓表測(cè)試結(jié)果幾乎無異,后續(xù)擬使用INA226配合邊緣神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)以下電機(jī)故障檢測(cè)。

德州儀器

德州儀器

德州儀器 (TI) 設(shè)計(jì)和制造模擬、數(shù)字信號(hào)處理和 DLP 芯片技術(shù),幫助客戶開發(fā)相關(guān)產(chǎn)品。從連接更多人的經(jīng)濟(jì)實(shí)惠的手機(jī)到支持遠(yuǎn)程學(xué)習(xí)的教室投影儀到可信度、靈活度和自由度更高的修復(fù)器械 - TI 技術(shù)均采用了新的理念,產(chǎn)生了更好的解決方案。

德州儀器 (TI) 設(shè)計(jì)和制造模擬、數(shù)字信號(hào)處理和 DLP 芯片技術(shù),幫助客戶開發(fā)相關(guān)產(chǎn)品。從連接更多人的經(jīng)濟(jì)實(shí)惠的手機(jī)到支持遠(yuǎn)程學(xué)習(xí)的教室投影儀到可信度、靈活度和自由度更高的修復(fù)器械 - TI 技術(shù)均采用了新的理念,產(chǎn)生了更好的解決方案。收起

查看更多

相關(guān)推薦

剑阁县| 高淳县| 绥棱县| 安泽县| 高淳县| 邹平县| 普格县| 阜宁县| 麻城市| 台湾省| 博野县| 固原市| 南昌市| 内黄县| 霸州市| 建平县| 乌苏市| 汉沽区| 北宁市| 仙居县| 尉氏县| 沐川县| 永顺县| 沙湾县| 双流县| 洪洞县| 龙江县| 油尖旺区| 邢台市| 临湘市| 郓城县| 汪清县| 衢州市| 白城市| 丁青县| 河西区| 晋江市| 依安县| 颍上县| 五家渠市| 新沂市|