王忠展,赵 武,秦会斌
(1.杭州电子科技大学 新型电子器件与应用研究所,浙江 杭州 310018;2.杭州茂葳科技有限公司,浙江 杭州 310018)
传统空气净化设备多为内部安装传感模块,只能监测所在区域空气质量的变化,无法应对监控范围广、监测点数量多等复杂环境[1]。另一方面,传统空气净化器昂贵且作用区域太小所带来的不对等问题,导致了空气净化器普及性不强。本文采用多组空气数据采集终端的无线分布式检测系统,既可以检测室内整体空气质量状况,又免去了有线布置带来的麻烦及成本问题,同时还可以在移动端进行远程监控[2];采用智能车搭载空气净化装置,通过地磁轨迹导航,在室内不同区域来往穿梭净化空气,最大程度提高空气净化器的利用率,适用家庭多房间、体育场大空间等场合。
整个系统分为数据采集定位系统、小车系统和应用系统三个部分,系统框架如图1所示。
图1 整体设计框图Figure 1 Overall design block diagram
数据采集定位系统中每一个区域包含多个采集节点和一个射频识别卡。每一个识别卡都有自己唯一的ID,可以在小车净化过程中标记净化区域。每一个终端节点由控制芯片CC2530和多个空气数据检测传感器组成,一个区域的不同位置放置多个检测终端,实现对区域整体空气质量状况的准确监测。最后,数据通过ZigBee网络发送至协调器,实现整个系统的数据采集。
小车系统以STM32F407GT6作为主控芯片,外扩协调器模块、WIFI通信模块、遁迹模块等。协调器模块负责建立无线网络,分配各个采集终端节点的网络地址,并接收子节点的环境信息,将收到的数据上传到主控芯片[5],再通过WIFI上传至服务器。遁迹模块、速度检测模块、电机驱动模块以及避障模块组成了小车的轨迹控制系统,保证小车搭载空气净化器沿着磁轨稳定、快速、安全运行,途中遇到障碍物则停止前行,实现动态净化。
应用系统中移动终端通过互联网访问信息服务器,实时查看每个区域的空气数据(温湿度、空气质量)、净化装置的工作状态(定时、功率、工作模式等)以及小车的位置信息及工作模式。同时通过APP控制净化装置及小车,实现人机交互。本文主要对小车系统进行设计,其他不做重点讲述。
整个数据传输系统包含空气质量数据采集部分以及主控与客户端数据交互部分。
空气质量数据采集部分采用CC2530芯片,内部集成高性能2.4GHz射频收发器,多个设备之间可实现小范围ZigBee通信[3]。网络拓扑结构选择星状网络,由一个协调器和多个终端节点组成,实现多点分布式采集。每一个采集终端外加传感器DHT11实现温湿度采集以及气敏传感器模块TGS2602实现空气质量数据采集。数据通过协调器传输至主控。
主控与客户端交互部分使用WiFi通信组件ESP8266,支持站点(Station,STA)和无线接入点(Access Point,AP)两种工作模式[4]。采用STA模式与主控通过串口通信,接收主控上行数据,与客户端通过HTTP协议通信,接收客户端下发命令码,使用AT(Attention)指令实现对模块的完全控制。
仙吕调清新绵邈,南吕宫感叹伤悲,中吕宫高下闪赚,黄锺富贵缠绵,正宫惆怅雄壮,道宫飘逸清幽。(以上六宫)
小车底盘设计成前面两个万向轮,后面两个驱动轮。采用直流电机加入电机驱动芯片L298N,L298N内含H桥的高电压全桥式驱动器,一片驱动芯片可以同时控制两个直流电机[6]。小车底盘在前万向轮中间位置安装了磁传感器,获取相对位置,用于调整两个电机各自的PWM(Pulse Width Modulation)波占空比控制小车行动轨迹,保证在行进过程中沿磁条运行。表1为L298N驱动芯片驱动电机A、B的控制逻辑,通过输入引脚(IN1~IN4)控制电机的正反转,由使能引脚(ENA和ENB)输入PWM波调节电机的转速。
表1 L298N芯片驱动电机A/B控制逻辑Table 1 L298N chip drives motor A/B control logic
遁迹模块采用磁敏检测元器件HMC1052,具有稳定、性能可靠的特点。使用地磁导航和软磁条铺设,故而存在磁场强度小的问题,需要在磁敏传感器输出端再设计一个差分放大电路以增大输出端的2路电压差,达到灵敏检测磁场强度的目的。差分放大电路设计如图2所示。
图2 差分放大电路设计框图Figure 2 Block diagram of differential amplifier circuit design
考虑到软磁条的磁场分布是以磁条为轴的一系列同心圆,左右对称,在小车垂直车身水平安装两个对称位置的磁场检测模块,检测两侧的感应电动势差值,这里将模块安装距离设为30cm,检测计算出电动势差值Ed如图3所示。其中x为其中一个模块距磁条距离。可以看出,两个传感器中心恰好在跑道中央时,Ed为0;向左偏,差值就会变为大于0;反之,便小于0。我们可以利用电动势差值Ed对小车转向进行负反馈控制,调整小车转向,保证小车沿着轨道运行。
图3 感应电动势差值Ed与距离x之间的函数Figure 3 Function between induced electromotive force difference Ed and distance x
射频识别模块主要完成对识别卡ID码的读写。其中读卡器由MFRC522、微处理器、天线以及相应的外围电路组成。在铺设的磁条路径上,相应的净化区域会放置识别卡进行标识。读卡器读取识别卡的ID码,用于确定净化位置。读卡器结构框图如图4所示,为了保证正确读取数据,需与识别卡的频率一致,内部振荡器X选用27.12MHz的晶体振荡器。
图4 读卡器电路设计框图Figure 4 Card reader circuit design block diagram
避障系统模块选用超声波传感器HC-SR04,存在五个引脚,主要通过引脚INIT、ECHO和COUT进行控制。由主控向引脚INIT发送一个至少持续10μs的高电平信号来触发模块启动测距,HC-SR04工作时向前发出超声波,在传播过程中遇到障碍物被反射,只要HC-SR04接收到返回信号,ECHO引脚就会输出一个高电平,最后根据INIT和ECHO上升沿出现的时间差,就可以计算出离障碍物的具体距离s=Δt*v/2(Δt为时间差,v为超声波速率)。通过程序控制让小车在距离障碍物15cm左右前停下,实现避障功能。超声波测距信号图如图5所示。
图5 超声波测距信号图Figure 5 Signal diagram of ultrasonic ranging
整个系统从多区域采集空气质量数据并有序上发数据,主控通过ZigBee协调器广播指令,只要相应采集终端检测出广播指令中地址码和自身序列号吻合,便会启动工作。各节点循环作业,通过传感器采集数据,打包发送至协调器,通过串口送往主控,主控采用轮询方式,循环获取各区域空气质量参数。为了使数据采集更可靠,一次广播指令包含一片区域的全部采集终端地址,各采集终端一次获取10次采集数据,利用平均值滤波法进一步提高数据的可靠性。为了实现远程监控,将数据以JSON格式打包,通过ESP8266模块,上传到阿里云ECS服务器[7]。空气质量数据传输程序运行流程如图6所示。
图6 空气质量数据传输程序流程图Figure 6 Flow chart of air quality data transmission procedure
移动端APP采用JAVA开发,远程服务器采用阿里云ECS(Elastic Compute Service)。设备侧使用MQTT(Message Queuing Telemetry Transport)协议上传数据到上行Topic,并订阅下行命令Topic来接收下行命令。用户侧通过MQTT协议订阅设备上行数据Topic获取数据,并下发命令至下行命令Topic。设备之间使用两个Topic进行数据交互。
APP界面如图7所示。主要包含对空气净化装置及小车状态的监控,空气净化器控制界面主要显示和控制各区域的空气质量状态以及净化设备的运行状态,本设计只设置了三个区域。小车界面显示小车的工作状态,同时包含远程遥控。
图7 移动端APP界面Figure 7 Mobile APP interface
该程序实现小车沿着地磁轨道平稳行进,遁迹程序不间断进行速度检测和位置检测,传入模糊控制器中修正偏差,保证小车平稳运行。从小车启动开始,接收到净化指令,便进入定位净化程序,主控解析命令到指定编号区域净化。遁迹过程中小车底下的射频识别读卡器不断读取地标卡的信号,当识别到地标卡时,就会读取其数据判断是否到达指令要求的净化区域,若匹配小车便会自动停下净化。遁迹过程中遇到障碍物,判断与障碍物距离,小于15cm便停止,一直到与障碍物有足够距离才重新开始前行。区域定位由人为控制下通过APP指定,或者采用自动行走模式,由主控对各个区域的空气质量分析后选定。整个程序运行流程如图8所示。
图8 小车运行流程Figure 8 The running process of the trolley
传统PID控制算法无法适应不同曲率半径的轨道,会出现抖动和误差问题。为了使小车沿着地磁轨道稳定前行和在出现路径偏差的时候及时修正,采用模糊PID控制器。以位置偏差e和偏差变化率ec=e(k)-e(k-1)作为控制器的输入值,输入值经过相应的模糊推理和模糊化后对PID参数进行在线调节和修改,并且得到模糊控制器的PWM输出值,产生两路新的PWM控制电机修正小车位置。模糊PID控制器采用增量式PID控制,避免了大量运算和减少了系统的鲁棒性,传递函数为:
其中e(k)表示的是控制器的输入,T表示的是采样周期,u(k)表示控制器的输出,Kp,Ki和Kd分别表示PID调节器的自整定参数P,I和D。
整个设计在于控制规则设定,将输入输出模糊集定义为7个语言变量:负小(NS)、负中(NB)、负大(NB)、零(O)、正小(PS)、正中(PM)、正大(PB)。模糊集合论域确定以后,进而确定隶属函数。本文采用三角函数,根据隶属函数得到隶属度,完成模糊化。模糊控制规则设计主要在不同输入量下对Kp,Ki和Kd进行自整定,实现规则为:偏差和偏差变化率越大,电机转速就越小;偏差和偏差变化率越小,电机的转速就越大[8]。整个的模糊控制规则见表2。
表2 模糊控制规则表Table 2 Fuzzy control rule table
最后反模糊化运算,采用面积重心法,取得隶属度函数曲线与坐标轴横坐标面积重心,将该重心作为模糊推理的最终输出数值。
将待监测房间分为3个区域,每个区域安置1个终端采集数据。整个测试分为终端节点、汇聚节点及APP功能测试。终端节点数据轮询次数设为一次,如图9所示为各个采集节点的显示结果。汇聚节点轮询次数设为4次,如图10a)所示为主控数据采集汇总显示结果;图10b)所示为APP显示结果。这里只做了一个房间的测试。结果显示,整个多点检测系统各检测点正常工作,在误差允许范围内汇聚节点能实现正确的数据汇总,并传输至主控。同时APP能准确显示数据,两者数据一致。且移动端APP可以远程操作系统,实现了系统的预定功能。
图9 各个采集节点数据显示结果Figure 9 Data display results of each collection node
图10 主控数据和移动端APP数据显示结果a)主控数据 b)移动端APP数据Figure 10 Display results of main control data and mobile APP data a)Main control data b)Mobile APP data
将建立好的控制系统仿真模型在MATLAB上进行测试。采集样本时间设为0.02s,在最初速度v保持为0.1m/s的情况下,在这个阶段设置正弦波的信号状况,得出仿真结果如图11所示。可知原来系统在输入正弦波时发生了失真,而加入模糊控制后的系统能更加准确实现正弦波轨迹控制,改善了小车的运动稳定性,使整个流程更加顺畅。
图11 控制系统测试结果a)不加入模糊控制 b)加入模糊控制Figure 11 Control system test results a)without fuzzy controller b)with fuzzy controller
路径跟踪测试采用室内模拟测试路线,如图12所示。室内的遁迹路线用软磁条铺设,宽为30mm,黑点表示识别卡,标志着每一个净化区域。每一个观察点画了一条石灰线,车轮压过就会产生痕迹,用于获取小车遁迹的偏差数据。让小车沿着环形轨道行驶20圈,测试20组数据,取平均值,绘制常规控制系统和模糊控制系统下的位置偏差图,如图13所示。可见在小车都能沿着轨迹平稳前行的情况下,采用模糊控制时的位置偏差情况有较好的改善。
图12 室内测试示意图Figure 12 Schematic diagram of indoor test
图13 位置偏差测试结果a)常规控制 b)模糊控制Figure 13 Position deviation test results a)Conventional control b)Fuzzy control
本文设计了一款远程空气质量净化小车系统,使用户可以随时远程监控和控制家庭室内空气净化状况。单区域多点采集可以更精准监测整个区域的空气质量,使净化系统可以针对性运行。搭建的智能车,采用模糊PID控制,可以平稳运行,完成循迹、避障、定位净化功能。实验表明,整个系统性能良好,稳定性强。该系统投入市场,可望产生积极的社会效益,推动现代化智能家居的发展。