当前位置: 首页 > article >正文

交错并联BUCK变换器仿真之旅

交错并联BUCK变换器仿真 输入电压范围36~70V输出电压28.5V电压电流双闭环PI控制 可 单片机芯片型号dsPIC33FJ32MC204 仿真平台proteus8.9编译软件MPLAB X IDE在电源管理领域交错并联BUCK变换器凭借其独特优势备受瞩目。今儿个咱就唠唠基于dsPIC33FJ32MC204单片机在proteus8.9平台上对交错并联BUCK变换器进行仿真并且用MPLAB X IDE进行编译的那些事儿。一、设计要求回顾咱这个项目输入电压得在36~70V这个范围里折腾最终输出得稳稳落在28.5V 。为了实现这么个精确输出采用电压电流双闭环PI控制策略。二、Proteus 8.9搭建仿真电路打开proteus8.9那界面一出来就开始吭哧吭哧搭建电路。先把电源部分整好设置输入电压范围这就好比给变换器找了个合适的“能量源”。然后放置BUCK变换器的各个元件像电感、电容、开关管这些它们可都是变换器的“得力干将”。在连接线路的时候可得小心就跟走迷宫似的走错一步可能就全乱套了。特别是反馈回路这是实现双闭环PI控制的关键“桥梁”连接到电压和电流检测模块为后续的控制算法提供准确的数据支持。三、dsPIC33FJ32MC204单片机的代码实现咱用MPLAB X IDE来编写控制代码这软件用起来还挺顺手。下面就上点关键代码瞅瞅// 定义一些变量 float setVoltage 28.5; float currentSense; float voltageSense; float errorVoltage, errorCurrent; float integralVoltage 0, integralCurrent 0; float KpV 0.5, KiV 0.1; float KpI 0.2, KiI 0.05; void main() { // 初始化相关引脚和外设 // 比如设置ADC用于电压和电流采样 ADC1CON1bits.ADON 1; while (1) { // 读取电压和电流采样值 voltageSense ReadADC(CHANNEL_VOLTAGE); currentSense ReadADC(CHANNEL_CURRENT); // 计算电压误差 errorVoltage setVoltage - voltageSense; integralVoltage errorVoltage; float outputVoltagePI KpV * errorVoltage KiV * integralVoltage; // 计算电流误差 errorCurrent outputVoltagePI - currentSense; integralCurrent errorCurrent; float outputCurrentPI KpI * errorCurrent KiI * integralCurrent; // 根据计算结果调整PWM输出 // 假设PWM模块已经初始化好 if (outputCurrentPI 0) { // 增大PWM占空比 PWMCON1bits.PMOD1 1; } else { // 减小PWM占空比 PWMCON1bits.PMOD1 0; } } } // 假设这是一个简单的ADC读取函数 float ReadADC(int channel) { ADC1CHSbits.CH0SA channel; ADC1CON1bits.SAMP 1; __delay32(10); ADC1CON1bits.SAMP 0; while (ADC1CON1bits.DONE 0); return ADC1BUF0; }这段代码里首先定义了一些关键变量像设定的输出电压setVoltage用于存储采样值的currentSense和voltageSense还有PI控制的误差变量和积分变量以及比例积分系数KpV、KiV、KpI、KiI。在主函数main里先初始化ADC用于采样电压和电流。进入循环后不断读取采样值计算电压误差和电流误差通过PI控制算法算出相应的输出值。最后根据电流PI控制的结果去调整PWM的占空比以此来控制BUCK变换器的输出。交错并联BUCK变换器仿真 输入电压范围36~70V输出电压28.5V电压电流双闭环PI控制 可 单片机芯片型号dsPIC33FJ32MC204 仿真平台proteus8.9编译软件MPLAB X IDEReadADC函数就是简单地设置ADC通道启动采样等待转换完成最后返回采样值。四、MPLAB X IDE编译与调试把代码写好丢进MPLAB X IDE点击编译按钮这时候心里就有点小紧张生怕报错。要是报错了那就得对着错误提示一点点找问题可能是语法错误也可能是变量定义的问题。调试的时候设置断点观察变量的值看看PI控制算法是不是按照咱预想的那样工作PWM占空比的调整是不是合理。这就像给代码做“体检”一点点排查问题。经过一番折腾终于完成了交错并联BUCK变换器的仿真。看着输出电压稳稳地落在28.5V左右心里那叫一个舒坦就跟完成了一件了不起的大工程似的。希望这篇博文能给各位在做类似项目的朋友一些启发和帮助

