摘" 要:针对柔性传感器的信号采集检测需求,基于STM32单片机和4×4阵列型柔性压力传感器,研究一种以单片机为核心单元、面向柔性传感器压力定位、压力变化、压力定量的实时数据采集检测系统。该检测系统采用单片机嵌入式程序结合快速行列扫描技术对采集的电信号数据进行分析、转换及分类显示,实现了精准的压力感知定位、分辨与测定,研究结果将会极大地推进融合计算机扫描技术和柔性阵列传感器新应用的推出。
关键词:柔性压力传感器;快速扫描;STM32单片机;信号检测
中图分类号:TP212" 文献标识码:A" 文章编号:2096-4706(2024)12-0178-06
Research on Flexible Sensor Signal Detection System Based on STM32
YANG Kunyu1, GUO Weidong2, YIN Xixuan1, LIU Fengquan1, HU Zhengfa1, 3
(1.School of Physics and Optoelectronic Engineering, Guangdong University of Technology, Guangzhou" 510006, China; 2.Shantou Wanyuan Technology Co., Ltd., Shantou" 515000, China; 3.Shantou Collaborative Innovation Research Institute, Guangdong University of Technology, Shantou" 515000, China)
Abstract: Aiming at the signal acquisition and detection requirements of flexible sensors, a real-time data acquisition and detection system based on STM32 Single-Chip Microcomputer and 4×4 array flexible pressure sensor is studied, with the Single-Chip Microcontroller as the core unit and oriented towards pressure positioning, pressure change, and pressure quantification of flexible sensors. The detection system uses a single-chip embedded program combined with fast row and column scanning technology to analyze, convert, and classify the collected electrical signal data, achieving accurate pressure perception, positioning, resolution and measurement. The research results will greatly promote the launch of new applications that integrate computer scanning technology and flexible array sensors technology.
Keywords: flexible pressure sensor; fast scanning; STM32 Single-Chip Microcomputer; signal detection
0" 引" 言
随着智能化技术及物联网应用的不断发展,柔性传感器作为一种新型的智能传感器[1],是可穿戴电子设备和各种智能终端的核心器件,是当前传感器研究领域的热点。柔性传感器因具有轻便、可弯曲、可延展、高贴合度的特点[2]而在医疗健康[3]、机器人[4]、人机交互[5,6]等领域具有广阔的应用前景,在智能制造领域实现了突飞猛进的技术进步。随着柔性传感技术的不断发展和创新,也引出了对复杂和大规模信号数据获取和分析、处理检测系统[7]的课题研究。该论文的研究内容即采用柔性薄膜压力传感器、STM32最小核心系统板与单片机相结合的方法设计一种结构简单、信号采集快捷、成本低、可视化的压力分布信号检测系统。
1" 检测系统方案设计
柔性传感器基于电阻、电压、电容、电感等原理,将外部的物理量转化为电信号,实现对信息的探测和处理。根据工作原理的不同,柔性传感器可分为压阻式传感器、电容式传感器、压电传感器、基于光传导的传感器、基于磁转换的传感器[8]。该研究选用压阻式柔性传感器阵列检测压力信号,当传感器受到外部压力的刺激时发生电阻值变化,从而引起电压的变化[9],单片机STM32通过软件控制程序进行传感器行列信号的选通,实现扫描式采集,STM32内部的ADC控制器对压力信号进行采集,A/D转换完成后,通过串口通信USB数据传输线将数据传输到上位机,进行数据的处理、分析、显示、记录、保存。信号检测系统方案如图1所示。
2" 检测系统的硬件设计
2.1" 传感器
选用4×4压阻式柔性传感器(由16个传感单元组成),该传感器由压敏薄膜材料制成,具有一定的导电性和压阻特性。其工作原理为:当压力作用于膜片时,膜片产生微小的形变,导致其上的电阻值发生变化,从而在电桥电路中产生与压力成正比的电压输出信号。该传感器具有结构简单、测量范围广、灵敏度高等特点。传感器电路图如图2所示。
2.2" 单片机
传感器检测的信号要达到实时显示的效果,数据采集系统完成一次数据收集及处理的时间需小于100 ms。选用的单片机型号为STM32F103C8T6,一次模数转换时间为21 μs,串口通信速率为4 Mbit/s。4×4柔性传感器共有16个数据点,总数据量约为0.016 MB,扫描一次全部数据点所需扫描时间为336 μs,一次串口通信传输时间为4 ms,完成一次数据采集和处理的时间约为5 ms,能够满足实时处理传感器数据的要求。
3" 检测系统软件设计
3.1" 选通电路
常见柔性传感器的选通电路包含两个多路模拟开关、一个运算放大电路和一个STM32单片机最小核心系统[10]。为该检测系统设计的选通电路去除了多路模拟开关与运算放大电路,通过软件设置STM32芯片的引脚,输出行列选通信号,代替多路模拟开关对柔性传感器进行行列扫描;通过控制STM32芯片引脚输出的电压大小,使柔性传感器输出端的电压能够直接被STM32芯片的采集数据信号模数转换模块接收,代替运算放大电路,对数据采集没有影响。
3.2" 信号采集与检测系统的行列选通程序设计
行列选通程序工作流程如图3所示。在初始化后,第一步是对柔性传感器的输入电极输入低电平信号,采集输出电极的电压信号。第二步是对柔性传感器的第一行输入电极输入高电平信号,其余输入电极输入低电平信号,得到第一行四个传感单元上的电压信号。在完成第一行的检测后,依次检测第二、三、四行中各列传感器的电压信号,总共得到四行四列共16个传感单元的信号。
3.3" A/D转换程序设计
A/D转换模块采用STM32内部自带的A/D转换单元,A/D转换程序工作流程的第一步是进行初始化,然后进行A/D转换,转换后的数据通过串口通信传输到上位机。A/D转换程序核心代码为:
void( PUTIN(uint16_t k){
{if(k=0){B0(1);B1(0);B5(0);B6(0);}if(k=1){B0(0);B1(1);B5(0);B6(0);}if(k=2){B0(0);B1(0);B5(1);B6(0);}if(k=3){B0(0);B1(0);B5(0);B6(1);} }/*设置为依次输入高电平信号*/
adc_init();/*启动ADC采集*/
for(k=0;klt;4;k++) { B0(0);B1(0);B5(0);B6(0);low=
adc_get_result(1);}/*传感器输入低电平信号并获取低电平时的电压信号*/
for(i=0;ilt;4;i++){PUTIN(i);high=adc_get_result(1);}/*传感器依次输入高电平信号并获取高电平时的电压信号*/
4" 实验与测试结果
本研究采用M0404传感器,尺寸为84 cm×84 cm,每个传感单元的尺寸为1.2 cm×1.2 cm,结构组成如图4所示。使用TK管形拉力计进行检测系统压力测试实验。
4.1" 传感单元压力信号位置定位
为了测试上位机所采集的阵列数据与传感器受力点相一致,分别对单点、横向四点、纵向四点、斜线四点传感单元进行压力实验,对柔性传感器输入高电平信号,随机选取7、(5,6,7,8)、(3,7,11,15)、(1,6,11,16)传感单元对其施加20 N压力,将柔性传感器4行4列共16个传感单元用坐标(x,y)进行编号。受力传感单元的示数如表1所示。
由表1数据可以看出,(3,2)的传感单元示数为3 767,远大于其他未施力传感单元示数,横向四点传感单元示数分别为3 865、3 767、3 847、3 706,斜线四点传感单元示数分别为3 999、4 004、4 102、3 967,均远大于其他未施力传感单元示数,但纵向四点传感单元示数与其他未施力传感单元示数没有明显的区别。随机选取其他的单点、两点、三点、横向四点、纵向四点、斜线四点传感单元进行的施加压力测试,除纵向四点外,都存在施力传感单元的示数远大于其他未施力传感单元示数的情况。实验表明,检测系统能直接对单点、两点、三点、横向四点、斜线四点传感单元的受力位置进行定位,对纵向传感单元受力位置的定位需进一步进行数据处理分析。根据M0404传感器厂家提供的传感单元电压与电压信号示数的计算公式,可计算出各受力传感单元的电压值,计算式为:
U = 3.3×(m / 4 096)" " " " " " " " " " (1)
其中,m为数据采集系统的电压信号示值,U为受力传感单元的电压值。
4.2" 传感单元压力测定
为了进一步解决纵向阵列传感单元数据定位不准确以及判别传感单元压力大小的问题,选取第三列四个传感单元进行实验。实验分为两步,第一步是对柔性传感器的输入电极输入低电平信号,第二步是对第三列的四个传感单元分别施加总和为30、25、20、15、10、5 N的压力。压力分布情况及数据采集系统采集的数据如表2所示。
表2数据表明:对柔性传感器一列的四个传感单元施加总和相同的压力时,数据采集系统采集的四个电压数据之和相同。对同一列四个传感单元施加总和大小逐渐递增的压力时,数据采集系统采集到的电压数据之和与压力大小的关系如图5所示。
由图3数据可知:施加在该列四个传感单元上的压力之和越大,数据采集系统电压数据越小。当施加的压力之和进一步增大时,电压数据进一步减小越来越接近0,此时接近响应的临界值,电压信息数据大小的下降幅度变小。
当施加的压力之和在5 N与20 N之间时,压力之和与数据采集系统显示的电压信息数据关系式为:
F = -0.143m + 30.74" " " " " " " " " " (2)
当施加的压力之和在20 N与30 N之间时,压力之和与数据采集系统显示的电压信息数据关系式为:
F = -m + 95" " " " " " " " " " " " " "(3)
式(2)(3)中,F为该列四个传感单元的压力之和,m为数据采集系统电压数据。当数据采集系统采集的数据大于75时,使用式(2)计算四个传感单元的压力之和F,当数据采集系统采集的数据小于75时,使用式(3)计算四个传感单元的压力之和F。
上述实验通过对柔性传感器的输入电极输入低电平信号来确定同一列四个传感单元的压力之和F,为了进一步确定同一列四个传感单元上的压力信号,对柔性传感器的输入电极依次输入高电平信号,实验数据如表3所示。
分析柔性传感器上的压力分布情况与数据采集系统的示数,可得如下判别规律:
1)当同一列四个传感单元中仅有一个传感单元受到压力时。实验1中的数据表明:施加压力的单个传感单元上对应的数据采集系统的数据远大于未施加压力的传感单元对应的数据。由于有且只有一个传感单元施加压力,对应的传感单元上施加的压力满足以下关系式:
f = F" " " " " " " " " " " " " " " " (4)
式(4)中,f为传感单元上施加的压力值,F为输入低电平信号时数据采集系统的示数。
2)当同一列四个传感单元中有两个传感单元受到压力时。实验2、3的数据表明:两个传感单元上均施加10 N压力,压力之和F为20 N。数据采集系统采集的这两个传感单元的数据分别为2 007与2 018,均约为2 000,数据近似相等,单个传感单元上的压力等于总压力值除以传感单元个数,即f = F / 2。将其中一个传感单元上施加的压力增大2 N,另外一个传感单元上施加的压力减少2 N,即两个传感单元上的压力值分别为12 N与8 N,数据采集系统采集的这两个传感单元的数据分别为2 221与1 799,约为2 200与1 800,则增加2 N满足关系式(2 200 - 2 000) / 100 = 2,减少2 N满足关系式(1 800 - 2 000) / 100 = -2。综上所述,当同一列四个传感单元中有两个传感单元受到压力时,传感单元上的压力值满足以下关系式:
f = F / 2 + (x - 2 000) / 100" " " " " " " " (5)
式(5)中,f为单个传感单元上施加的压力值,F为同一列传感单元上的压力之和,x为输入高电平信号时数据采集系统采集的该传感单元的示数(以下计算式相同)。
3)当同一列四个传感单元中有三个传感单元受到压力时。实验次数4至5的数据表明:三个传感单元上的总压力值为30 N时,三个传感单元上均施加10 N压力,数据采集系统采集的这三个传感单元的数据分别为1 478、1 537、1 560,均约为1 500,同理推算出单个传感单元上的压力值满足以下关系式:
f = F / 3 + (x - 1 500) / 100" " " " " " " " (6)
4)当同一列四个传感单元中四个传感单元受到压力时。实验次数6至7的数据表明:四个传感单元上的总压力值为40 N时,四个传感单元上均施加10 N压力,数据采集系统采集的这四个传感单元的数据分别为1 119、1 225、1 180、1 169,均约为1 200,同理推算出单个传感单元上的压力值满足以下关系式:
f = F / 4 + (x - 1 200) / 100" " " " " " " " (7)
经实验验证,式(2)至式(7)同样满足横向四个传感单元、斜线四个传感单元受力情况的计算。综上所述,对传感器传感单元受力情况的数据采集系统的处理规则如图6所示。
4.3" 信号检测系统的测量误差
为了验证信号检测系统采集的传感单元电压数据经计算得到的压力值的准确性,随机选取传感器上3个不同位置的传感单元,分别对其施加不同的压力,实验结果如表4所示。图7为检测系统信息输出、接收、显示图。
实验结果表明,由检测系统测得的压力值与实际施加压力值的误差在3%以内,测量误差在可接受的范围之内,这表明所设计的信号检测系统满足压阻式柔性传感器的检测需求。
表4" 信号检测系统的测量误差实验结果
5" 结" 论
该研究基于STM32最小核心系统板,利用单片机嵌入的程序对采集的电信号数据进行分析、转换及分类显示,使用上位机读取下位机收集到的压力信息,研究开发一种柔性传感器阵列的信号检测系统。该检测系统结构简单、检测速度快、检测精度高、实时性好,具有较好的应用推广前景。
参考文献:
[1] 吴靖,李晟,张景,等.面向物联网的新型柔性传感器 [J].物联网学报,2023,7(2):1-14.
[2] 侯星宇,郭传飞.柔性压力传感器的原理及应用 [J].物理学报,2020,69(17):70-85.
[3] 周学思,钟荣华,王天辉.柔性传感技术及其在健康医疗领域中的应用 [J].军事医学,2015,39(11):876-880.
[4] 尚飞,胡潇然,张千,等.面向机器人触觉的柔性压力传感器 [J].电子科技大学学报,2020,49(4):636-640.
[5] 张阳阳,李莉萍.面向人(机)-机交互的柔性传感器及其智能感知系统导读 [J].无线电通信技术,2022,48(3):431-432.
[6] 李浩林,王震,陈树康,等.基于压阻传感器的智能鞋垫及运动采集分析 [J].西部皮革,2022,44(4):26-28.
[7] 吴帅帅,高国伟,刘硕.高灵敏度柔性电子皮肤的研究与应用进展 [J].传感器与微系统,2023,42(7):1-5+22.
[8] 汤桂君,殷柯柯,原会雨.纳米材料在柔性压阻式压力传感器中的研究进展 [J].复合材料学报,2023,40(7):3722-3737.
[9] 黄志勇,李红强,陈保登,等.基于PDMS的柔性压阻式传感器的研究进展 [J].有机硅材料,2024,38(1):66-75.
[10] 周瑞,李时维,李绍成,等.压阻式柔性压力传感器阵列信号采集系统设计 [J].传感器与微系统,2021,40(9):104-107.
作者简介:杨焜宇(1998—),男,汉族,广东阳江人,硕士研究生在读,研究方向:柔性传感器;郭伟东(1976—),男,汉族,广东汕头人,初级经济师,本科,研究方向:无损检测;尹锡轩(1999—),男,汉族,广东东莞人,硕士研究生在读,研究方向:柔性传感器;刘丰铨(2000—),男,汉族,广东珠海人,硕士研究生在读,研究方向:柔性传感器;胡正发(1974—),男,汉族,安徽广德人,教授,博士,研究方向:柔性传感器。