基于AVR单片机的服装压力检测系统设计
压力传感器的输出信号为毫伏级,需要对检测的信号进行放大后方能输入到CPU端口。Flexiforce传感器的放大器电路如图2所示,RF=R1 +RF1,Vout=-V0(RF+RS1)。其中,RF1为可变电阻,其阻值变化对应了加在传感器上的外力变化。该电路采用MC34071型放大器,传感器通过该放大器,输出电压值为Vout,经过标定后的压力与电压的对应关系,即可得到所测量的服装压力值。
本系统应用8个Flexiforce A201型压力传感器,采用并行连接方式与ATmega16L的PA端口直接连接。
2.3 数据储存模块
系统设计一个数据存储模块。由于该系统储存数据所占的空间容量并不是很大,因此存储器选用Atmel公司生产的AT24C256芯片,其为256 KB的数据存储器,采用I2C总线通信方式与主CPU进行数据交换。
为便于测试后更好的阅读数据,采用一定的储存模式将数据保存在AT24C256中,因此,在进行软件设计时,采用该数据传输协议:首先传送检测通道号,然后传送测试时间,最后传送压力值。具体传输格式如图3所示。本文引用地址:https://www.eepw.com.cn/article/173202.htm
ATmegal6L单片机内部集成有I2C通信模块,其外接端口与PC0和PC1端口复用,在使用该端口时,只需给两根传输总线外连上拉电阻,每根一个。I2C通信芯片直接与该端口连接即可。
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)。
5 结语
实验结果表明该服装压力检测系统能正确测试服装舒适度压力值,其使用方便、功能强大、性能优良,是进行服装测试的理想平台,它解决了以往传统服装压力测试中不能测量动态服装压力的困难,且具有数据储存功能。该设备体积小,可随身携带;功耗低,采用电池供电。其可为今后提高服装压力舒适性提供可靠的数据基础和依据,通过对压力的客观测量及研究,将有助于数字化服装压力舒适性研究的发展。
评论