相关文章:

交错并联BUCK变换器仿真之旅

交错并联BUCK变换器仿真 输入电压范围:36~70V;输出电压:28.5V;电压电流双闭环PI控制 可 单片机芯片型号:dsPIC33FJ32MC204 仿真平台:proteus8.9;编译软件:MPLAB X IDE在电源管理领域…...

【3GPP LTE】【Release 16】基于R16的eMTC GWUS(Group Wake-Up Signal)简要方案解析

摘要 LTE Cat-M(eMTC)作为物联网主流技术之一,其终端功耗是核心性能指标。3GPP在Rel-15/16中引入了唤醒信号(WUS)及其增强方案——组唤醒信号(GWUS),以进一步降低UE在空闲态下的功耗。本文将从背景原理、协议定义、实现方案到参数配置,系统阐述GWUS的简要技术方案,并…...

高频注入Simulink模型在50r/min工况下的电角度观测对比

此为高频注入simulink模型用于电角度观测。 模型为在d轴注入正弦波电压信号,经过低通,带通滤波器之后得到角度信息。 图一为高频注入观测电角度与实际电角度的对比在50r/min时的工况,图像表明观测电角度与实际电角度几乎重合。高频注入这玩意…...

MySql自用

一、语法 1.左连接 left join ...on... left左边的表的行全保留 2.子嵌套需要给别名 3.基础函数框架 Create Function 函数名(N INT) Returns Int 函数返回值类型 BeginReturn(--函数体); End N INT:入参,参数名为 N,类型为整数 INT&a…...

50个 filter相关的公共函数

这里给你50 个纯 JS、Vue3 通用、可直接复制使用的 filter 过滤工具函数,覆盖业务 99% 场景,包含:基础过滤、搜索、数组、对象、时间、真假值、去重、区间、正则、树形、空值、多条件等。 全部即拿即用,不依赖任何库!5…...

ABAQUS有限元分析软件在隧道开挖模型中的应用:从CD法到CRD法、台阶法、双侧壁导坑法、环...

abaqus隧道CD法开挖,CD法开挖模型,step by step,过程演示;abaqus隧道CRD法开挖模型,abaqus隧道台阶法开挖,abaqus隧道双侧壁导坑法开挖,abaqus隧道环形开挖预留核心土法开挖,模型&am…...

Spring全局异常处理拦截器JWT令牌使用

一、全局异常处理使用步骤step1:创建异常处理器类注意:要确保能扫描到异常处理器类| RestControllerAdvice用于标识当前类为REST风格对应的异常处理器 ExceptionHandler(Exception.class)标识处理哪些异常RestControllerAdvice public class ProjectExce…...

手把手教你学Simulink——基于Simulink的滞环电压控制(Bang-Bang)Buck仿真

目录 手把手教你学Simulink ——基于Simulink的滞环电压控制(Bang-Bang)Buck仿真 一、问题背景 二、Buck 电路与滞环控制原理 1. Buck 主电路 2. 滞环控制逻辑 三、Simulink 建模步骤 第一步:搭建 Buck 主电路(使用 Simscape Electrical) 第二步:实现滞环控制器 …...

聊聊 GitHub CLI,以及我为什么不再手动配 SSH 了

传统认证方式到底哪里难受? 说实话,在接触 gh 之前,我一直觉得 GitHub 的认证这块挺烦的。不是说它不能用,而是用起来总有点别扭。 先说用 HTTPS 加令牌这条路。GitHub 要求你去网页端生成一串很长的字符串,复制下来&a…...

RHEL9.7虚拟机部署及后续优化

