电子式温度调节器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:
本设计是在帕尔贴效应的理论基础上,以STC89C52单片机为控制核心,使用DS18B20温度传感器实时温度转化,并通过12864液晶显示屏对温度实行实时显示,同时采用制冷片TEC112706正反轮流导通的方式,将温度保持在键盘设定的温度。
关键词:单片机;温度传感器;液晶显示屏;制冷片
目录
1系统方案1
1.1 测温模块的论证与选择1
1.2 电源电路切换模块的论证与选择1
1.3 控制系统的论证与选择2
1.4 显示模块的论证与选择2
1.5键盘模块3
2系统理论分析与计算3
3电路与程序设计5
3.1电路的设计5
3.1.1系统总体框图5
3.1.2 电源转换电路子系统的设计5
3.1.3 STC89C52单片机子系统的设计6
3.1.4电源的设计7
3.1.5温度采集电路子系统电路的设计8
3.1.6键盘模块10
3.2程序的设计10
3.2.1程序功能描述10
3.2.2程序流程图10
4测试方案与测试结果11
4.1测试方案11
4.2 测试条件与仪器11
4.3 测试结果及结论12
参考文献:13
附录一:元件清单14
附录二:表2-1DS18B20温度与测得值对应表15
1系统方案
本系统主要由测温模块、电源电路切换模块、控制系统模块、显示模块、键盘模块及电源模块组成,下面分别论证这几个模块的选择。
1.1 测温模块的论证与选择
方案一:PT100温度传感器采用铂金属,它的阻值随温度上升而匀速增长,但是外接硬件电路复杂,需AD转换,测量围小,精度一般。
方案二:采用数字温度传感器DS18B20,因其部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
鉴于DS18B20以上优点,故采用方案
1.2 电源电路切换模块的论证与选择
方案一:使用开关型手动切换电路
不能受单片机控制,耗费人力,切换不及时,精度不准确,易受人为干扰等。
方案二:使用继电器
使用两个继电器在电路初始状态下是输出端全部接地使电路在初始状态时处
于不工作状态,而且它能实现单电源的正负实时切换,简单易行,元器件选择
容易,焊接简单且控制效果很不错。
以上两种方案,方案二切实可行,所以选择方案二
1.3 控制系统的论证与选择
方案一:采用ARM7芯片LPC2148
具有512K flash程序存储空间、主频达48M、三个定时器、四个外部中断、部RTC、采用三级流水线模式运行程序,拥有I2C、SPI、UART等通信接口。同时其芯片引脚也较多,不便控制。且价格较贵。
方案二:STC89C52单片机
STC89C52与AT89C51基本性能相同,但STC89C52 RAM较多,8K flash,串口可以直接烧程序,可以和Keil直连。STC89C52单片机价格低廉,C语言程序编写容易,控制方便,结构简单,价格便宜,易于开发。有总线扩展,有较强的位处理功能,有全双工异步串行通信口。
本设计采用Keil软件实现其软件部分的设计,故选择方案二。
1.4 显示模块的论证与选择
方案一:采用LCD1602液晶屏
1602液晶是一种专门用来显示字母、数字、符号等的液晶模块。屏幕为2行,每行显示16个字符,它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好
方案二:采用LCD12864液晶屏
它是具有4位/8位并行、2线或3线串行多种接口方式,它可以显示汉字,也
可完成图形显示,低电压,低功耗。硬件电路结构或显示程序都要简洁得多,
且该模块的价格也略低于相同点阵的图形液晶模块。
综上所述,方案二比较好,故选择方案二。
1.5键盘模块
方案一:矩阵式键盘
矩阵式键盘适合于输入命令或者数据较多、功能复杂的系统。采用矩阵式
键盘结构可以最大限度地使用单片机的引脚资源,矩阵式键盘适用于按键
数量较多的场合, 由行线和列线组成, 按键位于行列的交叉点上,节省I/O
口,因此其应用十分广泛。
方案二:非矩阵式键盘
非矩阵式键盘结构比较简单,使用方便,适合于较少开关量的输入场合。
每个按键需占用一根I/O 口线,在按键数量较多时,I/O 口浪费大, 电路结
构显得复杂。并且此键盘是用于按键较少或操作速度较高的场合。
在系统设计中需要通过键盘中输入设定值,使用矩阵键盘比较方便快捷所以键盘模块采用方案一。
2系统理论分析与计算
2.1 最小二乘理论获取温度―电阻公式
根据误差理论,我们要获得较高精度的温度测量值,办法一般有2个,要么采用查表法,要么建立高精度的数学模型。如果用查表法,主要有2个问题,如果要提高测量精
度,则需要建立大量的表格,而且得提前做大量得试验来进行多点校正,还有一个问题是程序的通用性差,这台仪器上校正好得数据可能在另一台上不合适。而采用已知的分度表,建立数学模型,然后通过工程量(标度)变换计算得到。这里我们考虑第2种方法的优点,首先采用分段的方法,将测量围分段,然后查出该段的数学模型的各个系数,然后计算出温度值,这里,由于时间的关系,我们对整个测量围分了3段,分别为0-49℃、50-70℃、71-100℃,利用分度表进行离线的数学拟合,得到各段的数学模型系数。同时,可通过再将标度值代入可粗略估计在各个测量段的最大误差值。
我们通过最小二乘法进行线性拟合,得到如下的数学模型为:
T1=2.5772R-257.7708 0-49℃
T2=2.6366R-267.01 50-70℃
T3=2.7206R-281.90 71-100℃
上述3个数学模型中,最大的理论误差值都小于0.5℃,能够满足精度要求,
2.2温度数据的计算处理方法
从DS18B20读取的二进制值必须先转换成十进制值,才能用于字符显示,因为
DS18B20的转换精度为9到12位可选的,为了提高精度选取12位,在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。
通过观察附录二表2-1DS18B20温度与测得值对应表可以发现一个十进制值和二进制值之间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化为十进制后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值围是0~F,转换成十进制就是0.0625的倍数(0~15),这样需要4