LLC开关电源开发:第四节,LLC软件设计报告

LLC源代码链接

数控全桥LLC开发板软件设计报告 

  • 1. LLC硬件及软件框架
  • 2. LLC软件设计
    • 2.1 工程文件说明
    • 2.2 LLC中断设计
      • 2.2.1 20us中断
      • 2.2.2 5ms中断
    • 2.3 LLC状态机设计
      • 2.3.1 初始化状态
      • 2.3.2 空闲状态
      • 2.3.3 软启动状态
      • 2.3.4 正常运行状态
      • 2.3.5 故障状态
    • 2.4 环路设计
      • 2.4.1 环路架构
      • 2.4.2 Burst控制
    • 2.5 故障和保护设计
      • 2.5.1 谐振电流保护
      • 2.5.2 过压保护
      • 2.5.3 过流保护
      • 2.5.4 欠压保护
  • 3. LLC软件设计计算书

LLC源代码链接

1. LLC硬件及软件框架

LLC控制硬件与软件架构
LLC主功率为全桥结构,PWM1A/B用以驱动全桥的低边与高边MOS管。控制器采样输出电流电压信号,环路计算实现输出不同输出电压电流的控制;采样滑动变阻器电压值,用以设定输出参考电压;比较器获取LLC原边电流,实现电流过大(电流异常)时快速关闭PWM,快速保护机器不损坏。

2. LLC软件设计

2.1 工程文件说明

文件名 介绍
main.c 主函数:主要用以配置初始化
ISR1.c 20us中断函数
ISR1.h 20us中断函数头文件
ISR2.c 5ms中断函数
ISR2.h 5ms中断函数头文件
Function.c 功能函数
Function.h 功能函数头文件
ISR1.c函数定义说明:
函数名 介绍
ISR_20US () 20us中断函数入口
ADCSample() 输出电压、电流、温度等采样函数
VILoopCtl() PI电压电流环函数
VILoopCtl2P3Z() 两零三极电压电流环函数
BurstCtl() Burst控制函数(轻载或空载情况)
RegReflash() PWM寄存器更新函数
FastProtection() 快速保护函数
ISR2.c函数定义说明:
函数名 介绍
ISR_200Hz 5ms中断函数入口
SlowP() 慢速保护函数
StateM() LLC状态机
VrefGet() 输出电压参考值获取函数
LEDShow() 状态显示灯控制函数
Function.c函数定义说明:
函数名 介绍
StateMInit () 初始化状态函数
StateMWait () 等待状态函数
StateMRise () 软启动状态函数
StateMRun () 正常运行状态函数
StateMErr () 故障状态函数
ValInit () 参数初始化函数
HwOpp() 谐振电流过大保护
SwOCP () 输出过流保护函数
SwUVP () 输出欠压保护函数
SwOVP () 输出过压保护函数
ShortOff () 输出短路保护
PWMEn() 开启PWM函数
PWMDis() 关闭PWM函数

2.2 LLC中断设计

程序运行有20us中断和5ms中断。其中20us中断优先级最高,主要对模块相关参数采样、电压电流环路计算及PWM寄存器更新、Burst控制、快速保护功能等;5ms中断优先级为较低,主要执行状态机运行和一些辅助保护功能。

2.2.1 20us中断

函数名: ISR_20US ()
软件在20us中断中对输出电压、输出电流、滑动变阻器电压等参数进行采样和求平均。根据所采样的电流电压值进行环路计算得到PWM周期量(频率量),并更新PWM周期寄存器。在空载或轻载的情况下使用Burst控制(打嗝控制)。同时比较器检测原边电流,当原边谐振电流较大时,比较器翻转,通过Tz信号快速关闭PWM,保护机器。

20us中断函数流程图

2.2.2 5ms中断

函数名:ISR_200Hz()
5ms中断优先级较低,运行包括LLC状态机,输出过压保护、输出过流保护、欠压保护等功能,获取滑动变阻器电压值转换成输出参考电压,同时根据LLC工作状态变更状态显示灯,其程序流程图如下图所示。

200Hz中断程序流程图

2.3 LLC状态机设计

