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

自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼

自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼

引言

在自动控制系统和振动分析中,系统的阻尼特性对于系统的动态响应至关重要。阻尼决定了系统在受到扰动或输入信号后,如何恢复到稳定状态。本文将详细介绍过阻尼(overdamped)、欠阻尼(underdamped)、临界阻尼(critically damped)和无阻尼(undamped)的定义、公式,并通过Python代码演示不同阻尼条件下系统的响应。

系统的阻尼特性

考虑一个典型的二阶线性系统,其传递函数可以表示为:

H ( s ) = ω n 2 s 2 + 2 ζ ω n s + ω n 2 H(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} H(s)=s2+2ζωns+ωn2ωn2

其中:

- ω n \omega_n ωn是系统的自然频率。
- ζ \zeta ζ是阻尼比,定义为 ζ = c 2 m k \zeta = \frac{c}{2\sqrt{mk}} ζ=2mk c,其中 c c c是阻尼系数, m m m是质量, k k k是弹簧常数。

根据阻尼比 ζ \zeta ζ的不同,系统的动态响应分为以下几种类型:

1. 无阻尼(Undamped)

ζ = 0 \zeta = 0 ζ=0时,系统没有阻尼力的影响,其响应为纯粹的正弦波动,永不衰减。无阻尼系统在自然频率 ω n \omega_n ωn下振荡。

x ( t ) = A cos ⁡ ( ω n t ) + B sin ⁡ ( ω n t ) x(t) = A \cos(\omega_n t) + B \sin(\omega_n t) x(t)=Acos(ωnt)+Bsin(ωnt)

2. 欠阻尼(Underdamped)

0 < ζ < 1 0 < \zeta < 1 0<ζ<1时,系统处于欠阻尼状态。系统响应在频率 ω d = ω n 1 − ζ 2 \omega_d = \omega_n \sqrt{1-\zeta^2} ωd=ωn1ζ2 下振荡,并随着时间指数衰减。

x ( t ) = e − ζ ω n t ( A cos ⁡ ( ω d t ) + B sin ⁡ ( ω d t ) ) x(t) = e^{-\zeta\omega_n t} \left( A \cos(\omega_d t) + B \sin(\omega_d t) \right) x(t)=eζωnt(Acos(ωdt)+Bsin(ωdt))

欠阻尼系统的特征是系统会振荡几次,然后逐渐趋于平衡。

3. 临界阻尼(Critically Damped)

ζ = 1 \zeta = 1 ζ=1时,系统处于临界阻尼状态。此时系统响应速度最快,不会出现振荡,但也不会像过阻尼那样慢慢回到平衡状态。

x ( t ) = ( A + B t ) e − ω n t x(t) = (A + Bt) e^{-\omega_n t} x(t)=(A+Bt)eωnt

临界阻尼是最理想的阻尼状态,它能确保系统迅速回到平衡而不出现振荡。

4. 过阻尼(Overdamped)

ζ > 1 \zeta > 1 ζ>1时,系统处于过阻尼状态。系统响应不再振荡,但相比于临界阻尼系统,它恢复到平衡所需的时间更长。

x ( t ) = A e ( λ 1 t ) + B e ( λ 2 t ) x(t) = A e^{(\lambda_1 t)} + B e^{(\lambda_2 t)} x(t)=Ae(λ1t)+Be(λ2t)

其中, λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2是系统的特征根,且 λ 1 , λ 2 < 0 \lambda_1, \lambda_2 < 0 λ1,λ2<0

Python代码实现

下面的Python代码演示了一个简单的二阶系统在不同阻尼条件下的时间响应。

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import lti, step# 定义系统的自然频率和时间范围
omega_n = 5.0  # 自然频率
t = np.linspace(0, 5, 500)# 定义不同阻尼比的系统
systems = {'Undamped (ζ=0)': lti([omega_n**2], [1, 0, omega_n**2]),'Underdamped (ζ=0.5)': lti([omega_n**2], [1, 2*0.5*omega_n, omega_n**2]),'Critically Damped (ζ=1)': lti([omega_n**2], [1, 2*1.0*omega_n, omega_n**2]),'Overdamped (ζ=2)': lti([omega_n**2], [1, 2*2.0*omega_n, omega_n**2])
}# 绘制每个系统的阶跃响应
plt.figure(figsize=(10, 6))
for label, system in systems.items():t, y = step(system, T=t)plt.plot(t, y, label=label)# 图表设置
plt.title('不同阻尼条件下的系统阶跃响应')
plt.xlabel('时间 [s]')
plt.ylabel('响应')
plt.grid(True)
plt.legend()
plt.show()

