SVPWM算法软件编程实现

本文详细描述了如何通过软件编程在GD32E508芯片上实现SVPWM算法,包括设置基波频率、计算扇区有效矢量、无效矢量以及通过DAC转换输出马鞍波形。同时介绍了MATLAB仿真的应用,展示了SVPWM的实际效果和电机控制中的高次谐波滤除过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是通过软件编程实现SVPWM算法,并将各扇区有效矢量T1,T2,和T0+T7无效矢量作用时间通过DAC转换输出马鞍波,可以更加深刻理解SVPWM算法的实现过程(基于GD32E508芯片)。

1.实现步骤

SVPWM波基波频率设定f为1Hz,旋转实时角度为23.141*t 时间t的步长为0.001,即每隔1ms更新一次旋转角度,1s为一个周期,一个周期1000个采样点
1、移植arm自带DSP库,使能FPU运算;
2、通过给定旋转坐标系直流电压Vd、Vq通过park逆变换得到正交的两相交流正弦电压Ua、Ub;
3、判断Ua、Ub大小判断扇区1/2/3/4/5/6,计算各扇区有效矢量T1,T2 ,无效矢量T0,T7作用时间。
4、各扇区有效矢量T1,T2,无效矢量T0,T7(实则为三相逆变电路三对mos管各下管导通时间,T1+T2+T0+T7的和为SVPWM三角波载波的周期T)。
5、将T1,T2,T0+T7通过DAC转换输出SVPWM马鞍波形(基波和三次谐波的叠加)。

2.软件C代码
2.1 .h文件

#ifndef MAIN_H
#define MAIN_H
#include "gd32e50x.h"
#include "arm_math.h"

/*--------转子磁通两相旋转坐标系----------*/
typedef struct{
   
    float Vd;
    float Vq;
}voltage_two_phase_rotation;

/*--------定子两相静止坐标系----------*/
typedef struct{
   
    float Va1;
    float Vb1;
}voltage_two_static_rotation;

/*--------定子三相静止坐标系----------*/<
CCS(电流共享式开关电源)是一种用于电力变换的电源技术,而SVPWM(Space Vector Pulse Width Modulation)是一种调制技术,用于控制三相电压逆变器的输出。 要观察CCS中的SVPWM马鞍波,我们首先需要了解SVPWM的工作原理和特点。SVPWM利用空间矢量控制方法,将三相电压变换为一个矢量,通过改变该矢量的幅值和相位来实现对电压输出的调节。 观察CCS中的SVPWM马鞍波可以通过以下步骤进行: 1. 确定CCS电源的电路结构和工作方式。CCS通常由两个或多个共享电压源和多个电流共享式开关单元组成,这些开关单元用于控制电流流向和变换。 2. 确定SVPWM的控制策略和参数设置。SVPWM需要确定合适的调制比例系数和频率等参数,以实现期望的马鞍波形。 3. 运行CCS电源和SVPWM控制器。将所需的输入电源连接到CCS电源中,并将SVPWM控制器与CCS电源的开关单元进行连接。 4. 观察输出波形。使用示波器或其他合适的测试仪器,将电压输出端连接,并记录输出波形。在SVPWM控制器工作的情况下,应观察到马鞍波形的输出。 5. 分析和评估观测结果。根据观察到的输出波形,分析是否符合期望的马鞍波形,并对其进行评估。如果输出不符合预期,则可能需要调整SVPWM的参数设置或重新设计CCS电源的电路结构。 通过以上步骤,可以观察CCS中的SVPWM马鞍波。这将有助于了解CCS电源和SVPWM调制技术的工作性能,并为进一步的优化和改进提供参考。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值