更全的杂志信息网

基于STM32的超市冷链监控报警系统设计

更新时间:2009-03-28

0 引言

随着社会经济的高速发展以及人们生活水平的提高,人们对于生鲜产品的保鲜提出了更高的要求,冷链的应用越来越多。在很多连锁超市,生鲜品占所有商品的比重快速上升。对生鲜品管理水平的高低已经成为连锁超市竞争的关键[1],而生鲜品保鲜的关键取决于其冷链水平。制冷压缩机是冷链系统中的核心设备,压缩机内的气体压力和耗电量是两个非常重要的参数,气压大小预示着压缩机是否处于正常的工作状态[2],耗电量则关系到超市冷链的运营成本。为了获知这两个参数,超市管理人员需要按时去现场抄表,但是现场抄表容易漏采,实时性差,且造成人力资源的浪费。为了更好地对压缩机的压力和耗电量进行实时监控,并在压力数据异常时及时采取措施控制现场设备,设计了一种基于STM32的超市冷链监控报警系统。

1 系统总体方案设计

系统总体设计如图1所示。MCU作为系统的核心,负责协调管理控制各模块工作,采用基于Cotex-M3内核的STM32F103VCT6,它可以提供5路串口通信,2个DMA控制器,3个12位精度的ADC控制器,多达80个通用I/O口[3]。GPRS模块负责数据的传输,短信的收发,通过STM32的串口发送AT指令进行控制。TFTLCD用于显示采集到的数据及系统运行状态,由STM32的FSMC控制器驱动。蜂鸣器用于压力异常时进行报警,继电器用于控制现场制冷设备的开关。系统网络拓扑图如图2所示。系统与上位机的连接方式为TCP连接,系统每隔固定时间采集一次数据,通过MCU对采集的数据进行处理,将结果通过GPRS网络和Internet发送到上位机。当压缩机压力超出设定的阈值时,系统可以在现场实现蜂鸣器报警,并将报警短信发送到用户手机。用户可以回复规定格式的短信控制现场继电器的状态来实现现场设备的开关。同时,上位机也将收到报警信息,用户也可通过上位机发送数据包控制现场设备的开关。

3.中国新诗“三美”特点多文本阅读分析。以高中必修教材中的《死水》《再别康桥》《雨巷》为主要文本,并搜集如《沙扬娜拉》等新诗,研究新诗“建筑美”“音乐美”“绘画美”特征。

  

图1 系统总体设计框图

  

图2 系统网络拓扑图

2 硬件电路设计

该系统的硬件电路是以STM32F103VCT6芯片为核心进行设计的,该芯片是由ST公司推出的一款高性能、低功耗、低价格的单片机,内含256 Kb的Flash,48 Kb的SRAM,最大主频可以达到72 MHz[4]。为了实现各个功能,分模块设计各部分电路,下面分别介绍该系统中的几个重要电路。

2.1 压力数据采集电路

图3是其中一路压缩机压力信号采集电路。首先通过惠斯通电桥将压力的变化转变为电压Ui的变化。Ui的计算公式如下:

 

(1)

随着城市更新进程的加快,青岛原有的对景组织手法逐渐被新的建设要素干扰、破坏.如何保护这些对景“遗产”、留住城市对景记忆,是一个需要进一步思考的课题.

《秀才胡同》共使用10种修辞、11种典故,《东风破》共使用6种修辞、9处典故。在修辞的使用上,《秀才胡同》数量远超《东风破》。此二者对修辞的运用的方式也有所异同,以下进行讨论。

上式得到的电压Ui比较微弱,属于mV级信号,需要用差动放大器对其进行放大,一般选用低功耗、低失调、低温漂的差动放大器[5],本文采用仪表放大器AD623。它的放大倍数满足下列公式:

由表2可知,在1h时12T-103菌株对Cry1Ac蛋白降解降较为明显,由15. 95 μg·L-1降低至0. 68 μg·L-1,降低程度达极显著水平(p<0. 01),其降解率达92. 26%,此后12T-103菌株对Cry1Ac蛋白降解较为缓慢且不显著。由此,12T-103菌株对Cry1Ac蛋白的降解能力较强。

 

(2)