LLC程序状态机运行周期为5mS,包括初始化状态、等待状态、软启动状态、正常运行状态、故障状态,各个状态之间跳转条件如下图所示。

状态机运行图
状态跳转条件如下:
 初始化状态至空闲状态:上电程序初始化后跳转。
 空闲状态至软启动状态:等待1.5S后自动跳转。
 软启动状态至正常运行状态:正常启动结束后。
 软启动状态至故障状态:启动过程中发生故障或保护。
 正常运行状态至故障状态:正常运行过程中发生故障或保护。
 故障状态至空闲状态:故障消除后自动跳转,模块自动恢复启动。

2.3.1 初始化状态

函数名:void StateMInit (void)
初上电程序进入初始化状态,完成程序运行相关参数的初始化配置,包括关闭PWM,关闭Burst功能,故障标志位清零,初始化输出电压参考为11.5V,设定输出最大限流值为4.5A。程序完成初始化后状态机进入空闲状态。

2.3.2 空闲状态

函数名:void StateMWait (void)
程序等待1.5秒后(等待母线上电后电压稳定),若故障标志位都为0(模块无故障),则状态至软启动状态,并初始化软启动子状态机标志位。

2.3.3 软启动状态

函数名:void StateMRise (void)
程序软启动状态机采用子状态机设计,由初始化、等待、启动、启动完成四个子状态构成。初始化阶段,设定LLC原边电流保护值,PWM的限定启动周期量(频率值),输出参考电压初始值。随后进入等待状态等待100ms,开启Burst功能和以最高频率发波。在软启动过程中,为了抑制启动过程原变谐振电流过大,启动从最高频率(最小周期量)开始启动,以最大死区启动,每隔5ms最大周期量限制值逐渐增加,即LLC运行的最低频率逐渐降低,死区逐渐减小。当PWM的最大周期量增加至MAX_PD,即对应的35kHz时,同时死区达到最小时,软启动结束,状态机跳转至运行状态。

软启动程序流程图

2.3.4 正常运行状态

函数名:void StateMRun (void)
该状态机内程序不处理任何内容,环路运行和各种保护通过中断函数处理

2.3.5 故障状态

函数名:void StateMErr (void)
当模块发生故障或需要保护时,如过压过流或过温保护等时,模块进入保护状态,关闭PWM和Burst功能,待故障清除后跳转至等待状态重新启动。

2.4 环路设计

2.4.1 环路架构

模块环路具有电流环和电压环两个环路,两个环路为内外环模式(电压环为快速环路,电流环为慢速环路)。正常在限流值范围内,电压环为主要工作环路,电流环为饱和输出状态(即电流环输出为零),电压环路的参考电压值为恒定值;当输出电流大于限流值时,电流环路开始动作,电流环路输出正量,通过去减小电压环路参考电压的方式,使输出电压降低,电流下降。

环路结构

2.4.2 Burst控制

函数名:BurstCtl ()
当模块输出等效负载太轻,LLC工作于最高频率输出依然不能达到参考设定的电流和电压,控制环路进入Burst控制模式。即当LLC控制频率率大于设定的最高频率时,关闭PWM;当小于最高频率时,重新打开PWM。
Burst控制程序流程图

2.5 故障和保护设计

2.5.1 谐振电流保护

函数名:HwOpp ()
当输出短路、突加大负载、会造成模块原边谐振电流瞬间快速增大。为防止瞬间增大的原边电流对功率半导体的电流击穿或瞬态结温过热,立即关闭PWM抑制原边电流快速增大。谐振电流保护采用控制器自身内设比较器设计,原边电流送进内设比较器的正输入端,控制器内部DAC产生比较器的负端比较参考值。当原边电流过大达到DAC设定的参考电压时,内设比较器输出发生翻转,该信号瞬间快速触发PWM的Tz(one shot)端,立即关闭PWM,Tz标志位置位。

2.5.2 过压保护

函数名:SwOVP ()
当检测到输出电压大于30.8V,且连续保持100ms,则判断为输出过压,关闭PWM和Burst功能,同时过压标志位置位,状态机跳转至故障状态。

2.5.3 过流保护

