基于PSOCTM 62处理器的谐波发生器设计实现_第1页
基于PSOCTM 62处理器的谐波发生器设计实现_第2页
基于PSOCTM 62处理器的谐波发生器设计实现_第3页
基于PSOCTM 62处理器的谐波发生器设计实现_第4页
基于PSOCTM 62处理器的谐波发生器设计实现_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页基于PSOCTM62处理器的谐波发生器设计实现

一、项目背景

随着社会经济的发展和人民生活水平的提高,居民生活用电、商业用电的结构和用电量也发生了根本性的变化,已经从过去单一的照明用电变为以(电子)设备和电炊具等家用电器为主的生活、办公用电,这些用电设备的广泛普及与增换,必然使在同区域的居民用电量大幅增长的同时,实际(供电)质量与国家标准要求还存在不小的差异。

无功损耗增加、(功率因数)下降、谐波增加,会影响到用户用电设备的正常运行,严重时会造成用电设备损坏,增大电气设备损耗、温度升高、降低运行效率,绝缘加速老化、缩短设备使用寿命;降低供用电设备的(继电保护)、控制以及(检测)装置的工作精度和可靠性。

20世纪20年代末,人们开始注意到(电力系统)非线性负载会产生谐波。20世纪50年代,随着科学技术的进步,大量非线性负载给电力系统带来了严重的谐波干扰。20世纪70年代以来,由于谐波所造成的危害日趋严重,世界各国对谐波问题都予以充分的关注,国际上召开了多次有关谐波问题的学术会议。最近40年,世界各国对电力系统谐波问题的研究已超过了电力系统自身的研究范畴,并且取得了前所未有的发展。

目前谐波治理设备检测一般通过更改有源电力(滤波器)(APF)的代码,使其工作于负载模式,(模拟)谐波源,将谐波注入待测电网,而谐波治理设备并入后,通过一系列检测(算法)计算出电网含有谐波(电流)的大小,发出与谐波源大小相等,方向相反的谐波电流,在并网处叠加抵消,达到治理的效果。通过对比治理设备投入前后剩余谐波电流大小并于相关标准对比,最终判定谐波治理设备的功能特性。

本次比赛实验主要基于(PSOC)6(处理器)PWM模块发波,在功率驱动板侧检测波形和相关驱动能力。

二、项目开发原理

由于全控型电力(半导体)器件的出现,不仅使得逆变电路的结构大为简化,而且在控制策略上与(晶闸管)类的半控型器件相比,也有着根本的不同,由原来的相位控制技术改变为脉冲宽度控制技术,简称PWM技术。采用PWM方式构成的逆变器,其输入为固定不变的直流电压,可以通过PWM技术在同一逆变器中既实现调压又实现调频。

工程实际中应用最多的是正弦PWM法(简称SPWM),它是在每半个周期内输出若干个宽窄不同的矩形脉冲波,每一矩形波的面积近似对应正弦波各相应每一等份的正弦波形下的面积可用一个与该面积相等的矩形来代替,于是正弦波形所包围的面积可用这N个等幅(Vd)不等宽的矩形脉冲面积之和来等效。各矩形脉冲的宽度自可由理论计算得出,但在实际应用中常由正弦调制波和三角形载波相比较的方式来确定脉宽:因为等腰三角形波的宽度自上向下是线性变化的,所以当它与某一光滑曲线相交时,可得到一组幅值不变而宽度正比于该曲线函数值的矩形脉冲。若使脉冲宽度与正弦函数值成比例,则也可生成SPWM波形。

在进行脉宽调制时,使脉冲系列的占空比按正弦规律来安排。当正弦值为最大值时,脉冲的宽度也最大,而脉冲间的间隔则最小。反之,当正弦值较小时,脉冲的宽度也小,而脉冲间的间隔则较大;这样的电压脉冲系列可以使负载电流中的高次谐波成分大为减小,称为正弦波脉宽调制。三相互差120°PWM波形如图1所示:

图1三相PWM波形

工程中,一般将三相正弦波数据制表,然后通过查表法将数据与(定时器)的计数值进行比较,输出PWM波形。一般采用两个定时器,一个高级定时器(需要具备三路互补输出的PWM)和一个基本定时器(通用定时器),其中高级定时器用于输出PWM,作为高频载波。而基本定时器用于设置输出波形的周期(频率),通过定时的查表读取数据,调节高级定时器脉冲的占空比,实现正弦波的输出。需要注意的是,高级定时器输出的波形依然是相较规则的脉冲,通过功率驱动板放大输出,驱动(IGBT)功率管。两路互补的PWM波形如图2所示:

图2互补PWM波形

经过功率驱动板放大后的PWM(信号),驱动IGBT的栅极,由于IGBT结(电容)的存在,会导致PWM信号出现一些不规则的变化,通过添加栅极(电阻)可以调整作用在IGBT栅极上的PWM波形。在IGBT输出交流测输出的依然是不规则的直流电压,需要对输出进行滤波,在出线侧加装(电感器),滤除高频成分,而保留低频部分。经过滤波处理后的三相电流与电压波形如图3所示,由于驱动采用调制波采用单极性,因此波形电压于电流均含有直流分量。

目标设计PWM频率为20KHZ,输出波形频率50Hz,调制波为多个高次谐波叠加基波,不再是标准的正弦波。需要对各次谐波的幅值设置可调,相位可调。通过(仿真)进行频谱分析各次谐波含有率及总畸变率如图4所示。

三、项目(硬件)

1、主控制器

PSoC®6(单片机)是一款高性能、超低功耗、安全的单片机平台,专为(物联网)应用而设计。

