智能仪器课程设计.doc_第1页
智能仪器课程设计.doc_第2页
智能仪器课程设计.doc_第3页
智能仪器课程设计.doc_第4页
智能仪器课程设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开开 封封 大大 学学 课课 程程 设设 计计 报报 告告 智智 能能 温温 度度 测测 量量 仪仪 专 业 应用电子技术 班 级 09 应电 2 班 学生姓名 张婷 学 号 2009061564 1 指导教师 董卫军 摘要 摘要 本文主要介绍了智能温度测量仪的设计 包括硬件和软件的设计 先 对该测量仪进行概括性介绍 然后介绍该测量仪在硬件设计上的主要器件 Pt100热电阻 AT89C51单片机和LCD显示器以及描述测量仪的总体结构原理 在本设计中 是以铂电阻PT100作为温度传感器 采用恒流测温的方法 通过单 片机进行控制 用放大器 A D转换器进行温度信号的采集 总体来说 该设计 是切实可行的 本设计系统包括温度传感器 信号放大电路 A D 转换模块 数据处理与控制 模块 温度显示五个部分 文中对每个部分功能 实现过程作了详细介绍 整 个系统的核心是进行温度测量与显示 完成了课题所有要求 硬件设计硬件设计 PT100PT100 传感器特性和测温原理传感器特性和测温原理 电阻式温度传感器 RTD Resistance Temperature Detector 是指一种物 质材料作成的电阻 它会随温度的改变而改变电阻值 PT100 温度传感器是一种以铂 Pt 做成的电阻式温度传感器 属于正电阻 系 数 其电阻阻值与温度的关系可以近似用下式表示 在 0 600 范围内 Rt R0 1 At Bt2 在 200 0 范围内 Rt R0 1 At Bt2 C t 100 t3 式中 A B C 为常数 A 3 96847 10 3 B 5 847 10 7 C 4 22 10 12 由于它的电阻 温度关系的线性度非常好 因此在测量较小范围内其电阻 和温度变化的关系式如下 R Ro 1 T 其中 0 00392 Ro 为 100 在 0 的电阻值 T 为华氏温度 因此铂做 成的电阻式温度传感器 又称为 PT100 2 PT100 温度传感器的测量范围广 200 600 偏差小 响应时间短 还具有抗振动 稳定性好 准确度高 耐高压等优点 其得到了广泛的应用 本设计即采用 PT100 作为温度传感器 主要技术指标 1 测温范围 200 600 摄氏度 2 测温精度 0 5 摄氏 度 3 稳定性 0 5 摄氏度 Pt100 是电阻式温度传感器 测温的本质其实是测量传感器的电阻 通常 是将电阻的变化转换成电压或电流等模拟信号 然后再将模拟信号转换成数字 信号 再由处理器换算出相应温度 采用 Pt100 测量温度一般有两种方法 1 设计一个恒流源通过 Pt100 热电阻 通过检测 Pt100 上电压的变化来 换算出温度 测温原理 通过运放U1A将基准电压4 096V转换为恒流源 电流流过Pt100 时在其上产生压降 再通过运放U1B将该微弱压降信号放大 图中放大倍数为 10 即输出期望的电压信号 该信号可直接连AD转换芯片 根据虚地概念 工作于线性范围内的理想运放的两个输入端同电位 运放 U1A的 端和 端电位V V 4 096V 假设运放U1A的输出脚1对地电压 为Vo 根据虚断概念 0 V R1 Vo V RPt100 0 因此电阻Pt100上的 压降VPt100 Vo V V RPt100 R1 因V 和R1均不变 因此图1虚线框内的电路等 效为一个恒流源流过一个Pt100电阻 电流大小为V R1 Pt100上的压降仅和 其自身变化的电阻值有关 设计及调试注意点 1 等效恒流源输出的电流不能太大 以不超过1mA为准 以免电流大使得 Pt100电阻自身发热造成测量温度不准确 试验证明 电流大于1 5mA将 会有较明显的影响 2 运放采用单一5V供电 如果测量的温度波动比较大 将运放的供电改为 15V双电源供电会有较大改善 3 电阻R2 R3的电阻值取得足够大 以增大运放的U1B的输入阻抗 3 图 1恒流源式测温电路 由于封装问题 实际原理图如下 方案二 采用惠斯顿电桥 电桥的四个电阻中三个是恒定的 另一个用 Pt100 热电阻 当 Pt100 电阻值变化时 测试端产生一个电势差 由此电势差 换算出温度 测温原理 电路采用TL431和电位器VR1调节产生4 096V的参考电源 采用 R1 R2 VR2 Pt100构成测量电桥 其中R1 R2 VR2为100 精密电阻 当 Pt100的电阻值和VR2的电阻值不相等时 电桥输出一个mV级的压差信号 这个 压差信号经过运放LM324放大后输出期望大小的电压信号 该信号可直接连AD转 换芯片 差动放大电路中R3 R4 R5 R6 放大倍数 R5 R3 运放采用单一 5V供电 4 设计及调试注意点 1 同幅度调整R1和R2的电阻值可以改变电桥输出的压差大小 2 改变R5 R3的比值即可改变电压信号的放大倍数 以便满足设计者对温 度范围的要求 3 放大电路必须接成负反馈方式 否则放大电路不能正常工作 4 VR2也可为电位器 调节电位器阻值大小可以改变温度的零点设定 例 如Pt100的零点温度为0 即0 时电阻为100 当电位器阻值调至109 885 时 温度的零点就被设定在了25 测量电位器的阻值时须在没有接入电路时 调节 这是因为接入电路后测量的电阻值发生了改变 5 理论上 运放输出的电压为输入压差信号 放大倍数 但实际在电路工 作时测量输出电压与输入压差信号并非这样的关系 压差信号比理论值小很多 实际输出信号为4 096 RPt100 R1 RPt100 RVR2 R1 RVR2 1 式中电阻值以 电路工作时量取的为准 6 电桥的正电源必须接稳定的参考基准 因为如果直接VCC的话 当网压 波动造成VCC发生波动时 运放输出的信号也会发生改变 此时再到以VCC未发 生波动时建立的温度 电阻表中去查表求值时就不正确了 这可以根据式 1 进行计算得知 图2三线制接法桥式测温电路 放大电路的设计放大电路的设计 本次放大电路我选用的是 LM358 其内部包括有两个独立的 高增益 内部 频率补偿的双运算放大器 适合于电源电压范围很宽的单电源使用 也适用于 双电源工作模式 在推荐的工作条件下 电源电流与电源电压无关 它的使用 范围包括传感放大器 直流增益模块和其他所有可用单电源供电的使用运算放 大器的场合 5 LM358 特性 FEATURES 内部频率补偿 直流电压增益高 约 100DB 单位增益频带宽 约 1MHZ 电源电压范围宽 单电源 3 30V 双电源 1 5 一 15V 低功耗电流 适合于电池供电 LM358 低输入偏流 低输入失调电压和失调电流 共模输入电压范围宽 包括接地 差模输入电压范围宽 等于电源电压范围 输出电压摆幅大 0 至 VCC 1 5V 信号调理电路信号调理电路 调理电路的作用是将来自于现场传感器的信号变换成前向通道中 A D 转换 器能识别的信号 作为本系统 由于温度传感器是热电阻 PT100 因此调理电 路完成的是怎样将与温度有关的电阻信号变换成能被 A D 转换器接受的电压信 号 A DA D 转换器的选择与设计电路转换器的选择与设计电路 在我们所测控的信号中均是连续变化的物理量 通常需要用计算机对这些 信号进行处理 则需要将其转换成数字量 A D 转换器就是为了将连续变化的 模拟量转换成计算机能接受的数字量 根据 A D 转换器的工作原理 常用的 A D 转换器可分为两种 双积分式 A D 转换器和逐次逼近式 A D 转换器 1 双积分 A D 转换器工作原理 双积分 A D 转换器采用间接测量的方法 它将被测电压转换成时间常数 T 双积分 A D 转换器由电子开关 积分器 比较器 计数器和控制逻辑等部 分组成 所谓双积分就是进行一次 A D 转换需要两次积分 电路先对被测的输入电 压 Vx 进行固定时间 T0 的正向积分 然后控制逻辑将积分器的输入端通过电子 开关接参考电压 Vr 由于参考电压与输入电压反向且参考电压值是恒定的 所 以反向积分的斜率是固定的 从反向积分开始到结束 对参考电压进行反向积 分的时间 T 正比于输入电压 输入电压越大反向积分时间越长 用高频标准脉 6 冲计数测此时间 即可得到相应于输入电压的数字量 特点 可以有效的消除 干扰和电源噪声 转换精度高 但是转换速度慢 2 逐次逼近型 A D 转换器工作原理 逐次逼近型 A D 转换器由 D A 转换环节 比较环节和控制逻辑等几部分组 成 其转换原理为 A D 转换器将一待转换的模拟输入电压 Ui 与一个预先设定的电 压 Ui 预定的电压由逐次逼近型 A D 转换器中的 D A 输出获得 电压相比较 根据预设的电压 Ui 是大于还是小于待转换成的模拟输入电压 Uin 来决定当前转 换的数字量是 0 还是 1 据此逐位比较 以便使转换结果 相应的数字量 逐渐与模拟输入电压相对应的数字量接近 在本设计系统中 为了将模拟量温度转换成数字量 采用德州仪器公司生 产的 4 通道 12 位串行输出采样模数转换器 ADS7841 具体连线如下图所示 单片机控制电路单片机控制电路 本设计是采用 AT89C51 单片机作为主控电路 AT89C51 单片机是 Atmel 公 司的产品 与 Intel 公司的 MCS51 系列兼容 在 AT89C51 单片机内部有作为程 序存储器的 Flash 存储器 其容量为 4KB 可以承受不低于 1000 次的反复擦写 调试比较方便 其中 P1 口为 A D 转换器的通信端口 P2 口为按键控制 P0 口 为 LCD 的数据端口 具体电路图如下 7 按键和显示电路按键和显示电路 本次设计使用 4x4 矩阵键盘 将其行线以及列线接到单片机的 P2 口 其中 列线接上拉电阻然后在通过异或逻辑门在接至单片机的 P2 0 到 P2 3 口 具体 连线如下图所示 显示电路显示电路 本次设计使用 LCD12864 来显示温度采集结果 其中将 LCD 的数据口接入 单片机的 P0 口 具体接线如下图所示 8 软件设计软件设计 系统软件设计说明系统软件设计说明 进行微机测量控制系统设计时 除了系统硬件设计外 大量的工作就是如 何根据每个测量对象的实际需要设计应用程序 因此 软件设计在微机测量控 制系统设计中占重要地位 对于本系统 软件设计更为重要 在单片机测量控制系统中 大体上可分为数据处理 过程控制两个基本类 型 数据处理包括 数据的采集 数字滤波 标度变换等 过程控制程序主要 是使单片机按一定的方法进行计算 然后再输出 以便达到测量控制目的 软件设计主要是对温度进行采集 显示 通过按键操作 进行时间的设置与 修改 因此 整个软件可分为温度采集子程序 时钟读取程序 按键子程序 显示子程序 及系统主程序 软件的有关算法软件的有关算法 1 最小二乘理论获取温度 电阻公式 根据误差理论 我们要获得较高精度的温度测量值 办法一般有 2 个 要 么采用查表法 要么建立高精度的数学模型 如果用查表法 主要有 2 个问题 9 如果要提高测量精度 则需要建立大量的表格 而且得提前做大量得试验来进 行多点校正 还有一个问题是程序的通用性差 这台仪器上校正好得数据可能 在另一台上不合适 而采用已知的分度表 建立数学模型 然后通过工程量 标度 变换 通过测量 A D 转换的结果后计算得到 这里我们考虑第 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 标度变换公式的获取 根据上述的线性拟合结果 T A R B 这里的 A B 是上述不同温度段的系 数 而 R 值由于在输出为 0V 时 实际上有个对应于 100 欧姆的偏置电路 因此 根据 R R0 U I 而 I 2 500V 1 500K 而 AD U G 4096 4 900V 这里的 AD 值 为 A D 转换得结果 G 为放大器的增益 本设计中的二级放大器放大的倍数为 80 倍 将上述条件代入得 T A 4 9 AD 4096 G I 100 B 软件的流程图软件的流程图 10 开始 系统初始化 PT100 温度数据采集 处理读到的数据 送 LCD 显示 结束 开始 初始化函数 A D 转换器进行 A D 转换 将转换后的电压转换为温度 返回 图 1 系统总流程图 图 2 温度转换程序流程图 开始 系统初始化 调用温度子程序 调用显示子程序 调用扫描按键程序 开始 将温度数据写入到 LCD 读取温度值 显示温度值 返回 图 3 显示流程图 图 4 主函数流程图 主程序主程序 ADS7841 驱动程序驱动程序 include include include delay h include ads7841 h include LCD1602 h ADS7841 控制字节 define control byte 0b10011000 11 bit val description bit7 1 start 恒为 1 bit6 5 4 001 选择 CH0 为 IN bit4 1 选择为单端输入 bit2 X 外部 MODE 接 GND 该位无作用 恒为 12 位 bit1 0 00 转换期间 ADC 为掉电模式 void port init void PORTA 0 xFF 将所有端口初始化为输入 打开上拉 DDRA 0 x00 PORTB 0 xFF DDRB 0 x00 PORTC 0 xFF DDRC 0 x00 PORTD 0 xFF DDRD 0 x00 PORTE 0 xFF DDRE 0 x00 PORTF 0 xFF DDRF 0 x00 PORTG 0 xFF DDRG 0 x00 void main unsigned int result unsigned char i array 4 table 0123456789 port init 端口初始化 LCD1602 init 1602 液晶初始化 12 ads7841 init ADS7841 初始化 LCD write string 0 x80 result while 1 ads7841 start 启动 ADS7841 即拉低 CS delay nus 10 result ads7841 W R control byte 发送控制字 并得到转换数据 result 屏蔽掉高四位 delay nus 10 ads7841 finish 停止 ADS7841 即拉高 CS for i 0 i 4 i 以下均为显示部分 array i result 10 esult 10 for i 0 i 4 i LCD write onechar 0 x87 i table array 3 i delay nms 300 ifndef ads7841 h define ads7841 h define DCLK PD0 define DCLK ddr DDRD define DCLK port PORTD define DCLK pin PIND define CS PD1 13 define CS ddr DDRD define CS port PORTD define CS pin PIND define DIN PD2 define DIN ddr DDRD define DIN port PORTD define DIN pin PIND define BUSY PD3 define BUSY ddr DDRD define BUSY port PORTD define BUSY pin PIND define DOUT PD4 define DOUT ddr DDRD define DOUT port PORTD define DOUT pin PIND define ads7841 start CS port unsigned int ads7841 W R unsigned char byte endif include include include delay h include ads7841 h 函数名称 ads7841 init 函数功能 初始化 ADS7841 端口 备 注 无 14 void ads7841 init void DCLK port 时钟端初始化为输出低电平 DCLK ddr 1 DCLK CS port 1 CS 片选端初始化为输出高电平 CS ddr 1 CS 即不选中 ADS7841 DIN port 数据输入端初始化为输出低电平 DIN ddr 1 DIN BUSY port 1 BUSY 忙信号初始化为输入 打开上拉 BUSY ddr DOUT port 1 DOUT 数据输出初始化为输入 打开上拉 DOUT ddr 函数名称 ads7841 W R 函数功能 向 ADS7841 写入控制字节 读出转换好的数 输入参数 unsigned char byte 控制字节 unsigned int result AD 转换好的数 备 注 数据从高位到低位写入 从高位到低位读出 unsigned int ads7841 W R unsigned char byte unsigned char i temp 15 unsigned int result 0 for i 0 i 8 i 8 位数据计数 DCLK port 拉低时钟端 if byte 当前位是 1 拉高数据端 else DIN port 当前位是 0 拉低数据端 delay nus 10 调整时钟和脉冲宽度 DCLK port 1 DCLK 时钟上升沿 delay nus 10 byte 1 数据左移 1 位 为送出新数据位做准备 delay nus 10 DCLK port 拉低时钟端 delay nus 10 i BUSY pin 读 BUSY 的状态 delay nus 10 if ii 8 i result 1 保存读入的数据位 16 DCLK port 1 DCLK 时钟上升沿 delay nus 10 DCLK port 拉低时钟端 elay nus 10 if DOUT pin else result 以下读出低四位 for i 1 i 4 i temp 1 保存读入的数据位 DCLK port 1 DCLK 时钟上升沿 delay nus 10 DCLK port 拉低时钟端 delay nus 10 if DOUT pin else 17 temp for i 1 i 4 i 再给 ADS7841 四个时钟 DCLK port 1 DCLK 时钟上升沿 delay nus 10 调整时钟和脉冲宽度 DCLK port 拉低时钟端 delay nus 10 调整时钟和脉冲宽度 result result 32 再送 X 地址 lcdwc GXPOS 16 8 0 x80 else lcdwc GXPOS 16 0 x80 lcdwc 0 x30 恢复为基本指令集 void lcdon void LCD 显示开启子程序 lcdwc 0 x30 设置为基本指令集 lcdwc 0 x0c 18 void lcdoff void LCD 显示关闭子程序 lcdwc 0 x30 设置为基本指令集 lcdwc 0 x08 void lcdgraphon void 绘图区域显示开启子程序 lcdwc 0 x36 lcdwc 0 x30 恢复为基本指令集 void lcdgraphoff void 绘图区域显示关闭子程序 lcdwc 0 x34 lcdwc 0 x30 恢复为基本指令集 void lcdwd unsigned char d 向液晶显示控制器写数据 CSPIN 1 片选使能 transbyte 0 xfa SYNCODE 0F8H RW 0 RS 1 D0 0 transbyte d 送高四位数据 低四位补零 transbyte d 送低四位数据 CSPIN 0 片选禁止 void lcdwc unsigned char c 向液晶显示控制器送指令 CSPIN 1 片选使能 transbyte 0 xf8 SYNCODE 0F8H RW 0 RS 0 D0 0 transbyte c 送高四位数据 低四位补零 19 transbyte c 送低四位数据 CSPIN 0 片选禁止 void transbyte unsigned char d 送 1 字节数据到液晶显示控制 器子程序 unsigned char i for i 0 i 8 i if d else transbit 0 d 1 从高到低位送字节位数据到液 晶显示控制器 void transbit bit d 送 1 位数据到液晶显示控制器 子程序 STDPIN d 先送数据到数据口线 DI nop SCLKPIN 1 再使时钟口线发一个负脉冲 nop SCLKPIN 0 nop SCLKPIN 1 总结总结 本温度测量系统设计中 测温的模拟电路是把当前 PT100热电阻传感器 的电阻值 转换为容易测量的电压值 经过放大器放大信号后送给 A D 转换器 20 把模拟电压转为数字信号后传给单片机 AT89C51 单片机再根据公式换算把测 量得的温度传感器的电阻值转换为温度值 并将数据送出到 LCD 显示器进行显 示 本设计系统主要包括温度信号采集单元 单片机数据处理单元 温度显示 单元 其中温度信号的数据采集单元部分包括温度传感器 温度信号的获取电 路 采样 放大电路 A D 转换电路 系统的总结构框图如图 1 1 所示 1 1 系统的总结构框图 本温度测量系统设计 是采用 PT100 温度传感器经过放大和 A D 转换器送 到单片机进行控制温度显示 另外本系统还可以通过外接电路扩展实现温度报 警功能 从而更好的实现温度现场的实时控制 经过多次的修改和调试测量 本设计基本符合设计要求 由于受人为因素 和软硬件的限制 系统难免不了带来一些误差 但通过调节和精确计算可以减 小误差 通过本次温度测量系统的设计 我对温度测量控制有了进一步的熟悉和更 深入的学习 在整个设计的过程中 本设计的重点和难点是 怎样将 PT100 热 电阻的非电量信号转换为单片机单片机能识别的电量信号 其中的信号如何放 大及放大倍数的确定等等 通过本次毕业设计 我了解并掌握了传感器的基本 理论知识 更深入的掌握单片机的开发应用和编程控制 为以后从事单片机软 硬件产品的设计开发 打下了良好的基础 树立独立从事产品研发的信心 并 在这种能力上得到了比较充分的锻炼 21 附录附录 1 1 WZP 型铂热电阻 Pt100 分度特性表 140 140 温度 0123456789 电阻值 20018 52 140 130 120 110 100 43 88 48 00 52 11 56 19 60 26 43 46 47 59 51 70 55 79 59 85 43 05 47 18 51 29 55 38 59 44 42 63 46 77 50 88 54 97 59 04 42 22 46 36 50 47 54 56 58 63 41 80 45 94 50 06 54 15 58 23 41 39 45 53 49 65 53 75 57 82 40 97 45 12 49 24 53 34 57 41 40 56 44 70 48 83 52 93 57 01 40 14 44 29 48 42 52 52 56 60 90 80 70 60 50 64 30 68 33 72 33 76 33 80 31 63 90 67 92 71 93 75 93 79 91 63 49 67 52 71 53 75 53 79 51 63 09 67 12 71 13 75 13 79 11 62 68 66 72 70 73 74 73 78 72 62 28 66 31 70 33 74 33 78 32 61 88 65 91 69 93 73 93 77 92 61 47 65 51 69 53 73 53 77 52 61 07 65 11 69 13 73 13 77 12 60 66 64 70 68 73 72 73 76 73 40 30 20 10 0 84 27 88 22 92 16 96 09 100 00 83 87 87 83 91 77 95 69 99 61 83 48 87 43 91 37 95 30 99 22 83 08 87 04 90 98 94 91 98 83 82 69 86 64 90 59 94 52 98 44 82 29 86 25 90 19 94 12 98 04 81 89 85 85 89 80 93 73 97 65 81 50 85 46 89 40 93 34 97 26 81 10 85 06 89 01 92 95 96 87 80 70 84 67 88 62 92 55 96 48 0 10 20 30 40 100 00 103 90 107 79 111 67 115 54 100 39 104 29 108 18 112 06 115 93 100 78 104 68 108 57 112 45 116 31 101 17 105 07 108 96 112 83 116 70 101 56 105 46 109 35 113 22 117 08 101 95 105 85

温馨提示

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

评论

0/150

提交评论