pc智能仪表.docx

上传人:b****2 文档编号:2555550 上传时间:2023-05-04 格式:DOCX 页数:18 大小:424.08KB
下载 相关 举报
pc智能仪表.docx_第1页
第1页 / 共18页
pc智能仪表.docx_第2页
第2页 / 共18页
pc智能仪表.docx_第3页
第3页 / 共18页
pc智能仪表.docx_第4页
第4页 / 共18页
pc智能仪表.docx_第5页
第5页 / 共18页
pc智能仪表.docx_第6页
第6页 / 共18页
pc智能仪表.docx_第7页
第7页 / 共18页
pc智能仪表.docx_第8页
第8页 / 共18页
pc智能仪表.docx_第9页
第9页 / 共18页
pc智能仪表.docx_第10页
第10页 / 共18页
pc智能仪表.docx_第11页
第11页 / 共18页
pc智能仪表.docx_第12页
第12页 / 共18页
pc智能仪表.docx_第13页
第13页 / 共18页
pc智能仪表.docx_第14页
第14页 / 共18页
pc智能仪表.docx_第15页
第15页 / 共18页
pc智能仪表.docx_第16页
第16页 / 共18页
pc智能仪表.docx_第17页
第17页 / 共18页
pc智能仪表.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

pc智能仪表.docx

《pc智能仪表.docx》由会员分享,可在线阅读,更多相关《pc智能仪表.docx(18页珍藏版)》请在冰点文库上搜索。

pc智能仪表.docx

pc智能仪表

1.1设计题目和目的

1.1.1设计题目

实现智能数字显示仪表。

要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。

适配PT100热电阻,测温范围为0℃~300℃。

采用比例控制、并用晶闸管脉宽调制驱动1000W电加热器(电源电压为AC220V)。

1.1.2设计目的

涉及智能仪表硬件与软件设计。

智能仪器课程设计是智能仪器课程教学的重要环节,根据设计智能仪表产品的课程改革目的,特选择一些小型智能仪表产品作为课设题目,满足教学需求。

单片机综合练习是一项综合性的专业实践活动,目的是让学生将所学的基础理论和专业知识运用到具体的工程实践中,以培养学生综合运用知识能力、实际动手能力和工程实践能力。

1.2设计基本要求

(1)正确理解设计题目,经过查阅资料,给出正确设计方案,画出详细仪表原理框图(各个功能部分用方框表示,各块之间用实际信号线连接)。

在互连网上收集题目中所用到的器件资料,例如传感器(热偶分度表等)、信号调理电路、AD转换器、单片机、继电器、电源、显示器件等。

在互连网上收集相关单片机的显示、AD转换、显示、控制算法等程序。

在充分研究这些资料基础之上,给出设计方案(选择信号调理电路、单片机、显示、按键输入、继电器驱动、电源等,简要说明选择的理由)

(2)用Protel99SE软件设计仪表详细原理图。

要求正确标记元件序号、元件数值、封装名。

(3)设计PCB图

在画PCB前应该购买元件,因为有了元件才知道封装尺寸,但也可以不购买元件,只到元件商店测量实际元件尺寸后,画封装图。

(4)熟悉单片机内部资源,学会ADC、SPI接口、定时器、中断、串口、I/O引脚等模块的编程。

(5)采用C语言开发所设计仪表的程序。

按照题目要求,确定仪表需要完成的任务(功能),然后分别编制各任务的程序。

程序应该有说明,并有详细注释。

1.3设计原理

由热电阻传感器送来的电信号在测量桥路进行冷端自动补偿后,送入放大器,一面把信号进行放大,同时把非线性信号校正为线性信号,经线性放大信号一路A/D转换电路把模拟量转换成数字信号进行数字显示,另一路传输到调节网络,进行规定的比较运算,同时输出一个需要的控制信号和进行工作状态指示。

二.硬件设计

1.1系统原理框图

本设计智能温度数显表由温度监测、信号处理、输出控制三部分组成。

其系统框图如图1所示,它通过Pt100热电阻传感器获取绕组温度值,经信号调理电路处理后直接送入控制器的A/D转换输入端。