将4个电能表链接在RS485总线上即可实现与STM32的通信。抄表时, STM32通过485总线发送事先规定的数据帧,电能表收到数据帧后,若数据帧中的地址和电能表自身设定的参数相对应,则返回电能数据给STM32。RS485总线拓扑方式应为菊花链的方式,接线需用 RS485 通信专用的双绞线。电能表的 “+” 端与RS485接口“A”端相连,“-”端与电能表RS485接口的“B”端相连,若无共地端,则可不接GND。

调整Rg阻值为1.01 kΩ,使AD623的增益为100倍。调整R5使AD623的参考电压为0.8 V。最终使AD623的OUT端输出电压大小为0.8~4 V。

数据发送任务流程图如图8所示,首先初始化SIM900A模块,然后向SIM900A模块发送AT指令AT+CIPSTART=”TCP”,”IP地址”,”端口号”来使其与服务器建立TCP连接,若连接失败,则重新初始化SIM900A模块再次进行连接,若连续三次失败,则挂起看门狗的喂狗任务,等待系统复位。若连接成功,STM32将处理后的数据通过串口3传送给SIM900A模块,SIM900A模块自动将数据上传到指定IP地址的服务器。发送完成后,系统检测是否收到服务器端的应答,若收到,则表示发送成功;若没有收到应答,则重新发送数据。如果连续3次发送数据而没有收到应答,则重新初始化SIM900A模块。此外,STM32不断检测SIM900A的数据寄存器和短信缓冲区,若收到数据或短信,则读取并解析,根据数据或短信的内容控制继电器的状态,实现对现场设备的开关。

  

图3 压力数据采集电路

2.2 电能表数据采集电路

为了实现对电能表进行自动抄表,要求电能表具有RS485接口,支持DL/T645-1997多功能电能表通信规约[6],波特率为1 200 bps。如图4所示,STM32单片机的串口4通过SP3485芯片将TTL电平转变为RS485电平,RS485通信方式为半双工,以一主多从的方式采集各个电能表的数据。为减少信号的回波与反射,在A、B端接入120 Ω的终端匹配电阻R21

式(2)中,Uo是AD623芯片OUT端输出电压, 是AD623参考电压,Ui是差分输入电压,Rg是可变阻抗,通过调整Rg的阻值即可改变AD623的增益。

  

图4 电能表数据采集电路

2.3 继电器电路

继电器主要用于控制现场设备的开关。图5是继电器的原理图。继电器选用松乐继电器,单刀双掷开关,采用光耦隔离,抗干扰性能好。将继电器的输入端IN1接到STM32的PD6口,控制PD6口输出低电平,光耦导通,继电器吸合, NO1导通;输出高电平,光耦截止,继电器释放, NO1断开。NC1与NO1状态相反。

  

图5 继电器电路图

2.4 GPRS模块

然后采集4路电能表数据,STM32通过串口4向RS485总线发送数据帧,等待电能表的应答。数据帧的格式如表1所示。

  

图6 GPRS模块引脚图

3 系统软件设计

由于本系统任务数量较多,为了更好地对任务进行管理,加快程序的开发进度,提高系统的实时性,在程序中加入了μC/OS-II操作系统。μC/OS-II操作系统结构小巧,具有良好的可移植性、可裁剪性,非常适合嵌入式开发[8]

3.1 主程序设计

最后是LCD数据显示任务,显示界面如图9所示。显示界面的设计分静态界面与动态界面设计,静态界面包括各个参数名称,如复位次数,CPU使用率,信号强度,与服务器连接状态,数据发送状态,GPRS模块开关状态,16路通道压力,4路220V开关量状态,2路继电器状态,4路电能表数据,动态界面显示这些参数的具体数值或状态,并在一定的时间刷新一次。通过μC/OS-II系统中的信号量来规范各个显示任务的顺序,避免造成冲突。利用函数LockLcd=OSSemCreate(1)创建了一个值为1的信号,当各个显示任务需要执行时,需先调用函数OSSemPend(LockLCD,0,&err)请求该信号,只有请求成功时,才能获得CPU的使用权,进而显示数据。若有其他的显示任务已经请求成功该信号时,当前的几个任务需等待,直到其它任务执行完并调用函数OSSemPost(LockLCD)释放信号量之后,处于最高优先级的等待任务才能获得CPU的使用权。

  

图7 系统主程序流程图

