- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于tms320lf2407a的电能质量检测电路设计.
基于TMS320LF2407A的电能质量检测电路设计
(Power Quality),从普遍意义上讲是指优质供电,包括电压质量、电流质量、供电质量和用电质量。随着电力、电子技术的迅速发展,特别是电炉炼钢、多项可控硅整流、电机变频调速以及洗衣机、空调等家电设备的广泛应用,电网质量问题正变得日益严峻,严重威胁着电力设备的正常使用,及时准确的获得电能质量参数,对工业发展具有重要的指导意义。
本系统采用TMS320LF2407A为控制核心,同时还扩展了接口电路----键盘和LCD显示电路。霍尔电压、电流互感器对电力系统进行实时数据的采集,将采集到的电压、电流瞬时值通过数据处理计算出电能质量的相关参数。通过SCI接口将采集的数据传送到PC机进行误差分析。硬件系统框图如下图所示。
电压、电流测量电路
本系统采集的电信号主要是交流电流、电压,从采样精度、速度及经济成本等多个方面权衡,选择合适的采样方式和采样频率,并注意强弱电的隔离和电磁干扰,从而确定最终的软硬件设计和元器件的选择。根据采样定理,为了使采样的信号f*(t)能反映被采集的模拟信号f(t),采样频率必须满足采样定理,即采样频率必须大于模拟量所含最高次有效谐波频率fmax的两倍。实际采样时一般使fs =(3~4)fmax,以保证采样信号能够准确地代表被采样的模拟信号。本系统设计时每周期定为128点,即采样频率为6.4KHz左右。
脉冲电路
脉冲产生电路通过TI公司生产的LM393双路比较器芯片来实现,其原理电路如下图所示。
信号调理电路PCB板的制作
系统软件设计
软件设计作为本系统的核心,在完成了硬件部分的设计后就显得尤为重要。软件的优劣不仅关系到电路基本功能的实现和系统的稳定性,而且还会对最终的测量精度产生较大的影响。因此,它成为本设计的重点。
本系统的主要任务是实现电能信号的实时采集和数据的处理,软件功能主要由以下几部分组成:
电能参数的实时测量:对输入的模拟信号进行AD转换。
电能参数的数据分析:离散的电压、电流的有效值,电能的有功功率、无功功率和功率因数等。
通讯功能:与PC机进行数据通讯。
人机交互:处理用户通过按键输入的信息,通过液晶显示屏显示电能质量参数。
?
main( )
{
SystemInit( ); //系统初始化
MCRC=MCRC 0xFF00; //IOPE0-7设为IO端口模式
PEDATDIR=0xFF00; //所有LED=0,
MCRA=MCRA 0x00C7; //IOPB0-7设为IO端口模式,IOPA3-5为IO模式
PADATDIR=0xFFC0;
PBDATDIR = PBDATDIR 0x00FF;
asm( CLRC INTM );
?
Timer1Init( ); //定时器初始化
SCI_Init( ); //SCI串口初始化
LcdInit( ); //液晶初始化
WriteMenu(MenuTab); //开机界面
While(1)
{
ScanKey( ); //键盘扫描
}
}
?
定时器中断子程序:
void c_int2( ) /*定时器1中断服务程序*/
if(PIVR!=0x27)
{ asm( CLRC INTM );
return;
}
T1CNT=0; //定时器计数器清零
t0++;
t2++;
if((SCI_FLAG==0) (t0%129)==0)
{
SCI_FLAG=1; //SCI串口通信标志
}
if (numlcd%2000==0) KeyLcd( ); //刷新液晶显示数据
EVAIFRA=0x80;
asm( CLRC INTM ); //清除中断屏蔽位}
外部中断子程序:
{
T1CON=T1CON 0xE7FF;
flag = ~flag;
flag = flag 0x1; //flag取反
T1CNT=0;
SCI_FLAG=0;
t0=1; t1=0; t2=1;
XINT2CR = XINT2CR | 0x8000; //高优先级中断,清除周期中断
文档评论(0)