nbhkdz.com冰点文库

2012

时间:2014-05-08


利用运放设计输入为 4mA 和 20mA 输出 0V – 5V 输入 4mA 时,调节 1Rp 使 Vo1=1.25V,调节 2Rp 时 Vo2=0V 输入 20mA 时,调节 1Rp 使 Vo1=6.25V,调节 2Rp 使 Vo2=5V 即可

LM324 组成的 4-20mA 输入/5V 输出的 I/V 转换电路 下面是这个电路网上介绍的资料: 增加这级

运算放大器可以起到对零点的处理会变得更加方便,无需耗用单片机的内部资源, 尤其单片机是采用 A/D 接口来接受这种零点信号不为零电压的输入时,可以保证 A/D 转 换位数的资源能够全部应用于有用信号上。 以 4~20mA 例,图 B 中的 RA0 是电流取样电阻,其值的大小主要受传感变送器供电 电压的制约, 当前级采用 24V 供电时, RA0 经常会使用 500Ω 的阻值, 对应 20mA 的时候, 转换电压为 10V,如果仅仅需要最大转换电压为 5V,可以取 RA0=250Ω,这时候,传感变 送器的供电只要 12V 就够用了。因为即使传送距离达到 1000 米,RA0 最多也就几百 Ω 而 已。 同时,线路输入与主电路的隔离作用,尤其是主电路为单片机系统的时候,这个隔离级 还可以起到保护单片机系统的作用。 图 2 采用的是廉价运放 LM324, 其对零点的处理是在反相输入端上加入一个调整电压, 其大小恰好为输入 4mA 时在 RAO 上的压降。有了运算放大器,还使得 RAO 的取值可以 更加小,因为这时信号电压不够大的部分可以通过配置运放的放大倍数来补足。这样,就可 以真正把 4~20mA 电流转换成为 0~5V 电压了。

使用运算放大器也会带来一些麻烦, 尤其在注重低成本的时候, 选择的运放往往是最最 廉价的,运放的失调与漂移,以及因为运放的供电与单片机电路供电的稳定性,电源电压是 否可以保证足够稳定, 运放的输入阻抗是否对信号有分流影响, 以及运放是否在整个信号范 围内放大特性平坦,如此等等,造成这种廉价电路的实际效果不如人意。 而最大的不如人意之处还是在零点抵消电路上, 随着信号电流的变化, 运放的反相端的 电压总是会与零点调整电压发生矛盾,就是这个零点电压也在随着运放输出的变化而变化, 只不过由于有了信号有用电压的存在, 而在结果中不容易区分而已。 这种现象最容易造成非 线性加大。虽然可以在单片机里采用软件校正来纠正,但是,就具体措施而言,这样做需要 增加编程人员不少的工作量,而且需要多点采集数据来应对。

百度答题,4-20mA 转 1-10V
问题连接地址: http://zhidao.baidu.com/question/155189877.html

无需计算公式免费赠送,如需推导公式“黄金”百两

悬赏 100 分

参考程序
#include "reg52.h" #include "intrins.h" #define uchar unsigned char #define uint unsigned int #define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();} uchar code smg_du[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code smg_we[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar code smg_du1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x7f}; 小数点的段选

// 有

sbit SDA = P2^1; sbit SCL = P2^0; sbit s7=P3^0; sbit s6=P3^1; uchar tflag,dspflag,qian,bai,shi,ge,qian1,bai1,shi1,ge1,num,temp,bb; uint t,aa,date; void delayms(uint x) { uchar t; while(x--)for(t=0;t<120;t++); } void keyscan() { if(s7==0) { delayms(10); if(s7==0) { P0=0x10;P2=0xa0;P2=0; TR0=1;num=1;t=0; while(!s7); } } if(s6==0) { delayms(10); if(s6==0) { date=t/2;TR0=0; P0=0;P2=0xa0;P2=0; num=2; TR0=1; while(!s6); } } } void display(uchar we,uchar du) { P0 = 0xFF; //消影子 P2 |= 0xE0;

P2 &= 0x1F; P0 = smg_du[du]; P2 |= 0xE0; P2 &= 0x1F; P0 =smg_we[we]; P2 |= 0xC0; P2 &= 0x3F; } ///////////////////////////////////////////////////////////////// void iic_start(void) { SDA = 1; _nop_(); SCL = 1; somenop; SDA = 0; somenop; SCL = 0; } void iic_stop(void) { SDA = 0; _nop_(); SCL = 1; somenop; SDA = 1; } void ack() { unsigned char i; SCL=1;somenop;while((SDA==1)&&(i<200))i++;SCL=0; } void iic_sendbyte(unsigned char byt) { unsigned char i; for(i=0;i<8;i++) { if(byt&0x80) SDA = 1;

else SDA = 0; somenop; SCL = 1; byt <<= 1; somenop; SCL = 0; } ack(); } unsigned char iic_recbyte(void) { unsigned char da; unsigned char i; for(i=0;i<8;i++) { SCL = 1; somenop; da <<= 1; if(SDA) da |= 0x01; SCL = 0; somenop; } return da; } unsigned char adc_pcf8591(void) { unsigned char temp; iic_start(); iic_sendbyte(0x91); temp = iic_recbyte(); iic_stop(); return temp; } void init_pcf8591(void) { iic_start(); iic_sendbyte(0x90); iic_sendbyte(0x01);

iic_stop(); delayms(10); } //////////////////////////////////////////////////////////////// void main() { P0=0xff;P2=0x80;P2=0; P0=0;P2=0xa0;P2=0; TMOD = 0x22; TH0 = 0x06; TL0 = 0x06; TH1 = 0x06; TL1 = 0x06; ET0 = 1; EA = 1; ET1=1;TR1=1; init_pcf8591(); //关蜂鸣器

