毕业论文:基于单片机的无线温度监控系统

上传人:r****d 文档编号:124214817 上传时间:2022-07-24 格式:DOC 页数:17 大小:181.50KB
收藏 版权申诉 举报 下载
毕业论文:基于单片机的无线温度监控系统_第1页
第1页 / 共17页
毕业论文:基于单片机的无线温度监控系统_第2页
第2页 / 共17页
毕业论文:基于单片机的无线温度监控系统_第3页
第3页 / 共17页
资源描述:

《毕业论文:基于单片机的无线温度监控系统》由会员分享,可在线阅读,更多相关《毕业论文:基于单片机的无线温度监控系统(17页珍藏版)》请在装配图网上搜索。

1、1.引言1.1.设计背景及意义1.2.系统简介及组成2.系统器件选择及论证2.1.控制器部分2.1.1.Msp430系列单片机概述2.1.2.MSP430硬件特点2.1.3.所应用的主要功能2.2.系统显示模块2.2.1.12864点阵液晶显示屏简介2.2.2.12864显示屏的技术特点2.3.无线模块2.3.1.NRF2041无线模块简介2.3.2.NRF2401外部接口2.4.传感器模块.Ds18b20温度测量模块简介2.4.2.DS18b20结构示意2.5.上位机部分3.硬件连接与设计4.软件设计4.1.人机交互环节4.1.1.设计原理4.1.2.人机交互环节流程图:4.2.温度采集部分

2、4.2.1.程序流程图4.2.2.滤波算法4.3.数字PID控制算法4.3.1.位置式算式及PID参数4.3.2.算法流程图:4.4.控制PWM脉宽输出4.4.1.脉宽调制波产生4.5.PC上位机监控程序设计4.5.1.上位机监控程序简介4.5.2.功能模块5.致谢6.参考文献基于单片机的无线温度监控系统自动化专业学生 李盛葆指导教师 李坤摘要:关键词:The Supervise & Control Wireless System Based On MCUStudent majoring in Automation Li Shengbao Tutor Li KunAbstract: (五号Ti

3、mes New Romar,200300个实词)Key words: ;(3-5实词个,五号Times New Romar)1. 引言1.1. 设计背景及意义温度是表征物体冷热程度基本物理量,在工业生产、日常生活中的各个领域中,其测量和控制都占有重要的地位,如何精确的测量温度并快速、准确、稳定的控制被控对象的温度变量是一个经久不衰的研究课题。在工业环境中,温度的过高或者过低会导致设备损坏,造成生产危险;军事应用中,温度的异常会影响材料的组织结构和性能工业领域中,锅炉的炉温、电机的轴温、工业冷却水的水温、化学反应的温度等等,都是我们需要精确测量并严格控制的。当然,在民用领域,新型的智能家居系统也

4、需要通过测量室内温度,而通过一系列控制算法控制制冷制热系统的运转而使室温适宜人的居住。单片机等嵌入式技术的蓬勃发展、集成电路的微型化、仪器仪表的智能化为现代温度测量控制大大促进了温度监控技术的发展。新一代计算机控制系统能够实现实时数据采集、实施决策控制、实时控制输出,其实时数据能够实时显示,并且可以查看历史记录,操作人员可以根据实际情况选择手动或自动调节控制器的输出。在热工、化工、机械、冶金等部门已经广泛应用。1.2. 系统简介及组成本设计基于msp430系列低功耗单片机作为主控制器,利用ds18b20数字式低功耗温度传感器采集现场温度,然后利用nrf2401系列无线射频传输芯片将温度信息传送

5、回主控制器,并在液晶显示器上显示。主控制器并可以与PC机经过RS232连接,接收到的温度历史信息可以在PC机上显示,并保存。通过比较给定值与测量变送值的偏差,利用PID算法,控制器输出控制量给被控对象电炉,根据控制量的大小加热炉可以通过加热来使实际温度值逐渐逼近给进值。另外系统也允许用户手动调节控制量来控制加热器的温度。整个系统的特点在于: 低功耗性:主控制器、测量变送元件、无线传输模组都是低功耗的 精确性:传感器 无线性 用户友好性:PC机和液晶监控屏双重显示,用户可根据自己需要对系统进行自定义设置MSP430单片机被控对象18b20传感器继电器电热丝液晶显示屏微型计算机系统用户键盘系统整体

6、框图如下所示: 图 112. 系统器件选择及论证2.1. 控制器部分2.1.1. Msp430系列单片机概述MSP430 是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐。它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,可以在线对单片机进行调试和下载,且JTAG 口直接和FET(FLASH EMULATION TOOL)的 相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,可靠性能好,加强电干扰运行不受影响,适应工业

