您所在位置: 网站首页 / 基于TMS320F28335的SVPWM实现方法.docx / 文档详情
基于TMS320F28335的SVPWM实现方法.docx 立即下载
2024-11-12
约2.6千字
约5页
0
11KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

基于TMS320F28335的SVPWM实现方法.docx

基于TMS320F28335的SVPWM实现方法.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

5 金币

下载文档

如果您无法下载资料,请参考说明:

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
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

基于TMS320F28335的SVPWM实现方法

文档大小:11KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用