3.2 数据采集任务

首先采集16路压力数据,先将ADC1的16路通道对应的GPIO口设置为模拟输入模式,然后配置ADC1工作于独立模式,扫描模式,单次转换模式,设置其为软件触发启动,数据右对齐,通道数目为用户设置的路数n(1~16),之后使能ADC并校准,然后在内存中开辟一个类型为volatile unsigned short a[n][24]的二维数组,即每个通道的数值采集24次,配置ADC1为DMA传输,将ADC1数据寄存器的数据通过DMA通道传给二维数组。传输完成后,首先将每个通道中的24个数据用冒泡排序的方法进行大小排序,然后取中间的6个数据求平均值,得到精度较高的采样值,由采样值与STM32的参考电压求得采集的电压值,再通过电压值与压力值的函数关系求得压力值。

GPRS模块选择SIMCOM公司生产的SIM900A,该模块是双频的GSM/GPRS模块,可以工作于EGSM 900 MHz和DCS 1 800 MHz两个频段[7]。它内嵌TCP/IP协议,拓展的AT指令方便用户的操作。控制该模块仅需要电源端,接地端,开机端,状态端,串口几个引脚。该模块引脚图如图6所示,PWON是电源端,它接入STM32的PD0引脚,控制PD0的电平高低的持续时间,可以开启或关闭该模块。STAT是状态端,接入STM32的PE1引脚,用来指示该模块的工作状态。通过STM32的串口3向该模块发送相应的AT指令来实现对模块的控制,如给某个手机用户发送报警短信,给某个服务器端发送采集到的数据。同时,当模块收到移动数据或短信时,模块也可以通过串口向MCU发送数据,MCU解析这些数据,进行相应的操作。

 

表1 电能表数据帧结构表

  

说明代码意义帧起始符68H标示一帧信息的开始地址域A0~A5表号、资产号、用户号、设备号帧起始符68H间隔标志控制码C读写数据命令数据长度域L数据域的字节数数据域DATA标识、数据密码等校验码CS各字节二进制算数和结束符16H标识一帧信息的结束

其中,地址域由低位地址在前,高位地址在后的6个字节组成,每个字节包含两位BCD码。控制码表明该帧数据的用途,这里是读电能表数据。数据域包含数据标识和密码,发送方将其转为余3BCD码再进行传送。电表收到数据帧后,若与电表设定参数相匹配,便返回数据帧,STM32收到返回帧后,对返回帧的数据域的值按字节进行“减33H”操作,即得到电能表的当前耗电值。

3.3 数据发送任务

为了提高电路的供电电压范围,改善输出电压的稳定性,采用V/I变换芯片XTR115将Uo转变为4~20 mA的线性电流信号,在电流回路上串联150 Ω的精密电阻R7提取电压,最终得到A点的电压范围是0.6~3 V,将其接入STM32单片机的ADC1通道对应的引脚进行采集。STM32的ADC1的16路通道分别对应引脚PA0~PA7,PB0,PB1,PC0~PC5。

本系统采用的是TCP连接,如果SIM900A模块与服务器端长时间不通信会造成连接断开,为了保持连接状态,系统会在单位时间内向服务器端发送一个内容为“ht”的心跳包。

  

图8 数据发送任务流程图

3.4 LCD数据显示任务

系统软件主程序流程图如图7所示,初始化μC/OS-II系统后,创建一个初始任务,在初始任务中按优先级从高到低的顺序创建图中从左到右的5个任务,设置好各个任务的堆栈大小,将程序的各部分功能分配到5个任务中,然后挂起初始任务并启动系统。

式(1)中,Ui为电桥将压力信号转变为的差分电压信号,R1R2R3R4为组成电桥的4个电阻,其中R1R3为压敏电阻,Vcc为电桥的供电电压。

4 系统测试

搭建好系统硬件框架并调试好程序后,开始进行系统测试。以下分别进行数据精确度,报警性能,数据传输3个方面的测试。

1)首先测试采集数据的准确性,采用有机械仪表的压力罐进行测试,先将压力路数设为一路,然后逐渐增加压力罐的压力,读取压力罐的机械仪表数值与系统LCD上显示的数值,结果如表2所示。

By proceeding in this way, he makes a path towards a variety of subjects. I call them icons of Chinese art. He makes different collections with these images plucked out of old Chinese art.

