琼中黎族苗族自治县网站建设_网站建设公司_字体设计_seo优化
2026/1/1 16:01:42 网站建设 项目流程

BUCK多种控制策略对比 图一BUCK主电路图与控制策略方法 图二采用开环控制波形 图三开环调节过程 图四单电压闭环控制波形 图五单电压调节过程

这货就是咱常见的BUCK电路,MOS管、电感、电容、二极管搭个台子就能演降压大戏。但怎么让输出电压乖乖听话?今天唠唠开环、单电压闭环两种玩法,附带翻车现场和代码实操。


开环控制:大力出奇迹?

开环控制就像手动挡老司机——踩多少油门出多少力。代码简单粗暴,直接给固定占空比PWM信号:

void setup() { analogWrite(PWM_PIN, 128); // 占空比50% } void loop() {} // 懒得动态调整

!采用开环控制波形

输出电压波形看着挺稳?但负载突然加重时(比如接了个电机),电压直接尿崩(图三)。为啥?开环不检测输出,MOS管还在傻乎乎按固定节奏开关,电感续流不足,电容电量被掏空。

代码破案时刻

用Python做个开环仿真,负载突变时电压掉到姥姥家:

def buck_open_loop(R_load): D = 0.5 # 占空比焊死 V_in = 12 return V_in * D - I_load * R_load # I_load突增时直接崩盘

数学老师教的公式Vout=D*Vin在现实里就是个脆皮,负载扰动、输入波动分分钟教做人。


单电压闭环:给电路装个大脑

闭环控制就像给BUCK配了个智能手环,实时监测血压(电压)并自动调药量(占空比)。代码升级成PID控制器:

PID voltagePID(&V_out, &DutyCycle, &V_ref, Kp, Ki, Kd, DIRECT); void loop() { V_out = readVoltage(); // 实时读取输出电压 voltagePID.Compute(); // PID暴算占空比 analogWrite(PWM_PIN, DutyCycle*255); }

!单电压闭环控制波形

负载突变时,闭环系统开启狂暴模式(图五):电压检测到下跌→PID疯狂调高占空比→电感猛充电容→电压逐渐回血。整个过程像极了打地鼠,哪里不行锤哪里。

代码骚操作

PID的核心是误差处理,比如比例项Kp决定了"见错就怼"的力度:

float Kp = 0.8; // 暴躁老哥参数 float adjust_D(float error) { return previous_D + Kp * error; // 误差越大,占空比调整越猛 }

但Kp调太大容易震荡,调太小反应迟钝——这微操比女朋友脾气还难把握。


灵魂拷问:选开环还是闭环?

  • 开环:便宜大碗,适合负载固定、不差那点精度的场景(比如LED调光)
  • 闭环:加个电压检测和算法,成本+20%,但能扛住负载蹦迪、输入电压抽风

最后放个对比彩蛋:

指标开环闭环
成本5毛钱5块钱
响应速度躺平百米冲刺
稳如老狗想屁吃真·泰山崩于前

所以...要自行车还是要玛莎拉蒂,您看着办?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询