柔性压力传感器及基于NodeMCU 的数显平台设计
2021-06-16朱宏
朱宏
(上海格纳德薄膜开关有限公司,上海,201108)
0 引言
随着可穿戴电子、电子皮肤、监测人体健康等领域的发展,传感技术得到越来越广泛应用,已经成为衡量一个国家电子信息化程度的重要标志[2]。柔性压力传感器对于电子皮肤、智慧医疗、可穿戴设备、智能机器人等至关重要。
柔性压力传感器主要检测电性能的变化,根据原理的不同主要分为三类电阻式、电容式和压电式。电阻式柔性压力传感器主要有柔性电极和力敏材料组合而成,根据施加压力的变化而引起阻值相应的变化;电容式是利用平行板电容器原理,容值的大小和间距成反比,施加压力会改变极板的间距从而引起电容值的变化;压电式的原理是压电效应,由压电材料构成,按压后实现电能的转换[3]。
三种类型的柔性压力传感器各有优缺点,其中的电容式压力传感器易收到外界干扰,有寄生电容影响;压电式空间分辨率低,仅适用于动态测量;电阻式也有其不足,但其具有检测动态范围广、过载承受能力强、结构简单、抗干扰能力强等优点。
本文基于丝网印刷工艺制作的电阻式柔性压力传感器具有工艺流程简单、结构稳定、低成本、适合大批量制作等优势[4]。并基于NodeMCU 和OLED 显示器设计了压力数显平台用于测量和调试。
1 柔性压力传感器设计
本文的电阻式压力传感器主要有四个部分组成,自上而下结构:第一层是下表面印刷了高阻导电炭桨的PET(聚对苯二甲酸酯)膜;第二层是贴合上下导电层的双面胶;第三层是印刷在纳米银电极上的具有微结构的压敏油墨,压力的作用下会有微小形变从而改变上下电极的接触面引起电阻值变化,压力越大接触面越大,阻值越小;第四层是在PET 膜丝网印刷导电银浆制作的叉型电极,主要是用来作输出电极。该压力传感器的工作原理是在无压力作用下电极是开路的,无电阻输出;当有按压力作用在上层PET 膜时,高阻炭会和叉型电极接触形成具有阻值的导通回路,由于中间的压力敏感油墨的微结构作用使得上导电层和银浆电极的接触面会发生变化,因而输出的阻值会发生相应的变化。
图1 压力传感器结构
2 数显系统设计
■2.1 总体系统设计
本系统主要有惠斯通电桥电路电压数据采集、NodeMCU作为控制器的数据处理部分,OLED 显示部分,超压报警LED 灯。具体如图2 所示。
图2 系统总体设计框图
■2.2 硬件设计
电阻测量电路是利用惠斯通电桥原理制作的,惠斯通电桥电路是有四个电阻组成的电桥电路,其中的电阻称为桥臂,利用电阻的变化测量物理量的变化,是一种测量精度很高的测量方式。其中的R1、R2、R3 是固定的,Rx 是可变电阻,本文中的电阻式压力传感器接入Rx 位置,Rx 发生变化时,B、D 两点之间的电压值就会发生变化,NodeMCU通过采集电压的变化就可以计算相应的压力变化。
图3 电路原理图
NodeMCU 开发板是一款运行乐鑫ESP8266 的可编程固件,主控芯片是乐鑫的ESP8266[5],一个ADC 接口A0,D0-D10 十个均可服用为GPIO、PWM、I2C 的接口,USB供电,并可以提供3.3V 电压输出。本设计选用了A0 作为电压的输入接口;D1、D2、D6、D7、D8 作为输出接口,其中D1,D2,D6,D7 分别设为SCK(串行时钟)和SDA(串行数据)通过I2C 通信控制OLED1 和OLED2 数值显示,D8 作为GPIO 口进行高低电平输出控制报警LED 灯。
■2.3 软件设计
图4 软件设计流程图
本设计方案使用NodeMCU 作为核心控制器,通过Arduino IDE 进行程序编写,并通过USB 串口将程序上传至控制器,最终实现本设计的需要完成的功能。首先在Arduino IDE 配置好Esp8266 开发环境,安装好Esp8266 Module 模块,安装好Adafruit SSD1306 库文件和Arduino 自带的用于I2C 通信的库文件;其次在Arduino IDE 里定义好通信波特率用于程序传输用本设计设定波特率为9600,并定义好输入输出接口,本设计输入口为A0 引脚,输出口为D8 引脚,OLED1 的从机地址为0x3C,SCK、SDA 引脚为D1、D2,OLED2 的从机地址也为0x3C,SCK、SDA 引脚为D5、D6;第三步编写相应的数学运算将输入的电压值映射为对应的压力数值;第四部通过分支结构对压力值进行判断,当压力值超过设定的值时引脚D8 输出高电平通过电阻点亮白色LED 灯。
程序流程,NodeMCU 将采集到的电压信号通过ADC 转化映射为数值0-1023,根据实测压力传感器的值为0-560g,通过数学转换将0-1023 映射为0-560,通过I2C 接口将数据显示在OLED1 上,将变化的曲线图显示在OLED2 上。通电初始状态下设置OLED1、OLED2 显示字符,按压时OLED 分别显示变化的数值和曲线,并且在按压的过程中对压力的上限进行判断但压力超过500g 时OLED 显示HIGH!!!”,切白色LED 点亮并闪烁2 次。
3 系统实测
图5 试验测试状态图
将压力传感器接在搭建的平台上,用手开始按压时OLED1 上有显示数值随压力的变化而变化,变化的范围是0-400g,同时OLED2 上的曲线随压力大小而变化。当压力超过设定的400g 时,OLED1 和OLED2 上分别显示“HIGH”“!!!”,同时白色的LED 开始闪烁。
4 结论
本文设计的柔性压力传感器可用于触觉感测,人机交互,智能机器人等领域,感测力的范围为0-560g,响应时间小于10ms,具有柔性防水,功耗低,结构简单稳定等优点。搭建的数显测试平台能很好的将力的变化转换为数值的变化,并显示在OLED 上,并通过设定按压力的上限提示超载,对实际应用有一定的借鉴价值。