时间:2024-05-18
夏健新 程汉湘 陈公兴 李凯 刘桂桦
摘要:随着社会的进步,中国电网从一开始依赖于国外的技术,到现在创新能力已经位居世界前列。在这个现代化的时代,电网的管理已经离不开数据,采集负载终端的电压、电流、有功功率、无功功率和功率因数等参数再定时发送到管理中心,实现对所采集的电力系统参数的后台监控,为电网的监控和维护提供数据基础。为了保证传输的稳定性,也需满足电力系统通讯协议和一定传输距离的要求。
关键词:串行通信;嵌入式芯片;电网;电力系统参数
中图分类号:TN91
文献标识码:A
DOI: 10.15913/j.cnki.kjycx.2019.09.005
1 系统方案设计
本串行通信系统主要有两个主要的功能体系,第一功能体系为数据采集与处理模块,主要为电压电流采集电路和嵌入式芯片数据处理程序,此功能模块作为核心,实现数据采集和逻辑运算功能;第二功能体系为按键系统操作模块,该功能体系由简易按键操作系统和液晶显示屏幕组成,可实现电能质量数据的查阅和系统的操控,能够实时查看各项电能质量数据指标。本项目通过设计串行通信系统实现高效的人机通讯。采用型号为ADuC7026嵌入式芯片为主要控制芯片,同时与STC12C5A60S2单片机搭配液晶显示屏作为数据显示和按键系统控制,双CPU系统结构。具有采集三相电压、三相电流的电路,ADuC7026嵌入式芯片对采集的电压和电流数据进行处理,得出相应的电能质量数据指标。可提供的数据研究电能质量指标数据,通信系统满足了特定的通讯协议要求,集采集、分析、通信等多种功能于一体。
为了能使两芯片进行数据传输,采用串行口通信的方式实现。ADuC7026的RXD、TXD与STC12C5A60S2的TXD、RXD端相连接,ADuC7026发送的信号可被STC单片机接收。串行通信系统如图1所示。
2 系统硬件设计
本系统所包含的硬件结构如图2所示,其中主要包含信号采集、按键操作系统和串行数据传输三大部分。
2.1 信号采集
本项目主要是利用电压传感器( HPT304A)和电流传感器( HCT217)来测量电网三相电压和三相电流。把传感器电路测量实时的电压和电流,O - 3.3 V模拟量送到由运算放大器( LM3241)构成的电路,输出可以由ADuC7026嵌入式芯片ADC识别的数字信号。
2.2 按键操作系统
为了让操作者可迅速地对系统进行操作,设计了由以STC12C5A60S2为控制核心、四个按钮的简易键盘和LED显示器构成的按键操作系统。该操作系统创新之处为可以最小的按键数目对系统进行操作,提高操作效率,四个按键分别为“上”“下”“返回””确认”。
按键操作系统结构如图3所示,系统搭配简易键盘和液晶显示屏使用。其中简易键盘有“上”“下”“返回””确认”四个按键,采用按鍵扫描的形式,当程序检测到低电平即表示按键按下相对应按钮,以跳转按钮程序;通过堆栈记录界面的位置,当系统返回或者进入新的界面可自由切换;使用光标显示函数,上下按钮可移动显示光标,显示直白明了。
3 系统软件设计
3.1 数据采集以及电能指标处理
为了科学、准确地提供第一手电能质量数据,本设计以0.02 s为采用周期(每周期共采集64次)收集ADC采集的电压和电流信号,每采集10个周期后计算平均值。根据采集三相电压和三相电流的数据,计算出各相位角、功率因数、有功功率和无功功率。部分程序如下所示:
//取平均值,包括电压电流与相位角
UanrAverage(sampling_2VA,lO);
UbnrAverage(sampling_2VB, 10);
Ucm-Average(sampling2VC, lO);
IanrAverage(sampling2CA, lO);
IbnrAverage(sampling2CB,
10);
Icm-Average(sampling2CC,
lO);
aoo-Average(ao02, lO);
boo-Average(bo02,lO);
coo-Average(co02, lO);
//i+算功率因数
Apower_factor=cos《aoo)*PI/1 80.0);
Bpower_facto=rcos《boo)*PI/1 80.0);
Cpower_factor=cos《coo)*PI/1 80.0);
//计算有功无功功率,单位kW, kVar
Pa-Uam*lam*Apowerfactor/ lOOO.O;
Pb-Ubm* Ibm*Bpower_factor/ lOOO.O;
Pc-Ucm*lcm*Cpower_factor/ 1000.0;
Q a-Uam*lam*sin《aoo)*PI/180. 0)11 000.O;
Qb-Ubm* Ibm*sin《boo)*PI/ 180.0)/ 1000.0;
Qc-Ucm*lcm*sin《coo)*PI/180. 0)1 1000.0;
3.2 串行传输软件实现
在进行数据传输前,需对串口进行初始化:
void Uartl_lnit(void)
{
SCON-OxDO;
110101 0000模式1:1位起
始位;8位数据;1位停止位;允许接收
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!