微控制器根据信号数据及设定的各种控制参数,按照嵌入的软件控制规律执行计算与处理,自动显示智能仪表数显表可测的温度范围、并根据当前状态输出正常、设定上下线报警等。

 

1.1.1STC89C51简介

STC89C51系列单片机是从引脚到内核都完全兼容标准8051的单片机,有PDIP-40、PLCC-44、PQFP-44三种封装形式。

Intel公司MCS-51单片机的基本结构如图1-4所示。

该单片机具有如下资源:

(1)一个8位算术逻辑单元(CPU)。

(2)4组,共32个I/O口,每口8个引脚,可单独寻址,其中P0、P2口具有地址/数据总线功能。

(3)两个16位定时/计数器(简称为定时器)。

(4)全双工串行通信口。

(5)5个中断源,具有两个中断优先级。

(6)128B内置RAM。

(7)具有64KB可寻址数据和代码区。

(8)各个模块采用三总线(地址、数据和控制)连接。

(9)开放总线接口,P0口分时作为8位数据总线与8位地址总线,P2口作为地址总线高8位。

每个MCS-51单片机处理周期包括12个时钟周期(又称为一个机器周期),每12个时钟(一个机器)周期用来完成一个操作,例如取指令等,指令执行时间为时钟频率除以12后取倒数,如果系统时钟是12MHz,则相当于执行每条指令所需要的时间1μs。

1.I/O端口

I/O端口0、1、2、3驱动器与锁存器。

2.存储器部分

RAM:

51单片机具有128字节的片内RAM,

FLASH:

片内ROM,用于保存代码等,片内ROM采用FLASH结构的存储器构成,具有ISP功能,容量随型号不同而不同,对于AT89S51单片机,FLASH容量为4KB。

SP:

栈指针

3.算术与逻辑运算部分

寄存器B:

用于乘除等操作的寄存器,常保存运算的第2操作数。

ACC:

累加器,

TMP1、TMP2:

暂存器,用于暂时保存数据。

ALU:

8位算术逻辑单元ALU,

PSW:

程序状态字,

4.指令处理部分

程序地址寄存器:

用于保存程序地址。

缓冲器:

缓冲总线数据。

PC+1:

程序计数器加1处理模块。

PC:

保存下一条指令地址的16位地址寄存器,可寻址范围为64K。

DPTR:

双数据指针,DPTR为两个8位缓存器(DPH和DPL)组成的16位缓存器,。

5.时序控制与指令寄存部分

定时与控制单元:

指令寄存器:

保存指令并指令译码后,在定时与控制单元的配合下,使CPU执行各种操作。

WDT:

看门狗。

用于程序不运行时,自动复位单片机。

OSC:

时钟振荡器,与外接石英晶体一起组成时钟振荡器。

6.ISP部分

ISP端口:

通过该端口与PC通信,实现在系统编程(ISP)。

编程逻辑:

控制ISP操作。

7.外围模块部分

该单片机的外围模块包括两个定时器,串行接口、4个I/O口与外中断模块。

1.2基本模块简介

1.2.1Pt100温度测量接口技术

(1)铂金属热电阻简介

铂金属电阻精度高,稳定性好,具有一定的非线性,温度越高电阻变化率越小;最常用铂电阻按照0℃时的电阻值分为R0=10Ω、R0=100Ω和R0=1000Ω等几种,称为Pt10、Pt100、Pt1000;

铂电阻阻值与温度之间的关系呈非线性,即

Rt=R0(I+αt+βt2)(t在0~630℃之间)

式中:

Rt是铂热电阻的电阻值,单位为Ω;

R0是铂热电阻在0℃时的电阻值,对于PT100,R0=100Ω;

α是一阶温度系数,α=3.912×10-3(℃)

β是二阶温度系数,β=6.179×10-7(℃)

铂热电阻PT100的阻值与温度之间的关系称为分度表,分度表给出温度每变化10℃对应的阻值。

温度℃

PT100阻值Ω

传感两端电压mV

0

100.00