一、搭建环境前的准备工作首先在搭建环境前将安装包提前解压到电脑D:\RHCSA文件夹(一定不要下载到C盘!!!)二、创建新的虚拟机二、RHEL后续优化从阅读模式进入编辑者模式从编辑模式退回阅读模式按ESC键并按住shift:输入…...

前沿科技一——5G/6G

一、概念 1、5G:万物互联的基石 (1)定义与特点: 5G,即第五代移动通信技术,具有高速率、低时延和大连接的特点。它实现了多种新型无线接入的状态,是真正意义上的通信技术与互联网的融合。 &a…...

手把手教你学Simulink——基于Simulink的主从式多机器人协同搬运控制仿真

目录 手把手教你学Simulink ——基于Simulink的主从式多机器人协同搬运控制仿真 一、问题背景 二、系统建模基础 1. 协同搬运系统结构 2. 运动学约束 3. 动力学耦合 三、主从式控制架构设计 1. 主机器人控制律(阻抗控制) 2. 从机器人控制律(导纳控制) 四、Simuli…...

南北阁Nanbeige 4.1-3B行业方案:数据库课程设计智能辅导系统

南北阁Nanbeige 4.1-3B行业方案:数据库课程设计智能辅导系统 1. 引言:当课程设计遇上AI,会发生什么? 如果你是计算机专业的学生,大概率逃不过“数据库课程设计”这门课。我还记得当年自己做的那个“学生信息管理系统…...

乐高兼容ESP32对讲机:模块化嵌入式音频通信设计

1. 项目概述乐高兼容积木对讲机是一个面向教育与趣味交互场景的嵌入式音频通信系统,其核心设计目标是将专业级无线语音通信能力封装为可拼搭、可扩展、可定制的模块化硬件平台。该项目并非传统意义上的消费级对讲设备,而是一种融合了硬件工程实践、音频信…...

霜儿-汉服-造相Z-Turbo开发环境配置:从零开始搭建Python与PyTorch环境

霜儿-汉服-造相Z-Turbo开发环境配置:从零开始搭建Python与PyTorch环境 想自己动手研究“霜儿-汉服-造相Z-Turbo”这类AI模型的源码,或者想基于它做些二次开发,第一步也是最关键的一步,就是搭建一个稳定、兼容的开发环境。很多朋友…...

springboot基于网络爬虫的热门图书推荐系统

🍅 作者主页:Selina .a 🍅 简介:Java领域优质创作者🏆、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。 主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据…...

springboot基于人脸识别的互联网课堂考勤系统

🍅 作者主页:Selina .a 🍅 简介:Java领域优质创作者🏆、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。 主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据…...

Qwen2.5-VL-7B-Instruct新手入门:从安装到第一个图文对话

