基于DQ解耦控制的单相PWM整流
文章目录
- Simulink仿真
- 完整框图
- 仿真结果
- 关键代码部分
- alpha轴信息移相90°得到beta轴信息
- Park变换
- 调制发波
- 仿真及工程代码链接
Simulink仿真
基于DQ解耦控制搭建了单相PWM整流器,可以实现单位功率因素运行,直流侧输出电压可控,功率因素可调。
输入端220V交流电,直流侧期望输出电压800V.
仿真文件已上传资源,需要自取.
注:Simulink版本为2021b
完整框图
仿真结果
输入电压与输入电流
输出电压波形
无功电流跟踪
有功电流跟踪
关键代码部分
alpha轴信息移相90°得到beta轴信息
利用数组存储物理量,改变索引值到达移相的效果。
void GetBeta()
{static Uint16 count_alpha = 0;// orthogonal signalU[count_alpha] = Ualpha; I[count_alpha] = Ialpha;if (count_alpha >= 125)Flag_Alpha = 1;if (Flag_Alpha == 1) // finished 1/4 cycle{if (count_alpha < 125){Ubeta = U[count_alpha + 375];Ibeta = I[count_alpha + 375];}else if (count_alpha < 500 && count_alpha >= 125){Ubeta = U[count_alpha - 125];Ibeta = I[count_alpha - 125];}}count_alpha++;if (count_alpha >= 500)count_alpha = count_alpha - 500;
}
Park变换
在simulink搭建仿真的过程中,到dq轴变换模块还有一个参数。
详细讲解可以参考该位博主的讲解
Matlab的dq变换模块到底选哪一种变换方式?90 degree behind phase A axis和 Aligned with phase A axis有什么区别?
Aligned with phase A axis-基于余弦的变换,中国课本大多沿用。
90 degree behind phase A axis-基于正弦的变换,国外课本大多沿用。
不同的参考轴需要不同的控制策略。
基于余弦的变换下,D轴是有功分量,而Q轴是无功分量。
譬如本例子将DQ用于单相PWM整流,要实现单位功率因数则需要Q轴电流为0,即无无功分量。电压外环的输出作为D轴电流的指令值。
基于正弦的变换下,Q轴是有功分量,而D轴是无功分量。
该情况多用于电机控制中,如PMSM。速度外环的输出作为Q轴电流的指令值,而D轴电流指令值为0。再得到UdUq、判断扇区生成SVPWM。
void ParkTrsfm()
{Ud = Sin * Ualpha - Cos * Ubeta;Uq = Cos * Ualpha + Sin * Ubeta;Id = Sin * Ialpha - Cos * Ibeta;Iq = Cos * Ialpha + Sin * Ibeta;
}
调制发波
在Simulink中的载波我们通常都是设为正负半周对称的三角波,而在利用DSP芯片实现时,TBCTR是载波,CMP是调制波。
芯片的特性使得载波是一个位于0轴线以上的三角载波,而调制波也相应的是一个非负值。
解决办法是在数字芯片中,抬升载波,以TBPRD/2为0轴线,从而使得调制波在0轴线上下波动,从而正确发波。
void GeneratePWM()
{temp1 = 0.5 * tbprd + Modulation * ModulateWave;temp2 = 0.5 * tbprd - Modulation * ModulateWave;// limit modulate wave // 限幅考虑死区时间的占空比if (temp1 > 0.98 * tbprd)temp1 = 0.98 * tbprd;if (temp1 < 0.02 * tbprd)temp1 = 0.02 * tbprd;if (temp2 > 0.98 * tbprd)temp2 = 0.98 * tbprd;if (temp2 < 0.02 * tbprd)temp2 = 0.02 * tbprd;// assign modulate waveEPwm1Regs.CMPA.bit.CMPA = (Uint16) temp1;EPwm2Regs.CMPA.bit.CMPA = (Uint16) temp2;
}
仿真及工程代码链接
基于DQ解耦控制的单相PWM整流器
基于DQ解耦控制的单相PWM整流相关推荐
- 三相三线制逆变器的dq解耦控制
1. 三相三线制逆变器拓扑 三相三线制逆变器的拓扑如下图所示,其中开关变换器的端口线电压是UABU_{AB}UAB,UBCU_{BC}UBC和UCAU_{CA}UCA,负载线电压是vabv_ ...
- matlab单相pwm整流电路,基于Matlab的单相电压型PWM整流电路仿真与设计.doc
基于Matlab的单相电压型PWM整流电路仿真与设计 摘 要 现代工业中,很多场合需要进行电能变换,例如把直流电能变为交流电能,交流电能变为直流电能.直流电能变为交流电能由逆变器实现,交流电能变为直流 ...
- 单相PWM整流电路的控制思路
因为本人也没有将PWM整流的功率因数调到99%,所以这里就只讲一下自己的思路,欢迎大家交流. PWM整流电路是采用PWM控制方式和全控型器件组成的整流电路,它能在不同程度上解决传 统整流电路存在的问题 ...
- 单相PWM整流从硬件到软件一条龙
前言 首先很想吐槽国内开源环境,实在是无语,大家都不愿意分享资源,都需要花钱,主要是花钱也不一定能找到你想要的东西.今年的电赛电源题,到现在了,我都还没看到CSDN上有能让我看懂的东西.所以我和同伴一 ...
- 电压电流双闭环PFC单相PWM整流
目录 仿真 完整框图 pwm内部调制方式 仿真结果 关键源代码 PI参数初始化以及位置式PI计算 锁相环计算 PWM调制发波 完整工程代码链接 仿真 完整框图 pwm内部调制方式 仿真结果 输入电压和 ...
- 三相桥式PWM整流电路 整流电路采用全控型三相桥式整流
三相桥式PWM整流电路matlab2021a 整流电路采用全控型三相桥式整流电路, 采用dq解耦控制,双环PI调节, 采用SPWM调制,输入前加设LCL滤波器, 可以得到整流后直流电压波形,波形质量较 ...
- PWM整流技术的具体应用
PWM (脉冲宽度调制) 整流技术是一种将交流电转换成直流电的方法,通常应用于电子设备中.具体应用包括: 电动汽车充电器:使用 PWM 整流技术来控制电动汽车的充电过程,提高充电效率. 风扇电机控制: ...
- 单相PWM整流器两种控制策略实现(交流220V-直流350V整流)仿真,分别采用直接电流控制(PR控制器)与虚拟dq控制(PI控制器)实现
单相PWM整流器两种控制策略实现(交流220V-直流350V整流)仿真,分别采用直接电流控制(PR控制器)与虚拟dq控制(PI控制器)实现,两个仿真动稳态性能良好,附带仿真介绍文档,详细讲述仿真搭建过 ...
- 单片机c语言pwm整流的程序,基于 单片机控制PWM整流电源的设计.doc
PAGE \* MERGEFORMAT II 摘??? 要 本文介绍了用PWM实现直流电机调整的基本方法.本文在给出直流电机调整和PWM实现方法的基础上,提供一种用单片机软件实现PWM调速的方法,以及 ...
最新文章
- Node.js aitaotu图片批量下载Node.js爬虫1.00版
- 关于php的梗儿_php几个不起眼儿的小技巧
- 系统学习深度学习(二十八)--DSD
- 3.10 Spark RDD编程案例
- 暮光之城3蓝光BD高清下载
- 永中Office遭遇厄运
- oralce 12c集群 ora-01033
- ceph osd heartbeat 分析
- P2627 [USACO11OPEN]Mowing the Lawn G(单调队列优化dp)
- iphone3GS iOS6.0.1不完美越狱详细图文教程
- 翁恺老师 | 城堡游戏解读
- 【Android归纳】基于XListView的下拉刷新、上拉加载更多的控件分析
- find与grep组合命令
- C# 使用AD(Active Directory)验证内网用户名密码
- 解释X_train,Y_train,X_test,Y_test分别表示什么
- 哈·曼丁的故事(二)
- Windows运行Nacos
- Tuscany插件的安装
- 如何学Python?--捕蛇者说
- 【PHP渗透技巧拓展】————3、LFI、RFI、PHP封装协议安全问题学习