124.38

1

100.39

124.8

50

119.40

147.79

100

138.51

170.64

150

157.33

192.93

200

175.86

214.68

250

194.10

235.90

300

212.05

256.59

 

1.2.2热电阻PT100信号调理电路设计

基于PT100传感器测温的智能测温仪表

试采用STC89C51单片机实现智能测温仪表。

要求8位数码管显示(上排4位显示测量值,下排4位显示设定值),4输入按钮(功能选择、数码管选择、数值增加、数值减少),可设定上下限报警(蜂鸣器报警)值。

传感器为PT100热电阻,测温范围为0℃~300℃。

采用比例控制、并用晶闸管过零驱动1000W电加热器(电源电压为220VAC)。

还可以输出与温度成正比的4-20mA电流远传到其他仪表。

由题目可知,该测温仪表需要如下电路模块:

(1)单片机电路(包括单片机最小系统、ADC、数码显示、按键、LED灯、电源等)。

(2)热电阻PT100信号调理电路

(3)4~20mA输出电路与加热功率驱动电路。

1.2.3功率输出电路

晶闸管过零驱动电路

1.2.44-20mA电流输出电路

1.2.5数码管显示及指示电路

A:

显示电路

SM1显示的是热电阻测的电加热器的实际温度值,SM2显示的是人工设计的电加热器的期望温度值。

数码管是有HC595芯片来驱动的,HC595接在SPI通信的3个接口上。

B:

指示电路

指示电路是指示按键的输入状态的。

D1、D2、D3、D4与S1、S2、S3、S4一一对应,当某个按键按下时,单片机相应的引脚将置低电平,使该按键相对应的二极管发光。

1.2.6按键电路

4个按键与单片机的接线图及个按键的作用如上图所示;当单片机的引脚输入为低电平时,表示该引脚所对应的按键按下,单片机实现相应的功能。

1.2.7报警电路

当温度超过报警限时,单片机相应管脚输出一定频率的电平。

蜂鸣器发出响声。

1.2.8下载电路

下载程序代码用的是SPI接口,用ISP电缆对单片机进行编程。

1.2.9通信电路

该模块用到跳线,不通信时D0、D1口作为常规I/O口使用;通信时其作为通信口使用,实现单片机与单片机或是其它上位机的通信。

1.2.10输出驱动电路

采用光控过零驱动晶闸管,进而控制电加热器的通断电。

1.2.11电源电路

1.2.12比例控制算法

比例控制(P)是一种控制算法,其输出量out与温度偏差e=SV-PV成比例关系,写成数学公式是:

out=kp*e+out0

式中,e是测量温度值PV与设定温度值SV之间的偏差,Kp是比例系数。

out是输出量。

out0是对应e=0时的控制量,可由人工确定,通常取输出控制量

不同比例系数Kp下对象温度变化示意图

若是假设比例带为pb,控制量为out,设最大偏差值就是温度设置值。

则有如下的伪代码如下:

e=PV-SV;

kp=1/pb;

out=kp*e+out0;

if(out>outm)

out=outm;

if(out<0)

out=0;

1.2.13热非线性校正算法

温度范围0~200℃的热电阻PT100的表格如下:

unsignedcharcodeR_TABLE[21]={100,119.40,

138.51,157.33,175.86,194.10,212.05};

若是对于热电阻,有如下方法计算测得量RX。

假设Ri代表对应温度Ti的热电阻,测量得到的热电阻值为Rx,查表可知它位于(Ri,Ti)和[R(i+1),T(i+1)]两个标定点之间,则热电阻Rx所对应的温度值Tx可由下式求得,其算法示意如图10-2所示。

两相邻电阻之间差50℃,则(Ri+1-Ri)/50为直线斜率。

可以得到Ri到RX的温度差为:

T(Rx-Ri)=(50/(Ri+1-Ri))*(Rx-Ri)

线性标度变换的前提条件是传感器的输出信号与被测参数之间呈线性关系

Ax实际测量值(工程量)

A0一次测量仪表的下限(测量范围最小值)。

Am一次测量仪表的上限(测量范围最大值)。

