基于Linux 的室内智能温度控制系统
2022-08-10

  在大力提倡节能减排以及追求高质量生活的今天,冬季供暖系统存在的不足日益显现出来。我国北方城市大部分采用集中供暖,在整个供暖期内,无论室内有人与无人,系统全天连续供暖;系统热能的输送是不变的,不能根据室内外温度的变化以及个人对室温的不同要求做出相应的调整。这就造成了热能的严重浪费以及供暖不人性化等问题。本文设计实现了一种基于嵌入式系统ARM-Linux 平台的室内智能温度控制系统,通过实时检测室内外温度的变化,合理调节室内温度,降低了热能消耗,提高了人们的生活质量。

  1 系统功能及总体结构

  本系统硬件框图如图1 所示,主要由ARM9 控制器,温度检测模块,触摸屏显示模块,ZigBee 无线收发模块,暖气控制模块,GPRS 模块等组成。

 

图1 系统硬件框图

  其中温度检测包括室外温度检测、室内温度检测和暖气温度检测。为了避免繁琐的布线,各温度检测点通过Zigbee 技术与ARM 控制器实现无线连接,组成一个星型无线网络。各检测点温度值通过Zigbee 无线传输到ARM 控制器,ARM 控制器根据接收到的各点温度值进行综合处理分析,输出相应的控制信号给暖气控制模块,从而实现室温的智能调节。信息显示与输入模块由LCD 触摸屏实现,用来显示当前室内温度与输入的温度值,且可以设定低温、室温等不同工作模式。ARM 控制器通过GPRS 与外部实现无线连接,用户通过手机可以随时对系统的工作模式进行远程控制。比如在回家的路上,用户可以通过手机切换系统工作模式,当回到家时,室温已回升至正常温度,给用户带来很大方便。

  1.1 ARM 智能控制模块

  ARM 智能控制模块由ARM9 控制器、FLASH、SDRAM、电源及复位模块、LCD 触摸屏及相关外围电路组成。系统选用SAMSUNG 的基于ARM920T 内核的处理器S3C2440 作为控制器。S3C2440 处理器功能强大、性价比高、功耗低,除具有一般嵌入式芯片所具有的总线、SDRAM 控制器以外,还具有丰富的扩展功能接口,便于构建外围电路。

  LCD 触摸屏采用TFT 型LCD 模块TD035STEB1,该模块采用LTPS TFT 作为开关器件,集成了四线电阻式触摸屏和背光电路,从而简化了外围电路。系统在触摸屏的基础上建立了基于QT/Embedded 的图形用户界面(GUI),用来实现信息的显示与控制输入,优化了人机交互环境,给用户带来很大方便。

  1.2 温度检测传输模块

  温度检测传输模块由温度检测模块和Zigbee 无线传输模块组成。温度检测模块采用数字化温度传感器DS18B20.其测量范围为-55℃~125℃,在-10℃~85℃范围内,精度为±0.5℃,完全满足本设计的要求。ZigBee 是一种新兴的短距离、低功耗、低成本的双向无线通信技术,非常适合于组建小型无线网络。ZigBee 模块采用支持IEEE802.15.4 协议,技术成熟的CC2430 芯片,其高性能的处理能力和丰富的接口资源给硬件设计工作带来了极大的方便。

  在温度检测模块中,室内温度检测将多个温度传感器分别放置在室内的不同房间,以检测室内多个位置的温度;室外温度检测将传感器放置在室外,检测室外的温度。暖气温度检测的传感器放置在暖气水管外壁,检测水管中热水的温度。室内、室外以及暖气温度信息通过Zigbee 无线传输给ARM 控制器,ARM控制器经过综合处理分析,再给暖气控制模块最佳的控制量,以实现室内温度的智能控制。

  1.3 暖气控制模块

  暖气控制模块采用数字流量阀作为执行部件。数字流量阀是一种控制液体流量的阀门,可控制的流量分辨率高,响应速度快;驱动信号是二进制信号,可以与ARM 控制器直接相连。ARM 控制器根据收到的各监测点温度值以及输入的控制信息,输出相应的二进制信号来控制数字流量阀,从而调节暖气热水的流量,实现室内温度的智能调节。

  1.4 GPRS 模块

  GPRS 即通用分组无线服务技术,是一种以GSM为基础的数据传输技术。用户永远在线且按流量、时间计费,通信成本低等优点,使GPRS 技术成为家庭智能控制系统中无线数据传输的最佳选择。GPRS模块主要功能是通过GPRS网络实现ARM控制器与户主手机之间的数据交换。经过性能与成本的综合考虑,系统选用西门子公司的MC55 GPRS 模块。

  2 自适应模糊控制器设计

  因为室内温度系统是一个大纯滞后系统,无法建立精确的数学模型,所以本系统采用模糊控制技术对室内温度进行控制,以提高室内温度的控制精度。对于室内温度系统来说,随着室外温度及暖气温度的变化,原来完善的模糊控制规则可能会不适合变化后的新环境,从而导致控制效果不佳。因此,本设计采用了自适应模糊控制系统,以适应不断变化的环境。自适应模糊控制系统结构如图2 所示。

 

