nbhkdz.com冰点文库

2012


利用运放设计输入为 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年考研英语一真题及答案完整解析

2012 年全国硕士研究生入学统一考试英语(一) 2012 年全国硕士研究生入学统一考试英语(一) Section I Use of English Directions: Read the fo ...

2012-2013CSSCI(最新版)

2012-2013CSSCI(最新版)(1... 7页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...

2012年,中国发生的大事

2012年,中国发生的大事_军事/政治_人文社科_专业资料。不全,但概括!盘点2012 年,国家发生的大事一月: 1 月 2 日——日议员登陆-钓-鱼-岛1 月 8 日——...

2012年中国邮票发行目录

2012 年 中国邮票发行目录 2012-1 2012-2 2012-3 2012-4 2012-5 2012-6 2012-7 2012-8 2012-9 2012-10 2012-11 2012-12 2012-13 2012-14 2012-15 ...

2012年国家司法考试卷二真题试卷及解析

2012 年国家司法考试卷二真题试卷 受司法部国家司法考试办公室委托,中国普法网现予公布 2012 年国家司法考试试题, 未经许可任何单位和个人不得转载。本页内容如与...

3dmax2012安装教程_图文

同时提供一个:3dmax2012 注册机下载 1 第一步:准备 3dsmax2012 32/64 位中文版安装包 (图一) 在安装 3dsmax2012 32/64 位中文版时, 先下载好相关的安装...

2012年福州市中考数学试卷及解析(word版)

2012年福州市中考数学试卷及解析(word版)_中考_初中教育_教育专区。2012 年福州市中考数 学试卷 (本卷共四页,三大题,共 22 小题;满分 150 分,考试时间 120...

2012年长沙市中考数学试卷答案解析

2012 年长沙中考数学试卷解析一、选择题(在下列各题的四个选项中,只有一项是符合题意的. 1.﹣3 相反数是( ) A. B. ﹣3 C. ﹣ D. 3 解答: 解:﹣3...

2012年常州市中考数学试题及答案解析

江苏常州市 2012 年中考数学试题(本试卷满分 150 分,考试时间 120 分钟) 一、选择题(本大题共 8 小题,每小题 2 分,共 16 分) 1.-3 的相反数是【 A...

2012年镇江市中考数学试题及答案解析

(2012 江苏镇江 2 分)如图,在平面直角坐标系 x0y 中,直线 AB 过点 A(-4,0),B(0,4),⊙O 的半径为 1(O 为坐标原点),点 P 在直线 AB 上,过点 ...