N0仪表下限所对应的数字量。

Nm仪表上限所对应的数字量。

Nx实际测量值所对应的数字量。

1.2.14基于STC89C51单片机实现智能测温仪表软件设计

(1)初始化任务

I/O引脚初始化(按钮、LED灯、ADC、DAC、E2PROM和SPI用引脚初始化)。

定时器0初始化。

中断初始化。

(2)按钮任务:

检测按钮并执行按钮动作,需要软件消除抖动。

功能选择按钮:

循环选择功能,例如,正常运行、设置报警上限值、设置报警下限值、设置温度给定值、设置比例控制回差值等功能。

在数值设置状态,每按一次按钮,上排4位数码管显示功能码,下排显示设置值;在正常运行状态,上排显示测量值,下排显示设定温度值。

数码管选择按钮:

选择需要设置数值的数码管。

数值增加按钮:

用于设置数值的增加,每按下一次,数值加1。

数值减少按钮:

用于设置数值的减少,每按下一次,数值减1。

按钮设置值应该随时保存到24C02中。

(3)扫描显示任务:

数码管位选择与段码输出,就是将显示缓冲区的内容发送到数码管显示,将要显示的数据,组合成数组,再转换成十进制数字,发送到74HC595。

不需要每个主程序循环都发送显示任务,因此可在定时器0中断中设置显示任务执行标记,当标记为1时,执行显示任务。

由于显示内容随按钮选择的功能不同而不同,因此功能选择按钮任务中应该给出显示控制标记,控制显示内容。

(4)TLC1549数据获取任务,需要将读TLC1549的程序写成函数。

在定时器0中设置ADC任务执行标记,当该标记为1时,执行ADC数据获取任务。

要求连续读取8个数据,然后取平均值。

并将完成滤波后的数据存入显示数组。

(5)24C02读写任务,需要编制读写24C02的函数。

单片机用软件控制引脚实现I2C接口,在上电时,应该读出所有保存在24C02中的数据到数组中;在设置各种数据时,应该随时将设置的数据字节写入24C02。

(6)TLC5615任务,该任务是把温度转换成的代表电流的数字写入TLC5615,实现电流输出。

该任务在定时器0给出的标记控制下执行。

(7)定时器0中断任务,该任务是产生间隔的定时信号,ADC转换、扫描显示、DAC输出以及采样周期、数据计算等都需要定时器0给出标记,在标记为1时,才能执行任务。

(8)数据处理任务

①将TLC1549输出的数字通过标度变换转成温度值。

因为PT100的电阻值与温度之间呈非线性,因此需要查表法矫正。

②具有回差比例控制算法实现。

根据温度值控制晶闸管使接触器得电或失电,使加热器加热或是不加热。

所谓回差比例控制就是当温度达到并超过设定值时,停止加热;当温度低于设定值时,开始加热。

而有回差比例控制就是有两个设定值,当所测温度高于上设定值时停止加热;当低于下设定值时,开始加热,上下设定值之间的温度差称为回差。

回差比例控制可以防止接触器频繁动作。

③实现报警算法。

上限报警与下限报警分别给出不同的报警声。

④计算TLC5615需要的数字,就是将温度值转换成电流值。

三.系统流程图

四.总电路图

体会心得

本设计实现了温度的测量,在达到设计要求的同时也具备一定的扩展性,通过简单的软件修改,即可实现温度上下限控制和越限报警功能。

本次设计使我更加深刻的认知到智能仪表控制的在现代仪表控制中的实用性,重要性。

在以后的学习中我将加大智能仪表设计的学习。

在课设中认知到了整个系统结构紧凑、简单可靠、操作灵活、功能强、性能价格比高,较好地满足现代生产和科研的需要。

 

参考文献

《单片机原理及应用》夏路易

《单片机初级教程》张迎新,杜小平,樊桂花等

《智能仪器设计基础》赵新民,王祈

《传感器与单片机接口实例》来清民

《微型计算机原理及应用》侯晓霞,王建宇,戴跃伟

《测控电路设计》周严

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2