函数名:SwOCP()
当检测到输出电流大于4.5A,且连续保持500ms,则判断为输出过流,关闭PWM和Burst功能,同时过流标志位置位,状态机跳转至故障状态。当检测到过流标志位置位后(发生过流保护后),程序等待4秒后,清除过流状态位,等待重新启动。当连续发生10次过流重启失败后,判断为输出侧严重故障,禁止清除标志位,禁止再次重启。

2.5.4 欠压保护

函数名:SwUVP ()
LLC正处于正常运行状态,当检测到输出电压小于10.8V,且连续保持100ms,则判断为输出欠压,关闭PWM和Burst功能,同时欠压保护标志位置位,状态机跳转至故障状态。
2.6 状态显示灯设计
状态显示描述如下:
绿灯 黄灯 红灯 状态描述
灭 灭 灭 机器掉电
亮 亮 亮 初始化状态/等待状态
亮 亮 灭 软启动过程
亮 灭 灭 正常运行状态
灭 灭 亮 故障或保护状态

3. LLC软件设计计算书

在这里插入图片描述
LLC源代码链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/356927.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyRecovery数据恢复软件2024免费版下载

EasyRecovery数据恢复软件,是我在电脑使用过程中遇到的神器!它不仅功能强大,操作简便,还帮我找回了丢失的重要文件。今天,我就来给大家分享一下我的使用体验和心得。 让我来介绍一下EasyRecovery的功能。这款软件可以恢…

【字符串 状态机动态规划】1320. 二指输入的的最小距离

本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示,其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0),字母 B 位于坐标 (0,1)&#xff0…

org.springframework.boot:spring-boot-starter-parent:pom:2.3.4.RELEAS

前言 git上拉了一个项目构建过程中无论是clean还是install都报错 注:很看不惯某博主一点简单的经验分享都要开VIP才能查看的作风 org.springframework.boot:spring-boot-starter-parent:pom:2.3.4.RELEASE failed to transfer from https://maven.aliyun.com/rep…

3D视觉引导机器人提升生产线的自动化水平和智能化程度

随着智能化技术的不断发展,汽车制造企业正积极寻求提升智能化水平的途径。富唯智能的3D视觉引导机器人抓取技术为汽车制造企业提供了一种高效、智能的自动化解决方案。 项目目标 某汽车制造企业希望通过引入智能化技术提升生产线的自动化水平和智能化程度。他们希望…

湖南(市场调研)源点咨询 新产品上市前市场机会调研与研究分析

湖南源点调研认为:无论是创业公司,还是在公司内部探索新的项目或者新的产品线等,首先都要做“市场机会分析与调研“,要真正思考并解答以下疑问: 我们的目标客户群体是谁,他们如何决策? 我们所…

AI大眼萌探索 AI 新世界:Ollama 使用指南【1】

在人工智能的浪潮中,Ollama 的出现无疑为 Windows 用户带来了一场革命。这款工具平台以其开创性的功能,简化了 AI 模型的开发与应用,让每一位爱好者都能轻松驾驭 AI 的强大力量。大家好,我是AI大眼萌,今天我们将带大家…

CentOS 7.9检测硬盘坏区、实物定位(三)

