双积分数字直流电压表_第1页
双积分数字直流电压表_第2页
双积分数字直流电压表_第3页
双积分数字直流电压表_第4页
双积分数字直流电压表_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、积分式直流数字电压表摘要本双积分电压表系统以 89C51单片机为核心、以分立元件制作的双积分型A/D转换器为主要部件的4位半积分式数字直流电压表,并对所设计的电压表进行了测试,结果测量误差 0.03%,精度达到4位半。实现了自动量程转换功能,自动调零功能,有很好的实际应用价值。关键词:单片机,双积分 A/D转换器,自动调零,自动转换量程目录1 方案论证与比较11.1信号调理11.2 处理器的选择与比较 11.3 积分器的选择与比较 12系统设计22.1 总体设计22.2 单元电路设计 32.2.1信号调理调理电路 32.2.2双积分电路设计42.2.3 基准源电路设计43 软件设计54 系统测

2、试55 结论6参考文献: 6附录:7附1:元器件明细表:8附2:仪器设备清单 8附3:电路图图纸9附4:程序清单方案论证与比较1.1.1信号调理比较与选择方案一、信号经过缓冲器提高输入阻抗后经过低通滤波器后,然后由模拟开关选择信号放大与不放大,当信号大于200mv时不放大,小于200mv时经过仪表放大器进行放大。方案二、信号经过电压分阻条统一衰减后经过缓冲器提高其负载能力,信号进行低通滤波器其截止频率在 10HZ左后滤除高频噪声及干扰,然后经过低噪声,高精度运放放大。方案论证:方案一对不同信号进行放大其电路复杂,当测量多个量程时放大电路的增益不一样,需多个放大电路成本很高,且用仪表放大器价格过

3、于昂贵。方案二通过统一衰减后在进行放大其电路简单调试方便。所以采用方案二。1.2处理器的比较与选择STC单片机所特有的在线下载功能和其他公司的单片机不同,不是利用SPI进行在线编程,而是利用IAP功能,在系统运行时编程,因此,可以通过串口来对单片机进行编程。其电路极为简单,只要所使用的单片机系统具有232串口通信功能即可。.工作宽温度范围,-40 C85C ,在系统可编程,无需编程器,可远程升级,抗干扰强价格低廉,所以采用了 STC单片机.1.3积分器比较与选择方案一、采用双极性运放 UA741, UA741为通用运放价格便宜,容易购买。积分电容选择胆电容进行积分。方案二、采用FET运放TL0

4、62,其漏电流小,电容选择独石电容。方案论证:方案一 ua741器基集电流大,失调电流大对积分产生影响,且胆电容的漏 电流大也对积分产生一定影响,而方案二TL062为FET型输入阻抗高基集电流小且独石电容漏电流小。所以才用方案二。2系统设计2.1 总体设计本设计基于STC89C51单片机的4位半积分式直流数字电压表设计的设计思路及实现方法。在设计中,充分利用了 89C51单片机内部的高速计数器和以分立元件组成的双积分型A/D转换器的优良特性,使整个设计达到了比较满意的效果。硬件设计主要有双电源电路、信号 采集电路、量程转换电路、开关逻辑控制电路、积分比较与自动回零电路、单片机系统、显 示电路组

5、成。软件编程采用模块化结构,主要有时序子程序,系数运算子程序,BCD码转换子程序,自动量程转换子程序,显示子程序等组成。信号经过电阻分压器统一衰减后,经过运放缓冲后在经过高精度,低噪声,失调电压小的运放OP37放大,开始先对信号进行积分,后开始对基准源进行反积分,然后经过单片机 运算处理后有单片机显示。电源逻 辑 选 择!F仃积分比较和 自动调零单片机处 理I液晶显示量程转换图一2.2 单元电路设计221信号调理调理电路信号经过电压分阻条统一衰减后经过缓冲器提高其负载能力,信号进行低通滤波器其 截止频率在10HZ左后滤除高频噪声及干扰,然后经过低噪声,高精度运放放大。放大倍数 可有可变电阻进行

6、调整补偿。2.2.2 双积分电路设计单片机通过对开关逻辑控制电路来控制双积分A/D转换,单片机先控制开关逻辑控制电路使s2接通进行自动回零,接着0UT2接通将待测电压进行正积分,再使Vref接通对反积分基准电压进行反积分,同时单片机内部计数器开始计数,到一定时间后比较电路中的比较电路输出中断信号,单片机停止计数并将计数值滤波,通过减法、乘法和除法的系数运算最后转换成BCD码,再通过显示电路将待测电压值显示出来。A/D转换是在单片机和开关逻辑控制电路的控制下有条不紊地进行,全部过程可分三个阶段:(1)正积分:也称信号采集阶段。在这个阶段,通过单片机对开关逻辑控制电路的控制对检测电压out2积分。

