欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    简单温度控制新版专业系统设计方案报告.doc

    • 资源ID:97841624       资源大小:666.54KB        全文页数:16页
    • 资源格式: DOC        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简单温度控制新版专业系统设计方案报告.doc

    计算机控制系统实践课程设计报告设计题目:基于AT89C52RC温度控制系统指引教师:报告人 :学号 :报告日期 :摘要本报告中所述温度控制系统,是基于AT89C52RC控制器闭环温度控制系统。控制系统通过数字温度传感器DS18B20采集水温传递给控制器。通过控制器对数据分析与解决,实现对继电器控制,从而实现对加热器启动与停止。通过对温度控制系统设计,咱们掌握了对一种简朴闭环系统设计。并实际动手完毕了这一过程,使得自己对知识学习从理论过渡到了实际应用之中。一、系统设计方案:图1 系统方案构造图1.1传感器DS18B20:DS18B20数字温度计提供9-12位摄氏温度测量并且有一种由高低电平触发可编程不因断电而变化报警功能。DS18B20由一种单线接受或发送信息,因而解决器和DS18B20之间只由一根数据线连接。它测量范畴是-55125,并且在-1085之间,精度为±5。除此之外,DS18B20可以从单数据线上汲取能量,除去了对外部电源需求。DS18B20惯用封装有SOIC、T0-9以及不锈钢密封封装。因本系统需测量水温,故选取不锈钢密封封装DS18B20。图2 DS18B20外围电路图1.2 驱动芯片ULN因51单片机灌/拉电流比较小(大概在20mA左右),本项目所选用继电器为SRD-05VDC-SL-C其线圈电流大概是72mA。因此在单片机管脚与继电器线圈之间需加入一种驱动芯片。为此,本项目选用集成芯片ULN作为继电器驱动芯片。ULN是一种单片高电压、高电流达林顿晶体管阵列集成电路。它是由7对NPN达林顿管构成,它高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对集电极电流是500mA。达林顿管并联可以承受更大电流。此电路重要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器。ULN每对达林顿管均有一种2.7k串联电阻,可以直接和TTL或5V CMOS装置图3 达林顿管内部电路在温度控制系统中ULN用来驱动继电器线圈,其外围电路如图4:图4 ULN与继电器外围电路1.3 继电器 SRD-05VDC-SL-C本项目从硬件功能上分,可以分为一次回路和二次回路。一次回路重要设备就是加热器。二次回路即单片机控制回路。这是一种典型弱点控制强电系统。咱们用单片机发出控制信号作为一次回路开关操作信号。实现这一过渡器件就是继电器。依照单片机参数以及一次回路电流、电压大小,咱们选取了SRD-05VDC-SL-C继电器。该继电器线圈供电电压是直流5v电压,拥有一种单刀双掷开关。咱们将开节点接在火线上,控制加热启动与停止。继电器如图5图5 SRD-05VDC-SL-C继电器实物图二、程序设计2.1程序系统框图设计图6 程序流程图系统上电后,进行设备初始化,涉及继电器、批示灯、中断初始化。然后系统进入循环,控制器命令DS18B20不断采集温度信息,并进行解决。最后运用中断进行判断,中断采用16位非自动重装计数,计时间隔3ms。当温度不大于30时进行加热,当温度不不大于30时停止加热。总结通过本次对于温度控制系统设计,使我理解了设计闭环控制系统大体流程。通过对系统所需器件选型、焊接与调试,使自己实际动手能力得到了锻炼。此外,通过对控制系统设计还锻炼了咱们编程能力,以及使用软件绘制电路原理图能力。在制作过程中,咱们也遇到了某些问题,通过查找资料,小组讨论以及小组答疑形式这些问题也都得到理解决。在教师耐心指引下,通过咱们共同努力,最后完毕了这个项目。温度控制系统设计让咱们能有机会把自己学过东西应用于实际之中,解决实际问题,这让咱们受益匪浅。附录1 温度控制系统电路原理图附录2 AT89C52RC程序#include "reg52.h"#include<intrins.h>#include <math.H> #define uchar unsigned char #define uint unsigned intsbit relay=P20; / 继电器线圈sbit ds=P27; / DS18B20数据线sbit ledrun=P25; / 加热批示灯int tempValue1;unsigned int temp;bit heat_flag=0;uchar code th0=(65535-3000)/256;uchar code tl0=(65535-3000)%256; void delay(unsigned int i)unsigned int j; while(i-) for(j=0;j<125;j+); void dsInit()unsigned int i; ds = 0; i = 100; while(i>0) i-; ds = 1; i = 4; while(i>0) i-;void dsWait()unsigned int i; while(ds); while(ds); i = 4; while(i > 0) i-;bit readBit()unsigned int i; bit b; ds=0; i+; ds=1; i+;i+; b=ds; i=8; while(i>0) i-; return b;unsigned char readByte()unsigned int i; unsigned char j,dat; dat = 0; for(i=0;i<8;i+) j = readBit(); dat = (j << 7) | (dat >> 1); return dat;void writeByte(unsigned char dat)unsigned int i; unsigned char j; bit b; for(j = 0;j < 8;j+) b = dat & 0x01; dat >>= 1; if(b) ds = 0; i+;i+; ds = 1; i = 8;while(i>0) i-; else ds = 0; i = 8;while(i>0) i-; ds = 1; i+;i+; void sendChangeCmd()dsInit(); dsWait(); delay(1); writeByte(0xcc);writeByte(0x44);void sendReadCmd()EA=0; dsInit(); dsWait(); delay(1); writeByte(0xcc);writeByte(0xbe);EA=1;int getTmpValue() unsigned int tmpvalue; int value; float t; unsigned char low,high;EA=0; sendReadCmd(); low = readByte(); high = readByte(); tmpvalue = high; tmpvalue <<= 8; tmpvalue |= low; value = tmpvalue; t = value * 0.0625; value = t * 100 + (value > 0 ?0.5 :-0.5); return value;EA=1;void Init_timer0()TMOD=0x01;TH0=th0;TL0=tl0;EA=1;ET0=1;TR0=1;void timer0() interrupt 1TR0=0;if(heat_flag=1)relay=1;Ledrun=1;elserelay=0;Ledrun=0;TH0=th0;TL0=tl0;TR0=1;void main()ledrun=0;relay=0;Init_timer0();while(1) sendChangeCmd(); tempValue1 = getTmpValue(); temp = abs(tempValue1); if(temp<3000) heat_flag=1; else heat_flag=0;

    注意事项

    本文(简单温度控制新版专业系统设计方案报告.doc)为本站会员(知***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开