wkhn
认证:优质创作者
所在专题目录 查看专题
STM32G4系列MCU——数字电源入门(1)
STM32G4系列MCU——数字电源入门(2)
STM32G4系列MCU——数字电源入门(3)
STM32G4系列MCU——数字电源入门(4)
作者动态 更多
一种采用CAN总线方式升级F28035芯片Flash的方法(三)
2024-05-13 15:31
一种采用CAN总线方式升级F28035芯片Flash的方法(二)
2024-05-13 15:31
一种采用CAN总线方式升级F28035芯片Flash的方法(一)
2024-05-13 15:31
STM32G4系列MCU——数字电源入门(4)
2023-03-14 10:46
STM32G4系列MCU——数字电源入门(3)
2023-03-13 20:05

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
觉得内容不错的朋友,别忘了一键三连哦!
赞 25
收藏 34
关注 610
成为作者 赚取收益
全部留言
0/200
  • dy-fsbZn3VD 4天前
    老师,能不能发我一下资料,谢谢! de****@****.com
    回复 1条回复
  • dy-HLftE9rd 3星期前
    老师,能不能发我一下资料,谢谢! 18****@****.com
    回复 1条回复
  • dy-hwXJpcv6 08-12 14:06
    老师,能不能发我一下资料,谢谢! 43****@****.com
    回复 1条回复
  • 周明明 08-11 17:21
    老师,能不能发我一下资料,谢谢! md****@****.com
    回复 1条回复
  • david_lct 08-04 11:08
    老师,能不能发我一份资料,非常感谢!! pl****@****.com
    回复 1条回复
  • songxium 07-28 14:33
    老师,能不能发我一下资料,谢谢! so****@****.com
    回复 1条回复
  • 西红柿炒蛋. 07-24 21:29
    老师,能不能发我一下资料,谢谢! 24****@****.com
    回复 1条回复
  • liangyuguo6 07-16 10:17
    老师,能不能发我一下资料,谢谢! li****@****.com
    回复 1条回复
  • qq748482167 07-05 16:54
    老师,能不能发我一下资料,谢谢! 74****@****.com
    回复 1条回复
  • dy-hBtwmbrr 06-17 17:09
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • dy-WXDQTIuK 06-16 13:47
    老师,能不能发我一下资料,谢谢! 54****@****.com
    回复 1条回复
  • heimadx900 06-02 19:17
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • dy-Unz2dbvG 05-31 12:10
    老师,能不能发我一下资料,谢谢! qu****@****.com
    回复 1条回复
  • dy-Unz2dbvG 05-31 12:10
    老师,能不能发我一下资料,谢谢! qu****@****.com
    回复 1条回复
  • dy-Unz2dbvG 05-31 12:05
    老师,能不能发我一下资料,谢谢! qu****@****.com
    回复 1条回复
  • zhouspace 05-29 18:56
    老师,能不能发我一下资料,谢谢! 14****@****.com
    回复 1条回复
  • dy-rY4x1BFU 05-28 10:11
    老师,能不能发我一下资料,谢谢! le****@****.com
    回复 1条回复
  • 西红柿炒蛋. 05-23 20:10
    老师,能不能发我一下资料,谢谢! 24****@****.com
    回复 1条回复
  • shanzhihun 05-16 23:37
    老师,能不能发我一下资料,谢谢! 33****@****.com
    回复 1条回复
  • dy-K3DdhChG 05-14 00:53
    老师,能不能发我一下资料,谢谢! 13****@****.com
    回复 1条回复