双向四开关Buck - Boost纯数字电源Plecs仿真那些事儿
双向四开关Buck-Boost 纯数字电源Plecs仿真,一比一按照批量产品仿真,实际产品已批量。纯数字平均电流控制,带前馈控制算法,采用plecs内部的c仿真实现。本人已在STM32G474上实现该仿真,有需要的可以联系参考,规格如下:输入:12-36V输出:1000W、24V、附带仿真给电池充电仿真,自动跳载模拟等等,因产品的负载是电池故仿真有对电池负载进行仿真。
双向四开关Buck-Boost 纯数字电源Plecs仿真,一比一按照批量产品仿真,实际产品已批量。 纯数字平均电流控制,带前馈控制算法,采用plecs内部的c仿真实现。 本人已在STM32G474上实现该仿真,有需要的可以联系参考,规格如下: 输入:12-36V 输出:1000W、24V、附带仿真给电池充电仿真,自动跳载模拟等等,因产品的负载是电池故仿真有对电池负载进行仿真

最近在搞电源相关的项目,跟大家分享下双向四开关Buck - Boost纯数字电源的Plecs仿真经历,这可是按照一比一的批量产品规格来做的仿真哦,而且实际产品都已经批量生产了,可见这仿真的靠谱程度。
控制算法实现
这次采用的是纯数字平均电流控制,还带前馈控制算法。实现方式是借助Plecs内部的C仿真。为啥选这个方式呢?因为它能很灵活地按照我们的需求来编写算法逻辑。比如说,在纯数字平均电流控制里,关键就是要精准地控制电流的平均值。下面给一段简单示意代码(实际项目代码会复杂很多):
// 假设定义电流采样值和设定值
float current_sample;
float current_setpoint;
// 简单的比例控制实现平均电流控制
float control_signal;
float kp = 0.1;
void control_algorithm() {
float error = current_setpoint - current_sample;
control_signal = kp * error;
// 这里可以根据control_signal进一步生成PWM信号等实际控制量
}
这段代码简单展示了通过计算电流设定值和采样值的误差,再乘以比例系数 kp 得到控制信号。在实际的前馈控制算法结合中,我们还得考虑输入电压等因素。比如输入电压变化时,前馈控制能提前调整控制量,减少输出电压的波动。
// 加入前馈控制,假设输入电压采样值
float input_voltage;
float kff = 0.01;
void improved_control_algorithm() {
float error = current_setpoint - current_sample;
float feed_forward_signal = kff * input_voltage;
control_signal = kp * error + feed_forward_signal;
}
这里通过引入与输入电压相关的前馈信号 feedforwardsignal,使得控制更加快速和稳定。
STM32G474 上的实现
我已经在STM32G474上实现了这个仿真。为啥选这款芯片呢?它性能不错,处理这类数字电源控制的任务游刃有余。而且开发起来相对友好,有丰富的库可以用。
仿真规格亮点
- 输入输出特性:输入电压范围是12 - 36V ,输出要达到1000W的功率,输出电压稳定在24V 。这就要求在仿真中要精确模拟不同输入电压下,电源如何稳定输出。
- 电池充电仿真:因为产品负载是电池,所以专门做了电池充电仿真。在Plecs里,可以利用其自带的电池模型,设定好电池的参数,比如容量、内阻等。通过控制算法,模拟电池从低电量到充满电的整个过程,还能观察到充电电流、电压的变化情况。
- 自动跳载模拟:这个功能对于测试电源的动态响应能力很关键。当负载突然变化时,电源要能快速调整输出,保证输出电压和电流的稳定。在仿真里通过编写控制逻辑,模拟负载的突然接入和断开,看看电源的应对表现。
要是有朋友对这个项目感兴趣,需要参考相关内容的,可以联系我。希望我的这些经验能给大家在电源仿真和开发上一些启发。

双向四开关Buck-Boost 纯数字电源Plecs仿真,一比一按照批量产品仿真,实际产品已批量。 纯数字平均电流控制,带前馈控制算法,采用plecs内部的c仿真实现。 本人已在STM32G474上实现该仿真,有需要的可以联系参考,规格如下: 输入:12-36V 输出:1000W、24V、附带仿真给电池充电仿真,自动跳载模拟等等,因产品的负载是电池故仿真有对电池负载进行仿真





更多推荐



所有评论(0)