0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ARM9平台和Linux进行中央空调末端控制器的设计与研究

电子设计 来源:郭婷 作者:电子设计 2019-05-22 08:10 次阅读

中央空调末端控制器是中央空调系统中最重要的装置之一,对于中央空调的节能有着重要意义。现有的中央空调末端风阀启/停控制有手动开闭控制和固定时间调度的风量控制两种。启动后的控制策略常采用PID或模糊控制方法对室内温度进行控制,现有按照需求实现远程末端控制的方式有蓝牙技术以太网。以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。以太网最早由Xerox(施乐)公司创建,在1980年,DEC、lntel和Xerox三家公司联合开发成为一个标准。以太网是应用最为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE802.3.

蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。其程序写在一个9 x 9 mm的微芯片中。 如果把蓝牙技术引入到移动电话和膝上型电脑中,就可以去掉移动电话与膝上型电脑之间的令人讨厌的连接电缆而而通过无线使其建立通信。打印机、PDA、桌上型电脑、传真机、键盘、游戏操纵杆以及所有其它的数字设备都可以成为蓝牙系统的一部分。除此之外,蓝牙无线技术还为已存在的数字网络和外设提供通用接口以组建一个远离固定网络的个人特别连接设备群。蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。蓝牙的数据速率为1Mb/s。时分双工传输方案被用来实现全双工传输。 使用IEEE802.15协议。

本文以Samsung公司的S3C2410芯片作为处理器,以Linux2.6为嵌入式操作系统,基于PID控制策略,通过手机短信的方式对中央空调末端装置进行远程控制,实现了对室内温度的设置和监控,取得了很好的实际效果。

1 末端控制器系统设计

1.1 控制器系统硬件设计

本文基于ARM9平台,采用Linux嵌入式操作系统,以S3C2410处理器为核心。ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。 系统硬件主要由以下模块组成:

(1)GSM/GPRS射频模块。用来与GPRS网络进行通信的射频模块,本文选用Simcom公司推出的工业级GSM/GPRS双频Modem模块SIM300,具有完整的Modem信号,在网络通信时可以作为一个Modem而存在。模块采用串行接口通信,主要为语音传输、短信息和数据业务提供无线接口,带GPRS功能。

(2)16C550串行接口。16C550是一种用于将并口数据转换成串口数据的高速UART芯片,并自带16位FIFO缓存通道,而且波特率可选。一方面可获得完整的Modem控制,另一方面也是为了获得精准的UART波特率,本文在SIM300射频模块与处理器组成的控制单元进行串行通信时使用16C550芯片。

(3)CPU中央处理单元。采用Samsung公司生产的32/16位高性能基于ARM920T内核的RISC微处理器S3C2410,具有低功耗、自带8通道10位ADCDAC、并支持NAND Flash和SDRAM存储器等特点。

(4)输入输出单元:模拟房间内的温度传感器信号输入到处理器的A/D转换器;处理器通过PID算法得到的输出量由D/A转换器输出以控制送风执行阀的开度,调整房间内的送风量从而达到调节室内温度的目的。

图1为系统硬件框图。

基于ARM9平台和Linux进行中央空调末端控制器的设计与研究

1.2 控制器系统软件设计

操作系统采用实时性强的Linux2.6内核,编译器使用gcc 4.0.2版本,完成了各个功能模块的接口函数。由于在进行嵌入式系统内核开发时,若交叉编译工具(特别是gcc)版本较低则无法编译高版本内核,版本过高也不行。因此本文为配合要采用的Linux2.6.18内核开发末端控制器,进行定制开发交叉编译环境。具体如下:crosstool-0.43,binutils-2.16.1.tar.bz2,gcc-4.0.2,glibc-2.3.5,glibc-linuxthreads-2.3.5,linux-libc-headers-2.6.12.0,gdb-6.5,生成交叉编译工具为arm-9tdmi-linux-gcc。其中短消息通信线程的初始化和主循环共分为以下4个步骤:

(1)完成串口初始化。系统启动并完成初始化后,开始反复读取16C550芯片发来的串口数据。当GSM模块收到新短信后,通过串口向处理器发送1个字符串。

(2)向SIM300模块发送读取短消息的AT指令,判断短消息内容。首先通过手机号来判断短消息是否由用户发来。如果短消息由用户发来,则判断用户发送的指令,否则直接删除。

(3)如果用户发送的内容是“设定温度XX”(XX代表二位温度值),则将“XX”通过解码函数解码成ASCII字符,再通过换算得到用户期望设置的温度发送给温度控制模块,最后删除该信息。

(4)处理器继续读取串口数据。

短消息通信程序流程如图2所示。

基于ARM9平台和Linux进行中央空调末端控制器的设计与研究

处理器通过串口与GSM模块通信,串行通信的基本参数有:波特率、数据位、停止位及校验方式等。串口驱动程序实现了对串口的读写操作,给应用程序提供发送接收数据的接口。串口正常工作之前,需要进行初始化设置,选择串口工作方式,设置波特率、数据格式及中断,建立数据队列和信号量。

以串口发送一个字符串为例介绍发送程序,其中buf表示要发送的字符串,nbytes表示字符的个数:

int tty_write(char*buf,int nbytes)

{

int i;

for(i=0;i

write(tty_fd,&buf[i],1);

usleep(100);

}

return tcdrain(tty_fd);

}

短消息的接收与发送由处理器和SIM300模块通过16C550芯片串行通信完成,处理器向SIM300模块发送AT指令读取或发送短消息。发送中文短信息时,发送的是汉字的UCS2编码,所以在初始化SIM300模块时须发送指令“AT+CMGF=0”,把模块的短消息工作模式设置为PDU模式,以UCS2编码方式发送短消息。同样,SIM300模块收到的短消息也是PDU编码方式,要读取出用户发送的中文指令就必须将消息内容解码成ASCII字符。

发送短消息首先要向SIM300模块发送整个短消息代码位数的16进制数,之后是短信头代码“001100D”、中国区号“+86”的编码“9168”和发送的目的手机号码。此处的目的手机号码必须是每两位互换得来,由于手机号码是11位,最后一位用“N”补齐,而短消息内容是用UCS2码编写。

当有新消息到达时,收到的数据包内封装了消息发送时间、来自的手机号码和消息正文。如果来自的手机号码与预先设置的用户号码不一致则直接将短消息删除;一致则继续判断短消息正文。

本文全部程序代码C语言编写,短消息发送部分代码如下:

void gprs_msg(char*number,char*msgr)//短信发送函数

{

char ctl[]={26,0};

char head[]=″0011000D9168″;//短信头代码及中国区号

char headmsg[]=″0008A7″;//短信编码方式代码

unsigned int count;

char sum[2];

tty_writecmd(″at″,strlen(″at″));

tty_writecmd(″at″,strlen(″at″));

tty_write(″at+cmgs=″,strlen(″at+cmgs=″));

count=strlen(msgr)/2+14;//计算短信长度

sum[0]=(char)(count/10+48);

sum[1]=(char)(count%10+48);//将短信长度

//解码为16进制

tty_writecmd(sum,2);

tty_write(head,strlen(head));

tty_write(number,strlen(number));

tty_write(headmsg,strlen(headmsg));//发送短信头

tty_write(msgr,strlen(msgr));//发送短信正文

tty_write(ctl,1);

tty_write(″\r″,strlen(″\r″));//发送短信结束代码

usleep(300000);//进程休眠

printf(″Message sent.\n″);

}

上述函数封装了PDU模式发送短消息的头信息和正文字符长度等,参数仅为目的手机号码的PDU编码和短消息正文的UCS2编码。这样做避免了大量的重复代码,也提高了程序的运行效率。

1.3 增量式PID控制策略

PID是一种线性控制器,它根据给定值r(t)与实际输出y(t)构成控制偏差:

基于ARM9平台和Linux进行中央空调末端控制器的设计与研究

式中:KP为比例系数;TI为积分时间常数;TD为微分时间常数。

由于计算机处理的是数字量,控制器的驱动对象是风阀执行器,所以控制系统中使用的控制策略是数字增量式PID。

u(k)=Ae(k)-Be(k-1)+Ce(k-2)

以下是增量式PID控制策略的实现函数:

double PID(double feedback)

{

double Err,pErr,dErr,dU;

Err=Command-feedback;//当前误差

pErr=Err-ppreErr;//比例项增量式误差

dErr=Err-2*preErr+pre2Err;//微分项增量式误差

dU=Proportion*pErr+pDerivative*dErr+ Integral*Err;

//控制量增量

pre2Err=preErr;

preErr=Err;

return dU;

}

2 实验

本实验对象以1.3吨的中央空调系统的实物模型为例,该系统可以模拟中央空调多种运行模式,并可以通过对执行风阀输入模拟信号来调节风阀的具体开度,以此来调整送入房间的送风量,达到控制模拟房间制冷量的目的。本实验对象有2个模拟房间,其中末端装置的驱动阀为TANG TECH TM04~24,温湿度传感器为VECTOR ADS-H1T1。嵌入式控制器的D/A输出的0~4.096 V信号经放大至0~10 V后,直接驱动风阀驱动器

系统提供了两种用户短消息内容的识别,分别是“设定温度XX”和“查询状态”。如用户发送“查询状态”,而当前室内状态为23℃,则系统自动向用户返回短消息“温度:23;状态:正常”。如果室内是异常温度,则系统发送短消息自动报警“温度60;状态警告”。如果用户发送“设定温度23”,则系统将当前室内设定温度改为23℃,并回复“已设定温度23”。

为了使用户可以方便关闭室内控制器,而又不需要增加其他的短消息内容,本文设置了最高温度限制50℃。当用户发送“设定温度”大于49℃时,系统认为用户要求关闭控制器,继而把温度设定点改为OFF,风阀完全关闭,同时返回短消息“已关闭”。采用这种方法,既保证了系统有关闭风阀的功能,又不需要添加新的短消息命令。

短消息命令详情见表1。

基于ARM9平台和Linux进行中央空调末端控制器的设计与研究

为了测试系统节能实际效果,在室外温度9℃的条件下开启2个模拟房间的末端控制器,并设置预期室内温度23℃。假定2个房间中,模拟房间一8:00有人,模拟房间二9:00开始有人;通过计算表明,9:00开启模拟房间二的室内控制器要比8:00同时开启2个模拟房间的室内控制器节约全天所耗能量的7%左右。

本文实现了GSM远程控制方法,通过手机短信方式,对中央空调系统末端装置进行控制及对室内温度进行实时监控和管理。实验结果表明,系统可以方便、灵活、快捷、按需调节房间的温度,实现节能。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19286

    浏览量

    229854
  • 控制器
    +关注

    关注

    112

    文章

    16364

    浏览量

    178072
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305250
  • 操作系统
    +关注

    关注

    37

    文章

    6826

    浏览量

    123333
