- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Matlab与单片机的动态温度监控系统的设计
基于Matlab/Simulink 与单片机的动态温度监控系统的设计
Matlab 有着强大的数值处理能力,已应用于工程计算、控制系统设计、数字信号处理
等诸多领域之中。工业控制中,常常需要对温度进行监控,以AT89S52 单片机作为控制器,在Simulink中建立温度监控模型,由DS18B20 检测到的温度数据通过串行通信,发送至上位机实时显示,当温度超出设定警戒值时, 由上位机发出指令信号给AT89S52 单片机, 控制警报动作。实验利用Simulink 平台下Instrument Control Toolbox,控制可行且方便。
0 引言
无论在工业控制中,还是在日常生活中,经常会需要了解某一对象的当前温度、历史温度以及温
度的变化趋势等相关信息,同时还能在温度出现超出警戒的情况下自动报警。所以对其进行监控显得十分重要。考虑到系统尽可能体积小,结构简单,成本低,感器选择方面,在温度测量范围要求不是很高的情况下,常采用DS18B20 芯片,该芯片不需要外接电源,只需要一条通信线,能实现多点测量,简化了分布式温度测量的应用,可编程的分辨率为9~12 位测量温度范围为-55~+125 ℃。MATLAB/Simulink 作为动态建模、仿真及分析的一款重要工具,为工程设计人员提供了大量的帮助, 平台下Instrument Control Toolbox,能很好地支持串行通信,通过该工具箱, 能从Simulink 中发送指令信号给下位机,也能直接从下位机中读取数据信息进行分析和处理。
本文是将Simulink 与单片机结合起来,通过串行通信,进行温度监控。
1 Matlab/Simulink 模型的建立
如图1 所示为Simulink 与AT89S52 单片机组成的动态温度监控系统框图, 采集的温度信号由
DS18B20 经P3.4 口送入AT89S52,报警装置由P1.0口控制。
在Matlab2010b/Simulink 中建立温度监控模型,如图2 所示。该模型利用Instrument Control Toolbox下Query Instrument 来接收从下位机AT89S52 发送过来的温度数据信息,通过scope 得到直观的实时温度曲线,同时对温度数值进行条件判断,当超过所设定的最高警戒值后,通过To Instrument 将编辑的指令信号发送给下位机控制报警器动作,设定警戒温度为50 ℃。
2 动态监控的具体实现
下位机单片机采用C 语言编程,需要设定好串口的波特率, 要与simulnk 中Query Instrument、To Instrument 保持一致。DS18B20 采集到的对象温度数据为float 型, 要通过串口发送给上位机接收,可以通过共用体实现。部分程序如下所示:
union //定义共用体
{ float f;
char u[4];}wendu;
void main(void)
{char wendu0, wendu1, wendu2, wendu3;
union wendu;
………………//其中串口设定、温度采集转换程序
代码略
wendu.f = temp_f; //temp_f 为实际温度,数据类型为
float
wendu0 = wendu.u[0];wendu1 = wendu.u[1];
wendu2 = wendu.u[2];wendu3 = wendu.u[3];
Serial_SendChar(wendu0);//调用发送函数
Serial_SendChar(wendu1);
Serial_SendChar(wendu2);
Serial_SendChar(wendu3);
if(RI) //判断接收是否完成
{RI = 0; //接收完毕,RI 由软件清零
P1=SBUF;//将simulik 发送来的指令送P1,控制喇叭
报警
}}
Serial_SendChar(char i)//串行发送函数
{ SBUF=i;
while(! TI);
TI = 0; } //发送完毕,TI 由软件清零
将编写好的程序,编译生成.HEX 文件,然后烧
录至AT89S52 单片机中。Simulink 模型中Query
Instrument、To Instrument 设定Port 为COM3,Baudrate
为2400b/s,其中Query 选项Data format 为Binary,
Precision 为32 -bit float,Byte order 为Little
Endian;Send 选项Output 为ASCII
3 实验结果及结论
如图3 所示,图3(a)为0~110 s 实时温度曲线,以及指令信号,图3(b)为55~60 s 的细节显示。通过观察发现,当在57
您可能关注的文档
- 从苏州四大名园看中国古典园林的美学思想.docx
- 人教版小学语文优秀说课稿精选(27页).doc
- 从现实的个人到中国公民.doc
- 从静电到动电.doc
- 平幽养胃汤治疗幽门螺旋杆菌性小儿胃炎(脾胃湿热型.PDF
- 人机-公共休闲座椅调研.docx
- 以“经验”促“思维”.doc
- 企业人力资源管理的含义及任务.doc
- 企业战略管理第二章外部环境研究.doc
- 任务书--月桂醇硫酸钠的制备与检测.doc
- 功能设计_MM_MM015_报废单_20080109_v2.0.doc
- 功能设计_MM_MM021_采购订单批导入程序_20080108_v1.0.doc
- 功能设计_MM_MM020_出库单_20071205_v2.1.doc
- 功能设计_MM_MM019_入库单_20071205_v2.1.doc
- 功能设计_MM_MM018_领料单_20080114_v2.0.doc
- 功能设计_MM_MM016_ERP与招投标系统接口_20080327_v1.2.doc
- 功能设计_MM_MM014_退库单_20080109_v1.0.doc
- 功能设计_MM_MM013_物料盘点清单_20080114_v2.0.doc
- 中考数学知识点10 一元一次不等式(组)(2).pdf
- 七年级数学优质课公开课教案教学设计期中综合检测.pdf
文档评论(0)