CY8C62x8/A(产品)线,基于PSoC6(MCU)平台,是一个双(CPU)(微控制器)与低功耗闪光技术、数字可(编程)逻辑、高性能模拟到数字转换和标准(通信)和定时外设的组合。PSOC6是双核CPU系统,具有一个M4F核和一个M0+内核,其中M4F内核150MHz,M0+内核100MHz,具备丰富的存储,高达2M的Flash以及1M的S(RAM)。

计时器/计数器/脉宽调制器(TCPWM)

■TCPWM支持以下操作模式:

❐计时器计数器比较

❐计时器与捕获

❐正交解码

❐脉宽调制(PWM)

❐伪随机PWM

❐PWM与死时间

■上,下,上/下计数模式

■(时钟)调整(除1、2、4,…。64,128)

■双缓冲比较/捕获和周期值■下流,溢出,和捕获/比较输出信号

■支持中断:

❐终端计数-取决于模式;通常发生在溢出或下流❐捕获/比较-计数被捕获到捕获(寄存器)或计数器值等于比较寄存器

■互补输出

■可选择开始、重加载、停止、计数和捕获事件信号;有上升边,下降边,两个边,和水平触发选项。TCPWM具有一个刹车输入,以强制输出到预定状态。

在PSOC6设备中有:

■8个32位TCPWMs

■24个16位TCPWMs

本次IGBT驱动采用板子上的(Arduino)扩展(接口)CON7上的1-6脚,刚好对应3对互补输出的PWM,其对应关系如下表:

2、功率驱动板

由PSOC6单片机TCPWM模块输出的PWM信号不足以直接驱动IGBT,需要对其进行功率放大,采用厚膜驱动。功率驱动板设计6单元IGBT驱动,可驱动300A/1700V以下的IGBT,每路输出电流可达6A。其中互补的两个单元共用一路辅助(电源)。可以测试带IGBT和不带IGBT两种情况。

3、IGBT模块

IGBT模块采用(英飞凌)6单元封装IGBT,型号为FS50R12KT3,集电极-发射极电压1200V,连续集电极电流可达50A,栅极阈值电压为5-6.5V;其反并联(二极管)正向压降1.65V。IGBT模块自带负温度系数热敏电阻,25℃时,其额定阻值为5000欧姆。

4、直流电源

功率驱动板仅需要一路直流电源,就可以实现驱动6单元IGBT,直流电源采用直流稳压电压。

四、项目软件

软件采用(RT-Thread)Studio开发,RT-Thread系统版本为5.0.1,BSP版本为1.0.3。

1、程序流程

(1)、初始化开发板;

(2)、PWM初始化;

(3)、设置含谐波次数及幅值;

(4)、PWM输出;

2、关键程序

/*

Copyright(c)2023-2023,RT-ThreadDevelopment(Te)amSPDX-License-Iden(ti)fier:Apache-2.0ChangeLogs:DateAuthorNotes2022-06-29Rbb666fi(rs)tversion

/

#include

#include

#include"drv_gpio.h"

#include"cyhal_pwm.h"

/线程控制块**/

rt_thre(ad)_t(led)_thread=RT_NULL;

rt_thread_tpwm_thread=RT_NULL;

/***********线程入口函数*************/

stat(ic)voidled_thread_entry(void*parameter);

staticvoidpwm_thread_entry(void*parameter);

#defineLED_(PI)NGET_PIN(0,1)

/***********A、B、C三相*************/

uint16_tua[128]={

0

};

uint16_tub[128]={

0};

uint16_tuc[128]={

0

};

cyhal_pwm_tpwm_obj1;

cyhal_pwm_tpwm_obj2;

cyhal_pwm_tpwm_obj3;

cyhal_clock_tclock_obj;

/***********互补输出PWM初始化函数*************/

staticvoidpwm_init(void)

{

pwm_obj1.dead_time_set=1;

pwm_obj1.pin=P5_0;

pwm_obj1.pin_compl=P5_1;

cyhal_pwm_init_adv(

cyhal_pwm_set_period(

cyhal_pwm_start(

pwm_obj2.dead_time_set=1;

pwm_obj2.pin=P11_2;

pwm_obj2.pin_compl=P11_3;

cyhal_pwm_init_adv(

cyhal_pwm_set_period(

cyhal_pwm_start(

pwm_obj3.dead_time_set=1;

pwm_obj3.pin=P11_4;

pwm_obj3.pin_compl=P11_5;

cyhal_pwm_init_adv(

cyhal_pwm_set_period(

cyhal_pwm_start(

}

/***********main函数*************/

intmain(void)

{

rt_pin_mode(LED_PIN,PIN_MODE_OUTPUT);

pwm_init();

led_thread=rt_thread_create("led",led_thread_entry,RT_NULL,256,3,10);

if(RT_NULL!=led_thread)

{

rt_thread_startup(led_thread);

}

pwm_thread=rt_thread_create("pwm",pwm_thread_entry,RT_NULL,256,2,10);

if(RT_NULL!=pwm_thread)

{

rt_thread_startup(pwm_thread);

}

}

/***********LED线程入口函数*************/

staticvoidled_thread_entry(void*parameter)

{

while(1)

{

rt_pin_write(LED_PIN,PIN_HIGH);

rt_thread_mdelay(500);

rt_pin_write(LED_PIN,PIN_LOW);

rt_thread_mdelay(500);

}

}

/***********谐波注入PWM线程入口函数*************/

staticvoidpwm_thread_entry(void*parameter)

{

uint8_ti=0;

while(1)

{

f(or)(i=0;i

图9互补PWM输出

2、驱动板PWM输出

3、IGBT谐波输出波形

六、结论和后期展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论