收藏 人收藏

    评论

    相关推荐

    [原创]仕昊暖通教你如何来进行中央空调安装

    吃大亏。2、设计:设计要在装修前。  中央空调由于与装修结合紧密,必须要提前根据房间特点进行设计,并出具设计方案。3、安装:是否有专业安装队伍   中央空调的安装十分关键,一定要由专业人士来安装,目前
    发表于 01-04 16:01

    家用中央空调完全入门手册-不得不看

    控制,满足用户在不同条件下的使用的便利性要求。   安装的灵活性:家用中央空调不是简单的房间空调器的组合,不是简单地把两或多台室外机叠放在一起,类似一个外机拖多个内机,而各室内机分别
    发表于 10-14 10:40

    如何清洗中央空调,清洗中央空调的方法

    20%以上、细小管径的热交换(列管直径在12毫米以下)。  中央空调清洗过程一 杀菌:通过向循环系统加入杀菌药剂,清除循环水中的各种细菌和藻类。  中央空调清洗二:加入剥离剂,将管道内的生物粘泥剥离
    发表于 12-21 16:22

    基于预测控制和LabVIEW的中央空调控制系统的研究

    基于预测控制和LabVIEW的中央空调控制系统的研究
    发表于 08-31 14:28

    中央空调系统能源优化的探讨

    的运用需要根据实际情况进行设定,考虑到季节等环境因素才能实现节能效果,获得更大的经济利益。本文主要分析了变流量空调系统的和实现方法:将变频技术和智能控制中央空调
    发表于 10-21 11:12

    中央空调可以用手机控制

    ` 本帖最后由 elecfans跑堂 于 2015-9-15 11:40 编辑   中央空调是很多公共机构等供暖制冷设备,但对于这些场所,用电是节能控制的主要问题所在,行内人士都知道温控
    发表于 09-15 10:54

    【EVB-335X-II申请】中央空调控制系统

    申请理由:中央空调的中控调节,通过末端采集到房间的温度,湿度信号,控制中央空调的变频频率,和加湿器的大小,进而使空气品质更好。项目描述:基
    发表于 10-21 09:18

    中央空调变流量怎么实现节能?

    在出水管与回水管上的传感来检测温度,把实际温度送到自动控制装置中与设定温度做比较并进行操作控制的。本文主要介绍传感自动识别装置在
    发表于 09-30 06:15

    中央空调网络集中控制器有什么优点?

    以往我国的中央空调控制系统主要采用以单片机为控制核心的单机组控制器,即一个控制器只能控制台中央空调
    发表于 11-11 06:26

    中央空调计费的设计方法

    为解决中央空调使用的合理收费问题,以我国普遍使用的风机盘管空调系统为例,讨论了中央空调的计费方法。在分析中央空调控制方式的基础上,进行了冷量
    发表于 03-17 11:31 18次下载

    模糊控制器中央空调系统温度控制中的应用

    本文对中央空调系统的模糊控制器的设计做了比较详尽的论述,并结合MATLAB 仿真软件对控制系统做了仿真,得到其响应曲线,并与PID 控制方法进行
    发表于 06-22 09:53 39次下载

    中央空调智能控制器设计

    介绍了一种中央空调智能控制器系统的硬件和软件设计方法以及整个系统的功能。系统采用了美国MICROCHIP 公司的PIC 系列单片机。该控制器可实现多种功能的智能控制及温度湿
    发表于 06-30 09:12 76次下载

    中央空调温控器怎么调_中央空调控制器说明

    液晶温控由电子逻辑电路对其测量温度与设定温度进行比较,控制中央空调末端的风机、水阀等,应用于宾馆、写字楼、商场、工业、医疗特别是别墅等民用
    发表于 02-08 10:22 11.7w次阅读

    如何使用PLC进行中央空调节能控制系统的研究资料说明

    目前大多数中央空调控制系统中采用耦变压降压启动方式实现整体的控制, 但这种方式对系统运行的可靠性及及时性不易保证,也增加了人力资源成本。 同时严重影响到水泵电动机的使用寿命,更重要的是增加了系统
    发表于 04-16 08:00 3次下载
    如何使用PLC<b class='flag-5'>进行中央空调</b>节能<b class='flag-5'>控制</b>系统的<b class='flag-5'>研究</b>资料说明

    基于PID控制策略和3C2410芯片实现中央空调末端装置远程控制设计

    中央空调末端控制器中央空调系统中最重要的装置之一,对于中央空调的节能有着重要意义。现有的中央空调
    发表于 05-12 09:40 1809次阅读
    基于PID<b class='flag-5'>控制</b>策略和3C2410芯片实现<b class='flag-5'>中央空调</b><b class='flag-5'>末端</b>装置远程<b class='flag-5'>控制</b>设计