发新帖本帖赏金 5.00元(功能说明)我要提问
12下一页
返回列表
打印

[MCU方案]+基于TMS320F28335的电能质量分析设计交流电压部分

[复制链接]
7011|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lansebuluo|  楼主 | 2015-7-24 11:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lansebuluo 于 2015-7-26 23:47 编辑

  在科技飞速发展的今天,各种各样的用电设备相继产生,当有些电气设备投入到电网时,会对电网电压产生干扰,影响电网的电能质量,尤其是大型电力电子设备投入使用后,对电网的影响更大。在这种环境下,产生了各种电能质量分析设备,对电网某个结点进行监测,实时记录电网波动,利用大量数据对电网进行评估。电能质量分析设备一般都很贵,很难在学习的过程中使用到,尤其是对个人的学习。本文将介绍如何进行电能质量检测,怎样做一个简单的电能质量分析仪。
     通过这个题目,相应我们会学习到TI公司生产的MCU控制器TMS320F28335,这也是电力电子行业应用很多的控制器芯片。电能质量分析包括很多方面,例如:电压(幅值、相位、频率)、电流(幅值、相位、频率)、功率、功率因数、三相电压不平衡度、电压闪变、谐波含量等,很多国际标准对这些也有明确的定义,这里不再详述,本文主要介绍电压有效值、频率、谐波含量进行分析。
1>    芯片简介:
TMS320F28335芯片简介
l  高性能静态CMOS技术
   高达150MHZ(6.67ns的周期时间);
l  高性能32位CPU
   IEEE-754单精度浮点单元
   哈佛流水线结构
   快速中断响应处理
    统一的内存管理模式
   使用C/C++ 和汇编语言
l  6通道的DMA控制器(用于ADC、McBsp、ePWM、XINTF和SARAM)
l  16位或32位外部接口XINTF
l  片上存储器
  256K*16 Flash ,34K*16 SARAM,1 Kx16 OTPROM
  8K*16 Boot ROM(支持软件引导模式SCI、SPI、CAN、I2C、McBSP、XINTF和并行IO)
l  时钟和系统控制
   支持动态锁相环PLL; 片载振荡器; 安全装置定时模块
l  GPIO0~GPIO63引脚可以连接到八个外部内核中断其中的一个
l  支持58个外设中断的PIE模块(外设中断扩展)
l  增强型的外设模块:
18个PWM输出,包含6个高分辨率脉宽调制模块(HRPWM)、6个事件捕获输入,2通道的正交调制模块(QEP);
l  3个32位定时器
l  串行端口外设
   2个局域网控制器CAN模块
   3个SCI模块(SCIA、SCIB、SCIC)
   2个McBSP模块(可配置为SPI)
1个SPI
1个I2C        
l  12位,16通道模数转换ADC
   80ns转化率;2*8通道复用输入器;两个采样保持;同时支持多通道转换
EP4CE10E22C8N芯片简介
低成本、低功耗的 FPGA架构:
l  10,320逻辑单元
l  414 Kb的嵌入式存储器
l  23个 18 × 18 乘法器,实现DSP处理密集型应用
l  2个通用PLL
l  10个全局时钟网络
l  91个I/O
l  21个LVDS
AD7606芯片简介
l  8路同步采样输入
l  真双极性模拟输入范围:±10 V、±5 V
l  5V模拟单电源,2.3V至+5V VDRIVE
l  1MΩ模拟输入阻抗
l  模拟输入箝位保护
l  二阶抗混叠模拟滤波器
l  高吞吐速率:200 kSPS(所有8个通道)
l  灵活的并行/串行接口
l  95.5 dB SNR, -107 dB THD
l  ±0.5 LSB INL, ±0.5 LSB DNL
l  低功耗:100 mW  待机功耗:25 mW
l  64引脚LQFP 封装
2>    设计概要
a>   电压采样电路设计
交流电压采样是把额定有效值电压220V 50Hz信号转换为运算放大电路、模数转换器可接受的电压水平。
传统转换方式是通过电压互感器,把高电压转换为低电压,高压侧与低压侧电气隔离,二次侧不需要外部电源功能,但是电压互感器的响应速度较慢,不能测量直流分量,在要求响应速度较快的系统中,受到了限制。   
新型的电流型霍尔元件,不仅响应速度快,也能测量直流分量,通过限流电阻,将高电压转换成低电流,然后经过电流型霍尔元件隔离输出电流,再经取样电阻转换成电压,电压转换精度受霍尔元件线性度影响,高精度霍尔一般成本较高。
在交流电压转换方式中还有一种,通过差分放大电路,将高电压信号转换成低电压信号,此类转换方式相对控制灵活,可通过选择运放和周边器件控制信号转换的响应速度,成本也相对较低,但是,给运算放大器供电电源与测量交流电压应该隔离,当测量多个信号时,应考虑信号间干扰。
本项目综合考虑到成本、性能、精度问题,采用差分放大电路进行电压转换,转换电压要求:
输入电压:400V (幅值)
输出电压:6V (幅值)
变比:400:6