系列文章目录 CentOS 7.9上创建JBOD(一) CentOS 7.9上创建的JBOD阵列恢复(二) 文章目录 系列文章目录前言一、在系统中找到硬盘对应的盘符二、使用命令定位实物1.badblocks检测坏块2.对2T以上的硬盘检测(对本篇非必要…

SQLite数据库(数据库和链表双向转换)

文章目录 SQLite数据库一、SQLite简介1、SQLite和MySQL2、基于嵌入式的数据库 二、SQLite数据库安装三、SQLite的常用命令四、SQLite的编程操作1、SQLite数据库相关API(1)头文件(2)sqlite3_open()(3)sqlite…

【笔记】【矩阵的二分】668. 乘法表中第k小的数

力扣链接:题目 参考地址:参考 思路:二分查找 把矩阵想象成一维的已排好序的数组,用二分法找第k小的数字。 假设m行n列,则对应一维下标范围是从1到mn,初始: l1; rmn; mid(lr)/2 设mid在第i行&a…

设计模式——设计模式原则

设计模式 设计模式示例代码库地址: https://gitee.com/Jasonpupil/designPatterns 设计模式原则 单一职责原则(SPS): 又称单一功能原则,面向对象五个基本原则(SOLID)之一 原则定义&#xf…

设计模式1-简介

设计模式简介 专栏的目的什么是设计模式设计模式要学什么软件开发原则主流设计模式 学习建议经典面试题 资源 专栏的目的 1.理解松耦合的设计思想 2.掌握面向对象设计原则 3.掌握重构技法改善设计 4.掌握GOF核心设计模式 什么是设计模式 每一个模式描述了一个在我们周围不…

【自动驾驶】运动底盘状态数据:里程计、IMU、运动学分析、串口通信协议

文章目录 控制器与运动底盘状态数据:里程计、IMU运动学分析与轮子运动学分析公式串口通信控制与反馈通讯协议串口通信反馈上行数据帧解析串口通信控制下行数据帧解析代码实现IMU、里程计数据的获取、解析、计算控制器与运动底盘状态数据:里程计、IMU 控制器需要负责外发底盘…

mysql--安装跳过验证修改密码安全加固

安装mysql 配置mysql的yum源 [rootVM-0-14-rockylinux ~]# tee /etc/yum.repos.d/mysql.repo << EOF > [MYSQL] > namemysql > baseurlhttps://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64 > gpgcheck0 > EOF yum安装mysq…

11、鸿蒙学习—UDID获取方法

一、手机的UDID获取方法如下&#xff1a; 1、打开“设置 > 关于手机”&#xff0c;多次点击版本号&#xff0c;打开开发者模式。 2、打开“设置 > 系统和更新”&#xff0c;在最下方找到“开发人员选项”&#xff0c;打开“USB调试”开关。 3、使用PC连接手机后&#…

Git简单使用和理解

workspace: 本地的工作目录。 index/stage&#xff1a;暂存区域&#xff0c;临时保存本地改动。 local repository: 本地仓库&#xff0c;只想最后一次提交HEAD。 remote repository&#xff1a;远程仓库。 对于Git,首先应该明白第一git是一种分布式版本控制系统&#xff0c;最…

使用ESP32和Flask框架实现温湿度数据监测系统

项目概述 在这个项目中&#xff0c;我们将使用ESP32微控制器读取温湿度传感器的数据&#xff0c;并将这些数据通过HTTP请求传输到基于Flask框架的服务器。Flask是一个轻量级的Python Web框架&#xff0c;非常适合快速开发和部署Web应用。通过这个项目&#xff0c;我们不仅可以了…

非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载百度网盘

redis下载安装以及基本使用 下载地址 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;0410 一个名对应一个数值 内存级 在内存里进行操作 准备启动 我们现在就有一个redis客户端的服务器了 我们再启动一个cmd 操作redis数据库 redis里面的基本数据类型有五种 …

2024年7月JLPT日语N1真题试卷和答案解析,《Navi日语社》小程序在线答题考试,你的专属考试助手,日语学习神器!

掌握日语&#xff0c;从日语社小程序开始。这款小程序专为日语学习者设计&#xff0c;提供全面的JLPT备考资源&#xff0c;包括日语N1至N5等级考试的历年真题和2024年最新题目。无论你是日语新手还是备考高手&#xff0c;都能在这里找到适合自己的学习路径。 核心功能&#xf…

用VPS部署聊天机器人有哪些优势?

VPS足以帮助您将人工智能 (AI) 的功能无缝融入聊天机器人并增强客户支持。聊天机器人已迅速成为改善用户体验的首选解决方案&#xff0c;因为它们全天候在线且可编程回答各种问题。 聊天机器人在客户支持方面的作用不容置疑。但所有出色的解决方案都需要出色的网络托管。 VPS…

【D3.js in Action 3 精译】关于本书

文章目录 本书读者本书结构与路线图本书代码liveBook 在线论坛 D3.js 项目的传统开发步骤 本书读者 这本书适用于所有渴望在数据可视化工作中获得完全创意自由的人&#xff0c;从定制化的经典图表到创建独特的数据可视化布局&#xff0c;涵盖内容广泛&#xff0c;应有尽有。您…