7、级的运行环境,适合与做手柄之类的自动控制的设备。2.1.2. MSP430硬件特点 3.6V。 超低功耗:A 4 kHz ,2.2 V ;1605A 1 MHz ,2.2 V 。 五种节电模式: A ; A 。 从等待方式唤醒:6 S 。 16位RISC结构,150 nS 指令周期。 基本时钟模块配置: 高速晶体:最高8 MHz; 低速晶体:32768 Hz; DCO。 12位200kbps 的A/D转换器,自带采样保持。 内部温度传感器。 具有3个捕获/比较寄存器的16位定时器Timer_A,Timer_B。 两通道串行通信接口可用于异步或同步(软件选择UART/SPI模式)。 硬件乘法器。

8、 多达60 KB FLASH ROM 和2 KB RAM。 串行在线编程。 安全熔丝的程序代码保护。2.1.3. 所应用的主要功能 通用外部中断功能 16位定时器A 通用异步串行通信模块(USAR) ADC12模数转换模块 低功耗模式3(LPM3)2.2. 系统显示模块2.2.1. 12864点阵液晶显示屏简介带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成

9、全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.2.2. 12864显示屏的技术特点 低电源电压(VDD:+3.0-+5.5V)(2)、显示分辨率:12864点 内置汉字字库,提供8192个1616点阵汉字(简繁体可选) 内置 128个168点阵字符(5)、2MHZ时钟频率 显示方式:STN、半透、正显(7)、驱动方式:1/32DUTY,1/5BIAS 视角方向:6点 背光方式:侧部高

10、亮白色LED,功耗仅为普通LED的1/51/10 通讯方式:串行、并口可选(11)、内置DC-DC转换电路,无需外加负压 无需片选信号,简化软件设计(13)、工作温度: 0 - +55 ,存储温度: -20 - +602.3. 无线模块2.3.1. NRF2041无线模块简介nRF2401是单片射频收发芯片,工作于2.42.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,节能设计更方便。其DuoCeiver

11、TM技术使nRF2401可以使用同一天线,同时接收两个不同频道的数据。nRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等。2.3.2. NRF2401外部接口图 212.4. 传感器模块2.4.1. Ds18b20温度测量模块简介DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口

12、线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。2.4.2. DS18b20结构示意图 222.5. 上位机部分本系统使用普通的商用计算机作为远程监控机。对系统的基本硬件要求不高,能够正常运行win32程序即可上位机要具有9针标准RS232接口,或者通用串行接口(USB)能够在9600波特率下正常通信,具有彩色显示器,以用来显示实时温度曲线。操作系统要求为Windows 2000或Windows XP,能正常运行VC监控程序。3. 硬件连接与设计4. 软件设计4.1. 人机交互环节4.1.1. 设计原

13、理人机交互环节利用单片机系统版上的四个独立式按键,和12864液晶显示器构成,单片机上电后初始化液晶显示器,并显示文字:“请输入设定值:”用来提示用户输入所想要的设定值,按键1、2、3分别用来滚动输入百位、十位、个位数据(09),按键4用以确定输入信息,一旦按键4按下,键处理程序立即置1标志位d,主程序查询到标志位置位后将设定值存入相应的变量中,设定值设定完毕。同样的原理,液晶显示器依次显示:“K:”,“Ti”,“Td”并等待按键输入数据,等待标志位置1后,将此时的按键信息存入相应的变量之中,完成参数设定。本设计中利用I/O中断进行键扫描,按键直接接到I/O口的P1.0、P1.1、P1.2、P

14、1.3上。在P1口的中断服务子程序中进行键处理。当有键按下,触发中断,在中断服务子程序中利用查询相应的标志位来确定到底是那个键按下,从而执行相应的操作,由于按键的机械特点,需要进行去抖处理,因此,在中断子程序中加了一定时间的软件延时,并在延时后清零标志位,从而就能很好的跳过键盘的抖动时间,实现对按键准确有效地识别。 4.1.2. 人机交互环节流程图:开始初始化液晶显示字符“请输入设定值”开中断d=0保存设定值,清零dd=0保存k,清零d保存ki,清零d保存kd,清零dd=0d=0YNYYYNNN关P1口中断中断服务子程序1按下2按下3按下4按下a=a+1a=9a=0中断返回b=9b=b+1b=