7、积分器的输出电压随时间线性地增加。正积分时间由单片机控制,定时为T1,在T1结束时积分器的输出电压为:Vout(T1)=-1/ C2*R9/ out2(公式一)(2) 反积分:也称计数阶段。在这个阶段,通过单片机对开关逻辑控制电路的控制对基准电压 ref积分。经过T2时间后回到0,Vout2(T2) =Vout1+1 / C2*R9/ Vref ( 公式二)T2=out2*T1/T2(公式三)由此可以看出T2的大小取决于输入待测电压Vx的大小。(3) 自动回零:也称复位阶段,在该阶段,因反积分使比较器输出由高电平变成低电平,再由单片机控制开关逻辑控制电路动作,使VA导通,使得积分电容充分放大。

8、2.2.3基准电压电路设计负电源电压采用高精度可编程稳压器件TL431产生,然后进过电源滤波。在经过缓冲器进行隔离,以免后级电路对基准源产生负载影响,影响基准源的精度。汕齟聶 RSESFst卯G5B*E5闵睨 p p 卩 D p P釦DHTA.LED按线即躺脈4所示.DHT2酬芯片蜩LED显示黏单也的輛连體本池计选帥悅比涮的DH那A峨码管接口芯氏皆是具的诫可剛鞫血共阴式数玛骨或槛牛LED发光管的智越示舸芯戌还可连接魏圍馳软用附单片即可完 成LED显示朮粧盘接口的金部功能,菲棘止主吧包折串行接II,无需外网元件可貞接驰动 LED;备必独立控制讦珂不评码攻消隐加因烁厲性;具有徴环址證力,方便腔制4

9、11立LED; 64惟费蛊控制敢内會去抖动电路财S DH7279A内部害有译码署,可直接接受BCD 码或】h进制讯井同时具:m译码方式*本枕设计屮选样芯片DH72独为详码方式D工代方戈在圈屮数码竹位选信号出 DH7279A芯片DIG3-DIG0控制,阂此刘网的位追控制始令为X3I3-8O1L此外DH727&A 蹶购创峨数码侧应的段码*3软件设计控制芯片为STC89C52,由于处理器速度较快,所以采用c语言编程方便简单软件流程如图开始初始化自动调零 L,N比较器低电平否IY定时60ms正向积分方向积分比较器低电平 否停止积分 量程转换 系统运算显示Q结束_)电压表主流程图4系统测试电压测试数据(

10、室温条件下)标准电压值自动量程选择实测电压值误差/ %I.OOOmV200mV档01.00mV050.000mV;200mV档50.00mV0120.000mV 档200mV120.01mV0.008199.990mV 档200mV199.97mV-0.010.20020V2V档0.2000V-0.011.25000V2V档1.2503V0.0241.98000V2V档1.9804V0.020从标准稳压电源输出标准的待测电压 ,用5位半数字电压表作为校准设备 ,分别用5位半数字 电压表和本电压表对待测电压进行测试 ,并对测试结果进行了比较,如表1所示。测试结果表 明,本电压表的测量误差w 0.

11、03%,精度达到 4位半。当测量199.990mV和0.20020V两组标 准电压值时,本电压表进行了自动量程转换 ,由此表明本电压表具有 200mV和2V两个量程并 且可以实现自动量程转换功能。5结论系统性能优良、稳定,较好地达到了题目由于系统架构设计合理, 功能电路实现较好, 要求的各项指标。参考文献:1 模拟电子线路基础2 数字电子技术基础,吴运昌著,广州:华南理工大学出版社, 2004年;3单片机原理及应用,李建忠著,西安:西安电子科技大学,2002 年;,阎石著,北京:高等教育出版社, 1997年;4 王剑铭,黄俊杰,宁彦卿新颖实用的单片机双积分 A/D转换电路和软件J.郑州工业大

12、学学报,2001 ;李伟 一种高精度低成本 A/D转换器的原理和实现J.自动化仪表,2007 ;冯文涛,于明鑫单片机控制的高精度双积分ADCJ.辽宁师专学报,2004 ;附录:附1 :元器件明细表:1、STC89C522、TL0623、OP374、1602液晶附2:仪器设备清单1、低频信号发生器2、数字万用表3、数字示波器4、稳压电源附3:电路图图纸整体电路图附4:程序清单/SW1 S1 SO 00 A4 Vin 11 A7 GNDSW2 S1 SO 10 A6 Vref 11 A7 GND 01 A5 Vin断开/SW3 S 0导通1/ #in elude #in elude vintrin

13、 s.h#defi ne uehar un sig ned char#defi ne uint un sig ned int#defi ne LCD_DATA P0 sbit LCD_RS = P2A4;sbit LCD_RW =卩2人5;sbit LCD_EN =卩2人6;sbit cha ngen = P3A0;sbit S2=卩3人1;sbit S3=P3A2;sbit S4=P3A4;sbit S5=P3A5;/sbit S6 = P3A6;sbit P1_7 = P1A7;sbit cmp_in =卩3人3;sbit P1_4 = P1A0;sbit P1_5 = P1A1;sbit

