基于51单片机的WIFI无线温度测控系统毕业论文.doc
《基于51单片机的WIFI无线温度测控系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机的WIFI无线温度测控系统毕业论文.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. . . . 计算机技术与科学学院课程设计报告( 2014 2015 学年 第 二 学期)课程名称:_ project3_ 班 级: 电子1201 学 号: 1402120119 1402120120 姓 名: 栋 凌锋 指导教师: 胡方强 武晓光 袁建华 包亚萍 毛钱萍2015 年 7 月目录第一部分 总体设计与选型分析41.1总体设计41.1.1受控模块41.1.2测温模块51.1.3单片机系统51.1.4显示模块51.1.5控制模块51.1.6 wifi模块51.1.7上位机51.2选型分析51.2.1受控模块方案51.2.2测温模块方案51.2.3控制模块方案61.2.4显示模块方案
2、6第二部分 电路硬件设计72.1受控模块72.2测温模块72.3单片机系统82.4显示模块92.5控制模块102.6 wifi模块112.7 上位机13第三部分 系统软件设计133.1主程序设计143.2子程序设计153.2.1 LCD1602子程序153.2.2 DS18B20子程序163.2.3 串口中断程序173.2.4 定时器中断程序173.2.5 PID子程序18第四部分 PID调试194.1 PID调节器控制原理194.2 位置式PID算法204.3 PID参数整定204.3.1 整定比例带204.3.2 整定积分时间204.3.3 优化参数214.3.4 关于微分214.3.5
3、死区设置21第五部分 系统性能优化215.1反应速度优化215.2稳定性优化225.3 优化前后系统性能对比23第六部分 问题总结246.1 硬件问题246.1.1 MOS管开关无常工作246.1.2 电脑无法连接WIFI模块246.1.3 下位机返回数据乱码246.1.4 液晶无法显示246.2 软件问题246.2.1 上位机与下位机无常通信246.2.2 PID程序无法调用256.2.3 DS18B20测温不稳定25第七部分 总结25参考文献25附录A 仿真图26附录B 受控模块实物图27附录C 程序28基于单片机的WIFI无线温度测控系统摘要:温度是一个非常重要的物理量,因为它直接影响燃
4、烧、化学反应、发酵、蒸馏、浓度、结晶以与空气流动等物理和化学过程。温度控制失误可能引起生产安全、产品质量、产品产量等一系列问题。本文介绍的是一个以单片机为核心的无线温度控制系统,主要通过WIFI模块完成远程温度控制功能。在一定的区间,在自动控制系统的控制下,温度始终在人们要求的围之。它利用单片机STC89C52、温度传感器DS18B20与LCD等器件实现。基本工作原理是单片机利用DS18B20对温度进行采集,通过串口传递给WIFI模块,再利用无线信号将数据传递给上位机(笔记本电脑或手机)进行温度显示。同时,上位机可以利用无线信号和通信串口发送目标温度给单片机,单片机利用置的PID算法进行控温。
5、关键词:单片机;WIFI发送接收;PID;温度控制;LCD显示第一部分 总体设计与选型分析系统的总体设计方案应在满足系统整体性能指标的前提下,充分考虑系统使用的环境,所选的结构要尽量简单实用、易于实现,器件的选用要着眼与合适的参数、稳定的性能、较低的功耗、低廉的成本以与较好的互换性能。1.1总体设计以下为本设计的总体框图显示模块wifi模块单片机系统测温模块受控模块上位机控制模块1.1.1受控模块受控对象为水泥电阻和12v供电的风扇,水泥电阻使用12v电源进行加热,风扇用来对水泥电阻进行降温,使其达到目标温度,从而实现温度控制。1.1.2测温模块测温电路核心器件是温度传感器DS18B20。DS
6、18B20测得水泥电阻的温度传输给单片机进行相应的处理。1.1.3单片机系统本设计的单片机使用51单片机。单片机系统连接受控模块、显示模块、控制模块、wifi模块四个部分。1.1.4显示模块显示模块使用LCD1602进行显示,由单片机驱动,显示测温对象的当前温度以与目标温度。1.1.5控制模块控制部分使用MOS管作为开关器件来控制对受控对象的加热以与降温从而达到温度控制的效果。单片机根据置的PID程序输出不同占空比的PWM波,控制MOS管的通断,从而达到控温的目的。1.1.6 wifi模块wifi模块为有人的USR-WIFI232-T。wifi模块通过串口与单片机系统之间进行双向的数据传输,具
7、体数据由与wifi模块连接的上位机决定。1.1.7上位机上位机软件使用wifi模块配套的软件,而不去重新编写以加快进度。上位机通过wifi模块向下位机发送两种指令。一种是查询指令,要求下位机返回受控对象当前的温度;另一种是控制指令,修改测温对象的目标温度。1.2选型分析1.2.1受控模块方案方案一:将水泥电阻和风扇均直接置于外界环境中。该方案利于风扇对水泥电阻的降温,但外界环境的空气流动以与温度变化将会对水泥电阻的加热产生较大影响。方案二:将水泥电阻和风扇均至于密闭的容器。该方案可以减小外界环境变化对水泥电阻加热的影响,但由于空气难以流动使得风扇的降温效果较差。方案三:将水泥电阻置于容器,将风
8、扇固定在容器外,并在容器上风扇扇叶位置钻孔。钻孔的容器仍有较好的隔热效果,且风扇工作时容器外的空气能较好的进行热交换。综合考虑,本设计采用方案三。1.2.2测温模块方案方案一:使用数字型DS18B20温度传感器。DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。它是单线接口方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;测温围 55125,在10-50C围精度高达0.1C;支持多点组网功能,多个DS18B20可以并联在唯一的三线上;且在使用中不需要任何外围元件。方案二:使用pt100通过电桥将温度变化转换为电压变化供单片机识
9、别。铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量围大、复现性和稳定性好等,被广泛用于中温(-200650)围的温度测量中。PT100是一种广泛应用的测温元件,在-50600围具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。方案二用的是温敏电阻传感器,它是将温度变化转化为电阻变化,再通过外围电路转换为电压信号,虽然测量围较大,但操作复杂,且对外界的环境要求很高,不宜实现。方案一利用的是DS18B20传感器,可以用单片机驱动,简单易于实施,所以基于以上的分析和题
10、目的要求,我们选择方案一。1.2.3控制模块方案方案一:使用MOS管作为开关控制。MOS管为压控流型器件,通过单片机IO口电平的不同可以控制电源通断,反应迅速,但由于单片机IO口的电压限制难以直接驱动MOS管,因此需要在单片机IO口外接一个三极管以增加驱动电压,然后接MOS管控制电源通断。方案二:使用继电器作为开关控制。选用继电器可以将加热电路与控制电路分离,以避免相互之间的干扰,但继电器的开关会有机械振动,影响系统的稳定性切会产生较大噪声,而且继电器的开关寿命短,反应速度要比MOS管慢得多,不适用于需要频繁开关的电路。本设计控制方法为单片机IO口输出不同占空比的PWM波以调节水泥电阻的加热功
11、率,以与风扇的降温功率,因此采用方案一比较合适。1.2.4显示模块方案方案一: 采用通用的LED数码管。该方案成本较低,电路设计简单,程序的编写也相对来说较方便。但数码管只能显示数字,且显示位数越多所需的驱动电流就越大,需要另外设计驱动电路。方案二:采用LCD1602液晶。LCD1602液晶模块部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。这样在显示温度数据的时候就比较直观,同时在一定程度上也增加了字符的丰富感。但成本较高,编程较为复杂。方案三:采用LCD12864液晶。带
12、中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。但成本高,编程复杂。为了更加方便的满足设计要求,并节约成本,我们采用了方案二,采用LCD1602进行显示。第二部分 电路硬件设计设计由受控模块,测温模块,单片机系统等部分构成,具体框图请参照第一页的总体框图。该
13、设计的核心为单片机系统。测温模块测得温度之后传递给单片机,单片机根据当前温度与目标温度调用不同的程序去驱动控制模块对受控模块进行控制。单片机作为下位机,与上位机进行双向的数据传输。下位机接受上位机的指令并给出一定的反馈。2.1受控模块受控模块的受控对象为水泥电阻和12v供电的风扇,因为水泥电阻和风扇无法仿真,在仿真电路中以LED串联10K电阻来模拟,LED的亮灭指示加热电路通断以与风扇是否工作。本设计将四个3欧姆的水泥电阻串联焊接在电路板上并将其悬挂于用亚克力板制成的密封容器。由于容器相对静止的空气有较好的隔热效果,可以减小外界环境对水泥电阻温度的影响。两个水泥电阻缝隙间的温度较为稳定,利于温
14、度传感器读取稳定的温度值。风扇固定在容器外部,并在容器上风扇扇叶的位置以与容器上该面的相对面上的相应位置钻孔。当风扇工作时容器外的空气通过容器两个相对面上的小孔流通,从而打到降温的效果。另外,我们在小孔位置悬挂了一片塑料膜,当风扇工作时塑料膜被吹起,可以指示风力的大小,当风扇不工作时塑料膜覆盖在小孔上,从而减小外界环境通过小孔对容器部的影响。2.2测温模块测温模块使用DS18B20。DS18B20是美国Dallas半导体公司的新一代数字式温度传感器,它具有独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微
15、机接口时需要的A/D转换器与其他复杂外围电路的缺点,而且,可以通过总线供电,由它组成的温度测控系统非常方便,而且成本低、体积小、可靠性高。DS18B20的测温围-55+125最高分辨率可达0.0625,由于每一个DS18B20出厂时都刻有唯一的一个序列号并存入其ROM中,因此CPU可用简单的通信协议就可以识别,从而节省了大量的引线和逻辑电路。Dallas公司的单总线技术具有较高的性价比,适用于低速测控场合,测控对象越多越显示出其优越性;硬件施工、维修方便,抗干扰性好;具有CRC校验功能,可靠性高;软件设计规,系统简明直观,易于掌握。DS18B20的温度传感器是通过温度对振荡器的频率影响来测量温
16、度的,如下图所示。DS18B20部有两个不同温度系数的振荡器。低温系数振荡器输出的时钟脉冲信号通过由高温系数振荡器产生的门开通周期而被计数,通过该计数值来测量温度。计数器被预置为与-55对应的一个基数值,如果计数器在高温系数振荡器输出的门周期结束前计数到零,表示测量的温度高于-55,被预置在-55的温度寄存器的值就增加一个增量,同时为了补偿和修正温度振荡器的非线性,计数器被斜率累加器所决定的值进行预置,时钟再次使计数器计数直至零,如果开门通时间仍未结束,那么重复此过程,直到高温系数振荡器的门周期结束为止。这时温度寄存器中的值就是被测的温度值。这个值以16位二进制补码的形式存放在便笺式存储器中。
17、温度值由主机通过读存储器命令读出,经过取补和十进制转换,得到实测的温度值。2.3单片机系统本设计采用的单片机是STC89C52(仿真图中是AT89C52)。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。下图为proteus仿真图中的最小系统部分,包括了STC89C52以与周围的复位电路和晶振电路
18、。晶振电路中使用的电容为22pf,晶振为11.0592HZ。复位电路中的电阻为10K,电容为22uf。2.4显示模块1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,它显示的容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。设计采用LCD1602液晶,它与单片机P0和P3口相连接,单片机根据所测得的温度数据和部存储的目标温度通过编程实现在LCD1602上显示。在proteus中1
19、602的VSS/VDD/VEE都默认接上相应电压,无须再接,背光源省略。值得一提的是本设计中8位数据位接的是单片机的P0口,由于P0口的驱动能力较弱,此处使用10k的排阻进行上拉。RS接单片机P34口,来选择传输的是命令还是数据。使能端E接单片机P35口来控制液晶的开启与关闭。读写控制端RW接P36,控制液晶操作是读还是写。2.5控制模块控制模块的电路图如下所示(受控对象由LED与电阻串联模拟)。控制电路共两个,分别控制水泥电阻的加热和风扇的工作,因为两个电路一样,此处只列出一个。控制模块工作原理:当单片机控制端加低电平时,三极管Q1导通,这时Q1的上端,也就是C极被系统拉到0V左右,这时MO
20、S管Q3的G极为0V,所以此时MOS管的DS端不会导通。当单片机控制端加高电平时,三极管Q1不导通,这是Q1的上端,也就是C极电位为Vcc(15V)-R4两端的压降,电流穿过R3后被稳压管D3稳压在12V,则此时MOS管的G极电压为12V,所以MOS管导通,负载工作。2.6 wifi模块wifi模块为采用实验室提供的有人USR-WIFI232-T。下图分别为USR-WIFI232-T外观图和管脚定义。本设计只用到该模块的1至6号管脚。USR-WIFI232-T管脚功能定义单片机采用5v供电,而wifi模块采用3.3.v供电,因此需要转换电路,否则下位机无确返回数据。2.7 上位机本设计中使用笔
21、记本电脑作为上位机,通过wifi模块配套的串口助手发送指令。当发送查询指令(十六进制00)时,下位机返回当前温度,并显示TURN ON THE 18B20!。当发送控制指令(十六进制29至3D,对应的十进制数为目标温度,例如发送2D,即将目标温度修改为45)时,目标温度被修改,返回提示信息TARGET has been changed! The TARGET is *,并立刻在下位机控制的LCD上显示。当发送其他指令时,下位机关闭温度返回,显示TURN OFF THE 18B20!。第三部分 系统软件设计温度测量系统的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,同样采用模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 WIFI 无线 温度 测控 系统 毕业论文
限制150内