图2 自适应模糊控制系统

 

  自适应模糊控制系统可以连续和自动地测量被控对象的动态特性并把它们与理想模型的动态特性相比较,再用两者之差去改变比例因子、模糊控制规则等可调参数,以使系统具有优化的性能。本系统采用动态改变相关比例因子的方式来实现模糊控制系统的自我调整。如图2 所示,为了降低模糊控制器的复杂度,减小计算量,系统采用二输入单输出模型。系统设定温度值T0与当前室内温度值T 的偏差e 和偏差率ec 为输入变量,控制量u 为输出变量。室外温度值T1 与暖气温度值T2 为系统参考量。e= T0-T,ec=de/dt.ke 和kec 分别为温度偏差和偏差变化率比例因子,ku 为控制量比例因子。系统根据e、ec 的变化并参考T1、T2 的值进行综合分析,性能辨识,然后动态的调整比例因子ke 与kec,从而实现模糊控制系统的自我调整,以适应不断变化的环境。

 

图3 自适应模糊控制系统仿真波形图

  根据专家知识和实际测试,选择合适的论域、隶属度函数及相关比例因子,建立合理的模糊控制规则,在Matlab7.1 中的Simulink 下建立系统仿真模型。

  系统设定温度为24℃,输出波形如图3 所示,超调量不超过0.5℃,在室内暖气大纯滞后环境下,控制品质已相当优良。实际测试表明,系统具有很好的控制效果及很强的鲁棒性。

  3 系统软件设计

  系统软件部分的设计主要是基于ARM-Linux,与其他相比,Linux 操作系统具有完整的TCP/IP 协议,良好的稳定性和实时性,很好的满足了智能控制系统对系统可靠性的要求;此外,Linux 易于移植裁减、内核小、效率高、源代码开放并有众多的开发者,为系统的开发提供了良好的技术支持。

  系统开发首先建立交叉编译环境,然后引导bootloader,移植操作系统,装载文件系统,开发图形界面,最后编写应用程序。本系统采用Linux2.6内核,其具有强大的进程、中断、内存和设备管理功能,支持各种文件系统。系统采用了基于QT/E 的图形用户界面,Q/E 延续了Qt 在桌面系统的所有功能,丰富的API 接口和基于组件的编程模型使得嵌入式Linux 系统中的应用程序开发更加便捷。

  系统程序流程如图4 所示,系统应用程序主要由一系列用来实现相应功能的子程序组成,主要包括温度检测程序、ZigBee 无线通信程序、模糊控制程序、GPRS 无线通信程序等。

 

图4 系统程序流程

  4 结束语

  本文介绍了一种基于ARM 的室内智能温度控制系统,给出了详细的系统架构方案,从软、硬件两方面阐述了设计思路和实现方法。系统采用ZigBee 技术组建小型无线网络,实现了多点温度采集,避免了繁琐的布线;采用模糊控制技术,提高了室内温度的控制精度;建立了QT 用户界面,优化了人机交互环境;采用GPRS 技术实现了系统的远程控制。本系统弥补了我国北方冬季供暖系统存在的不足,随着我国计量取暖的逐步实施,具有很好的实际运用价值。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • CFS任务的负载均衡

    负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,以便加深读者对内核调度器实现任务均衡分布的理解。 本文基于linux-5.4.24分

    3小时前
  • Multi-queue 架构分析

    Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大约是几百IOPS(IOs per second),延迟在毫秒级,所以当时IO性能的瓶颈在硬件,而不是内核。但是,随着高速

    3小时前
  • ARMv8 异常处理简介

    内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如: “Unable to handle kernel XXX at virtual address XXX” “undefined instruction XXX”

    3小时前
  • 新型 IO 调度器 BFQ 简介

    Linux io调度器有很多种,大多数调度器都经受住了各种市场环境的长时间验证,稳定性、性能得到各种用户的认可,但新的调度器依然展露头角,在4.12内核中出现了一个新的bfq调度器,这个调度器将取代曾经的辉煌的cfq调度器。社区对待大的改动都是很谨慎的,为什

    3小时前
  • CFS任务的负载均衡(框架篇)

    我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对load balance、task placement和active upmigration几个典型的负载均衡来呈现其实现细节,稍后发布,敬

    3小时前
  • linux IO Block layer 解析

    早期的 Block 框架是单队列(single-queue)架构,适用于“硬件单队列”的存储设备(比如机械磁盘),随着存储器件技术的发展,支持“硬件多队列”的存储器件越来越常见(比如 NVMe SSD),传统的单队列架构也因此被改成了多队列(multi-queue)架构。早在 3.

    3小时前
  • eMMC简介

    1 eMMC是什么 eMMC是embedded MultiMediaCard的简称,即嵌入式多媒体卡, 是一种闪存卡的标准,它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。 它是对 MMC的一个拓展,具有体积小,功耗低,

    3小时前
  • 低纹波、高精度电流源设计

    低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电流源不具备连续可调功能;并且输出电流范围小、

    8小时前
  • Linux 电信基站系统解决方案

      自从1991年Linux第一次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的

    昨天
  • 单片机振荡电路中如何选择晶体?

    1.单片机晶振的原理晶振一般采用三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实

    昨天
  • OpenMV image 模块对象(目标识别基础)

    背景介绍: Sugar 在一文中说过:“OpenMV 在图像里做目标识别的过程就是:不停地取出画面里的每一帧图像,在图像里的每一帧画面上找目标的过程。” 本篇就说一说 OpenMV 怎样在一帧画面上识别目标的。 image 模块 上一篇中说到 OpenMV 通过 sensor.snapshot(

    昨天
  • 代码里开启喷洒装置, ardupilot 是怎么控制的

    背景介绍: 本文面向植保机飞控开发者,以代码解析的方式解读植保机喷洒装置的控制代码。 不仅说明了功能的开启方法,更重要的是表述了如何从代码里找方法的过程。对于进一步掌握 ardupilot 有帮助。 代码里开启喷洒装置 ardupilot 控制喷洒装置的代码在 AC_S

    昨天
下载排行榜
更多
广告