【单片机】温控系统参数辨识及单片机PID控制

news2024/9/29 3:35:17

温控系统参数辨识及单片机PID控制

  • 1. 温控系统组成
  • 2. matlab辨识系统参数
    • 2.1 采集阶跃响应信号
    • 导入matlab系统辨识模块
  • PID控制

1. 温控系统组成

  • 半导体制冷片正向通电制冷,反向通电制热。系统采用半导体制冷片(帕尔贴)作为执行单元,帕尔贴下端连接水冷系统进行散热,上端为导热铜片,铜片上贴有热敏电阻用于测量系统的温度。
  • 控制系统采用4个MOS管组成的H桥驱动电路,通过PWM进行加热制冷温度控制。

2. matlab辨识系统参数

一般的加热系统的传递函数可以简化为一阶时滞系统,其传递函数如下:

W ( s ) = K e − τ s T 1 s + 1 W(s)=\frac{K e^{-\tau s}}{T_1 s+1} W(s)=T1s+1Keτs

2.1 采集阶跃响应信号

我们可以用一阶跃信号去激励系统,从而识别出系统的参数。
这里将温控系统的输出设定为100%,记录导热铜板上的温度变化曲线。
在这里插入图片描述

导入matlab系统辨识模块

将阶跃响应信号保存为 iddata 格式

dataName=["P100","P80","P50","P20"]; %P100代表 PWM信号100%开度
dataAll=readtable('Row.xlsx');
dataAll=table2array(dataAll);
originalTemp=dataAll(1,:);%初始温度
dataAll=dataAll-originalTemp;%将所有信号变为0摄氏度开始
sampTime=0.06;%采样时间

for  i=1:length(dataName)
    tempData=dataAll(:,i);
    tempData=tempData(~isnan(tempData));
    tempTime=(sampTime:sampTime:(length(tempData))*sampTime)';
    tempDataTime=[tempTime,tempData];
    u=ones(length(tempDataTime),1);%阶跃信号
    eval("x_"+dataName(i)+"=iddata(tempData,u,sampTime);");
end

得到下面四组实验数据
在这里插入图片描述

打开matlab中 System Identifiction模块
在这里插入图片描述
导入数据点击【Data object】

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

PID控制

理论模型与实际模型比较
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用adb通过电脑给安卓设备安装apk文件

最近碰到要在开发板上安装软件的问题,由于是开发板上的安卓系统没有解析apk文件的工具,所以无法通过直接打开apk文件来安装软件。因此查询各种资料后发现可以使用adb工具,这样一来可以在电脑上给安卓设备安装软件。 ADB 就是连接 Android 手…

C++中对 this 指针的理解

引出 我们首先了解this指针,要先了解class(类),类其实就相当于C语言中的结构体一样,也是创建了一个自定义类型。对于类而言该类型下面可以存放成员函数,成员变量。类可以声明一个变量,对该变量…

数据结构---LRU CACHE

什么是LRU 通过之前的学习我们知道计算机在处理任务的时候是先将数据从硬盘中提取出来加载进内存,然后再将内存中的数据加载进入cpu进行计算,但是这里存在一个问题cpu的计算速度非常快,而内存中加载数据的速度又很慢,所以为了提供…

Mysql-事务、视图和索引

目录 事务 操作 步骤 特性 并发事务问题 事务隔离级别 索引 作用 分类 主键索引(PRIMARY KEY) 唯一索引(UNIQUE) 常规索引(INDEX) 全文索引(FULLTEXT) 管理索引 数据…

2023-07-28 LeetCode每日一题(并行课程 III)

