锁相热像无损检测技术中的正弦波温度闭环控制解决方案

本文主要是介绍锁相热像无损检测技术中的正弦波温度闭环控制解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:针对目前锁相红外热成像无损检测中存在被检物温度偏离标准正弦波形式的检测模型,以及被检物温度无法准确控制和快速达到稳定的问题,本文提出了改进解决方案。解决方案的核心是将现有的激励光源开环控制模式改进为闭环控制,具体采用了具有远程设定点功能的PID温度控制器,将现有光源的正弦波功率调制改进为直接的被检物表面温度正弦波调制,由此更符合理论模型,且可使被检物平均温度快速达到稳定而大幅缩短检测时间。

原文阅读:(PDF格式)


1. 问题的提出

如图1所示,锁相红外热成像无损检测技术使用周期性调制热源,对待测物体进行周期加热。若待测物体内部有缺陷,该缺陷对其上方表面温度分布会产生周期性的影响,因此有缺陷和无缺陷地方会产生幅值差和相位差的热特征,这些特征通过红外热像仪成像捕获。采集到的热图序列中存在着各种干扰信号,通过锁相技术可以将微弱的有用信号从众多干扰信号中分离出来,可大幅提高检测的灵敏度。但这种红外锁相或其他光激励热成像法存在以下严重问题:

图1 红外锁相热成像检测原理及其系统

(1)因为现有技术只能对激励热源的加载功率进行正弦波调制,但并不能真正保证被测物体内部的温度变化也是真正的正弦波形式,这使得热像仪获得的热波波形与检测理论模型存在较大偏差,这是目前造成此方法误差的最大原因。

(2)目前锁相法调制光源加热被测物体时的温度时间变化曲线如图2所示,要经过较长时间温度才能达到稳定状态,对于较大或较厚物体用时将会更长,其中最大的问题是温度升高多少无法准确控制,只能靠经验或多次试验来确定调制光源的加热功率以实现所希望的温度变化。

图2 红外锁相法加热过程中的时间-温度变化曲线图

由此可见,目前的红外锁相法还较粗狂,整个控制还是一个开环控制过程,这使得在实际无损检测中边界条件无法准确匹配测试模型,温度变化波形和大小也无法做到准确控制。为了解决这些问题,本文提出了如下一种闭环控制解决方案。

2. 解决方案

为使被检物体内部的温度变化符合测试模型中正弦波形式的要求,本文提出的解决方案是采用闭环控制加热模式,即在被检物体的表面或内部安装温度传感器,与PID控制器和激励光源组成闭环控制回路,通过正弦波形式的设定点输入,最终将被检物体表面或内部温度准确控制并与正弦波温度设定曲线吻合。整个闭环控制系统结构如图3所示。

图3 正弦波温度加热光源控制系统结构示意图

从图3可以看出,由增加的温度传感器、卤素灯加热光源和控制器组成的闭环控制回路,可以对被检物表面温度进行任意设定点下的精确控制。但为了使表面温度能够严格按照所希望幅值和周期的正弦波形式进行变化,解决方案中采用一种多功能的高级PID控制器VPC2021。此控制器具有外部设定点功能,即通过外接周期信号发生器,可以使VPC2021控制器的温控设定值严格按照信号发生器的输出进行改变,即温控设定值可以设计为一个随时间变化的周期性正弦波。由此可以实现以下两个功能:

(1)可任意设定加热正弦波的频率和幅值,以满足不同无损检测对象的需要。

(2)可任意设定加热正弦波的平均值大小,由此可实现任意温度下的正弦波热波控制,并能很快达到稳定状态而开始进行无损检测,有效缩短检测时间。

VPC2021系列超高精度PID调节器是具有远程设定点功能的控制器,具有两个输入通道,第一主输入通道作为过程传感器输入,第二辅助输入通道用来作为远程设定点输入。与主输入信号一样,辅助输入的远程设定点也能接受47种类型的输入信号,其中包括10种热电偶温度传感器、9种电阻型温度传感器、3种纯电阻、10种热敏电阻、3种模拟电流和12种模拟电压,即任何探测信号只要能转换为上述47种类型型号,都可以直接接入第二辅助输入通道作为远程设定点源。在红外锁相法无损检测中使用远程设定值功能时的具体接线如图4所示。

图4 远程设定点功能使用接线图

在使用远程设定值功能前,需要对控制器辅助输入通道参数进行设置,以满足以下要求:

(1)辅助通道上接入的远程设定点信号类型要与主输入通道完全一致。

(2)辅助通道的显示上下限也要与主输入通道完全一致。

(3)显示辅助通道接入的远程设定点信号大小的小数点位数要与主输入通道保持一致。

完成辅助输入通道参数的设置后,开始使用远程设定点功能时,还需要激活远程设定值功能。远程设定值功能的激活有以下两种方式:

(1)仅使用远程设定点,不使用本地设定点:在PID控制器中,设置辅助输入通道2的功能为“远程SV”,相应数字为3。

(2)可进行远程和本地设定点之间切换:在PID控制器中,设置辅助输入通道2的功能为“禁止”,相应数字为0。然后设置外部开关量输入功能DI1为“遥控设定”,相应数字为2。通过这种外部开关量输入功能的设置,就可以采用图4中所示的纽子开关实现远程设定点和本地设定点之间的切换,开关闭合是为远程设定点功能,开关断开时为本地设定点功能。

需要注意的是,无论采用哪种远程设定点激活和切换方式,在输入信号类型、显示上下限范围和小数点位数这三个参数选项上,辅助输入通道始终要与主输入通道保持一致。

3. 总结

综上所述,通过此解决方案所使用的具有远程设定点功能的PID控制器,结合外置周期信号发生器,可很好实现锁相红外热成像无损检测中的正弦波温度闭环控制,使得被检物体内部的稳态正弦温度波更符合无损检测模型,并使得被检物温度快速达到所希望的测试温度而缩小检测时间,最终可使得锁相红外成为更精密化的无损检测技术。

这篇关于锁相热像无损检测技术中的正弦波温度闭环控制解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326356

相关文章

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Java死锁问题解决方案及示例详解

《Java死锁问题解决方案及示例详解》死锁是指两个或多个线程因争夺资源而相互等待,导致所有线程都无法继续执行的一种状态,本文给大家详细介绍了Java死锁问题解决方案详解及实践样例,需要的朋友可以参考下... 目录1、简述死锁的四个必要条件:2、死锁示例代码3、如何检测死锁?3.1 使用 jstack3.2