新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TI-MSPM0L1306 芯片的电表测量

基于TI-MSPM0L1306 芯片的电表测量

作者:彭义祥 时间:2024-12-18 来源:EEPW 收藏

1   简介

本文引用地址:https://www.eepw.com.cn/article/202412/465581.htm

电表芯片在现代社会的用处越来越多,比如智能电表、开关电源、逆变电源和智能插座等领域,为各种设备和系统提供精确可靠的电能计量支持。以上这些电能计量功能,都离不开电表芯片对电压电流的采样。

本项目正是通过L1306 芯片对电表芯片的通信和控制,实现一个简单的电表功能,从而实时获得设备的用电量。本控制的设计流程是:LPL1306作为主控MCU芯片, 与电能表芯片HT7017 进行通信,实时读取HT7017 芯片采集的电压,电流,并计算出设备消耗的功率。最后通过LCD 显示屏显示出来。

Bom表(所用元器件的型号)

image.png

1734482832324744.png

(产品展示图)

3   软件开发:

4   开发平台

TI的CCS V12.7.0开发环境。

5   外设的配置

本项目外设主要由串口和I2C 接口来驱动。

1. I2C 接口的配置

I2C 接口用于MCU 对1.8 英寸彩色显示屏的驱动。配置为9600 波特的速率,同时开启接收中断,配置发送与接收的缓冲区。

2. 串口的配置

选择串口UART0,如下图所示:

1734482893294277.png

配置输出的IO:TX 为PA8 、RX 为PA9,如下图所示:

1734482929520845.png

1734483089508220.png

代码保存后生成工程文件。

6 公共代码

I2C 发送与接收代码

1. I2C 接收中断函数的实现:

image.png

image.png

image.png

image.png

7 I2C驱动

在工程中添加I2C 的驱动封装I2C_app.c/h

1734483150116946.png

这个驱动封装了读写两个驱动,可实现与硬件低层的解耦。

1734483174957635.png

8   LCD

使用公有的LCD驱动库,只需要封装LCD_WR_Byte即可实现驱动的移植。

1734483212617798.png

以上是主要代码的介绍。

9   结束语

本项目主要是在利用Ti 的L1306 这颗优秀的MCU 来实现对单相交流电压电能的采集。利用芯片的AD 口和I2C 通讯,采集到的数据可以通过UART、I2C 或其他通信接口发送到上位机进行进一步的处理和分析;通过对ADC 的输出进行适当的信号处理,例如通过软件滤波或算法来减少噪声和干扰,从而得到更准确的电压读数。

(本文来源于《EEPW》



关键词: 202412 MSPM0 电表测量

评论


相关推荐

技术专区

关闭