CS5451A模块功能是把输入的六通道电压电流信号转化成数字信号输出。CS5451A与TMS320F2801通过SPI口连接,每隔250微秒主动发出一组数据。

TMS320F2801有两个SPI接口,一个作为从SPI接收CS5451A数据,另一个作为从SPI与MCU通讯。24C04用来保存设置数据和校准数据。

软件设计

软设计分两大部份,TMS320F2801的软件和MCU软件。

MCU软件主要是从TMS320F2801种读取数据、显示和与PC机通讯,本文不作介绍。

TMS320F2801的软件实现对CS5451A的数据采集、电量计算、谐波分析、与89C52

通讯、脉冲输出。软件主流程如图4。

图3:通过电流互感器把0-6安的三相电流信号转化成三个400mV的信号。

初始化系统配置寄存器,包括系统频率设置、Flash寄存器初始化、SPIA和SPIB的使能。SPIA用来接收CS5451A的数据,SPIB用于89C52通讯。

外部中断用来捕捉CS5451A的同步信号,在捕捉到同步信号以后,初始化并启动SPIA模块,SPIA模块在接收到12个字节数据以后产生中断,把数据保存到缓存中。流程如图5。

图4:软件主流程图。

电能计算方法

谐波分析方法

由于电网频率是变化的,采样频率固定,所以每个周波采集到的瞬时值个数是不固定的。要进行64点FFT计算,必须把采集到的瞬时值转化成64点瞬时值,转化方法有多种,本设计采用的是拉格朗日二次差值法,精度比线性差值法高,计算量也可以达到要求。

图5:中断处理流程图。

/*

拉格朗日定理(lagrange):

若函数f(x)满足:(1)f(x)在闭区间[a,b]上连续;(2)f(x)在开区间(a,b)可导;

则在开区间(a,b)必存在S,使得f(b)-f(a)=f‘(s)(b-a)。

拉格朗日二次插值公式:

已知曲线上三点(x0,y0),(x1,y1),(x2,y2),则该二次曲线为:

L(x)=(x-x1)(x-x2)f(x0)/(x0-x1)(x0-x2)+(x-x0)(x-x2)f(x1)/(x1-x0)(x1-x2)+(x-x0)(x-x1)f(x2)/(x2-x0)(x2-x1);

*/

//Ta是周期值

//Points是要抽取的点数,本系统进行64点FFT计算,Points取64

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查