基于AVR单片机的服装压力检测系统设计
扫描二维码
随时随地手机看文章
O引言
服装是人们生活的一个重要组成部分,它的设计除了款式、花色、光泽等外观因素之外,舒适性也是服装功能性的一个重要组成部分。所谓服装舒适性是指人体着装后,服装具有满足人体要求并排除任何不舒适因素的性能。服装压可分为两种:由服装自身重量形成的垂直压和由服装紧裹身体产生的束缚压。
传统服装压力舒适度测试方法主要有:流体压力法、电阻法、石膏法。其中,使用流体水银压力计或水压机来测量服装压力的方法简单直接,但精度较低,尤其动态测量相当困难;电阻测量方法是将电阻应变片传感器插入衣服内,由于服装压力而使应变片变形导致电阻值的变化,从而将压力变化转换为变化的电压信号,通过测量该变化的电压值得出服装压力测试结果。该方法测试精度高,结果稳定,但易受外部条件的影响,且对服装压力进行动态测量比较困难;石膏法主要是通过模型检测实现,这种方法可以测出接近穿衣时的自然压力值,但不能进行连续动作时的服装压力测试,并且石膏模型难以制作。以上各种测试方法受时间和空间的限制,难以适应不同测试条件的需要,且测试数据的精度不高,没有数据保存功能。
针对传统测试方法的缺陷,本系统采用AVR低功耗、高性能单片机作为核心CPU,选用美国Tekscan公司研制地新型Flexiforce传感器来测量服装压力,并把其设计成为可便携的,能够进行动、静态测量,具有数据储存功能的服装压力测试系统。
1系统组成
本系统的功能模块主要有:参数检测模块、数据显示模块、储存模块、实时时钟模块、PC机通信模块和控制模块。服装压力检测采用多点测试方法,即测试模块上连接多个压力传感器。各个传感器完成一次数据测试后,将其数据发送给核心CPU,然后主芯片对该数据做运算处理,并将数据按一定的规则储存在存储器中,同时将数据实时地显示在液晶屏上。完成检测后,可通过串口将储存器中的数据读入:PC机中进行分析、存储。控制模块主要完成系统功能的设定。系统结构如图1所示。
图1 系统结构
2功能模块设计
2.1微处理器
本系统微处理器采用高性能、低功耗的AVR系列单片机中的ATmegal6L,其内部集成定时器、ADC、片内时钟、USART、SPI、TWI,中断源达到21个。ATmegal6L在1 MHz,3V,25℃时的功耗,正常模式为1.1 mA,空闲模式为0.35 mA,掉电模式小于μA.AVR单片机采用大型快速存取寄存器组,快速单调指令系统和单级流水线技术,使得其处理速度高达1 MIPS/MHz的高速运行处理能力。其内部的可编程FLASH为16 KB,擦写次数可达到10000次。AVR内部集成8路10位逐次逼近型ADC.ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。器件还支持16路差分电压输入组合,有可编程增益级控制功能。其强大的数据处理能力和高集成性的内核完全满足该系统的设计要求。
2.2服装压力检测模块
本系统利用美国Tekscan公司研制地新型Flexiforce传感器来测量服装压力。与传统服装压力测试系统中所采用的传感器相比,Flexifo-rce传感器薄如纸张、柔韧性强,能够测量几乎所有接触面之间的压力。在线性、滞后性、漂移和温度灵性方面具有更优良的特性。根据待测的服装压力值,选用压力范围为O~1 lb(4.4 N)的Flexiforce A201型压力传感器。FlexiforceA201型压力传感器由两层薄膜组成,每层薄膜上铺设银质导体并涂上一层特殊的压敏半导体材料,两片薄膜压合在一起就形成了传感器。银质导体从传感点处延伸至传感器的连接端。Flexiforce A201的传感器点在电路中起电阻作用。当外力作用到传感点上时,传感器点的阻值随外力成比例变化,传感器未受力时,传感点阻值最大,压力越大,传感点阻值越小。
压力传感器的输出信号为毫伏级,需要对检测的信号进行放大后方能输入到CPU端口。Flexiforce传感器的放大器电路如图2所示,RF=R1 +RF1,Vout=-V0(RF+RS1)。其中,RF1为可变电阻,其阻值变化对应了加在传感器上的外力变化。该电路采用MC34071型放大器,传感器通过该放大器,输出电压值为Vout,经过标定后的压力与电压的对应关系,即可得到所测量的服装压力值。
图2 Flexiforce 传感器放大电路
本系统应用8个Flexiforce A201型压力传感器,采用并行连接方式与ATmega16L的PA端口直接连接。
2.3数据储存模块
系统设计一个数据存储模块。由于该系统储存数据所占的空间容量并不是很大,因此存储器选用Atmel公司生产的AT24C256芯片,其为256 KB的数据存储器,采用I2C总线通信方式与主CPU进行数据交换。
为便于测试后更好的阅读数据,采用一定的储存模式将数据保存在AT24C256中,因此,在进行软件设计时,采用该数据传输协议:首先传送检测通道号,然后传送测试时间,最后传送压力值。具体传输格式如图3所示。
图3 传输数据帧格式
ATmegal6L单片机内部集成有I2C通信模块,其外接端口与PC0和PC1端口复用,在使用该端口时,只需给两根传输总线外连上拉电阻,每根一个。I2C通信芯片直接与该端口连接即可。[!--empirenews.page--]
2.4显示模块
本系统采用SMGl2864液晶,其体积小、重量轻、功耗小、显示质量高,可同时显示4路采集数据,对于8路数据可采用循环显示方法。显示的数据为通道号和压力数据。如果不需要显示数据时,可采用功能键关掉显示。
SMGl2864液晶与ATmegal6L的连接非常简单。数据端口直接与PD口连接,功能控制端接在PB端口上。
2.5串口模块、实时时钟模块和功能模块
串口模块主要实现PC机与该检测系统通信工作。PC机可通过该串口读取AT24C256中的数据。该系统采用美信公司的MAX232串口通信转换芯片。
本系统采用美国DALLAS公司推出的。DSl302实时时钟芯片,其采用三线串行接口,芯片内部集成了可编程日历时钟和31个字节的静态RAM.DSl302时钟可自动进行闰年补偿。DSl302芯片自身还具备对备份电池进行涓流充电功能,可有效延长备份电池的使用寿命。
对DSl302供电在系统正常工作情况下应用系统电源直接供电,而在系统不工作的情况下由专用的纽扣电池供电。
系统设置3个功能键完成系统的时间配置和辅助功能选择。这些辅助功能主要有:其中一功能键实现在系统不需要检测服装舒适度压力时,只显示时间,这时可作为一个实时时钟使用,在需要进行压力测试实验时,按下该功能键系统则进入系统压力检测模式。
系统启动后,首先对整个系统进行初始化,初始化后对功能键进行检测,如果该功能键按下,系统则启动A/D转换,并同时把检测的数据按一定的数据格式存储在AT24C256中,同时把检测的数据循环显示在SMG12864液晶屏上。在完成数据测试后,如果没有进行压力数据检测,则关闭A/D转换模块,并且关闭数据存储端口,系统因此进入休眠状态。
3压力舒适度检测算法实现
必须对采集到的压力传感器的数据进行处理后才能得到具体的可读性的服装舒适度压力值。首先,服装压力传感器把采集的压力值转换为模拟电压值,然后经过A/D转换为标准电压值,在经过MCU对该数据做运算后,把其转换为服装舒适度压力值。
其具体算法如下:
ATmegal6L A/D转换的实际电压值计算公式:
式中:ADC为压力传感器输出模拟电压值A/D转换后对应的结果值;Vin为压力传感器输出模拟电压值;VREF为A/D转换参考电压值。为了提高精度,这里选用ATmegal6L内部A/D转换参考电压为2.56V.
取G为给压力传感器加载100g砝码后,所得标准A/D转换实际电压值,则:
式中:F为服装压力,单位:g.
4测试实验
本系统设计完成后,通过测试人体在着装后肩部的一个点随时间压力的变化来检测其稳定性和可靠性。测试曲线如图4所示:初着装后压力变化比较稳定(O~12min);在臂膀运动后服装压力也随时间发生变化(12~18 min);臂膀停止活动压力值又回到初值(18~23 min)。
图4 压力测试曲线
5结语
实验结果表明该服装压力检测系统能正确测试服装舒适度压力值,其使用方便、功能强大、性能优良,是进行服装测试的理想平台,它解决了以往传统服装压力测试中不能测量动态服装压力的困难,且具有数据储存功能。该设备体积小,可随身携带;功耗低,采用电池供电。其可为今后提高服装压力舒适性提供可靠的数据基础和依据,通过对压力的客观测量及研究,将有助于数字化服装压力舒适性研究的发展。