Qwen2.5-VL-7B-Instruct新手入门:从安装到第一个图文对话 1. 环境准备与快速部署 1.1 硬件要求 Qwen2.5-VL-7B-Instruct是专为RTX 4090显卡优化的多模态大模型,需要满足以下硬件条件: 显卡:NVIDIA RTX 4090(24GB显…...

AudioSeal Pixel Studio代码实例:Python调用PyTorch实现水印生成与识别

AudioSeal Pixel Studio代码实例:Python调用PyTorch实现水印生成与识别 1. 音频水印技术概述 音频数字水印技术是一种将特定信息嵌入到音频信号中的技术,这些信息对人类听觉系统几乎不可感知,但可以通过专用算法检测提取。AudioSeal是Meta(…...

MT5 Zero-Shot参数组合实验报告:Temperature×Top-P对中文长句改写成功率影响

MT5 Zero-Shot参数组合实验报告:TemperatureTop-P对中文长句改写成功率影响 1. 引言 你有没有遇到过这种情况:手里有一批中文文本数据,想用来训练一个模型,但数据量太少,模型总是学不好?或者,…...

Pi0 Web界面效果实测:并发用户数压力测试(1/5/10用户响应性能曲线)

Pi0 Web界面效果实测:并发用户数压力测试(1/5/10用户响应性能曲线) 1. 引言:为什么需要关注Web界面的并发性能? 如果你正在评估或使用Pi0机器人控制模型的Web演示界面,一个很实际的问题可能会浮现在脑海&…...

Qwen2.5-72B部署教程:基于vLLM的GPU算力优化与显存压缩技巧

Qwen2.5-72B部署教程:基于vLLM的GPU算力优化与显存压缩技巧 1. 模型简介 Qwen2.5-72B-Instruct-GPTQ-Int4是通义千问大模型系列的最新版本,作为72B参数规模的指令调优模型,它在多个方面实现了显著提升: 知识量与能力增强&#…...

YOLO11新手实战:跟着步骤完成第一个目标检测项目

YOLO11新手实战:跟着步骤完成第一个目标检测项目 1. 项目介绍与环境准备 1.1 YOLO11简介 YOLO11是当前最先进的目标检测算法之一,以其快速、准确的特点在计算机视觉领域广受欢迎。这个镜像提供了完整的YOLO11运行环境,包含所有必要的依赖项…...

Wan2.1-umt5在创意写作中的突破:生成连贯长篇故事与复杂人物对话

Wan2.1-umt5在创意写作中的突破:生成连贯长篇故事与复杂人物对话 你有没有想过,让AI帮你写一个完整的故事?不是那种几百字的片段,而是有开头、有发展、有高潮、有结局,人物还会自己对话的长篇故事。听起来像是科幻小说…...

Qwen3.5-35B-A3B-AWQ-4bit多模态应用:建筑设计图规范审查、施工进度图比对、BIM模型截图理解

Qwen3.5-35B-A3B-AWQ-4bit多模态应用:建筑设计图规范审查、施工进度图比对、BIM模型截图理解 1. 多模态模型在建筑行业的创新应用 建筑行业正经历数字化转型的关键时期,传统的人工图纸审查和施工管理方式面临效率瓶颈。Qwen3.5-35B-A3B-AWQ-4bit作为先…...

Qwen3.5-27B部署实录:4090D四卡环境从裸机到7860端口可用全程记录

Qwen3.5-27B部署实录:4090D四卡环境从裸机到7860端口可用全程记录 1. 环境准备与硬件配置 1.1 硬件要求 在开始部署Qwen3.5-27B模型前,我们需要确保硬件环境满足最低要求: GPU配置:4张NVIDIA RTX 4090 D显卡(每张2…...

Stable-Diffusion-V1-5 超分辨率输出测试:探索模型生成4K及以上分辨率图像的极限

Stable-Diffusion-V1-5 超分辨率输出测试:探索模型生成4K及以上分辨率图像的极限 最近在玩Stable Diffusion的时候,我脑子里总冒出一个念头:这模型生成512x512或者768x768的图是挺溜的,但要是我想整一张能当壁纸的4K大图&#xf…...

比迪丽LoRA模型C语言基础拓展:轻量级SDK封装与调用演示

比迪丽LoRA模型C语言基础拓展:轻量级SDK封装与调用演示 1. 引言 如果你是一位嵌入式或者系统级的开发者,平时打交道最多的可能就是C语言,对Python那一套生态可能感觉有点距离。现在有个AI模型,比如一个能生成特定风格图片的比迪…...

串口调试助手(CM野人版)4.0内存数据滞留Bug分析与临时解决方案

1. 串口调试助手(CM野人版)4.0内存数据滞留Bug详解 最近在嵌入式开发圈里,不少同行都在讨论CM野人版串口调试助手4.0的一个奇怪现象。我自己在做STM32项目时也遇到了同样的问题:明明已经修改了程序代码,重新烧录后串口输出的却还是旧数据。刚…...

JetBrains Rider 进阶实战:从高效编码到深度集成

1. 为什么Unity开发者需要JetBrains Rider 如果你正在使用Unity开发游戏,可能已经习惯了Visual Studio作为默认的代码编辑器。但我要告诉你,JetBrains Rider绝对是值得尝试的替代方案。作为一个长期使用Rider进行Unity开发的程序员,我发现它在…...