- 博客(33)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(九)ADC 噪声怎么变成 duty 抖动
摘要:本章探讨数字电源中ADC采样噪声如何通过反馈链路导致PWM占空比(duty)抖动问题。通过Simulink仿真分析,揭示了量化误差和模拟噪声如何从ADC采样值开始,依次影响误差计算、PI控制器输出及最终PWM指令。对比了无滤波、4点滑动平均和一阶IIR三种滤波方案的降噪效果,量化了RMS抖动(无滤波0.000321→滑动平均0.000197)、等效PWM时间抖动(1.6ns→0.98ns)等关键指标。研究发现滤波虽能降低抖动(滑动平均降幅38.6%),但会引入7.5-15μs延迟,说明需在噪声抑制与响
2026-07-10 09:11:46
377
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(十)仿真控制器怎么整理成 C 风格代码
摘要 本文介绍了如何将数字电源Buck变换器的仿真控制逻辑转化为适用于MCU实现的C风格代码结构。主要内容包括: 提出了四类对象的结构化设计: Config(固定参数和阈值) Context(跨周期状态) Input(当前周期输入) Output(当前周期输出和遥测) 阐述了控制周期内的执行流程: 测量滤波→故障检测→状态机→软启动→PI计算→抗饱和→占空比限幅→PWM输出→遥测记录 重点设计考虑: 保护检测和PWM关断统一处理 软启动阶段不累加积分项 保留关键遥测变量用于调试 通过Python测试台验证了
2026-07-10 09:09:42
361
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(八)负载突变时输出下陷和过冲怎么测
Buck数字电源负载突变测试分析 本文介绍了Buck数字电源负载突变测试的关键方法和指标分析。通过Simulink测试台,对比了四种工况下的动态响应特性: 测试指标:重点关注输出电压下陷深度、过冲幅度及1%恢复时间,负载突变时需同时监测电感电流和占空比饱和状态。 典型波形:正常工况下50%-100%负载阶跃时Vout下陷0.87V/恢复1.4ms,100%-50%阶跃时过冲0.93V/恢复4.79ms。 故障诊断: 当占空比命令(raw duty)与实际输出(duty cmd)出现分离且饱和标志置位时,表明
2026-07-10 09:07:49
353
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(七)保护状态机怎么锁存故障并关断 PWM
本文摘要: 本文介绍Buck数字电源保护状态机的设计实现,重点阐述保护检测、状态管理和PWM控制的职责划分。通过Simulink模型和MATLAB故障注入测试,验证了以下核心机制: 采用分层架构:保护检测层集中处理阈值比较并输出唯一故障码,状态机负责锁存故障和状态迁移,执行层统一控制PWM开关。 定义6种状态:INIT、IDLE、SOFT_START、RUN、FAULT_LATCH和RECOVERY,形成清晰的状态迁移路径。 实现故障优先级机制:OCP>OVP>UVLO>OTP,确保多故障同时出现时输出确定
2026-07-09 15:16:50
291
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(六)软启动为什么不能直接给 12V 参考值
本文探讨Buck变换器数字控制中的软启动策略,通过对比不同斜坡时间下的启动性能,揭示软启动在抑制过冲和降低电流应力上的关键作用。仿真结果表明: 直接12V阶跃启动会导致严重过冲(6.64V)和电感电流峰值(28.34A),而5ms斜坡启动可将电流峰值降低至5.24A,过冲仅0.08V 软启动通过控制参考电压的上升斜率(0→12V),使误差信号渐进式进入控制器,避免功率级承受突加激励 斜坡时间需权衡启动速度与应力:1ms斜坡即可显著降低电流峰值(6.3A),但延长至5ms后改善效果递减 软启动需与duty限幅
2026-07-09 14:15:18
339
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(五)duty 限幅和抗积分饱和怎么处理
摘要: 本文针对数字电源中PI控制器的积分饱和问题(windup),提出了解决方案。当输出电压受限时,仅对占空比(duty)进行限幅会导致积分项持续累积,在输入电压恢复时引发过冲。通过分离原始占空比(duty_raw)与实际输出占空比(duty_cmd),并引入条件积分抗饱和逻辑(anti-windup),有效抑制了积分项的无序增长。MATLAB仿真表明,抗饱和策略将积分项峰值从0.67降至0.0176,Vin恢复后的过冲从14.62V减少到13.13V,同时饱和时长缩短53%。文章强调需同时监测duty_
2026-07-09 13:36:36
652
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(四)离散 PI 电压环怎么把输出拉回 12V
数字Buck变换器离散PI电压环控制分析 本文针对24V转12V/5A的Buck变换器,研究了离散PI电压环的控制特性。通过Simulink平均模型仿真,重点分析了比例控制(P-only)与比例积分控制(PI)在输入电压扰动(24V→20V)和负载扰动(5A→7.5A)下的动态响应差异。仿真结果表明:P-only控制会在输入电压跌落时产生约1V的稳态误差;而PI控制通过积分项的持续累积,可将输出电压精确调节回12V。文中详细解释了离散PI控制器的工作原理,包括5us控制周期下的误差采样、积分状态更新和占空比
2026-07-09 11:10:31
461
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(三)电感、电容和开关频率怎么初步选择
文章摘要(149字) 本文基于开环Buck模型,系统分析了功率级参数设计方法。通过公式估算与PLECS仿真对比,验证了电感(22μH)、电容(100μF)和开关频率(200kHz)的选取依据:电感纹波电流控制在30%负载电流(1.36A),输出纹波电压约8.5mV。参数扫描显示,增大电感/电容可减小纹波但影响动态响应,提高频率改善纹波但增加损耗。特别指出硬启动过冲(20.8V/27.3A)是LC网络固有特性,需通过后续闭环控制解决,为后续数字控制器设计奠定了功率级参数基础。
2026-07-09 00:41:38
315
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(二)PLECS 搭建开环 Buck 功率级
本文介绍了如何在PLECS中搭建开环Buck功率级模型,验证数字电源设计的基本思路。重点内容包括: 明确开发顺序:先开环验证功率级,再闭环设计控制器 搭建关键组件:输入电源、PWM模块、MOSFET开关、续流二极管、LC滤波电路及负载 设置初始参数:24V输入、12V输出、200kHz开关频率、22μH电感、100μF电容 测量关键波形:MOSFET Vds验证开关动作、电感电流纹波和输出电压稳态值 提供完整仿真模型和GitHub资源,便于读者复现验证 文章强调通过开环测试先确保功率级正确性,为后续闭环控制
2026-07-08 16:16:51
1218
原创 【数字电源/MATLAB+PLECS】如何进行 Buck 数字电源仿真(一)Buck 电路介绍与项目准备
本文介绍了一个使用MATLAB/PLECS进行Buck数字电源仿真的系列教程。Buck电路是最常见的DC-DC降压型开关电源拓扑,在工业控制、通信电源等领域广泛应用。本系列将从零搭建Buck数字电源仿真项目,逐步涵盖功率级建模、开环测试、离散PI电压环、保护状态机等关键内容。文章首先介绍了Buck电路的基本原理和组成,强调先开环验证再闭环控制的重要性。项目采用MATLAB/PLECS分工协作:PLECS负责功率级建模,MATLAB负责数字控制逻辑。教程将采用状态机设计思路,设置初始化、软启动、运行、故障等状
2026-07-08 11:04:55
484
原创 【DSP bug】error #10234-D: unresolved symbols remain 问题通解
在优化代码时,把代码改飞了,报了 unresolved symbols remain 错误,网上说的也是一知半解,而且只能单独解决他们的问题。
2023-04-07 16:47:26
5301
6
原创 【编程技巧篇】工作减少重复修改代码的技巧
一个是固定参数,一个是修改参数,但是每次都需要代码修改,或者通过注销然后打开的方式又显得代码十分混乱。在工作中,由于调试参数要需要用上位机进行调试,但是调试完后参数又需要写死,防止客户误操作。用了这个方法后,代码整洁了不说,最重要不用每次删删改改,减少无意义的重复工作。所以从以前代码看到的硬件版本代码识别举一反三,决定使用宏定义方式进行融合。此技巧也可举一反三,可用于不同硬件代码区分,插入测试代码等等。调试只需要打开宏定义就行,然后调试结束,注销宏定义就行。
2023-03-16 11:14:38
368
原创 【ESP8266-SDK开发】WSL上搭建Ubuntu环境开发ESP8266-RTOS-SDK
本文讲解了ESP8266-SDK开发环境的准备工作包括以下两部分:一、设置 工具链二、从 GitHub 上获取
2022-07-06 20:41:53
853
原创 【linux实战】debian9安装python3.7
之前有写了一篇ubuntu18.04使用apt安装python各个版本的,但是最近上debian9上,发现那种apt安装方式不可行,因为ppa不支持debian系列。Debian 9 默认安装有 Python 2.7 和 3.5。但是我们现在没法使用apt直接安装是没法安装自己想要的版本。所以在debian系统上,我们通过curl来进行python的版本更换。首先安装构建 Python 源代码所需的包:然后使用curl命令从python官网拉取想要的python版本。目前最新的是3.7.13,但是怕最新的
2022-06-13 14:16:30
1941
原创 [RK3128] parameter.txt 文件 以及 error: rootfs image size exceed parameter! 解决方法
SDK编译,打包固件,parameter.txt相关知识,以及编译后镜像超出规划区,如何修改parameter.txt。
2022-06-06 16:06:02
2961
原创 【linux常见问题】Could not get lock /var/lib/dpkg/lock-frontend(Resource temporarily unavailable)
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?首先kill掉所有apt或apt-get占用的进程。sudo killall apt apt-get如果报
2022-05-30 15:26:51
420
原创 【初学linux】ubuntu 20.04 各个版本更新软件源
Ubuntu系统中,软件源文件地址为:/etc/apt/sources.list1.备份原来的源,将以前的源备份一下,以防以后可以用的。sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2.打开/etc/apt/sources.list文件,在前面添加自己ubuntu版本的源,并保存。①找出自己系统版本的阿里云源lsb_release -a将下面的文本中的DH换成你们自己版本的Codename,例如我的是jammy(可以用VScod
2022-05-12 15:43:33
2504
原创 【VORON/klipper】ADXL345加速度计——安装numpy包失败,Linux的RAM不足,激活swap
为了缩减成本,使用了RAM较小的芯片,导致安装numpy包时失败。通过激活swap功能解决。在Linux系统中,它被称为“swap”,作为一个特定的硬盘空间,如果必要的话,可以用作RAM。通过这种方式,如果我们的计算机用完了空闲RAM内存,数据就会从它移动到硬盘,释放它的空间,如果以后需要,就从该硬盘访问数据。
2022-03-22 10:30:02
3465
原创 【Python 3网络爬虫】搭建windows上python和pip环境以及Fatal error in launcher: Unable to create process using报错解决方法
通过安装包安装python3python官网下载地址点击下载地址,选择想要的版本,点击Download,选择自己想要的版本,我要的是windows64位安装版,点击就开始下载了。
2022-03-04 12:10:33
1021
原创 【VORON/klipper】如何使用TMC2209以及使用无传感器归零功能 (二) 代码编写及注意事项
本篇主要讲解硬件连接以及代码编写。至于模块的引脚排列、原理图、特性、规格、接口在上一篇已经进行了详细介绍,不清楚的朋友请回看,本篇就不再赘述。
2022-03-01 16:03:41
20096
3
原创 【VORON/klipper】如何使用TMC2209以及使用无传感器归零功能 (一) 硬件介绍与连接
本教程记录了应用TMC2209所需要的一些基础知识,例如引脚排列、原理图、特性、规格、接口等,后续篇章会具体写具体应用中的代码编写,硬件连接等注意事项和所遇到的一些问题的解决方法。
2022-02-25 12:06:48
25155
原创 【程序员常识】为什么会有Unicode,UTF-8以及ASCII等编码?(中文注释的坏处及中文乱码的原因) 时间2021/12/6
字符编码与中文乱码的爱恨情仇。
2021-12-06 17:04:43
1020
原创 【初学linux】如何在ubuntu 18.04中安装并升级python版本。(爬坑日记) 时间2021/11/10
由于Ubuntu本身会自带python,但是却不是最新版,很多软件要求更高级的python版本,于是我开始了有趣(折磨)的python升级之旅。此次旅程,我经历了桌面消失,终端打不开,以及各种大大小小的报错。终于,还是让我熬过来了,为了不让大家经历我的痛苦,(主要也不想以后我忘记了,在恰一遍苦头),我决定记录下最简单完整且好用的升级流程。首先,不得不提醒大家,干啥都行,不要卸载系统自带的python。不然,你可能连个桌面都没了。别问我为啥知道。其次,给大家推荐一下,学Linux,最好用虚
2021-11-10 11:37:10
6033
2
原创 【初学linux】发现Ubuntu最简单的换源方式(快速更换国内源|图形化换源,一看就会) 时间:2021/11/5
Ubuntu最开始安装时,使用的是默认的源,由于是国外的,所以十分的慢,10+kb的下载速度,等他下一个软件我得掉两颗星,所以为了保住我的星星,我觉得得提高他的软件安装速度。然后我上网找到了一个好办法,换国内源。但是大多数都是通过命令行修改源配置文件,让我觉得很麻烦,而且还很麻烦。新手尝试过的话,都会懂得。后面发现了个好方法,纯图形化操作,让我觉得很舒适。换源过程:①选择左下角的小方块。②选择software&updatas③向上拉,选择china,选择里面的源。这里我选择
2021-11-05 09:59:45
1960
原创 【初学linux】成功在虚拟机上安装ubuntu18.04全过程(可交互 可与主机进行文件拖放以及剪切板共享) 时间:2021/11/4
1. 下载并安装虚拟机首先安装VMware虚拟机,软件及poke都在链接里,即下即用。2. 下载ubuntu18.04镜像(清华镜像)点击打开清华大学开源软件镜像站官网①选择右方的获取下载链接②拖到下方选择ubuntu③点击选择18.04.6进行下载,记得是带Desktop版本,这样才会有图形化界面。创建Ubuntu虚拟机在第一二步后,安装好VMware并保存好ubuntu镜像。选择前面下载好的系统镜像文件。除了用户名,其他都为1 (好记,老懒狗了。 可惜用户
2021-11-04 16:33:57
771
原创 【3D打印机】原来配置Marlin2.0这么简单,别说我没告诉你。
``可能由于各人的打印机款式不同,某些参数没有出现在文中,但是只要你完全看完本指南,就可以理解Marlin是如何工作的,我相信在此基础上,你在固件中找到哪些不同配置并不困难。本文的最终的目标是让你自己学会配置Marlin,消除恐惧,而不是需要依赖向导。从头开始配置 Marlin 2.0.x我强烈建议您在设置时遵循本文的顺序。原因是当你编辑固件时,参数也会以相同的顺序找到。这样你就不会在配置的路上留下一个隐藏的危险。最重要的是要消除你对马林鱼的恐惧,如果这篇文章对你有帮助的话,它就已经完成了它的
2021-10-28 09:34:11
16835
时钟屏保1.5.1.zip
2021-03-11
易经和数字理论的生命密码.zip
2021-03-08
清明上河图1.8G超宽图浏览.exe
2021-04-17
电子书格式转换器.7z
2021-03-30
CareUEyes Pro v2.0.0.7z
2021-03-30
STM32步进电机控制
2021-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