14、 P1_6 = P1A2;uchar compares_zero = a ,first_i ntegral = b,sec ond_in tegral = c,电容放discharge = d, Operation = e;状态定义为 校零 第一次积分 第二次积分电运算uchar state;uint regser;uchar code dis1 = curre nt voltage;uchar dis2 = 00000 mv ;uchar cn t=0;/*/*/*延时子程序/* /*/void delay( uint ms)uchar i;while(ms-)for(i = 0; i 25

15、0; i+)_no p_();_no p_();_no p_();_no p_();/*/*/*检查LCD忙状态/*lcd_busy 为1时,忙,等待。Icd-busy为0时,闲,可写指令与数据。/* /*bit lcd_busy()bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;_n op_();_n op_();_n op_();_n op_();result = (bit)(LCD_DATA&0x80);LCD_EN = 0;return result;/*/*/*写指令数据到LCD/*RS=L , RW=L E=高脉冲,。0七7=指令码。/* /

16、*void lcd_wcmd(uchar cmd)while(lcd_busy();LCD_RS = 0;LCD_RW = 0;LCD_EN = 1;LCD_DATA = cmd;_n op_();_n op_();_n op_();_n op_();LCD_EN = 0;*/*/*写显示数据到 LCD/*RS=H, RW=L 丘=高脉冲,D0-D7=据。/*void lcd_wdat(uchar dat)while(lcd_busy();LCD_RS = 1;LCD_RW = 0;LCD_EN = 1;LCD_DATA = dat;_n op_();_n op_();_n op_();_n

17、op_();LCD_EN = 0;*/*/*设定显示位置/*/*/ void lcd_pos(uchar pos)Icd_wcmd(pos|0x80); /数据指针=80+地址变量/*/*/* LCD初始化设定/*void lcd_i nit()delay(15);/lcd_wcmd(0x38);16*2delay(5);lcd_wcmd(0x0c);/delay(5);lcd_wcmd(0x06);/delay(5);lcd_wcmd(0x01);/delay(5);等待LCD电源稳定显示,5*7点阵,8位数据显示开,关光标字符进入清除LCD的显示内容*/*/*清屏子程序/* /*/void

18、 lcd_clr()lcd_wcmd(0x01); /清除LCD的显示内容delay(5);/*/显示函数/*/void display_li ne( uchar *p,uchar line)if(li ne = 1)Icd_pos(0x00);else if(li ne =2)Icd_pos(0x40);while(*p)lcd_wdat(*p);p+;/SW1 S1 SO 00 A4 Vin 11 A7 GND/SW2 S1 S0 10 A6 Vref 11 A7 GND 01 A5 Vin/SW3 S 1导通0断开/void compare ()P1_4=1;P1_5=0;P1_6=0;

19、if(cmp_in = 1)/state = first_ in tegral; elseS1 = 0;/校零时接地if(cha nge_in = 0)S2 = 0;/接入放大器elseS2 = 1;S3 = 1;/将积分输入端接非参考电压S4 = 1;/对调零电容充电S5 = 1;/积分电容非放电S6 = 1;/参考电压电容充电/delay(100);void f_in tegral ()P1_4=0;P1_5=1;P1_6=0;if(cha nge_in =0)S2 = 0;/接入放大器elseS2 = 1;S3 = 1;/将积分输入端接非参考电压S4 = 0;/对调零电容断开S5 = 0

20、;/积分电容非放电S6 = 1;/参考电压电容充电TMOD |=0x10;TH1 =0x15;TL1 =0xa0;ET1=1;TR1=1;EA=1void s_i ntegral()if(cha nge_in = 0)S2= 0;elseS2 = 1;53 = 0;/将积分输入端接参考电压54 = 1;/对调零电容断开55 = 0;/积分电容非放电P1_4=1;P1_5=1;P1_6=0;TMOD |=0x90;TH1 =0x00;TL1 =0x00;ET1=1;TR1=1;EA=1;/S6 = 0;while( state =sec ond_in tegral )if(cmp_in = 0)

21、regser = 0x00ff&TH1;regser=8;regser = regser+TH0;state = Operati on;void Operati on _display ()uchar a,b,c,d,e;uchar vref = 20;float result;uint midle ;P1_4=0;P1_5=0;P1_6=1;if(cha nge_in = 0)S2 = 0);/接入放大器elseS2 = 1S3 = 1;/将积分输入端接非参考电压S4 = 1;/对调零电容充电S5 = 1;/积分电容非放电/S6 =1; /参考电压电容充电result = (float)re

22、gser)/6)*vref);if(cha nge_in = 0)result =result/9.2625;midle = (ui nt)result;a = (uin t)result/10000;midle = midle%10000;b = midle/1000;midle = midle%1000;c = midle/100;midle = midle%100;d = midle/10;e = midle%10;dis21 = a + 0x30;dis22 = b + 0x30;dis23 = c + 0x30;dis25 = d + 0x30;dis24=.;dis2 6 = e

23、+ 0x30;dis27 = m;dis28 = V;dis29=;elseresult =result/9.2500;/10.0019;midle = (ui nt)result;a = (uin t)result/10000;midle = midle%10000;b = midle/1000;midle = midle%1000;c = midle/100;midle = midle%100;d = midle/10;/ midle = midle%10;e = midle%10;if(result =20000)dis21 = a + 0x30;dis22=.;dis23 = b + 0x30

温馨提示

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

评论

0/150

提交评论