代码解释

  • lti: scipy.signal.lti 函数用于定义线性时不变(LTI)系统。
  • step: step 函数用于计算系统的阶跃响应。
  • systems: 定义了四种不同阻尼比 ζ \zeta ζ的系统:无阻尼、欠阻尼、临界阻尼和过阻尼。
    在这里插入图片描述

结论

通过上述分析和代码演示,我们可以看到阻尼比 ζ \zeta ζ对系统动态响应的影响:

  • 无阻尼系统 ζ = 0 \zeta = 0 ζ=0)会永远振荡,不会衰减。
  • 欠阻尼系统 0 < ζ < 1 0 < \zeta < 1 0<ζ<1)会振荡几次,随着时间的推移逐渐平稳。
  • 临界阻尼系统 ζ = 1 \zeta = 1 ζ=1)是理想的,它在不振荡的情况下快速回到平衡。
  • 过阻尼系统 ζ > 1 \zeta > 1 ζ>1)不会振荡,但比临界阻尼系统更慢地回到平衡状态。

理解和设计适当的阻尼对于工程应用至关重要,能够有效避免系统的过冲、延迟或持续振荡。在实际应用中,通常会设计系统使其接近临界阻尼状态,以确保快速而稳定的响应。

相关文章:

自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼

自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼 引言 在自动控制系统和振动分析中&#xff0c;系统的阻尼特性对于系统的动态响应至关重要。阻尼决定了系统在受到扰动或输入信号后&#xff0c;如何恢复到稳定状态。本文将详细介绍过阻尼&#xff08;overdamped&#xff09;、…...

从AlphaGo到AlphaPong:AI乒乓球机器人将如何改变乒乓球竞技?

在人工智能领域&#xff0c;谷歌DeepMind的AlphaGo曾以其超凡的围棋能力震惊了世界。而如今&#xff0c;DeepMind又将其技术延伸到了乒乓球领域&#xff0c;推出了乒乓球机器人&#xff0c;被网友戏称为“AlphaPong”。这一机器人使用ABB的IRB1100机械手臂&#xff0c;能够与普…...

荒原之梦:考研期间可以玩游戏吗?

有不少同学&#xff0c;特别是男同学&#xff0c;在考研之前&#xff0c;会有玩游戏的习惯&#xff0c;那么&#xff0c;对于考研的同学来说&#xff0c;就会产生这样一个疑问。在考研备考期间&#xff0c;我还可以玩游戏吗&#xff1f; 其实关于这个问题的答案是因人而异的&am…...

Hive SQL ——窗口函数源码阅读

前言 使用Starrocks引擎中的窗口函数 row_number() over( )对10亿的数据集进行去重操作&#xff0c;BE内存溢出问题频发&#xff08;忘记当时指定的BE内存上限是多少了.....&#xff09;&#xff0c;此时才意识到&#xff0c;开窗操作&#xff0c;如果使用 不当&#xff0c;反而…...

用python的Manim 创建大括号

Brace 是 Manim 中用于创建大括号&#xff08;curly braces&#xff09;的一个对象类。它有几个子类&#xff0c;自定义了不同的功能。下面是每个类的简要解释&#xff1a; 1. ArcBrace 功能: 创建一个环绕弧线的括号。适用于需要围绕弧形线条的场景。用法: 通常用于图形中有…...

白骑士的Matlab教学附加篇 5.2 代码规范与最佳实践

系列目录​​​​​​​ 上一篇&#xff1a;白骑士的Matlab教学附加篇 5.1 MATLAB开发工具 在 MATLAB 编程中&#xff0c;遵循良好的代码规范和最佳实践有助于提高代码的可读性、可维护性和可重用性。无论是变量命名、注释风格&#xff0c;还是代码格式化&#xff0c;合理的规…...

Javaweb--SpringBoot

1.SpringBoot入门 简化Spring开发的一个框架&#xff0c;Spring Boot 旨在帮助开发者快速搭建 Spring 框架。 整个Spring的一个合集&#xff0c;可以简化配置 2.微服务 &#xff08;1&#xff09;微服务就是一种架构风格 &#xff08;2&#xff09;微服务就是把一个项目拆…...

【数据结构】算法的时间复杂度与空间复杂度

计算机考研408-数据结构笔记本之——第一章 绪论 1.2 算法和算法评价 1.2.2 算法效率的度量 算法效率的度量是通过时间复杂度和空间复杂度来描述的。 1.空间复杂度 算法的空间复杂度S(n)定义为该算法所需的存储空间&#xff0c;它是问题规模n的函数&#xff0c;记为 S(n) …...

