基于TI-MSPM0L1306 芯片的電表測量
1 簡介
本文引用地址:http://www.j9360.com/article/202412/465581.htm電表芯片在現代社會的用處越來越多,比如智能電表、開關電源、逆變電源和智能插座等領域,為各種設備和系統提供精確可靠的電能計量支持。以上這些電能計量功能,都離不開電表芯片對電壓電流的采樣。
本項目正是通過MSPM0L1306 芯片對電表芯片的通信和控制,實現一個簡單的電表功能,從而實時獲得設備的用電量。本控制的設計流程是:LPMSPM0L1306作為主控MCU芯片, 與電能表芯片HT7017 進行通信,實時讀取HT7017 芯片采集的電壓,電流,并計算出設備消耗的功率。最后通過LCD 顯示屏顯示出來。
Bom表(所用元器件的型號)
(產品展示圖)
3 軟件開發:
4 開發平臺
TI的CCS V12.7.0開發環境。
5 外設的配置
本項目外設主要由串口和I2C 接口來驅動。
1. I2C 接口的配置
I2C 接口用于MCU 對1.8 英寸彩色顯示屏的驅動。配置為9600 波特的速率,同時開啟接收中斷,配置發送與接收的緩沖區。
2. 串口的配置
選擇串口UART0,如下圖所示:
配置輸出的IO:TX 為PA8 、RX 為PA9,如下圖所示:
代碼保存后生成工程文件。
6 公共代碼
I2C 發送與接收代碼
1. I2C 接收中斷函數的實現:
7 I2C驅動
在工程中添加I2C 的驅動封裝I2C_app.c/h
這個驅動封裝了讀寫兩個驅動,可實現與硬件低層的解耦。
8 LCD
使用公有的LCD驅動庫,只需要封裝LCD_WR_Byte即可實現驅動的移植。
以上是主要代碼的介紹。
9 結束語
本項目主要是在利用Ti 的MSPM0L1306 這顆優秀的MCU 來實現對單相交流電壓電能的采集。利用芯片的AD 口和I2C 通訊,采集到的數據可以通過UART、I2C 或其他通信接口發送到上位機進行進一步的處理和分析;通過對ADC 的輸出進行適當的信號處理,例如通過軟件濾波或算法來減少噪聲和干擾,從而得到更準確的電壓讀數。
(本文來源于《EEPW》202412)
評論