while(1) { keyscan(); if(t==10000) { TR0=0; P0=0;P2=0xa0;P2=0; num=3; TR0=1; } } } void isr_t0(void) interrupt 1 //数码管显示 { tflag++; aa++; if(aa==400) //10ms t++ { aa=0; t++; if(t==10000) { P0=0;P2=0xa0;P2=0; } qian=t/1000;bai=t%1000/100;shi=t%100/10;ge=t%10; //超出标志

} if(num==1) { //计时标志

if(tflag == 4) //1ms 动态显示 { tflag = 0; dspflag++; if(dspflag == 7) dspflag = 0; if(dspflag==0) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0=smg_du1[bai];P2 |= 0xE0;P2 &= 0x1F; P0 =smg_we[5];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==1) display(6,shi); if(dspflag==2) display(7,ge); if(dspflag==3) display(4,qian); if(dspflag==4) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0=smg_du1[0];P2 |= 0xE0;P2 &= 0x1F; P0 =smg_we[1];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==5) display(2,5); if(dspflag==6) display(3,0); } } if(num==2) //算费标志 { if(tflag == 4) //1ms { tflag = 0;dspflag++; if(dspflag == 7) { dspflag = 0; qian1=date/1000;bai1=date%1000/100;shi1=date%100/10;ge1=date%10; }

if(dspflag==0) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0 = smg_du1[bai1];P2 |= 0xE0;P2 &= 0x1F; P0 =smg_we[5];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==1) display(6,shi1); if(dspflag==2) display(7,ge1); if(dspflag==3) display(4,qian1); if(dspflag==4) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0=smg_du1[0];P2 |= 0xE0;P2 &= 0x1F; P0 =smg_we[1];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==5) display(2,5); if(dspflag==6) display(3,0); } } if(num==3) { if(tflag == 4) //100ms { tflag = 0;dspflag++; if(dspflag == 7) { dspflag = 0; } if(dspflag==0) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0 = smg_du1[9];P2 |= 0xE0; P2 &= 0x1F; P0 =smg_we[5];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==1) display(6,9); if(dspflag==2) display(7,9); if(dspflag==3)

display(4,4); if(dspflag==4) { P0 = 0xFF;P2 |= 0xE0;P2 &= 0x1F; P0=smg_du1[0];P2 |= 0xE0;P2 &= 0x1F; P0 =smg_we[1];P2 |= 0xC0;P2 &= 0x3F; } if(dspflag==5) display(2,5); if(dspflag==6) display(3,0); } } } void T1_timer() interrupt 3 //LED PCF8591 { bb++; if(bb==8) { bb=0; temp=adc_pcf8591(); if(temp<64) { P0=0xfe;P2=0x80;P2=0; } if(temp>64) { P0=0xff;P2=0x80;P2=0; } } }


2012年北京市中考数学试卷解析版

22. (2012?北京)操作与探究: (1)对数轴上的点 P 进行如下操作:先把点 P 表示的数乘以 ,再把所得数对应的点向右平移 1 个单位,得到点 P 的对应点 P...

2012年杭州市中考数学试卷题及详细答案解析

2012 年杭州市中考数学试卷详细答案解析一、仔细选一选(本题有 10 个小题,每小题 3 分,共 30 分)下面每小题给出四个选项中, 只有一个是正确的.注意可以...

2012年普通高等学校招生全国统一考试英语(安徽卷)

2012年普通高等学校招生全国统一考试英语(安徽卷)_高考_高中教育_教育专区。2012 年普通高等学校招生全国统一考试(安徽卷) 英语第Ⅰ卷第一部分 听力(共两节,满分 ...

2012年贵州省遵义市中考数学试卷参考答案与试题解析

∴第 n 个数是 故答案为: .. 点评:此题主要考查了数字变化规律,根据已知得出分子与分母的变化规律是解 题关键. 17. (2012?遵义)在 4×4 的方格中有五...

2012年北京高考数学试题与答案(理科)

2012年北京高考数学试题与答案(理科)_高考_高中教育_教育专区。2012 年普通高等学校招生全国统一考试 数学 (理) (北京卷) 本试卷共 5 页,150 分。考试时长 12...

2012年山东省临沂市中考数学试卷及答案(解析版)

2012 年临沂市初中学生学业考试试题 数 学 一、选择题(本大题共 14 小题,每小题 3 分,满分 42 分)在每小题所给的四个选项中, 只有一项是符合题目要求的...

2012年成都中考数学试卷答案解析

2012年成都中考数学试卷答案解析_初一数学_数学_初中教育_教育专区。2012中考数学成都市二 0 一二年高中阶段教育学校统一招生考试试卷 (含成都市初三毕业会考) 数学...

2012年湖南高考(理科)数学试卷及详细答案

2012 高考数学 帅歌机 2012 年普通高等学校招生全国统一考试(湖南卷) 数学(理工农医类)一、选择题:本大题共 8 小题,每小题 5 分,共 40 分。在每小题给...

2012计算机考研真题及答案

2012 年全国硕士研究生入学统一考试—计算机专业基础综合试题 2012 年全国硕士研究生入学统一考试 计算机科学与技术学科联考 计算机学科专业基础综合试题(科目代码 408)...

2012年四川省高考数学试卷理科及答案

+f(a5)=5π, D. 二、填空题(本大题共 4 个小题,每小题 4 分,共 16 分.把答案填在答题纸的相应位置上. ) 13. (2012?四川) 设全集 U={a, c,...