PyCharm环境python开发上位机

目录 前言&#xff1a; 一、pycharm新建工程 1、打开 pycharm软件&#xff0c;新建工程 二、配置UI界面 1、新建UI界面 1&#xff09;创建 Main Window 2&#xff09;拖动控件到 MainWindow 中 3&#xff09;设置信号与槽 4&#xff09;ctrlS 保存ui文件 2、将ui文件转…...

ROS 2 参数使用

ROS 2 参数使用 介绍 ROS 2 (Robot Operating System 2) 是一个为机器人开发提供支持的开源框架。它继承了 ROS 1 的优点&#xff0c;并且在架构上做了许多改进以支持分布式系统、实时性、安全性等要求。ROS 2 中的参数是用于配置节点行为的关键部分&#xff0c;允许我们动态…...

QT的Model-View实现大批量数据展示

一、完整源代码 1.项目结构 2.各文件代码展示 define.h #pragma once #include <QVector>//学生信息 typedef struct _STUDENT {QString name; //姓名int score1; //语文成绩int score2; //数学成绩int score3; //外语成绩_STUDENT(){name ""…...

2024年8月7日(mysql主从 )

回顾 主服务器 [rootmaster_mysql ~]# yum -y install rsync [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz [rootmaster_mysql ~]# cp -r mysql-8.0.33-linux-glibc2.…...

接口/自动化测试 面试集合

1. apache和nginx的区别? Nginx相对Apache的优点: 轻量级&#xff0c;同样起web服务&#xff0c;比apache占用更少的内存及资源; 抗并发&#xff0c;nginx处理请求是异步非阻塞的&#xff0c;支持更多的并发连接&#xff0c;而apache则是阻塞型的&#xff0c;在高 并发下ngi…...

菜鸡勇闯第136场双周赛

菜鸡鼓足了勇气报名了力扣双周赛&#xff08;后来复盘才知道双周赛更难一点&#xff0c;我真是头铁。。&#xff09; 没想到还拿了个竞赛名次哈哈哈哈哈还在前50%&#xff0c;小力它真的&#xff0c;我哭死 为什么我本科被高数老师忽悠&#xff0c;去打了两年数模o(≧口≦)o 每…...

趋动科技陈飞:从小模型到大模型,AI时代下的数据中心建设

自AI大模型横空出世&#xff0c;不断推动着AI从学术界到产业界向大众破圈&#xff0c;新的时代正在来临。11月15-16日&#xff0c;由CDCC主办的“2023第11届数据中心标准大会”在北京国家会议中心盛大开幕。 本届大会的主题围绕“AI时代 重塑未来”&#xff0c;聚焦数据中心领…...

yolo v8 + flask部署到云服务器,以及问题记录

环境安装 1、运行项目报错&#xff1a;no python application found, check your startup logs for errors 在云服务器pytorch版本安装错了&#xff0c;安装了GPU版本&#xff0c;需要安装CPU版本 # CPU only 使用下面这段代码避免出现第二个错误 pip install torch2.3.1 to…...

【科研必备插件】easyscholar如何使文章显示期刊影响因子与分区等级

简要介绍 EasyScholar 是一个微软 Edge 浏览器的扩展程序&#xff0c;可以显示会议、期刊等级。可支持在各大论文搜索网站&#xff0c;显示各种期刊、会议等级排名 要想你的知网页面如下图所示&#xff0c;快来获取安装&#xff0c;快速科研有方法 插件安装教程 ①打开浏览器…...

UE5 UrlEncode转换

调用接口时用到了 UFUNCTION(BlueprintPure, Category "FuncLib", meta (Keywords "URL1"))static FString StringToURLEncode(const FString& str1);FString UBasicFuncLib::StringToURLEncode(const FString& str1){return FGenericPlatformH…...

【QML】Qt.rgba()的正确使用方法

1. 问题 设置颜色 color: Qt.rgba(65,105,225,255) &#xff0c;应该是蓝色&#xff0c;却显示白色。 2. 正确方法 //正确代码 color: Qt.rgba(65/255, 105/255, 225/255, 255/255)...

centos7.9 docker安装

1、不要通过yum直接安装 具体原因&#xff1a; CentOS 6 因内核太旧&#xff0c;即使支持安装 docker&#xff0c;但会有各种问题&#xff0c;不建议安装CentOS 7 的 extras 源虽然可以安装 docker&#xff0c;但包比较旧&#xff0c;建议从官方源或镜像源站点下载安装 docke…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...