基于STM32和SIM800C的小型嵌入式监控设备的设计与开发方案
——以小微企业污水处理为例
2018-02-01李德佶吴万敏
李德佶,吴万敏
(四川大学,四川 成都 610207)
1 概述
小微企业是国民经济发展的生力军,在扩大就业、促进创新、繁荣市场和满足人民群众需求方面发挥着极其重要的作用。但是,与大型企业的成熟完善相比,一些基于地方特色发展起来的小微企业,受资金、人才、场地的限制,很多现代化的生产工艺、技术手段不能得到广泛应用。以自动化生产监控设备为例,很多企业选择使用人工监测,既增加人力成本,又降低监测的科学性、准确性,限制了企业生产效率的提升,这与创新驱动、提升质量、增强企业核心竞争力相去甚远。本文所提出的方案即针对这类现实问题,服务企业提升科技水平,推进智能化、信息化建设,提高企业经营的核心竞争力。
2 设备设计方案介绍
2.1 硬件部分
这套设备主体使用STM32F103VET6作为系统核心部分,SIM800C作为设备联网通信部分。通过添加灵活的外设,实现不同外部环境数据的采样,在单片机里进行处理后将设备工作情况数据通过SIM800C传送到服务器上,再通过网页或者手机APP对设备工作情况进行实时运行监控。如果出现运行故障,单片机会进行紧急状况的预先处理,通过SIM800C模块将设备故障情况以短信的方式向管理人员报警,并且在网页或者APP上进行故障提醒,通知管理人员尽快进行故障处理。故障排除后,管理人员初始化设备,监控设备便可重新正常运行。
2.2 软件部分
软件部分涉及到设备监控APP的开发、网页的搭建和服务器的设置。同时,在硬件开发过程中,也会涉及到一些指令的开发,比如对SIM800C进行操作使用的AT指令开发,使用单片机时的库开发等。
3 硬件的选择
3.1 处理器部分
我们选择使用STM32F103VET6作为系统核心处理模块,内核为Cortex-M3。STM32F103VET6在STM32系列的单片机中相对较为基础,资料也比较丰富。ARM的Cortex-M系列是一类低成本的微控制器,针对功耗敏感的MCU和终端应用,也被广泛应用于智能测量、汽车和工业控制系统以及电器和消费型产品中。选择使用STM32也考虑到了其在自动控制领域的应用比较广泛,而且相关资料也较为全面,能够提高工作人员的编程效率和工作效率。
3.2 通信部分
通信模块采用的是SIM800C,也有人使用SIM900A或NBIOT等其他模块进行类似开发。SIM800C工作频率为GSM/GPRS,可以实现低功耗语音、数据和信息的传输,尺寸小巧,价格相对比较低。通过AT命令控制操作,建立TCP连接到远端服务器,通过MCU实现对SIM800C的控制,便可实现设备的远程监控。其缺点是信号强度比较弱,开机初始化连接时间比较长,数据往往有延迟,但其成本低,相对可靠,开发难度小。
3.3 外设模块
外设系统相对灵活,例如使用交流电流传感器进行设备的电源监控,使用pH计、温度传感器、光照传感器、烟雾传感器等对不同环境参数进行灵活的采样,为监控设备添加更多的功能。
4 设备工作流程
设备工作流程如图1所示。
图1 设备工作流程图
5 设计方案
5.1 外设设计(以3种相对简单的外设为例)
5.1.1 电源监控方案
电源监控利用互感现象设计,采用穿心式精密电流互感器TA12-100,如图2所示,在外部增加适当电阻和稳压芯片、整流滤波电路,即可获得想要得到的对设备供电电压的监控数据。同时,也可以购买和使用价格相对低廉的成品,利用互感制作交流电流传感器,输出模拟电压,再经过AD转换获取监控设备的供电电压情况。
5.1.2 水质 pH 测定
在污水处理过程中,调节pH值十分重要。在不同液体条件下,所需要的pH调节情况也不相同。比如黏胶废水酸化池需要进行多种沉淀操作,pH要求各不相同,而pH自动监控可以帮助监控人员更方便地监测水质。我们采用pH值传感器,输出为模拟电压,通过AD转换并使用数学方法修整pH曲线,得到在误差范围内允许的pH测量曲线。
5.1.3 浊度测量
浊度是污水处理的重要测量指标之一,不同的污水、不同的处理方式、不同的菌种在沉淀池里的浊度指标各不相同。没有大规模自动化设备的企业在处理污水时,往往依靠操作者目测。在实际工作过程中,因为对沉淀过程的要求高,所以,需要操作者不间断地观察。这时,采用浊度自动化测量,既可以减轻操作者的劳动负担,又可以大幅度提高监测的准确性。鉴于上述情况,我们采用龙戈电子推出的浊度测量模块,利用光学原理,采集透光率和散射率的综合情况来确定浊度。输出信号为模拟信号,需要AD转换后进行具体的测量。为了提高测量数据的准确性,沉淀池中需要设置多个浊度检测装置。
5.2 MCU整体设计
由于外设与主机距离相对比较远,不宜采用有线传输方式,所以,将较为简单的NRF24L01作为通信方案,外设数据处理使用51单片机。例如,在酸碱度测量中,使用51单片机对采集的数据进行初步处理,通过无线通信模组将数据发送到主控STM32上,主控芯片进行多组外设回传数据的整合操作,通过SIM800C将数据联网传输,数据在外接显示器上实时展示。
5.3 SIM800C通信部分
SIM800C模块可以通过AT指令进行GSM/GPRS无线通讯,也可以通过建立TCP连接到远程服务器来实现设备的远程监控和操作。通过"AT+CIPSTART="TCP","****.******",****"等操作,可以实现远程连接和远程操作。在本套系统中,SIM800C作为数据上传端和警报发送端,在数据出现异常后向用户SIM卡发送报警信息。系统SIM800C在初始化过程中已经链接到预设的服务器,用户可以根据个人需求修改源程序可修改的部分。
5.4 显示部分设计
显示部分是采集数据的实时展示平台,为操作人员提供方便、准确的信息展示。UC/OS是一种基于ROM运行的多任务内核,能够方便地进行移植工作,它在本套系统中的位置是显示终端的显示操作,类似于一个小型的平板电脑。在实际工作中,将UC/OS-III移植到STM32上,并且进行图形界面设计,使用可触摸的LCD显示屏作为显示载体,将采集并处理好的数据在已经设计好的图形界面上显示出来,能够方便操作人员读取数据。
5.5 网站和APP设计方案
设计网站和APP是为了让用户在任何可以联网的地方都能够实现对设备的实时监控。网站和APP的设计涉及到服务器搭建、域名申请等问题,此处不展开说明细节问题,重在思路建立。设计网站和APP时,先进行服务器的搭建工作,之后进行域名的申请和网站的建立,将设备定向连接到用户地址,让用户可以访问到设备,此后再进行网站界面搭建工作。网站搭建好后开发APP,实现AJAX与服务器的交互,用户既可以在手机APP上登录查看设备信息,也可以通过网站访问设备。
6 应用测试
在开发此项目前,我们已经通过SIM900A进行了家庭物联设备的开发,成功通过SIM900A实现了设备与服务器的定向连接和回传。在家庭物联设备的开发过程中,我们添加了红外感应模块作为门锁安全系统,添加火焰传感器对厨房进行安全监控,添加温度传感器实现了对室内温度数据的实时采集。搭建简单的网站,实现了简单网页的实时数据读取。为了验证可行性,我们进行了简单的APP开发,虽然测试结果不是很稳定,但可以实现基本的察看功能。在其他项目中,我们进行了蓝牙使用和无线的开发,也取得了一些成功的经验。在今后的开发工作中,我们将把重点放在细节优化和问题处理上,比如,在前期测试中遇到了显示问题、初始化时间过长、SIM900A信号强度不够、设备数据处理不稳定、误差较大等问题。我们将使用SIM800C进行后期测试,在程序方面进行优化筛减,优化现有处理数据的算法,采用51单片机进行数据的初级采集和勘误,将处理后的数据传输到核心部分,在核心部分进行二次检验后实时向服务器传输,服务器端检验后,如果出现大的跃变情况要进行核实处理,以提高数据的可信度。
图2 电流互感器TA12-100
7 扩展设计方案
以污水处理监控方案为例,提出了一套设备监控方案,但此设备不仅限于污水处理监控,还可广泛应用于其他监控环节。例如,将本套系统用于冷库、粮仓,可以实现对库内温度、湿度等信息的采集,避免环境改变导致产品变质。另外,还可以将这套设备应用于禽畜养殖基地,实现对圈舍内温度的监控和智能控制,通过增加图像采集模组实现对圈舍内情况的监控,具体外设可根据不同需要更改设计。
8 结束语
以污水处理监控设备为例,提出了一套低成本、高灵活性的监控设备设计开发方案,并论证了开发的可行性。这套系统具有开发效率高、外设灵活、成本低的特点,可以被广泛应用。对于蓬勃发展的小微企业,为它们提供了高效、灵活、低成本的自动化监测设备解决方案,既可以有效降低人工成本,实现智能监控与人工操作相结合,提高劳动效率,还能刺激企业进一步加大科技投入力度,提高企业科技含量,推动我国经济发展。