15、0c=c+1c=0c=9d=1YYYYYYNNNNNN图 414.2. 温度采集部分4.2.1. 程序流程图初始化设置ACLK为ADC12主时钟设置ADC12触发方式开启ADC12结束ADC12中断子程序i+i=8Tmp+=ADC12MEM0Cpoint=Tmp/8再启动ADC数据处理程序将数字量转换成温度值图 424.2.2. 滤波算法由于被控对象温度量受不确定因素影响或者温度传感器自身存在一定的系统误差,在处理传感器输入量时需要进行平均滤波处理,具体做法是:将近十次结果相加然后在除以十平均,得到相对比较精确的温度值。4.3. 数字PID控制算法4.3.1. 位置式算式及PID参数本设计利用

16、了上面所介绍的位置式PID 算法,位置式基本算式为:u(n)= Kpe(n)+KI e(n)+KDe(n)式中 n 采样序号;u(n) 第 n 次采样时刻的控制器输出;e(n) 第 n 次采样时刻输入的偏差 ;e(n) 第 n 次采样时刻输入的偏差与第 n-1次采样时刻输入的偏差之差;KP 比例增益;KI 积分系数( KI Kp T/TI);KD 微分系数 (KD KP TD /T);T 采样周期 TI、 TD 分别为积分时间常数和微分时间常数。注:本设计中采样周期为一秒。控制程序得到当前温度值后,调用sPID函数,根据开始操作员所设定的控制参数运算产生输出结果fOut。由于被控对象的时间滞后

17、比较大,积分做用过强容易产生振荡,致使控制品质变差,因此,在程序设计是采用积分分离法,当偏差在5以内时才加上积分作用,这样就能有效的限制积分控制强度,保证稳定性,防止饱和现象出现,保证总体控制品质。4.3.2. 算法流程图: PID算法函数计算偏差e,并保存开始累计偏差u(n)=Kpe(n)+KIe(n)e(n)累计偏差项清零u(n)=Kpe(n)+KDe(n)输出100输出=100返回输出值NNYY图 434.4. 控制PWM脉宽输出4.4.1. 脉宽调制波产生根据PID算法所产生的控制数据fout,利用定时器产生占空比为fout/100的控制PWM波。具体实现流程如下:定时器中断m=m-1

18、驱动继电器断开驱动继电器吸合m!=0n!=0m=100,停止计数启动AD开始一次温度采集中断返回NNYY图 44程序中定时器的定时周期是1/100秒,标志量m的初始值为100,因此计数100次开启一次数据采集,所以采样周期为1秒。继电器的通断控制着加热电阻丝电流通断,从而控制加热丝提供给锅炉的热功率。以达到控制温度的效果。4.5. PC上位机监控程序设计4.5.1. 上位机监控程序简介本上位机是使用vc+6.0中提供的MFC编程方式编写而成,其两大功能模块InstallShield for Microsoft Visual C+ 6 打包发布,生成可以在其它电脑上独立使用的安装包程序。4.5.

