




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
基于TMS320F28335的SVPWM实现方法 基于TMS320F28335的SVPWM实现方法 TMS320F28335是德州仪器公司(TexasInstruments)推出的一款高性能数字信号处理器(DSP),被广泛应用在控制领域。其中,SVPWM(SpaceVectorPulseWidthModulation)是一种常用的无刷直流电机(BLDC)控制技术,本文将介绍基于TMS320F28335的SVPWM实现方法。 SVPWM原理 SVPWM是一种调制技术,它将直流电源高频开关进行调制,使其输出一个准正弦波的电压给电机,以控制其转速和方向。其基本原理是,将ABC三个相位的电压矢量加起来,构成一个空间矢量图,称为空间矢量和。 SVPWM控制器将输出一个“任务临界角”(angleoftask),表示空间矢量和从A相到B相或从B相到C相切换的角度。该角度确定了空间矢量和的大小和方向,从而以期望的方式控制电机。通过调制高频开关的占空比,控制输出电压。 实现方法 TMS320F28335通过PWM功能模块来实现SVPWM,控制BLDC电机。下面是实现SVPWM所需的主要步骤: 1.设计三相电压正弦波 首先要根据BLDC电机的需求,设计出三相电压的正弦波。这里以60Hz为例,如下图所示: 代码如下: ```c float32v_ref=165.0;//输入电压 float32v_peak=v_ref*sqrt(2.0)*0.9;//确定电压峰值 float32sin_a=v_peak*sin(2.0*PI*60.0*t+PI/3.0); float32sin_b=v_peak*sin(2.0*PI*60.0*t-PI/3.0); float32sin_c=v_peak*sin(2.0*PI*60.0*t); ``` 2.计算矢量和和切换 根据三相电压正弦波生成矢量和,并进行相位切换以控制电机。这里以正运行为例,其操作流程如下: (1)计算矢量和 ```c float32v_alpha=2.0/3.0*(sin_a-0.5*sin_b-0.5*sin_c); float32v_beta=2.0/3.0*(sqrt(3)/2.0*sin_b-sqrt(3)/2.0*sin_c); ``` (2)计算任务临界角 ```c float32sector=(atan(v_beta/v_alpha)/PI+1.5); ``` (3)根据任务临界角和电压大小生成高频开关控制信号 ```c switch((int)sector) { case1: T1_PWM_Pulse=(sqrt(3.0)*v_alpha-v_beta)/2.0/v_peak; T2_PWM_Pulse=v_beta/v_peak; T3_PWM_Pulse=-1.0*T1_PWM_Pulse-T2_PWM_Pulse; break; case2: T1_PWM_Pulse=(-1.0*sqrt(3.0)*v_alpha-v_beta)/2.0/v_peak; T2_PWM_Pulse=v_alpha/v_peak; T3_PWM_Pulse=-1.0*T1_PWM_Pulse-T2_PWM_Pulse; break; case3: T2_PWM_Pulse=(-1.0*sqrt(3.0)*v_alpha+v_beta)/2.0/v_peak; T1_PWM_Pulse=v_beta/v_peak; T3_PWM_Pulse=-1.0*T1_PWM_Pulse-T2_PWM_Pulse; break; case4: T2_PWM_Pulse=(sqrt(3.0)*v_alpha+v_beta)/2.0/v_peak; T1_PWM_Pulse=v_alpha/v_peak; T3_PWM_Pulse=-1.0*T1_PWM_Pulse-T2_PWM_Pulse; break; case5: T3_PWM_Pulse=(-1.0*sqrt(3.0)*v_alpha-v_beta)/2.0/v_peak; T1_PWM_Pulse=v_beta/v_peak; T2_PWM_Pulse=-1.0*T1_PWM_Pulse-T3_PWM_Pulse; break; case6: T3_PWM_Pulse=(sqrt(3.0)*v_alpha+v_beta)/2.0/v_peak; T1_PWM_Pulse=v_alpha/v_peak; T2_PWM_Pulse=-1.0*T1_PWM_Pulse-T3_PWM_Pulse; break; default: break; } ``` 3.更新PWM输出 接下来将生成的高频开关控制信号通过PWM功能模块输出。代码如下: ```c EPw

快乐****蜜蜂
实名认证
内容提供者


最近下载