标准版
#第六届立创电赛#基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统

创建时间:3年前

5353 6

视频

  • 立创电赛:《基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统》-项目背景介绍(第1部分).mp4

  • 立创电赛:《基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统》-项目功能介绍(第2.3.6部分).mp4

  • 立创电赛:《基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统》-硬件软件方案详解(第4.5部分).mp4

  • 立创电赛:《基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统》-实物展示.mp4

描述

<div class="document"> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">* 1、项目功能介绍</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p align="left"><span style="font-size: 18px;">        检测系统以石化行业在役玻璃钢储罐、管道和塔器的现场缺陷检测与健康评估为典型应用场景,利用电容成像技术中共面电容准静态边缘电场对非金属材料内部缺陷敏感的特性,可有效检出玻璃纤维增强材料(<span>GFRP</span>)及其复合材料的浅表包覆式损伤,如纤维分层鼓泡、内部开裂渗漏、胶合层脱粘等典型形式。在检测实施过程中,具有不接触待测表面、无需耦合剂耦合等特点。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/vbi8LMLFFA65FzRrfgsjA0fTmu8EE7E1U8kFkR7k.png" alt="" width="349" height="279"></p> <p align="left"><span style="font-size: 18px;">        系统以<span>STM32</span>微控制器为核心,具备无线网络通信能力;操作上采用触摸与独立按键双控制方式,可有效防止误触。针对缺陷检测需求设计了完善的信号处理系统,包括信号发生器与采集卡、跨阻放大器、正交锁相放大器与配套电源系统,极大地提高了系统的完备度与集成度,相较于传统电容成像设备,获得了更小的体积和更轻的质量。</span><span style="font-size: 18px;">系统基于<span>TouchGFX</span>图形框架实现了缺陷信号的实时显示功能,采用幅值、相位信息双显示,丰富了信息来源,降低了缺陷误判率。轻量级云服务器基于<span>Flask</span>框架构建,实现缺陷图像的二维和三维渲染功能。缺陷数据由系统初步处理后自动上传至云服务器,经服务器校验后下放至目标浏览器,在浏览器端完成归一化,并实时渲染到网页上。网页可异地远程登录,实现专家协同、分批、分时在线会诊功能。数据在服务器端自动备份,支持远程下载、确保缺陷数据可重用、可溯源。</span></p> <p align="left"><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/XSSA5Emrm9JxHkAHKDOqtdYq51PpcnH9zvaWOyGr.jpeg" alt="" width="1024" height="394"></span></p> <p align="left"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*2、项目属性</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8; text-align: left;"><span style="color: #000000; font-size: 18px;">        团队主要成员于2019年获批教育部高教司产学合作意法半导体STM32学生创新创业基金;</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8; text-align: left;"><span style="color: #000000; font-size: 18px;">        本项目为上述基金衍生作品</span><span style="font-size: 18px;">,原创,</span><span style="font-size: 18px;">完全开源,首次公开;未在其他比赛中获奖,未参加过答辩。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8; text-align: left;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*3、开源协议</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p style="text-align: left;"><span style="font-size: 18px;">      CC-BY-NC-SA 3.0</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*4、硬件部分</span></h3> <hr class="horizontal-splitline normal-bold-2"> <h5 style="text-align: left; line-height: 1.5;"><span style="font-size: 18px;"><span>  4.1 </span>硬件系统总体设计</span></h5> <p>        <span style="font-size: 18px;">硬件系统根据目标功能和业务逻辑划分为主系统与从系统,主系统基于<span>STM32F7</span>微控制器,围绕人机交互需求设计了<span>STM32F7</span>微控制器核心板与<span>F7</span>核心板底板;从系统基于<span>STM32G0</span>微控制器,围绕传感器信号处理需求,设计了信号发生器、跨阻放大器和锁相放大器。</span><span style="font-size: 18px;">主系统实现有人机交互与从系统控制功能,其核心业务是根据用户输入控制从系统状态,接收从系统回传数据,并将其可视化到前端。<span>WIFI</span>模块作为数据上传到云端的通路,兼具系统时间校正功能。从系统接收主系统指令,负责控制<span>DDS</span>产生目标激励信号,并对锁相放大器输入的模拟电压信号进行采样。对于需要外部同步触发采样的场合,兼具同步采样功能。</span></p> <p><span style="font-size: 18px;">        主从系统相互独立,通过<span>UART</span>通信。从系统为被动系统,仅接收主系统指令,根据指令执行相应操作,不主动与主系统通信。系统硬件结构及其内部信息交换方式见图<span>4-1</span>。</span></p> <p style="line-height: 2;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/ZodpAGdpmwlFXdFj070JDV9tphDG4SEDrNxo5Gy7.jpeg" alt="" width="478" height="276"></p> <p style="text-align: center; line-height: 2;"><span style="color: #000000; font-size: 16px;">图<span>4-1 </span>主从系统硬件结构简图</span></p> <p style="text-align: left;"><strong><span style="font-size: 18px;"><span>  4.2 </span>主系统硬件设计</span></strong></p> <p>  <span style="font-size: 18px;">1)主系统核心板设计</span></p> <p><span style="font-size: 18px;">        核心板选用意法半导体公司(<span>ST</span>)推出的高性能控制器<span>STM32F767IG</span>设计。该微控制器采用<span>ARM Cortex-M7</span>高性能内核。片上<span>Flash</span>容量高达<span>1MB</span>、<span>RAM</span>容量高达<span>512kB</span>,最高运行主频<span>216MHz</span>。</span></p> <p><span style="font-size: 18px;">        考虑所设计<span>TouchGFX</span>界面元素丰富,对系统<span>Flash</span>及内存资源要求较高,通过外部内存控制器(<span>FMC</span>)挂载一颗<span>32MB</span>大容量<span>DRAM</span>存储器<span>W9825G6KH</span>作为外部<span>RAM</span>;同时挂载一颗<span>32MB</span>大容量<span>Flash</span>作为外部<span>Flash</span>。显示屏采用正点原子<span>7</span>寸<span>LCD</span>屏,通过<span>LTDC</span>以<span>RGB565</span>方式驱动并使用<span>0.5MM-40P</span>翻盖式<span>FPC</span>连接器连接。核心板系统结构如图<span>4-2</span>所示。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/MEJBUi3xhutprXqlDdYhtNVLvQyiKdr3dpqnXAP4.jpeg" alt="" width="395" height="181"></p> <p style="text-align: center; line-height: 2;" align="center">图<span>4-2 </span>核心板系统结构图</p> <p>        <span style="font-size: 18px;">微控制器工作电压<span>3.3V</span>,显示屏输入电压<span>5V</span>。为简化供电设计,使用<span>BTB</span>连接器从底板获取<span>5V</span>供电,经<span>BTB</span>连接器向显示屏供电。微控制器工作所需的<span>3.3V</span>电压经<span>ST</span>低压差线性稳压器<span>LD1117S33TR</span>从<span>5V</span>电压中获得。<span>LD1117S33TR</span>最大输出电流<span>800mA</span>,在输出电流为<span>800mA</span>时,压降仅为<span>1.2V</span>,纹波抑制达到<span>75dB</span>(<span>120Hz</span>),可部分抑制底板<span>DC-DC</span>电源的高频噪声。如图<span>4-3</span>所示。</span></p> <p><span style="font-size: 18px;"><span style="font-size: 16px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/4QMzUx97RVyX1z90OtawS8tmKl5Z9GepDjMo5eDY.jpeg" alt="" width="867" height="245"></span></span></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><span style="font-size: 16px;">图<span>4-3  </span>核心板<span>PCB实物及原理</span>图</span></span></p> <p><span style="font-size: 18px;">  2)主系统底板设计</span></p> <p><span style="font-size: 18px;">        底板设计有<span>WIFI</span>模块<span>ESP-12S</span>,两个串口通信接口,一个独立按键接口。板上电源经由<span>BTB</span>连接器对核心板供电,核心板<span>IO</span>经由<span>BTB</span>连接器与底板各模块相连。底板简化结构如图<span>4-4</span>所示。</span></p> <p><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/nC0QO5OOUdCiTexCzY0mE1HOpB3WpPhiS5Q8SEYi.jpeg" alt="" width="404" height="127"></span></p> <p style="line-height: 2;" align="center">图<span>4-4 </span>底板简化结构图</p> <p>        <span style="font-size: 18px;">考虑<span>WIFI</span>模块<span>ESP-12S</span>的上电电流较大(电源供电流能力应大于<span>500mA</span>)。为减小核心板<span>3.3V</span>供电压力,减小<span>LDO</span>发热,在底板上单独设置一颗<span>ST LD1117S33TR</span>低压差线性稳压器为底板各器件供电。同时考虑底板二次开发时可能有使用<span>5V</span>电源的需求,单独使用一颗<span>ST L7805CDT</span>低压差线性稳压器产生<span>5V</span>电压。</span><span style="font-size: 18px;">由于核心板上显示屏接口兼顾显示屏供电,而显示屏采用<span>5V</span>供电,功耗在<span>1.5</span> <span>2W</span>。此功耗较大,已不适用于单颗<span>LDO</span>供电方案。使用降压型<span>DC-DC</span>功率变换器,从供电电池处取得<span>7.4</span>-<span>12.V</span>电压,经<span>BUCK</span>变换为<span>5V</span>。该电压即为核心板<span>5V</span>电压唯一来源。如图<span>4-5</span>所示。</span></p> <p><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/s9asLg4DOCVjXuQb28Wpl6bveU7zDKXW97l9wcGl.jpeg" alt="" width="730" height="277"></span></p> <p style="line-height: 2;" align="center">图<span>4-5 </span>底板<span>PCB</span>实物及原理图</p> <p><span style="font-size: 18px;">  3)主系统电源设计</span></p> <p><span style="font-size: 18px;">       主系统采用单电源供电,电池输入电压范围<span>7.4</span>-<span>13.2V</span>。配电方式综合考虑了核心板和底板的供电需求,底板从电池取电,核心板从底板取电,触摸屏从核心板取电。电源结构简图如图<span>4-6</span>所示。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 2;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/oDoPzMutOURqWDOukjVbGts3NZmoAtR7xBOYLGWH.jpeg" alt="" width="400" height="275"></p> <p style="line-height: 2;" align="center">图<span>4-6 </span>主系统电源结构简图</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 18px;">        底板配有三套不同的供电系统,板上低压差线性稳压器<span>LDO1</span>与<span>LDO2</span>分别为底板器件提供<span>3.3V</span>和<span>5V</span>电压。而<span>DC-DC</span>变换器通过<span>BTB</span>连接器为核心板供电,输送功率最大可达<span>10W</span>。核心板从<span>BTB</span>连接器取得<span>5V</span>供电,经<span>FPC</span>连接器给触摸屏供电。核心板上<span>STM32F7</span>系统经低压差线性稳压器<span>LDO</span>取得<span>3.3V</span>电能供给。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="font-size: 18px;">  4.3 从系统硬件设计</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 18px;">        从系统接收并处理主系统下达的指令,同时采集探头数据并回传给主系统。从系统主要由<span>STM32G0</span>最小系统、信号发生器、跨阻放大器和锁相放大器构成。最小系统使用串口接收主系统指令,通过<span>SPI</span>控制<span>DDS</span>芯片<span>AD9833</span>产生电压信号,并经片内<span>ADC</span>对锁相放大器输出的直流电压进行采样。系统结构简图如图4-7所示。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 2; text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/SlY4PSflrZTSciy65puZObReW3Lvdpybc6YdbOYW.jpeg" alt="" width="590" height="166">图<span>4-7 从系统结构简图</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 18px;">  1)<span>STM32G0</span>最小系统与信号发生器设计</span></p> <p><span style="font-size: 18px;">        最小系统采用意法半导体公司(<span>ST</span>)推出的新系列微控制器<span>STM32G071CB</span>,其内部集成多通道<span>12</span>位<span>ADC</span>,满足对两路电压信号采样的需求。</span><span style="font-size: 18px;">信号发生器由<span>DDS</span>芯片<span>AD9833</span>和电压放大电路组成。由于<span>DDS</span>芯片输出电压范围在<span>38mV-650mV</span>,电压幅值过低,不满足直接驱动探头的需求,因此需要使用运算放大器对其进行适当放大。考虑激励信号频率<span>10kHz</span>,输出电压幅值不应小于<span>1V</span>,此处将意法半导体公司(<span>ST</span>)通用运算放大器<span>TSV912</span>配置为同相运算放大器,放大倍数最高可达<span>6</span>倍。系统通过<span>MCU</span>的<span>SPI</span>接口控制<span>DDS</span>芯片产生目标信号,同时经采样电路采集锁相器输出的电压信号。由于被采样电压信号为交流信号,而<span>MCU</span>的<span>ADC</span>为单电源转换器,需要通过外部电路将交流信号转换为可采样的直流信号。使用外部同步功能时,同步电路将外部同步信号转化为适配板上数字电路的脉冲信号并送微控制器<span>IO</span>触发同步采样,信号转化功能通过光电耦合器实现。</span></p> <p style="text-align: center; line-height: 2;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/2KtZjKsUNNh6yVJImU2rCW2OOD2t0hQflivRj7aF.jpeg" alt="" width="400" height="303"><span style="font-size: 16px;">图4-8 信号发生器与采样模块</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 18px;">  2)跨阻放大器与正交锁相放大器设计</span></p> <p><span style="font-size: 18px;">      跨阻放大器(<span>TIA</span>)作为信号调理电路的一部分,直接与外部探头相连,可以将探头输出的微弱电流信号转换为电压信号,并将其放大至目标摆幅,输入下一级锁相电路。跨阻放大器的两个基本特征是:<span>1</span>、输入偏置电流极小;<span>2</span>、输入阻抗极大。此处使用意法半导体公司(<span>ST</span>)通用运算放大器<span>TSV912,该放大器的输入偏置电流为1pA,带宽为8MHz。跨阻放大器PCB实物如图4-9。</span></span></p> <p style="text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/zqpmwxekMKsWnbZXxpzjp0HeWjf1xN7WHMaBQr9y.jpeg" alt="" width="400" height="259"><span style="font-size: 18px;"><span><span style="font-size: 16px;">图4-9 跨阻放大器</span></span></span></p> <p align="left"><span style="font-size: 18px;">        正交锁相器的两路输入分别与跨阻放大器输出信号和探头激励信号相接,利用上述方法对这两路信号做乘法运算,再经低通滤波后输出探头信号的实部和虚部,输送至信号采集模块进行数字化。</span><span style="font-size: 18px;">由于跨阻放大模块采用单电源供电,为充分利用输出电压范围,对输出信号施加了2.5V的直流偏置电压。然而锁相器采用双电源供电,输入相敏检波器的电压不能包含直流分量,需在前端设计阻容耦合器。正交锁相器PCB实物如图4-10。</span></p> <p align="left"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/rbHFSW4IckOq29rjyiTbvFBRtnTehp0ExUWtJ8QV.jpeg" alt="" width="384" height="322"></p> <p style="text-align: center;" align="left"><span style="font-size: 18px;"><span><span style="font-size: 16px;">图4-10 正交锁相放大器</span></span></span></p> <p style="text-align: left;" align="left"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*5、软件部分</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="font-size: 18px;">  5.1 主系统软件设计</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 18px;">        主系统使用<span>RT-Thread</span>实时操作系统与<span>ST TouchGFX</span>图形框架。主机部分使用<span>MCU</span>型号为<span>STM32F767IGT6</span>,使用外部器件包括:<span>RGB</span>接口的<span>7</span>寸<span>1024*600</span>分辨率显示器,型号为<span>FT5426</span>的触摸芯片,型号为<span>ESP8266</span>的<span>Wifi</span>模块,型号为<span>W9825G6KH</span>的<span>SDRAM</span>,型号为<span>W25Q256</span>的<span>QSPI Flash</span>。</span><span style="font-size: 18px;">使用<span>RT-Thread</span>创建七个线程以及构建虚拟文件系统,进程如图5<span>-1</span>所示。主系统软件总体结构如图5<span>-2</span>所示。</span></p> <p> <img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/BY0cWNDrny6Yg1kg3e98AeEFdTO69W9dSr7aIsOI.png" alt="" width="561" height="285"></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><span><span style="font-size: 16px;">图5-1 RT-Thread进程</span></span></span><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/ixfVTMaee1CRYfqv22URmBEP8SjYlFX3Kf6s8VvL.jpeg" alt="" width="566" height="255"></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><span><span style="font-size: 16px;">图5-2 主系统软件总体结构</span></span></span></p> <p><span style="font-size: 18px;">        </span><span style="font-size: 18px;">自定义了数据传输模式,所有的数据传输都以<span>\r\n</span>结尾,主系统向探头发送<span>[C]0001[E]</span>表示请求探头基准电压,向探头发送<span>[C]0002[E]</span>表示请求探头背景电压,向探头发送<span>[C]0003[E]</span>表示请求接收探头数据(包括幅值与相位信息),向探头发送<span>[C]0004[E]</span>表示请求接收探头数据(只有幅值信息)。探头向主系统发送<span>[D1]XXX[E]</span>表示探头基准电压值,向主系统发送<span>[D2]XXX[E]</span>表示探头背景电压值,向主系统发送<span>[D3]XXX[E]</span>表示探头采集到的幅值,向主系统发送<span>[D4]XXX[E]</span>表示探头采集到的相位信息。</span></p> <p><span style="font-size: 18px;">        屏幕的触摸芯片为<span>FT5426</span>,<span>IIC</span>接口。</span><span style="font-size: 18px;">为了增强程序的鲁棒性与可移植性,触摸程序分为软件<span>IIC</span>驱动、<span>FT5426</span>驱动、<span>Touch</span>触摸接口三部分。当有触摸动作时,<span>FT5426</span>会产生脉冲沿,<span>MCU</span>接收到外部中断触发后进行一次采样。由于<span>FT5426</span>触摸的灵敏性,触摸一次会出现四次或以上的中断信号,在每次采样后比较结果,如果不同则同步到<span>Touch</span>触摸接口。<span>Touch</span>触摸接口预留了触摸数据的全局变量,供<span>TouchGFX</span>使用。</span></p> <p><span style="font-size: 18px;"><span>        RT-Thread</span>中对物联网开发做了相应的支持,比如<span>AT</span>组件,集成了<span>AT</span>指令;<span>SAL</span>组件,<span> AT Socket </span>接口的抽象,实现标准<span> BSD Socket API</span>;<span>netdev </span>组件,用于抽象和管理<span> AT </span>设备生成的网卡设备相关信息,提供<span> ping</span>、<span>ifconfig</span>、<span>netstat </span>等网络命令;<span>AT Device </span>软件包,针对不同设备的<span> AT Socket </span>移植和示例文件,以软件包的形式给出。移植<span>NTP</span>同步网络时间,需要开启本地<span>RTC</span>,选择<span>RTC</span>时钟为外部时钟,开启<span>RTC</span>后,在开机时连接<span>wifi</span>,将同步的<span>NTP</span>网络时间更新到<span>RTC</span>上,后面的系统时间由<span>RTC</span>负责。</span></p> <p><span style="font-size: 18px;">        由于单片机性能的特性,<span>TouchGFX</span>进程的优先级不能过高,否则会影响底层驱动的运行,优先级也不能过低,否则会使刷新变慢,导致帧数下降出现卡顿现象。设置<span>TouchGFX</span>进程优先级为<span>15</span>,栈大小为<span>20k</span>,完全满足<span>TouchGFX</span>运行条件。在<span>TouchGFX Designer</span>中创建六个界面。分别是屏保界面、桌面界面、标定界面、检测一界面,检测二界面、系统信息界面。</span></p> <p><span style="font-size: 18px;">        屏保界面:当处于其他界面,三分钟没有操作时,就会返回到屏保界面。桌面界面:桌面上放置了两个应用程序,一个是检测程序,另一个是系统信息程序。标定界面:标定界面显示了基准电压值与背景电压值的大小,每秒刷新三次。有四个按钮,分别为获取基准电压,获取背景电压,进入检测一界面,进入检测二界面。当点击获取基准电压按钮时,会向探头发送相应命令,探头会发送基准电压,并且同步到显示上,背景电压的同步也是如此。如图5-3所示。</span></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/7n1sXx1XmAHXNnUQ5E5pCApL4GAIQy71aJxy9I06.png" alt="" width="830" height="229"><span><span style="font-size: 16px;">图5-3 桌面与标定界面</span></span><br></span></p> <p><span style="font-size: 18px;">        检测一界面:从标定界面进入,此界面可绘制探头传输的容值与相位信息,容值的绘图范围为探头背景电压上下<span>20%</span>波动。此界面包括四个按钮,分别是:开始、暂停、停止与复位。绘图时分为两个状态,运行态与暂停态。初始状态为暂停态,当点击开始按钮后,进入运行态,在<span>handleTickEvent</span>中绘制图形,每秒绘制<span>6</span>个点,无论容值与相位信息是否发生改变都会绘图。点击暂停按钮,进入暂停态,暂停绘图,点击开始按钮可恢复绘图。点击停止按钮,进入暂停态,并将绘图清空。点击复位按钮,绘图清空并进入运行态,进行绘图。检测二界面:从标定界面进入,此界面绘制探头容值,与检测界面一不同的是,此界面绘图时容值的范围时随着容值而变化的,即当有更大的容值,就同步绘图的最高值设置,同理最小值设置也是如此。</span></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/um6YF3Yn4L5HEum8q4mJfAgQjYtTg5JBLTwLTHqt.png" alt="" width="830" height="229"><span><span style="font-size: 16px;">图5-4 检测界面</span></span></span></p> <p><span style="font-size: 18px;">        系统信息界面:此界面用来展示<span>TouchGFX</span>设计的时钟表盘,在每次进入<span>handleTickEvent</span>时,都会同步本地<span>RTC</span>时间到时钟表盘,即每秒钟刷新表盘。</span></p> <p><strong><span style="font-size: 18px;"><span>  5.2 从系统软件</span>设计</span></strong></p> <p><span style="font-size: 18px;">        从系统主要包含指令接收与处理、<span>DDS</span>控制、信号采样与外部同步等功能。其中指令接收与处理程序是从系统与外部环境交互的唯一接口。<span>DDS</span>控制程序驱动<span>AD9833</span>芯片产生目标频率的正弦信号。信号采样程序负责目标信号的量化与滤波。外部同步功能通过外部中断捕获同步信号,经由信号采样程序实现同步采样。信号发生器输出信号在主函数<span>while(){}</span>循环前设置,信号频率与波形在程序中一次性设定,系统上电后不可更改。指令接收与处理程序从主系统接收指令,对指令内容进行判断,激活对应的数据发送形式,并调用信号采集程序获取采样信号。在使用外部信号同步采样时,同步机制通知指令接收与处理程序采样,实现同步功能,如图5-3所示。</span></p> <p><span style="font-size: 18px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/XNdBi7MaLKsa8ANHR3idT5avhnz9Mg7HS4lKVtXq.jpeg" alt="" width="445" height="221"></span></p> <p style="text-align: center; line-height: 2;"><span style="font-size: 18px;"><span><span style="font-size: 16px;">图5-3 从系统软件结构简化框图</span></span></span></p> <p><span style="font-size: 18px;">        信号发生器使用团队开发的开源驱动程序<span>chili-DDS</span>直接驱动。<span>chiliDDS</span>是一套使用<span>C</span>语言实现的、适配不同<span>DDS</span>的驱动程序。驱动不依赖于特定的底层硬件,移植时只需实现几个极简单的函数即可运行。</span><span style="font-size: 18px;">此处使用<span>STM32G071</span>外设<span>SPI2</span>作为<span>AD9833</span>驱动接口,使用仅主机发送模式。以<span>AD9833</span>为例,将驱动文件<span>chilis9833.c</span>和<span>chilis9833.h</span>拷贝到软件工程中;补全<span>chilis9833.c</span>中<span>FSYNC_HIGH</span>、<span>FSYNC_LOW</span>两个宏,并实现<span>chilis9833_SPI_Init()</span>和<span>chilis9833_SPI_Transmit_2Bytes()</span>函数即可完成移植。</span></p> <p><span style="font-size: 18px;">       客户端在向服务器端传输物体表面缺陷数据之前,需要与服务器建立通信连接。由于客户端发送的是瞬时数据包,为了节省客户端与服务器资源,两者采用<span>HTTP POST</span>方式传输数据。客户端首先通过服务器开放的路由端口,如“<span>http://ip_address:5555/data_up”</span>,向服务器发送<span>“Start”</span>指令,告知服务器即将向其发送数据,服务器端接收到指令数据包后,转为监听状态,收取客户端发送过来的缺陷数据包。数据接收完毕,服务器向客户端发送<span>“Finished”</span>指令,结束此次通信。随后,服务器将对接收到的数据包进行初步的处理,包括格式转换和归一化,为数据可视化做准备。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*6、系统测试与评估</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p><span style="font-size: 18px;">        系统支持手动扫查和外部同步扫查两种工作模式。手动扫查模式下,操作人员手持探头对目标材料进行快速缺陷检测。外部同步扫查模式下,通过台架进行<span>S</span>型面扫描,扫描结束后,数据传输至云服务器,可在网页端直接查看缺陷的二维和三维云图。</span></p> <p><strong><span style="font-size: 18px;"><span>  6.1 手动扫查测试</span></span></strong></p> <p><span style="font-size: 18px;">        选取图<span>6-1</span>所示玻璃钢试件做手动扫查测试,试件厚<span>20mm</span>,其上预制三个直径为<span>10mm</span>的圆孔。其中,<span>A</span>孔为通孔,<span>B</span>孔、<span>C</span>孔为盲孔,<span>B</span>孔埋深<span>1mm</span>,<span>C</span>孔埋深<span>2mm</span>。手持探头对以上三处缺陷进行线扫描,检测结果如图<span>6-2</span>所示。</span><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/LPhgTphKHFBOKUKOyK7ucXYvCxkdKFU3H21C5cry.jpeg" alt="" width="482" height="132"></p> <p style="line-height: 2;" align="center">图<span>6-1</span>玻璃钢试样<img src="//image.lceda.cn/pullimage/aGfEltVjSiNo2aDoihNaDaVbFSe55Q8QnR5kWzZt.png" alt="" width="478" height="264"></p> <p style="line-height: 2;" align="center">图<span>6-2 </span>玻璃钢试样检测结果</p> <p style="text-align: left;"><span style="font-size: 18px;">        检测界面上半部分为幅值波形,下半部分为相位波形。在缺陷<span>A</span>处,幅值变化最大,约为<span>60mV</span>;在缺陷<span>B</span>处,幅值变化约<span>30mV</span>;在缺陷<span>C</span>处,幅值变化约为<span>15mV</span>。三处缺陷位置上,相位均出现扰动,且扰动范围与幅值变化量正相关。测试表明本系统搭配所示探头对体积缺陷具有较好的检出能力。</span></p> <p style="text-align: left;"><strong><span style="font-size: 18px;"><span>  6.2 自动扫查测试</span></span></strong></p> <p><span style="font-size: 18px;"><strong><span>       </span></strong>选取图<span>6-3</span>所示玻璃钢试样,试样厚<span>2mm</span>,其上预制边长<span>30mm</span>的等边三角形通孔。台架夹持图<span>3.3.13</span>所示探头对该通孔进行面扫描,于<span>X</span>、<span>Y</span>方向分别划分<span>25</span>个坐标,单步步长<span>2mm</span>,共计获取<span>625</span>个原始点数据。原始点数据经程序处理后插值为<span>X</span>、<span>Y</span>方向分别具有<span>50</span>个坐标、共计<span>2500</span>个点的成像数组。将成像数组格式化后上传至服务器,经渲染后于网页端显示。其二维和三维缺陷成像如图<span>6-4</span>所示。</span></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/DH2Fe3xOJx9aoDDO0mfUQ9KqIzpLoVe0FfgFOLVr.jpeg" alt="" width="484" height="255"></p> <p style="line-height: 2;" align="center">图<span>6-3</span>玻璃钢三角形缺陷试样</p> <p align="center"><img src="//image.lceda.cn/pullimage/mWTQtaXDfwPIjHZPP44kQzJzEoIrign0XL6udojF.png" alt="" width="483" height="271"></p> <p style="line-height: 2;" align="center"><span style="font-size: 16px;">图<span>6-4 </span>缺陷二维和三维成像效果</span></p> <p><span style="font-size: 18px;">        左侧为二维缺陷云图,缺陷边界清晰,较准确地反映了缺陷的真实形状与损害面积。右侧为三维成像效果,于缺陷处有明显的高度下降,显示为一处深蓝色凹陷,凹陷处垂直落差大,底面平缓,较好地反映了缺陷的深度信息。</span></p> <p> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*7、作品总结</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p><span style="font-size: 18px;">        本作品为便携式玻璃钢缺陷检测系统,作品以工业环境中玻璃钢储罐、管道、塔器的安全问题为背景。系统采用共面电容无损检测技术,利用电容成像技术中共面电容准静态边缘电场对非金属材料内部缺陷敏感的特性,可有效检出纤维增强塑料(<span>FRP</span>)及其复合材料的浅表包覆式损伤,在检测实施过程中,具有不接触待测表面、无需耦合剂耦合等特点。</span></p> <p><span style="font-size: 18px;">       仪器主要有两大创新点,其一是基于云服务器的二维和三维缺陷反演功能。缺陷数据由系统初步处理后自动上传至云服务器,经服务器校验后下放至目标浏览器,在浏览器端完成归一化,并实时渲染到网页上。网页可异地远程登录,实现专家协同、分批、分时在线会诊功能。数据在服务器端自动备份,支持远程下载、确保缺陷数据可重用、可溯源。其二是基于<span>TouchGFX</span>的反馈信号波形实时显示功能,采用幅值、相位双显示,提供更多可用信息,实现更高的准确率。</span></p> <p><span style="font-size: 18px;">        系统以意法半导体<span>STM32F7</span>高性能微控制器为核心,具备网络连接功能,搭配<span>7</span>寸触摸屏幕,通过<span>TouchGFX</span>图形界面进行操作。硬件系统根据目标功能和业务逻辑划分为主系统与从系统,主系统基于<span>STM32F7</span>微控制器,围绕人机交互需求设计了<span>STM32F7</span>微控制器核心板与<span>F7</span>核心板底板;从系统基于<span>STM32G0</span>微控制器,围绕传感器信号处理需求,设计了信号发生器、跨阻放大器和锁相放大器。实验结果表明本作品可较好地检出玻璃钢复合材料浅表缺陷,应用前景广阔。</span></p> <p> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*8、BOM清单(主要器件汇总)</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/E3zqw3lYXAMTdkHQSSO0Wrtw4GRc9CEE4CicK5gQ.jpeg" alt="" width="1103" height="594"></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 24px;">*9、大赛LOGO验证</span></h3> <hr class="horizontal-splitline normal-bold-2"> <p style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/LvaR2tyUsAQlHX9hQ3QZz8pidP4K3hgkq6jMODt6.jpeg" alt="" width="1202" height="236"></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> </div>

文档

BOM

暂无

附件

附件名 下载
立创电赛:《基于RT-Thread与TouchGFX的玻璃钢缺陷成像检测系统》-附件.zip

评论(3)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
<p><span class="colour" style="color: rgb(83, 139, 215);">恭喜您在“航顺HK32MCU杯”第六届立创电子设计开源大赛获得优胜奖,更多详情见:</span><a href="https://diy.szlcsc.com/posts/2745c50726da4cbca856be6e52dd7383" target="_blank">https://diy.szlcsc.com/posts/2745c50726da4cbca856be6e52dd7383</a><span class="colour" style="color: rgb(83, 139, 215);"></span></p>
superzrz 回复
<p>你好,想了解一下你的项目,方便私信交流吗?</p>
wifiok 回复
<p>这个有点刁章了</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow