LabVIEW使用PID对激振器控制

2023-09-15 19:35:11

LabVIEW使用PID对激振器控制

LabVIEW的PID在许多项目中都会用到,比如温度控制、压力控制、流量控制等,一般用自带的PID通过调节参数的值,基本上都可以解决。现在项目的情况是,通过正弦波的输出控制激振器,输出正弦波的幅值与激振器的运动距离相关。波形输出是通过阿尔泰PCI5655实现,激振器也是国产。

通过采集激振器的位移,发现即使控制的正弦不发生任何变化,激振器的位移也是会有波动,误差有8%左右了。项目的要求是设定位移值,通过PID调节可以让激振器稳定在该值上。按照之前控制温度PID的经验,反复调整参数,也稳定不下来。原因可能是板卡输出波形后,激振器不是很快能响应,变化抖动大,经过滤波也不是很理想。

为了解决该问题,让PID的输出参数的范围为±0.01(即尽量小),该值输出后每次和之前的值进行累加。这样的效果就是正弦波形幅值输出,每次改变0.01V,激振器变动也会很小,再通过修改PID调节的时间间隔,就可以比较好的控制激振器了,它的变化就比较顺滑了。该程序的部分程序如下图所示。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录公司官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

厂家没有提供LabVIEW的例子。根据通讯协议的相关的说明,编写了适合项目的程序。程序截图如下所示。

相关资料说明,如下所示。

LabVIEW程序,如下附件所示。

更多推荐

基于ssm扶贫产品和扶贫物资捐赠系统033

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路,向着优秀程序员前行!🍅更多优质项目👇🏻👇🏻可点击下方获取🍅文章底部或评论区获取🍅Java项目精品实

ELFK之zookeeper+kafka

目录kafka+zookeeper的系统架构Zookeeper一、zookeeper概述二、zookeeper特点三、zookeeper选举机制四、应用场景五、zookeeper实验实例Kafka一、概述为什么需要消息队列(MQ)使用消息队列的好处消息队列的两种模式Kafka定义二、Kafka的特性三、Kafka系统架

【云原生】kubernetes中pod(最小的资源管理组件)

目录前言一、pod1.1pause容器使得Pod中的所有容器可以共享两种资源:1.2通常把Pod分为两类1.2.1自主式Pod1.2.2控制器管理的Pod1.3Pod容器的分类1.3.1基础容器(infrastructurecontainer)1.3.2初始化容器(initcontainers)1.3.3应用容器(Ma

【C/C++】指针常量、常量指针、指向常量的常指针

目录1.概念2.constpointer3.pointertoaconstant3.1(pointertoaconstant)-constant3.2poiner-constant3.3(pointertoaconstant)-variable3.4poiner-variable3.5多层级关系时的兼容3.6用处4.a

3.docker仓库(Nexus、Harbor)的安装

本文目录前言1.Aliyun镜像仓库2.Nexus1.Nexus私服搭建2.登录控制台3.配置nexus仓库4.配置nexus仓库地址为安全的镜像地址5.镜像推送至nexus仓库6.拉取nexus仓库镜像3.Harbor1.DockerCompose安装2.Harbor安装3.配置Harbor仓库地址为安全的镜像地址4

MySQL数据库管理

目录一、数据库1.1数据1.2表1.3数据库1.4数据库分类1.41关系型数据库1.42非关系型数据库1.5MySQL介绍二、SQL语句查看数据库创建数据库切换数据库创建数据表查看库中的表删除表删除库在表中插入数据查询数据表中的数据更改表中数据删除表中字段克隆表创建临时表创建主表创建从表为主表profession添加一

用 Python实现Python解释器

介绍Byterun是一个用Python实现的Python解释器。随着我对Byterun的开发,我惊喜地的发现,这个Python解释器的基础结构用500行代码就能实现。在这一章我们会搞清楚这个解释器的结构,给你足够探索下去的背景知识。我们的目标不是向你展示解释器的每个细节---像编程和计算机科学其他有趣的领域一样,你可能

LeetCode 42. 接雨水

题目链接力扣(LeetCode)官网-全球极客挚爱的技术成长平台题目解析先算出每个位置的面积,然后把每个位置的面积相加就得到了最终可以接多少雨水!每个位置的面积等于(该位置左边包括自己最大的高度)与(该位置右边包括自己最大的高度)中最小的那个数,然后减去当前位置的高度,就是当前位置可以存放的雨水。首先定义两个数组lef

面试算法11:0和1个数相同的子数组

题目输入一个只包含0和1的数组,请问如何求0和1的个数相同的最长连续子数组的长度?例如,在数组[0,1,0]中有两个子数组包含相同个数的0和1,分别是[0,1]和[1,0],它们的长度都是2,因此输出2。分析首先把输入数组中所有的0都替换成-1,那么题目就变成求包含相同数目的-1和1的最长子数组的长度。在一个只包含数字

【ES6知识】ESModule 模块化

文章目录一、前言:模块化背景1.1后端模块化1.2关于前端模块化二、模块的导出三、模块的导入四、应用模块到HTML中五、exportdefault默认导出命令六、重命名导出与导入七、创建模块对象八、动态加载模块一、前言:模块化背景JavaScript程序本来很小——在早期,它们大多被用来执行独立的脚本任务,在你的web

MySQL性能分析常见方式

1、慢查询SQL日志查看慢SQL是否开启showvariableslike'%slow_query_log';执行下面的命令开启慢查询日志setglobalslow_query_log='ON';修改慢查询阈值#N为设置的时间setglobal/sessionlong_query_time=N;查看设置的慢查询时间sh

热文推荐