欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    智能仪器课程设计反应器的智能温控仪表设计.doc

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

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

    智能仪器课程设计反应器的智能温控仪表设计.doc

    智能仪器设计 课程设计 设计名称 反应器的智能温控仪表设计 专业班级 学 号 姓 名 指导教师 目 录摘要2第一章 国内外温度检测技术的发展动向3第二章 设计要求4第三章 设计原理4第四章 设计内容44.1硬件电路的设计54.1.1主控芯片STC89C51的接口连接54.1.2电源电路54.1.3 LED显示电路64.1.4 AD转换器TLC1549的电路连接64.1.5 DA转换器TLC5615的电路连接84.1.6 I2C接口存储器24C02和蜂鸣器的电路连接104.1.7 4-20mA电流输出电路104.1.8功率输出电路114.1.9热电阻CU50信号调理电路114.2软件电路的设计124.2.1主程序134.2.2读写程序134.2.3报警程序164.2.4数字滤波174.2.5标度变换174.2.6非线性矫正184.2.7比例控制算法194.2.8按键处理程序204.2.9数据扫描程序22第五章 总结23第六章 参考文献24 摘 要温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量,也是工业控制中主要的被控制参数之一,对温度的测量与控制在现代工业中也是运用的越来越广泛。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本课程设计基于CU50传感器和STC89C51单片机的智能测温仪表。智能测温仪表电路主要由STC89C51单片机、按钮、数码管、LED显示、串行通信接口、电源、ADC、E2PROM等电路组成,其以51单片机为核心控制部件,利用CU50阻值随温度变化的特点,将其和其他三个电阻构成非平衡电桥,因而,温度的变化可转化成电桥输出微弱电压信号的变化,电压信号经集成运放电路放大后送到A/D转换器,将模拟信号变换成数字信号。单片机根据输入量和设定量进行运算,将结果送到数码管显示,完成对温度的测量。主要介绍了温度的自动测量,包括温度传感器、单片机接口及其应用软件的设计,大体分为以下几大部分:介绍了国内外温度检测技术和软件电路和硬件电路的设计,并且分析了温度检测技术的未来发展方向;根据实际使用要求设计了相应的单片机硬件系统,该系统能够实现数据采集、 数据处理、温度值的在线显示以及时钟电路的时间显示对该温度仪表的未来发展进行了展望。微电子技术和通信技术的发展极大地促进了智能测量控制仪表的发展。单片机技术、通信技术及各种功能芯片的广泛使用为智能仪表的设计提供了新的方案,使智能仪表成为了现代测控技术的主要工具。本文以电阻炉为控制对象、智能仪表为控制工具、热敏电阻为温度传感器、移相触发模块为执行元件、RS-485串口通信设计温度控制系统。 关键词:温度测量 多功能 智能化 单片机第一章 国内外温度检测技术的发展动向随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,一般可以归纳以下几方面。(1) 扩展检测范围。现在工业上通用的温度检测范围为一20030000C,而今后要求 能 测 量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如IOK 以 下 的温度检测是当前重点研究课题。(2) 扩大测温对象。温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用 范 围 己经从工业领域延伸到环境保护、家用电器、汽车工业及航天工业领域 。(3) 发展新型产品。利用老的检测技术生产出适应于不同场合、不同工况要求的新型 产 品 ,以满足于用户需要。同时利用新的检测技术制造出新的产品。(4) 适应特殊环境的测温。在许多场合中的温度检测器有特殊要求,例如防爆、防硫 、 耐 磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温 、 火 焰温度检测等。(5) 显示数字化。温度仪表向数字化方向发展。其最大优点是直观、无度数误差、分辨 率 高 、测量误差小,因而有广阔的销售市场。(6)标定自动化。应用计算机技术,快速、准确、自动地标定温度检测器。根据上述要求,国内外温度仪表制造商将向以下几方面发展。(1) 继续生产量大面广的传统温度检测元件,如:热电偶、热电阻、热敏电阻等。(2) 加强新原理、新材料、新工艺的开发。如近来己开发的炭化硅薄膜热敏电阻温度 检 测 器,厚膜、薄膜铂电阻温度检测器,硅单晶热敏电阻温度检测器等。(3) 向智能化、集成化、适用化方向发展。新产品不仅要具有检测功能,又要具有判 断 和 指令等多功能,采用微机向智能化方向发展。随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测使用的温度计种类繁多,应用范围也较广泛,大致包括以下几种方法:(1) 利用物体热胀冷缩原理制成的温度计。(2) 利用热电效应技术制成的温度检测元件。利用此技术制成的温度检测元件主要是 热 电 偶。(3) 利用热阻效应技术制成的温度计。用此技术制成的温度计大致可分成以下几种: 电 阻 测温元件、导体测温元件、陶瓷热敏元件。第二章 设计要求(1) 反应器由800W电加热器加热,最高温度为100°C。(2) 反应器的温度可以设置,恒温控制过程为设置的温度,温度控制误差±1°C。 (3) 可以实时显示设置温度和实际温度,显示精度为1°C。 (4)当实际温度超出设置温度±2°C时发出报警 (5)采用STC89C51单片机和12Hz的晶振; (6)采用位式控制、并用晶闸管过零驱动电加热器(电源电压为AC220V)。 (7)传感器为热敏电阻。第三章 设计原理根据系统的设计要求,本方案采用单片机系统为核心,采用热敏电阻CU50作为温度传感器采集温度信号,经信号放大器放大后,送到A/D转换芯片,经单片机检测处理温度信号,通过存储器对温度数据进行存储,并通过8位数码管对温度进行显示,还可以通过功率驱动电路用单片机驱动具有交流220V电压的电阻性负载,如果需要输出与温度成正比的440mA电流,则需要D/A转换芯片将单片机处理的数字信号变成模拟信号。原理设计方框图如下:片外扩展存储器A/D转换键盘输入接口通讯接口单片机D/A转换打印机接口显示器接口 第四章 设计内容主要由硬件电路和软件电路两部分,其中硬件电路由电源电路、主控芯片STC89C51的接口连接、数码LED显示电路、I2C接口存储器和蜂鸣器的电路连接、AD和DA转换电路等等。软件设计主要包括主程序、报警程序、数据扫描程序和按键处理程序。4.1硬件电路的设计由题目的设计要求可知,本设计主要采用STC89C51单片机为主芯片,再加上电源电路、LED显示电路,AD和DA转换、蜂鸣器、4-20mA电流输出电路、功率输出电路、热电阻CU50信号调理电路组成。4.1.1主控芯片STC89C51的接口连接单片机采用11.059MHz的时钟,单片机的P0口作为I/O使用时,需要外接上拉电阻,在本系统中,上拉电阻的阻值为1K4.1.2电源电路电路电源输入是220VAC输入,输出为为+12V和+5V电压。4.1.3 LED显示电路为了节省I/O空间,本系统采用两个8D锁存器74HC373分时锁存段码和位码,锁存器74HC373的功能为:OE是输出使能控制,OE=1时,输出高阻,OE=1时,输出等于锁存器输出;LE为锁存控制端,LE=1时,锁存器输出与输入相同,LE=0时,锁存器锁存输入信号。两排各4个数码管显示,分别显示测量值与设定值。 数码LED显示电路4.1.4 AD转换器ADC0809的电路连接ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺。0809是采用逐次比较的方法完成A/D转换的。由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由C、B、A的编码来决定所选的通道。0809完成一次转换需100微秒左右,输出具有TTL三态锁存缓冲器,可直接连到MCS-51的数据总线上。通过适当的外接电路,0809可对0-5V的模拟信号进行转换。ADC0809的内部逻辑结构如图6所示。 ADC0809的内部逻辑结构如图中所示,多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。地址锁存于译码电路完成对A、B、C三个地址位进行锁存和译码,其译码输出用于通道选择,如表1所示。表1 通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN78位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。输出锁存器用于存放和输出转换得到的数字量。(6) A/D0809信号引脚介绍 ADC0809芯片为28引脚双列直插是封装,其引脚排列见图4-7:对ADC0809主要信号引脚的功能说明如下: IN7IN0:模拟量输入通道。ADC0809对输入模拟量的要求主要有:信号单极性,电压范围05V,若信号过小还需进行放大。另外,在A/D转换过程中模拟量输入的值不应变化太快,因此,对变化速度快的模拟量,在输入前应增加采样保持电路。 A、B、C:地址线。A为地位地址,C为高位地址,用于对模拟通道进行选择。上图中为ADDA、ADDB和ADDC,其地址状态与通道相对应的关系见表3。 ALE:地址锁存允许信号。在对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。ADC0809引脚图 START;转换启动信号。START上跳沿时,所有内部寄存器清零;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。 D7DO:数据输出线。其为三态缓冲输出形式,可以和单片机的数据线直接连接。 OE:输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0时,输出数据线呈高电阻;OE=1时,输出转换得到的数据。 CLOCK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHZ的时钟信号。 EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 VCC:+5V电源。 VREF:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(VREF(+)=+5V,VREF(-)=0V)。(7) ADC0809应用说明1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 2) 初始化时,使ST和OE信号全为低电平。 3) 送要转换的哪一通道的地址到A,B,C端口上。 4) 在ST端给出一个至少有100ns宽的正脉冲信号。 5) 是否转换完毕,我们根据EOC信号来判断。 6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。(8) ADC0809的工作过程1)当模拟量送至某一输入通道INT后,CPU将标识该通道编码的三位地址信号经数据线或地址线输入到ADDC、ADDB、ADDA引脚上。2)地址锁存允许ALE锁存这三位地址信号,启动命令START启动A/D转换。3)转换开始,EOC变低电平,转换结束,EOC变为高电平。EOC可作为中断请求信号。4)转换结束后,可通过执行IN指令,设法在输出允许OE脚上形成一个正脉冲,打开三态缓冲器把转换的结果输入到DB,一次A/D转换便完成了。(9)ADC0809与CPU的接口技术由于ADC0809输入端具有可控的三态输出门,所以它既能同微处理器直接相连,也能通过并行接口芯片同微处理器连接。 4.1.5 DA转换器TLC5615的电路连接TLC5615是一个串行10位DAC芯片,性能比早期电流型输出的DAC要好。只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机/DSP)进行接口,适用于数字失调与增益调整以及工业控制场合。其内部框图如下:(1)其主要特点如下:·单5V电源工作·3线串行接口·高阻抗基准输入端(见上框图)·DAC输出的最大电压为2倍基准输入电压·上电时内部自动复位·微功耗,最大功耗为1.75Mw·转换速率快,更新率为1.21MHz (2)主要引脚功能参数如下:DIN:串行数据输入端;DOUT:用于级联时的串行数据输出端;SCLK:串行时钟输入端;AGND:模拟地;REFIN:参考电压输入端;:芯片选择端,低电平有效;OUT:DAC模拟电压输出端;VDD:正电源端。(3)主要时序图TLC5615的时序图(4)STC89C51单片机与TLC5615之间的接线图TLC5615采用+5V模拟电压作为参考电压,通过电位器RPD1可以精确调整参考电压,单片机的引脚P1.3、P1.4、和P1.5和TLC5615连接,JDAC连接器用于输出模拟信号,DAC输出电压范围可达0.25V4.75V。4.1.6 I2C接口存储器24C02和蜂鸣器的电路连接24C02系列E2PROM芯片地址的固定部分为1010,E2、E1、E0引脚接高、低电平后得到确定的3位编码,形成的7位编码即为该器件的地址码, 由于这里只寻址1个24C02,三个地址输入脚都接地,所以该芯片的地址为1010 000x,x为读写位。24C02用于保存设定值,其串行数据引脚SDA接单片机的P3.6,时钟引脚SCL接单片机的P3.7。蜂鸣器用于报警,三极管的基极接单片机的P3.2,高电平有效。4.1.7 4-20mA电流输出电路由于负载电阻与RS5在同一支路,忽略三极管基极产生的电流,则该电路的电路输出范围为024mA。 420mA电流输出电路电路接收10位DAC芯片TLC5615输出的模拟信号,信号范围为04.6V。若TLC5615输出电压为4.6V,由于RS2=2.32k,因此流过RS2的电流IRS2=2mA;该电流流过RS3与电位器RPS1的串联电路,产生的压降1.2V,因此流过RS5的电流为4.1.8功率输出电路该电路采用光隔离过零型晶闸管驱动电路MOC3063Q驱动双向晶闸管BTA12,在驱动20A触点的接触器驱动2000W点加热器。单片机输出低电平时,接触点闭合,使加热器接通220V电源,开始加热。本系统采用单片机过零型晶闸管驱动电路,用单片机驱动具有交流220V电压的电阻性负载,这种情况,相当于单片机控制一个交流功率开关,控制负载得电与失电,特别是开关的接通时间在交流点过零瞬间,因此对电网冲击小,电磁波辐射小4.1.9热电阻CU50信号调理电路在本系统里,调理电路采用的是电桥法,调理电路如下图所示。本电路采用TL431稳压电路向Cu50电桥供电,由于电桥只有连接Cu50电阻的桥臂电阻发生变化(5077.83),因此属于有原理误差电桥电路。为了减少Cu50电阻变化引起桥臂电流变化产生的误差,将电桥电阻RT2、RT3的阻值选择3k。在温度为0时,Cu50的阻值为50,电桥通过RPT1调零后,电桥输出电压为0,假若TL431稳压值为2.5V,则流过Cu50的电流为在温度为130时,Cu50阻值为77.83,则Cu50的阻值变化了28.83,假若忽略电阻改变引起的电流变化,则电桥的输出为该信号采用LM258(UT2A)实现放大,由UT2A组成的差动放大器的放大倍数为18,则UT2A输出电压为再由UT2AB组成的同向放大器放大8.2倍后,UT2B输出电压为主要是LM258在5V电源时,最大输出电压为3.6V左右,调节RPT2,可实现满幅值调度。若ADC采用4.096V电压作为参考电压,则ADC输出的每个数字代表,对于3.3V的电压输入,ADC输出的数字为,对于130的测温温度,每个ADC数字代表为。4.2软件电路的设计进行微机测量控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个测量对象的实际需要设计应用程序。因此,软件设计在微机测量控制系统设计中占重要地位。对于本系统,软件设计更为重要。软件设计主要是对温度进行采集、显示,通过按键操作,进行时间的设置与修改。因此,软件是单片机运行的程序,程序通过单片机与单片机的引脚指挥各个硬件电路部分,进而控制各种各样的对象,实现对象控制的自动化与智能化。软件处理的任务主要有AD转换、数据处理、数据显示、键盘输入、保存数据,报警等。在单片机测量控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换、非线性校正、PID等各种控制算法、按键处理、数据扫描等等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便达到测量控制目的。4.2.1主程序#define uint unsigned int /宏定义#define uchar unsigned charsbit AD_CLK=P10; /定义ADC的时钟引脚sbit AD_DOUT=P11; /定义ADC的数据引脚sbit AD_CS=P12; /定义ADC的片选引脚uint readadc(void) /读取ADC数据的函数uint temp=0;uchar i;AD_CS=1;_nop_();AD_CS=0; /开始读出10位数据for(i=0;i<10;i+) AD_CLK=0;temp=(temp<<1)|AD_DOUT;AD_CLK=1;_nop_(); /两次转换间隔大于21us AD_CS=1;return(temp); /返回ADC结果4.2.2读写程序#define uint unsigned int #define uchar unsigned char#define WDA 0xa0 /定义器件在总线中的地址读写为为0#define RDA 0xa1 /定义器件在总线中的地址读写为为1sbit SDA=P36; /定义24c02的SDA信号 sbit SCL=P37; /定义24c02的SCL信号void start() /启用总线,当SCL为高电平时,使SDA产生一个负跳变 SCL=0; /SCL为低电平 SDA=0; /SDA为低电平 SCL=1; /SCL为高电平 SDA=1; /SDA上升沿停止总线void stop() /停用总线,当SCL为高电平时,使SDA产生一个正跳变 SDA=1; /SDA为高电平 SCL=1; /SCL为高电平 SDA=0; /SDA下降沿启动总线 SCL=0; /SCL返回低电平void noack() /无应答信号 SDA=1; /SDA为高电平 SCL=1; /SCL为高电平 SCL=0; /在SCL下降沿,SDA=1,表示ack无效bit testack() /检测ack信号 bit EB; SDA=1; /SDA为高电平 SCL=1; /SCL为高电平 EB=SDA; /在SCL下降沿,SDA=0,表示返回ack有效 SCL=0; return(EB); /返回测试位write8bit(uchar input) /写8个二进制位到24c02的函数 uchar temp1; for(temp1=8;temp1!=0;temp1-) /循环8次,写入8位 SDA=(bit)(input&0x80); /将输入数据的高位赋于SDA SCL=1; SCL=0; /使SCL出现下降沿,表明该位数据写入完毕 input=input<<1; /input数据左移1位,低位向高位移动 viod write24c02(uchar ch1,uchar address1) /写入一个字节到24c02中字节地址 start(); write8bit(WDA); /发送器件的地址 testack(); write8bit(address1); /发送写入字节的地址 testack(); write8bit(ch1); /发送写入的数据 testack(); stop(); delayms(10); /延时10msuchar read8bit() /从24c02中读出8个数据位的函数 uchar temp2,rbyte=0; for(temp2=8;temp2!=0;temp2-) /循环8次,读出8位 SCL=1; rbyte=rbyte<<1; /rbyte变量左移 rbyte=rbyte|(uchar)(SDA); SCL=0; /使SCL出现下降沿,表明该位数据写入完毕 return(rbyte); /返回读到8位数据uchar read24c02(uchar ch2,uchar address2) /从24c02地址中读一个字节的函数 start(); write8bit(WDA); /发送器件的地址写 testack(); write8bit(address2); /发送读出字节的地址 testack(); start(); /发送器件的地址读 write8bit(RAD); testack(); ch2=read8bit(); /读出8位数据 noack() /无应答信号 stop(); return(ch2); /返回读出的数据4.2.3报警程序#define uchar unsigned char/宏定义#define uint unsigned int/宏定义 sbit RS=P10;/ 24c02定义I/O的硬件接口sbit RW=P11;/ 24c02定义I/O的硬件接口sbit E=P12;/ 24c02定义I/O的硬件接口sbit key_1=P13;/按键1定义I/O的硬件接口/Alarm_Value;/温度报警值+1度sbit key_2=P14;/按键2定义I/O的硬件接口/Alarm_Value;/温度报警值-1度sbit key_3=P15;/按键3定义I/O的硬件接口sbit key_4=P16;/按键4定义I/O的硬件接口sbit AD590_2=P17;/A定义I/O的硬件接口,通道选择/C、D接地sbit key_6=P37;/按键6定义I/O的硬件接口/控制 温度报警标志位sbit ST=P30; /ST和ALE接在一起sbit OE=P31; sbit EOC=P32; sbit CLK=P33; sbit SPK=P34; /喇叭,蜂鸣器报警sbit LED1=P35; /LED报警sbit LED2=P36; #define DPDR P2/并行数据输出接口定义#define DPDR_1 P0/并行数据输入接口定义uchar temp;/最终温度值unsigned long temp2;/平均温度 unsigned long temp1;/温度1, unsigned long temp2;/温度2,uchar Alarm_Value;/温度报警值bit Alarm_Value_bit;/温度报警标志位uchar DispBuf6; /6字节的显示缓冲区char char_char_1=" Temperature: "/定义字符串void delay(uint z)/1ms延时 uchar x,x1;for(;z>0;z-)for(x=0;x<114;x+)4.2.4数字滤波数字滤波具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。主程序#define N /定义采样数uchar lp() /滤波函数 int sum=0; uchar count; for(count=0;count<N;count+) /采集N个数据 sum+=readadc(); /获取ADC转换结果,并计算累加和 delay(); return (uchar)(sum/N); /求平均值4.2.5标度变换在智能仪表测量中,需要对外界的各种信号进行测量。测量时,一般先用传感器吧外界信号转换成电信号,然后用AD转换器把模拟信号变成微处理器能接受的数字信号,往往要转换成人们所熟悉的工程值才有它的意义。这是因为被测对象的各种数据的量纲与AD转换器的输入值是不一样的,故必须把它转换成带有量纲的数值后才能运算和显示这种变换便是标度变换。本系统采用线性标度变换,数字量 对应的工程量 的线性标度变换公式为: 式中, Ax为实际测量值;Ao为测量范围最小值;Am 为测量范围最大值;Nx 为实际测量所对应的数字量;No为测量范围最小值所对应的数字量;Nm为测量范围最大值所对应的数字量。 在本系统中,温度为0130的热电阻对应的电阻值为50.0077.83,经过放大电路输出点电压范围为0V3.3V,而采用的ADC为10位的TLC1549,若用4.096V电压作为参考电压,则ADC输出的每个数字代表,对于3.3V的电压输入,ADC输出的数字为,对于热电阻的温度为130,其对应的电阻值为77.83,每个ADC数字代表的电阻值为:假设在某一时刻单片机系统10为ADC采样并经数字滤波后的数值量为,则, ,此时电阻值为:线性标度变换的伪代码为:uchar bb() /线性变换函数 uchar value; value=(77.83-50.00)/825*lp()+50; delay(); return (uchar)(value); /返回变换后的温度值4.2.6非线性矫正 常用的热电阻非线性校正方法是查表插值法,该法需要电阻值-温度之间的表格(热电阻分度表),然后采取分段线性插值的处理方法,将测量值与表格值进行比较,确定测量值在表格中的位置,再用插值方法将其转换成对应温度显示出来。 对与热电阻CU50,其0130之间的热电阻-温度表格如下,每两个表格元素之间的温度为10。uchar code cu5014=50.00, 52.14, 54.29, 56.43, 58.57, 60.70, 62.84, 64.98, 67.12, 69.26, 71.40, 73.54, 75.69, 77.83 假设 代表对应温度 的热电阻,测量得到的热电阻为 ,查表可知它位于和两个标定点之间,则测量对应的温度值为: 实现上述算法,通常是用循环语句从第一个元素开始查找,若表格很大,则需要很长时间才能完成查表,所以先设两个指针MIN和MAX,分别保存表格的上限值和下限值的序号,开始查表时设置MIN=0,MAX=N,则中间元素的序号为MID=(MIN+MAX)/2,然后根据中心元素的位置找出中心元素,并和欲查找值进行比较。若中心元素大于欲查表得值,则选取表的前半部分,下限指针MIN不变,修改下限值针MAX=MID;若中心元素小于欲查表得值,则选取表的后半部分,上限指针MAX不变,修改下限值针MIN=MID;若中心元素等于查表的元素,则查表成功。该方法的伪代码如下:uchar code cu5014=50.00,52.14,54.29,56.43,58.57,60.70,62.84, 64.98,67.12,69.26,71.40,73.54,75.69,77.83;uchar varvoid fxz(void)/查表子函数 uchar v1=0;uint max,min,mid,j; min=0; max=13; /给出表格的初始元素符号和最后元素符号的序号v1=bb(); /出线性标度变换后的值 while(1) /开始查表 mid=(max+min)/2; /中心元素位置 if(cu50mid=v1) var=mid*10; /中心元素等于查表元素 break; if(cu50mid>v1) max=mid; else min=mid; if(max-min)<=1) j=(cu50max-cu50min)/10; j=(v1-cu50min)/j;var=10*min+j; /获得校正后的温度 break; 4.2.7比例控制算法智能仪表控制温度的方法称为算法,算法有很多种,主要运用的是位式控制算法和PID控制算法。位式控制又称为“开/关”或“通/断”型控制,其可分为二位式和三位式两种;PID控制算法包含了比例控制算法、比例积分控制算法、比例微分控制算法、比例积分微分控制算法等。本系统采用的是比例控制算法,比例控制算法就是其输出量out与温度偏差e=SV-PV成比例关系 式中,e是测量温度PV与设定温度SV之间的偏差, 是比例系数,out是输出量,out0是对应e=0时的控制量。比例带 是比例控制算法有效的控制区间,其定义为:这里, 是输出控制量的最大值, 是偏差变化的最大值, 是控制变化量, 输出控制变化量。若令 , ,则有 。比例带 的取值与控制对象有关,温度比例带 的经验值为 =20%60%。假设比例带为 ,控制量为out,设最大差值就是温度的设定值,则比例控制算法的伪代码:e=PV-SV;kp=1/pb;out=kp*e+out0if(out>outm) out=outm;if(out<0) out=0;4.2.8按键处理程序sbit s1=P20; /定义s1按键,用于选择仪表功能sbit s2=P21; /定义s2按键,用于选择数码管sbit s3=P22; /定义s3按键,用于设置数字的增加sbit s4=P23; /定义s4按键,用于设置数字的减少sbit led1=P24; /定义led1数码管sbit led2=P25; /定义led2数码管sbit led3=P26; /定义led3数码管sbit led4=P27; /定义led4数码管void FF() unsigned char c2; int n2,n3,n4; while(1) if(!s1) for(c2=0;c2<250;c2+); if(!s1) duan=0; P0=0x75; /显示H duan=1; du

    注意事项

    本文(智能仪器课程设计反应器的智能温控仪表设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开