STM32G4系列MCU——数字电源入门(4)

在附件中有WDS环路计算工具和笔者的源程序代码。      

下面开始环路控制的代码编写。

      在本例中,其实是用到了两个环路补偿的计算函数,电压环路和电流环路。都是用的3P3Z的补偿算法。不同的是电压环路在FMAC硬件中进行计算,不占用CPU的时间,而电流环路只能用CPU进行软件计算,比较耗费CPU时间。下图是FMAC工作在IIR滤波器模式下的结构图:

从上图中,可以看到环路的差分方程的计算过程。     

在程序的初始化时,要初始化这两个环路参数。

	/* Init 2p2z using the FMAC */
	if (__3p3zInitFmacInt16( &USER_APPL_FMAC, &cntrlFmac,
						   A1, A2, 0.0,
						   B0, B1, B2, 0.0,
						   post_shift, DUTY_TICKS_MIN, DUTY_TICKS_MAX ) != HAL_OK)
	{
	/* Configuration Error */
	Init_Error_Handler();
	}

	/* Init 2p2z using the CPU */
	CNTRL_3p3zInit(&myDcdc.iLoop, iREF,
				 iA1, iA2, 0.0,
				 iB0, iB1, iB2, 0.0,
				 iK, (float_t)iDUTY_TICKS_MIN, (float_t)iDUTY_TICKS_MAX );

还有一点要注意:FMAC硬件计算电压环路参数用的是定点数,而CPU计算的电流环路用的是浮点数。

在这里,给读者推荐一款环路参数软件(STM32 Biricha WDS,简称WDS),专门为STM32平台开发的环路计算软件,支持STM32G474VE,而且是免费的。

可以去这个网站https://www.biricha.com/下载,要翻墙!!!

对应STM32的平台,这个软件是全功能免费的。当然该软件也有对应TI平台的、Microchip平台的版本,不过后面的这两个平台就是收费的了。

下载完后,网站会免费提供给下载者一个注册密码,可以自行获取,在输入注册码后,在ST平台就可以使用全功能的版本了。这里笔者会在附件中提供该软件,但不提供注册码,避免麻烦。

因为本例中用的是两相交错并联BUCK电路,不是纯BUCK电路,而WDS又没有交错并联BUCK的拓普,所以只能用BUCK电路拓普算出一组环路参数后,再其基础上进行调节。

在此页面中设定电路的拓普和预想要达到的穿越频率和相位裕度。

输出电感和输出电容的相关参数。

这样根据前面预想要达到的环路性能指标,该软件可以自动计算出补偿器的零极点的位置,如果对自动计算的结果不太满意,也可以手动放置补偿器零极点的位置。

同时根据补偿器的参数,会实时将该补偿器传递函数的波特图、功率电路及整体开环传递函数的波特图绘制出来,如上图所示。

然后是PWM周期和ADC采样参数的设置,这些工作进行完毕后,会自动计算出FMAC所需要的参数。

然后在其基础上调试环路参数,使环路稳定。

当要用到CPU计算3P3Z补偿器时,就应该选择浮点数据。如下图所示:

上述过程将环路参数整定完成,再计算恒压环路,等待FMAC计算出结果后,然后用该结果更新DAC1和DAC3的参考值。

因为DC电源工作在恒压恒流的模式下,所以要判断恒压环路的结果与恒流环路的结果,哪个比较小,然后用那个较小的值去更新DAC的参考值,以达到自动切换恒压、恒流这两种输出方式的目地。在FMAC的中断中完成了电压环路的闭环。

电流环路在ADC1的中断中进行。

在本例中,还有更多的细节,笔者并没有进行更深一步的展开。比如DMA的工作方式,ADC发出DMA请求的响应,FMAC的工作方式、FMAC缓存的运行机制、COMP如何快速保护等技术细节都需要读者详细阅读芯片的技术手册。

在输入电压48V,输出电压26V,输出电流60A条件下,用网络分析仪测试电源开环bode图:

在WDS理论计算结果的基础上,进行微调后的bode图如上图所示。穿越频率为2.4KHz,相位裕度为106°,基本上达到了设计目标。

下图是交错并联的两个主MOS管源极波形

本程序中,还没用实现同步MOS管的驱动。如果想实现同步整流的功能也比较简单,如下图所示,当检测到输出电流超过一个限值后,驱动PC7(DCM_CTL)引脚为低电平,即可。

电源工作

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:BirichaWDS_v3.5.2.0.zip,2KW_InterLeave_DCDC_DPL_G474VET6_Ver1.1.rar
觉得内容不错的朋友,别忘了一键三连哦!
赞 17
收藏 27
关注 509
成为作者 赚取收益
全部留言
0/200
  • jie1368 2天前
    老师,能不能发我一下资料,谢谢! ji****@****.com
    回复 1条回复
  • dy-13ytKv7V 3天前
    老师,能不能发我一下资料,谢谢! 36****@****.com
    回复 1条回复
  • dy-Ny3lDL2S 4天前
    老师,能不能发我一下资料,谢谢! 18****@****.com
    回复 1条回复
  • dy-Ny3lDL2S 4天前
    老师,能不能发我一下资料,谢谢! 18****@****.com
    回复 1条回复
  • dy-AEBEKduV 1星期前
    老师,能不能发我一下资料,谢谢! ku****@****.com
    回复 1条回复
  • dy-AEBEKduV 1星期前
    老师,能不能发我一下资料,谢谢! ku****@****.com
    回复 1条回复
  • anono 2星期前
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • jyw_jhf 10-22 21:38
    老师,能不能发我一下资料,谢谢! jy****@****.com
    回复 1条回复
  • dy-yBkcXJ1x 10-09 17:22
    老师,能不能发我一下资料,谢谢! 52****@****.com
    回复 2条回复
  • majb2000 10-06 14:36
    老师,能不能发我一下资料,谢谢! 80****@****.com
    回复 1条回复
  • lqwuliang 09-24 16:26
    老师,能不能发我一下资料,谢谢! 74****@****.com
    回复 3条回复
  • lqwuliang 09-24 16:25
    老师,能不能发我一下资料,谢谢! 747887109@qq.com
    回复
  • dy-Ej1ayXyR 09-20 20:59
    老师,能不能发我一下资料,谢谢! 11****@****.com
    回复 1条回复
  • tom_ynhe 08-28 22:38
    老师,能不能发我一下资料,谢谢! 13****@****.com
    回复 1条回复
  • dy-lpAIWepx 07-16 15:23
    老师,能不能发我一下资料,谢谢! ke****@****.com
    回复 1条回复
  • power peng 07-12 15:35
    老师,能不能发我一下资料,谢谢! 44****@****.com
    回复 1条回复
  • ouxinhi 06-19 14:32
    老师,能不能发我一下资料,谢谢! ou****@****.com
    回复 1条回复
  • 老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 12条回复
  • dy-DJRYP28P 04-24 11:16
    老师,能不能发我一下资料,谢谢! xc****@****.com
    回复 1条回复
  • 杨晓华6688 04-10 15:37
    老师,能不能发我一下资料,谢谢! 53****@****.com
    回复 1条回复