2023-07-28每日一题 一、题目编号 2050. 并行课程 III二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数 n ,表示有 n 节课,课程编号从 1 到 n 。同时给你一个二维整数数组 relations ,其中 relations[j] [prevCoursej, next…

CS5212/CS5202|国产DP转VGA芯片|DP转VGA单转方案芯片

CS5212/CS5202是集睿致远推出的一款国产DP转VGA方案芯片,可替代替代RTD2166,替代IT6516芯片方案,相比之下CS5212/CS5202外围器件少,设计版框尺寸小。 CS5212/CS5202 DP转VGA方案原理图 CS5202特性 支持2通道数字输入&#xff0c…

一封来自Java学姐的信

黑马JavaEE学科学姐想对学弟学妹们说:勤学如春起之苗,不见其增,日有所长。 辍学如磨刀之石,不见其损,日有所亏。 学科 | JavaEE 校区 | 太原 亲爱的学弟学妹们,在学校“混日子”的时间很快就过去了&…

虚拟演播室:Aximmetry Broadcast DE 2023 Crack

Aximmetry 的基于节点的编辑器可以根据您的特定项目进行塑造,从而在实现项目时提供更大的灵活性;无论是广播制作、虚拟活动、预可视化、基于 LED 墙的虚拟制作还是您可以想象的任何其他 3D 图形任务。有关 XR 的更多信息。Aximmetry 还拥有自己的先进色度…

matlab BP神经网络对iris数据集进行分类

iris数据集 本文所用数据集👉👉👉iris分类数据集 1.数据预处理 %% 1.数据预处理 oridatareadtable(Iris.xls,Sheet,Sheet1); Xtable2array(oridata(:,(1:4))); % X转化为array类型 Ytable2array(oridata(:,5)); % Y因为包含中文字符&…

如何彻底卸载VMware

目录 第一章、停止并卸载VMware程序1.1)停止VMware有关的服务1.2)打开任务管理器停止进程1.3)卸载VMware程序 第二章、残留文件删除2.1)打开注册表2.2)删除注册表残留文件2.3)C盘文件删除 友情提醒&#xf…

单机环境下定时任务的基本原理和常见解决方案(二)之时间轮原理分析

单机环境下定时任务的基本原理和常见解决方案之时间轮原理分析 时间轮Netty时间轮使用Netty 时间轮 HashedWheelTimer 源码分析向时间轮里添加taskWorkerThread线程执行时间轮任务 多层时间轮总结 时间轮 生活中的时钟想必大家都不陌生,而时间轮的设计思想就是来源…

【3】-使用@task设置测试用例执行的权重

多个测试链路压测使测试任务按预想的比例执行 locust的task装饰器提供了入参weight,locust执行测试任务时,会根据weight的比例进行分配用户数 from locust import task, HttpUserclass MyTestUser(HttpUser):# test_01 : test_02 3 : 1task(3)def wei…

数据结构:分块查找

分块查找,也叫索引顺序查找,算法实现除了需要查找表本身之外,还需要根据查找表建立一个索引表。例如图 1,给定一个查找表,其对应的索引表如图所示: 图 1 查找表及其对应的索引表 图 1 中,查找表…

安全测试国家标准解读——资源管理和内存管理

下面的系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解,该标准是2020年4月28日,由国家市场监督管理总局、国家标准化管理委员会发布,2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理&…

c++学习(哈希)[21]

哈希 哈希表(Hash Table),也称为散列表,是一种常用的数据结构,用于实现键值对的存储和查找。它通过将键映射到一个索引位置来快速地访问和操作数据。 哈希表的基本思想是使用一个哈希函数将键映射到一个固定范围的整…

自定义 View(六) 自定义评分星星

先看看效果图 1.自定义 View 的基本流程 创建 View Class创建 attr 属性文件,确定属性View Class 绑定 attr 属性onMeasure 测量onDraw 绘制onTouchEvent ( 用户交互需要处理 ) 1.1 创建 View Class package com.example.view_day05_ratingbar;import android.…

LabVIEW实现三相异步电机磁通模型

LabVIEW实现三相异步电机磁通模型 三相异步电动机由于经济和出色的机电坚固性而广泛用于工业化应用。这台机器的设计和驱动非常简单,但在控制扭矩和速度方面,它隐藏了相当大的功能复杂性。通过数学建模,可以理解机器动力学。 基于微分方程的…

day44-Custom Range Slider(自定义范围滑块)

50 天学习 50 个项目 - HTMLCSS and JavaScript day44-Custom Range Slider&#xff08;自定义范围滑块&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

vue中tab隐藏display:none(v-show无效,v-if有效)

目录 背景 原因&#xff1a;display: table-cell>display:none 解决&#xff1a; 方法A.获取元素设置display&#xff08;适用于 简单场景&#xff09; 方法B.自定义tabs​​​​​​​ &#xff08;适用于 复杂场景&#xff09; 背景 内联样式(style“ ”) /this.$…

JVM简述

JDK&JRE&JVMJVM运行时内存结构图方法区堆区栈区程序计数器本地方法栈 JVM 的主要组成部分及其作用 JDK&JRE&JVM JVM就是java虚拟机&#xff0c;一台虚拟的机器&#xff0c;用来运行java代码 但并不是只有这台机器就可以的&#xff0c;java程序在运行时需要依赖…