为了尽可能增大差分放大电路的输入阻抗,设计两级放大电路,先通过差分放大电路,将信号缩小到2V左右,再经后级的反向放大电路放大3倍。电路图如下所示:

在运放同向输入与反向输入间加入反并联的电压钳位二极管,保护输入端,在正输入极与地之间连接一个背靠背的5V稳压二极管,钳位共模输入电压,第二级运放输出即可连接模数转换器输入。
a>    频率精确测量
在进行FFT分析、有效值计算过程中,要明确知道信号的频率,才能准确测量出电网电压的谐波含量、有效值等参数。测量频率方法很多,本节主要讲解过零点检测、软件锁相环实现频率测量的方式。
单相软件锁相环技术,可以通过模数转换,在软件中实现过零点计算,并把检测过零点与软件内相位进行对比,产生误差信号,利用误差信号调节采样周期,从而让软件内相位与实际过零点存在稳定的误差值,而达到软件锁相的目的。当过零点落在两个采样点之间时,检测过零点会有偏差,尽管可以通过线性计算的方法,进一步缩小误差,但信号谐波含量较大时,同样会引起检测偏差,导致频率计算偏差较大。
本项目采用硬件方法实现过零点检测和软件锁相,解决了上述所产生的问题,并且频率检测精度很高,具体实现方法如下:
利用TI公司网站的WEBENCH Designer设计4阶带通滤波器,带通滤波器的设计过程如下:
1>打开WEBENCH设计中心,在右侧选择Filters->Bandpass,点击“开始设计”,开始加载设计器,等待设计器加载完成。
2>更改中心频率为50Hz,通带宽度为10Hz,其它可选默认,点击“Start Filter Design”。
3>选择4阶巴特沃兹滤波器。
4>产生如下所示电路图
5>其波特图如下所示
multisim仿真图:
电压信号经四阶巴特沃兹带通滤波器滤波后,再经滞回比较器转换为方波信号。
滞回比较器设计如下图,LM311是集电极开路输出,可以将电平降为数字输入电平,右侧显示输出方波信号。

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
将方波信号输入到FPGA芯片引脚上,利用数字锁相环,将频率倍频为10.24kHz,实现方框图如下:
    频率值为采样电压的频率,信号输出即为模数转换器触发采样的时钟信号,只有当此信号有效时,MCU采样处理的模拟信号才有意义。额定50Hz时,采样触发时钟为10.24kHz。
a>    RMS有效值测量
有效值为10个工频周期(2048个样本)累计得出的结果。通过AD采样得出的2048个连续样本,进行均方根计算。AD采样的结果需要转换为电网电压采样值,这需要对采样进行标定,标定的方法可以使用y=a*x+b,得出系数a和系数b。
b>    谐波分析
电压谐波计算基于平均间隔 10 周 (200ms),此间隔准确含有2048个样本值。根据这些样本值计算得出1024个FFT结果(5Hz)。其表示意义如下
第0个:DC直流分量
第1个:5Hz幅值
第2个:10Hz幅值
第3个:15Hz幅值
……
第1023个:5115Hz幅值
从其中即可选择出基波幅值、2-50次谐波幅值,THD计算如下式
注意:根据IEC标准,THD中不包括40次以上谐波。
TMS320F28335进行FFT计算的程序解释:
使用C28x Floating Point UnitLibrary将对应的库拷贝到工程目录下,添加C SOURCE文件,
在主程序文件中,定义FFT计算的相应变量
typedef struct {
  float32 *InBuf;
  float32 *OutBuf;
  float32 *CosSinBuf;
  float32 *MagBuf;
  float32 *PhaseBuf;
  Uint16  FFTSize;
  Uint16  FFTStages;
} RFFT_F32_STRUCT;

