压力峰值检测

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南科技大学

城市学院

课程设计

设计题目:压力峰值检测器

系别:机电工程

专业:自动化

班级:1001

姓名:刘守勋刘科鹏黄雪芝冯浩

指导老师:陈亮

组长:黄雪芝

目录

任务与要求 (3)

设计的初步分析 (3)

设计的系统框图 (3)

运算放大器部分 (4)

A/D转换部分 (7)

单片机部分与数据处理 (11)

数码管显示部分 (14)

实验心得体会 (17)

压力信号峰值检测器的设计

一·任务与要求

设计一个压力信号峰值检测器,具体要求如下:

1) 测量结果用4位数字显示,显示范围为0000—1999Kg 。 2) 传感器输出在实验室时用0—5mv 的信号源模拟传感器。 3) 要求检测仪能稳定的保持输入信号的峰值。

设计的初步分析

由于传感器输出电压在0—5mv 之间电压很小,所以先用运算放大器将传感器输出电压放大1000倍,放大后电压范围变为0—5v ,然后通过A/D 转换,将模拟信号转换为数字信号,数字信号通过单片机进行处理,单片机通过逐次比较检测出峰值及最大值并显示在四位数码管上。

设计的系统框图

运算放大器部分

差分放大器属于一种特殊的仪表放大器,通常被设计用于需要较大的直流或交流共模干扰的场所。这其中包括通用的电流检测应用,如电机控制、电池充电

和电源转换;另包括大量高共模电平的汽车电流检测应用,如电池电平监测、传

动控制、燃油喷射控制、发动机管理、悬挂控制、电控转向、电控刹车、以及混合动力驱动和混合动力电池控制。因这此控制大多通过放大负载电路上分流电阻两端的电压差以获取电流,所以也常被称作电流分流放大器。

集成运算放大器的原理

由运放构成的高阻抗差分放大电路

图为高输入阻抗差分放大器,应用十分广泛.从仪器测量放大器,到特种测量放大器,几乎都能见到其踪迹。

从图中可以看到A1、A2两个同相运放电路构成输入级,在与差分放大器A3串联组成三运放差分防大电路。电路中有关电阻保持严格对称,具有以下几个优点:

(1)A1和A2提高了差模信号与共模信号之比,即提高了信噪比;

(2)在保证有关电阻严格对称的条件下,各电阻阻值的误差对该电路的共模抑制比K CMRR 没有影响;

(3)电路对共模信号几乎没有放大作用,共模电压增益接近零。

因为电路中R1=R2、 R3=R4、 R5=R6 ,故可导出两级差模总增益为:

3

5P

1p i2

i1o vd R R R 2R R u u u A ⎪⎪

⎭⎫ ⎝

⎛+-=-=

通常,第一级增益要尽量高,第二级增益一般为1~2倍,这里第一级选择100倍,第二级为10倍。则取R3=R4=R5=R6=10K Ω,要求匹配性好,一般用金属膜精密电阻,阻值可在10K Ω~几百K Ω间选择。则

A vd =(R P +2R 1)/R P

先定R P ,通常在1K Ω~10K Ω内,这里取R P =1K Ω,则可由上式求得R 1=99R P /2=49.5K Ω

取标称值51K Ω。通常R S1和R S2不要超过R P /2,这里选R S1= R S2=510,用于保护运放输入级。

A1和A2应选用低温飘、高K CMRR 的运放,性能一致性要好。

集成运算放大器的

整体仿真效果图:

A/D转换部分

ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。

单片机对ADC0832 的控制原理

正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,其功能项见官方资料。

如资料所示,当此 2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行

输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出

DC0832封装以及各端子

完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。

A/D转换的程序设计:

uchar ADC0832(void) //AD转换,返回结果

{

uchar i=0;

uchar j;

uint dat=0;

uchar ndat=0;

ADDI=1;

_nop_();

_nop_();

ADCS=0;//拉低CS端

_nop_();

_nop_();

ADCLK=1;//拉高CLK端

_nop_();

_nop_();

ADCLK=0;//拉低CLK端,形成下降沿1

_nop_();

_nop_();

ADCLK=1;//拉高CLK端

_nop_();

_nop_();

ADCLK=0;//拉低CLK端,形成下降沿2

_nop_();

_nop_();

ADCLK=1;//拉高CLK端

ADDI=1;

_nop_();

_nop_();

ADCLK=0;//拉低CLK端,形成下降沿3

相关文档
最新文档