综上所述,PTA量表法在评价科学探究能力的过程中起到了非常有效的作用,较好地体现其诊断和导向功能。首先,PTA量表法量化了科学探究能力的评价,评价内容较传统的评价方法更广泛、清晰、具体,量表提高了评价的可操作性和科学性。其次,利用PTA量表将各要素以及各要素中不同水平罗列地非常清楚,有利于学生反思探究过程,发现自身不足,从而更有效地提高自身探究能力。最后,根据PTA量表的反馈可以帮助教师更充分地了解学生,因材施教;同时开展以小组合作学习的形式,可以增加小组学习兴趣,实现组员间的优势互补,从而提高学习效率。

 

表2 压力数值比较表

  

仪表数值/BarLCD显示数值/Bar相对误差/%1.00.991%2.02.021%3.03.010.3%4.03.990.25%5.05.010.2%

由表2可知,系统显示的数值与实际数值的误差在1%以内,满足要求。

2)然后进行报警性能测试,首先设置好正常的压力阈值为0~5 Bar,然后将压力罐的压力调整为6 Bar,此时系统蜂鸣器报警,上位机也收到报警信息,同时手机也收到报警短信,短信内容为“DongHuaDaXue-WarningC2:6.01Bar”,提醒用户名称为“DongHuaDaXue”的监测点的第二路压力过大。为了对现场制冷设备进行控制,可以回复内容为“87654321-DongHuaDaXue-0-0”的短信,即“密码-监测点名称-继电器1的状态-继电器2的状态”来控制继电器的开关状态,发送短信后,发现两路继电器均调整为断开状态,制冷设备断电,符合要求。

为了比较基于LWT-LSSVM的数控机床热误差建模方法相对于其他方法的优缺点,本文同时给出了常用的基于最小二乘法支持向量机(LSSVM)回归建模的预测结果,两者比较如图6所示。从图中可以看出,基于LWT-LSSVM的预测方法获得的预测模型残差远小于最小二乘法支持向量机的模型残差,具有更好的模型预测效果。

3)最后进行GPRS数据传输测试,开启系统与上位机,等待数据的采集与传输,测试结果如图10所示。上位机每隔10秒会收到名称为“ht”的心跳包,每隔1分钟会收到采集到的各项数值,格式为“监测点名称;压力路数n;第一路压力状态-第一路压力数值~第n路压力状态-第n路压力数值;电能表1的数值~电能表4的数值”,其中压力状态为“0”表示压力没有超出设定的阈值,为“1”表示超出设定的阈值。

  

图9 LCD显示界面图 图10 上位机接收数据图

5 结束语

本文设计的基于STM32的超市冷链监控报警系统,经测试精度较高,操作简单,可靠耐用,且成本较低,稳定性好。该系统可以有效减少超市管理人员去现场抄表的工作量,确保工作人员可以时刻监测冷链的工作状态,并在必要的情况下远程操控现场设备。此系统可逐渐在超市冷链中推广,有利于排除安全隐患,提高超市冷链的效益,确保超市冷链的安全运行。

参考文献:

[1]张玉洁.连锁超市生鲜品冷链物流优化研究[J].教育教学论坛,2013,(6):147-148.

[2]林 辉.中小连锁超市发展冷链之路[J].信息与电脑,2011(4):46-46,51.

[3]王佳权.基于物联网的智能鞋柜系统设计[J].电子技术应用,2017,43(3): 84-87.

[4]郑优讯,李宗伯.基于STM32微处理器的GPRS数据传输技术的研究[J].微型机与应用,2012(21): 60-61,64.

[5]王 峰,夏 龙.压力传感器的二线制传输电路应用设计及分析[J].传感器世界,2001,7(5):25-28.

[6]储昭碧,冯小英.基于ATT7022b的多功能电能表实现[J].仪表技术与传感器,2008(9):26-28.

[7]曲丽娜.基于STM32的嵌入式GPRS网络远程数据采集控制系统设计[J].煤炭技术,2013(8):198-201.

[8]关 海,冯大政.μCOSⅡ在基于Cortex-M3核的ARM处理器上的移植[J].电子科技,2009(1):69-74.

 
高奎,李慧敏
《计算机测量与控制》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号