19、2. 功能模块 串口通信由MScomm控件来实现,其主要设置如下: 初始化设置以下MScomm的各个参数设置,通过修改参数来实现不同场合下的串口通信要求。本程序结合对话框,可以实现常用参数的选择如:波特率、奇偶校验位、串口等,从而使其具有通用性。m_mscom.SetCommPort(6); /串口设置为6m_mscom.SetInBufferSize(1024); /设置输入缓冲区的大小,1024Bytesm_mscom.SetOutBufferSize(512); /设置输入缓冲区的大小,512Bytesif(!m_mscom.GetPortOpen() /判断串口是否打开m_mscom.

20、SetPortOpen(true); / 如果没有打开串口m_mscom.SetInputMode(1); / 设置输入方式为二进制方m_mscom.SetSettings(9600,n,8,1); /设置波特率为9600,无校验位,8bit数据, /1bit停止位 m_mscom.SetRThreshold(1); /为1 表示有一个字符即引发事件 串口响应if(2=m_mscom.GetCommEvent() /判断是否是由于接收数据引起的响应variant_inp = m_mscom.GetInput();safearray_inp = variant_inp; len = safear

21、ray_inp.GetOneDimSize();for (i = 0; i len; i+)safearray_inp.GetElement(&i, &rxdatai);/数据转换格式rxdatai = 0;m_nReData=rxdata0; /赋值给设定变量 发送数据根据实际需要,可能实时改变温度要求,因此可以通过控件向控制器发送设定值。 CByteArray sendArr;WORD wLength=1;unsigned char m_send=m_ndata;/数据类型转换sendArr.SetSize(wLength); / 设置发送数据长度sendArr.SetAt(0,m_sen

22、d); /发送数据 数据绘制曲线由MSChart控件来实现,其参数设置如下: 初始化设置 MSChart需要在程序中预设置X、Y轴参数,代码分析如下: m_Chart.GetPlot().GetAxis(1,var).GetAxisTitle().SetText(tempreture); /设置y轴标/题m_Chart.GetPlot().GetAxis(0,var).GetAxisTitle().SetText(time); /x轴标题m_Chart.GetPlot().GetAxis(1,var).GetValueScale(). SetAuto(FALSE); /不自动标注y轴刻度 m_

23、Chart.GetPlot().GetAxis(1, var).GetValueScale(). SetMaximum(100); /y轴最大刻度 m_Chart.GetPlot().GetAxis(1, var).GetValueScale(). SetMinimum(0); /y轴最小刻度 m_Chart.GetPlot().GetAxis(1,var).GetValueScale(). SetMajorDivision(5); /y轴刻度5等分 m_Chart.GetPlot().GetAxis(1,var).GetValueScale(). SetMinorDivision(10);

24、/每刻度一个刻度线 m_Chart.SetColumnCount(2); /1个温度项,2条曲线,1实时温度,2设定值 m_Chart.GetPlot().GetSeriesCollection().GetItem(1). GetPen().GetVtColor().Set(0, 255, 255); /实时曲线绿色 m_Chart.GetPlot().GetSeriesCollection().GetItem(2). GetPen().GetVtColor().Set(255, 0, 0); /设定值红色 m_Chart.GetPlot().GetSeriesCollection().Get

25、Item(1).GetPen().SetWidth(5);/线宽 m_Chart.SetRowCount(X_nrow); /一屏显示60个采样时刻 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale().SetAuto(FALSE);/不自动/标注x轴刻度 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale(). SetDivisionsPerLabel(5); /x轴每时刻一个标注 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale(). SetD

26、ivisionsPerTick(5); /每5时刻一个刻度线 m_Chart.GetBackdrop().GetFill().SetStyle(1); /背景颜色为灰色 m_Chart.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(125, 125, 125); 曲线绘制控件根据串口发送来的数据,绘制相应曲线。当曲线超过X轴最大刻度后,通过程序设计实现曲线向左移动,当前数据在最大刻度处显示。m_Chart.SetRow(cnt); /设置显示的x坐标m_Chart.GetDataGrid().SetData(cnt,1,m_nReD

27、ata,0); /绘制曲线 程序发布由于不是每台计算机上都装有vc+6.0及其相应的控件,所以需要将其打包为可独立安装的应用程序。通常不需要特殊控件的程序可以直接设置编译方式为“release”,本程序用到了两个控件MScomm和MSChart,需要使用vc+6.0 中的工InstallShield for Microsoft Visual C+ 6。方法是将程序用编译为release版本后,调用该工具。对其进行相应设置后编译即可。5. 致谢本科期间这四年内,学院提供了很好的实验环境,老师们谆谆教诲,使我受益匪浅,不论是从专业知识还是为人处世说起,我都取得了很大的进步,从一个懵懂的高中生,一步

28、步成为掌握了一定专业技能的大学生,今后还要攻读研究生。永远忘不了在曲师大求学的这段岁月,使人难忘而温暖。这次毕业设计进行的过程中,我的指导老师李坤老师给予我很大的帮助,不仅在技术问题上给予我很多指点,而且鼓励我勇于面对困难。李老师作为一个经验丰富的工程师,他的研究求实的治学态度和诲人不倦的为师风范将使我在今后的学习和工作中受益匪浅。在此谨向李坤老师表示由衷的感谢!最后祝愿母校腾飞,自动化学院更上一个台阶,老师们工作顺利,同学们前程似锦6. 参考文献1) 马江涛.单片机温度控制系统的设计实现 J .计算机测量与控制,2004.12(12)2) 魏小龙. MSP430系列单片机接口技术及系统设计实

29、例(附光盘) M. 北京: 北京航天航空大学出版社,2002.3) 沈建华,扬艳琴,翟骁曙. MSP430系列16位超低功耗单片机实践与系统设计(附光盘)/ M.北京:清华大学出版社,2005 .4) 谢楷,赵建. MSP430系列单片机系统工程设计与实践M. 北京:机械工业出版社,2009.5) 谢兴红,林凡强,吴雄英. MSP430单片机基础与实践 M. 北京:北京航空航天大学出版社,2008. 6) 胡大可. MSP430系列单片机C语言程序设计与开发.北京:北京航天航空大学出版社,2003 .7) 沈建华,杨艳琴. MSP430系列16位超低功耗单片机原理与实践.北京:电子工业出版社,2002 .

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!