#define RFFT_SIZE     2048        
#define RFFT_STAGES   11                 //2是11次方

float32InBuffer[RFFT_SIZE];
float32OutBuffer[RFFT_SIZE];
float32TwiddleBuffer[RFFT_SIZE];
float32MagBuffer[RFFT_SIZE/2];

RFFT_F32_STRUCT rfft;
在CMD文件中分配连续的地址空间给变量InBuffer、OutBuffer、TWIDDLEBUF、MAGBUF:
INBUF            : > RAML4,     PAGE = 1, ALIGN(4096)
OUTBUF          : > RAML5,     PAGE = 1, ALIGN(4096)
TWIDDLEBUF      : > RAML6,     PAGE = 1, ALIGN(4096)
MAGBUF          : > RAML7,     PAGE = 1, ALIGN(4096)
初始化程序设置:
// Clear input buffers:
      for(i=0; i < RFFT_SIZE; i++)
      {
             InBuffer = 0.0f;
      }
    rfft.FFTSize   = RFFT_SIZE;
    rfft.FFTStages = RFFT_STAGES;   
    rfft.InBuf     = &InBuffer[0];       //Input buffer
    rfft.OutBuf    = &OutBuffer[0];      //Output buffer
    rfft.CosSinBuf =&TwiddleBuffer[0];  //Twiddle factorbuffer
    rfft.MagBuf    = &MagBuffer[0];    //Magnitude buffer

    RFFT_f32_sincostable(&rfft);       //Calculate twiddle factor

    for (i=0; i < RFFT_SIZE; i++)
    {
       OutBuffer= 0;                  //Clean up output buffer
    }
    for (i=0; i < RFFT_SIZE/2; i++)
    {
        MagBuffer= 0;                     //Clean up magnitude buffer
    }
当样本数达到2048点时,开始FFT分析:
RFFT_f32(&rfft);   
      RFFT_f32_mag(&rfft);
结果保存在MagBuffer前1024个地址空间中,当然至于这个结果值的意义已经在本节开头说明,你看到的这个幅值可能比较大,为什么呢,对于这个我记不太清楚了,好像是要除以RFFT_SIZE/2,才能真正成为幅值,对于这点我不太确定,等后期我会对这点再次确认,并更新到这里。

c>     F28335的DMA 通道设置
因为AD7606是一个慢速设备,F28335读取AD7606芯片的采样值,会消耗CPU处理时间,使用DMA通道,可以再F28335的CPU不干预下,完成读取AD7606采样结果值到F28335内部0等待周期RAM中。读取控制框图如下:
d>    电路板原理图分析
1>TMS320F28335主电路,XINTF总线连接AD7606、FPGA、SRAM、FLASH。
F28335连接外部30MHz有源晶振:
2路指示灯和2路开关选择输入到F28335,1路电源上电指示LED:
F28335手动复位按钮:
F28335BOOT模式选择:
模拟电源与数字电源通过磁珠进行连接:
F283351.9V电源:
3.3V电源:
FGPA1.2V 电源:

FPGA2.5V 电源:
SRAM和FLASH连接:
FPGA连接:
AD7606连接图:

写在最后:
本人从事了多年基于C28的软件编程工作,从最开始的F2812到现在一直在用的F28335,很多情况下都是只完成项目的一部分功能,没能完完整整得做一个项目;并且在工作过程中,也有过一些另类的想法,涉及到职能划分的情况,不便把这些想法应用在设计上,所以也就无法验证正确与否。一直以来心中总有一个想法,做一块板子,能把我做过的零散的东西,串成一个整体,也想把这个项目开源化,帮助更多的初学者们学习一些案例,积累一些经验;当然也希望感兴趣的朋友能够参与到这个项目中,共同去完成一些设计;更希望大家能给与支持和帮助,对于上面的设计不足之处,给与指正,特别是咱网站和deyisupport的同仁们。
上文中的设计只是一个参考,只是部分验证过功能,还没有实际整体完成,当然我也在努力进行中,PCB板正在画图中,涉及到成本问题,不想出一些致命错误,所以进展有点慢。
上面的设计只是电能质量分析-电压部分,当完成硬件设计后,我会继续更新电流部分、功率分析、不平衡度等。除了这些功能之外,还会利用这块板子完成波形采集功能,将波形通过USB或是网络传输到PC客户端,进行波形显示,也就是一台慢速的示波器哦。采集功能完成之后,利用F28335强大的EPWM模块,制作几个小型逆变电源还是可以的。这些想法在我脑子中早已有了方案,实现只是时间问题吧。
感兴趣的朋友可以关注我的更新。

Sys_prj.pdf

462.14 KB, 阅读权限: 10

原理图

打赏榜单

21ic小喇叭 打赏了 5.00 元 2015-08-05

相关帖子

沙发
JY-DX-JY| | 2015-7-24 14:14 | 只看该作者
顶一个111111111111

使用特权

评论回复
板凳
lansebuluo|  楼主 | 2015-7-24 14:44 | 只看该作者

谢谢

使用特权

评论回复
地板
zjzto| | 2015-7-24 14:50 | 只看该作者
够写一篇论文啦

使用特权

评论回复
5
lansebuluo|  楼主 | 2015-7-24 14:53 | 只看该作者
zjzto 发表于 2015-7-24 14:50
够写一篇论文啦

刚刚整理的,有些也没有那么详细的说明,正在设计中,等调试通过了,可以写一篇论文啊
谢谢支持

使用特权

评论回复
6
zjzto| | 2015-7-24 16:54 | 只看该作者
感觉用这个做APF也挺靠谱的

使用特权

评论回复
7
lansebuluo|  楼主 | 2015-7-24 17:12 | 只看该作者
zjzto 发表于 2015-7-24 16:54
感觉用这个做APF也挺靠谱的

太高评价了,;P

使用特权

评论回复
8
songchenping| | 2015-7-25 10:39 | 只看该作者
够细致。

使用特权

评论回复
9
lansebuluo|  楼主 | 2015-7-26 23:54 | 只看该作者
本帖最后由 lansebuluo 于 2015-7-26 23:56 编辑

multsim 滞环比较器仿真图
lm311.zip (503.4 KB)

带通滤波器仿真图
BPF_TL082.zip (65.06 KB)



使用特权

评论回复
10
fengye82109| | 2015-7-27 15:13 | 只看该作者
学习了:)感谢楼主分享啊

使用特权

评论回复
11
lefeng| | 2015-7-28 09:15 | 只看该作者
比较在意算法问题

使用特权

评论回复
12
豆腐块| | 2015-7-28 09:45 | 只看该作者
期待电流部分、功率分析、不平衡度部分

使用特权

评论回复
13
pallee| | 2015-7-28 22:05 | 只看该作者
MARK,感谢楼主的经验分享

使用特权

评论回复
14
冰河w| | 2015-7-28 23:42 | 只看该作者
像这样的电能质量有没有固定的标准

使用特权

评论回复
15
lkl0305| | 2015-7-29 12:25 | 只看该作者
学习了

使用特权

评论回复
16
skreben| | 2015-7-29 15:27 | 只看该作者
好帖,谢谢楼主分享

使用特权

评论回复
17
taisl| | 2015-7-30 14:04 | 只看该作者
好东西,好东东

使用特权

评论回复
18
天灵灵地灵灵| | 2015-7-30 15:16 | 只看该作者
TMS320F28335芯片简介
l  高性能静态CMOS技术
   高达150MHZ(6.67ns的周期时间);
l  高性能32位CPU

使用特权

评论回复
19
风清云淡| | 2015-7-30 20:21 | 只看该作者
大哥能不能分享一下的你的cmd文件的配置,我做2048个点的FFT时总是提示空间不够,我改来改去还是不行

使用特权

评论回复
20
zhuangfred| | 2015-7-30 22:26 | 只看该作者
不错  鉴相器设计值得学习

使用特权

评论回复
发新帖 本帖赏金 5.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

482

帖子

6

粉丝