收藏 分销(赏)

积分型直流数字电压表的设计.doc

上传人:a199****6536 文档编号:2668724 上传时间:2024-06-04 格式:DOC 页数:21 大小:188.04KB
下载 相关 举报
积分型直流数字电压表的设计.doc_第1页
第1页 / 共21页
积分型直流数字电压表的设计.doc_第2页
第2页 / 共21页
积分型直流数字电压表的设计.doc_第3页
第3页 / 共21页
积分型直流数字电压表的设计.doc_第4页
第4页 / 共21页
积分型直流数字电压表的设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、个人收集整理 勿做商业用途积分型直流数字电压表的设计济南铁道职业技术学院 丁华、张亮、胡刚正目 录摘要 1第一部分:系统方案1第二部分:理论分析与计算 2第三部分:电路与程序设计 4第四部分:测试方案与测试结果 6总结 6参考文献6附录一 主程序流程图 7附录二 元器件清单 8附录三 部分源程序9 摘要:本设计为16位高分辨率的三斜积分式直流数字电压表, A/D转换器部分采用普通元器件构成模拟部分,利用MEGA8单片机借助软件实现数字计数显示功能,同时采用MEGA8单片机编程实现直流电压表量程的自动转换、自动校零、和液晶显示等功能。关键词:三斜积分,A/D转换,电压测量 第一部分 系统方案一、

2、 总体电路构成本系统由输入放大与量程转换电路、三斜积分A/D转换电路、单片机计数控制电路、LCD数字显示器构成。总体结构框图如图1所示。 图1 总体电路框图二、各单元电路设计1 输入放大与量程自动转换电路的设计输入放大与量程自动转换电路的主要作用是提高输入阻抗和完成量程转换,本设计采用OP07集成运算放大器构成同相比例放大电路,以提高电路的输入阻抗,以达到题目要求,模拟开关CD4066在单片机的控制下形成不同的通断组合,实现量程的自动转换和自动校零功能。2积分式A/D转换器的设计虽然双积分式A/D转换器具有抗干扰能力强的特点,在采用零点校准的前提下,其转换精度也可以做得很高,但显著的不足是转换

3、速度较慢,并且分辨率越高,其转换速度也就越慢。因此本设计采用了分立元件构成的三斜积分式A/D转换器,可以较好的改善转换速度慢的缺点,它的转换速率分辨率的乘积比传统的双积分式A/D转换器提高至少两个数量级.3、单片机计数、控制电路的设计通过对A/D转换电路的方案分析,本设计采用三斜积分电路和单片机编程实现A/D转换。脉冲的计数功能由单片机实现,所以对单片机的速度提出了较高的要求。本课题基本要求分辨率为11位,转换速度不低于2次/S;发挥部分要求分辨率15位,若采用MCS51单片机实现控制和脉冲计数,转换速度较慢。因此本设计采用了MEGA8单片机实现控制和脉冲计数。MEGA8单片机具有速度高、超功

4、能精简指令等特点,采用16MHZ晶振,完全能满足分辨率15位和转换速度2次/S的要求.4、显示电路本设计采用点阵式液晶显示器(LCD)显示。液晶显示器显示功能强大,可显示各种字体的数字、图像,还可以自定义显示内容,增加了显示的美观性与直观性。最重要的是提供了友好的人机界面.第二部分 理论分析与计算 一、输入放大与量程自动转换电路输入电路的主要作用是提高输入阻抗和实现量程的转换。输入电路的核心是输入放大器和模拟开关CD4066组成的量程自动转换电路,如图2所示.TG1、TG2是单片机控制的模拟开关,采用CD4066芯片,控制不同的增益.各种组合分析如下:(1)200mv量程。TG2导通,放大电路

5、被接成电压串联负反馈放大器。放大倍数Af及最大的输出电压Uomx分别为: 图2输入放大与量程自动转换电路Uomx=200mV20=4V(2)2V量程。TG1导通,此时的电压放大倍数Af及最大的输出电压Uomx分别为: Uomx=20020=4V由上述计算可见,输入AD转换器的规范电压为0-4V,同时电路被接成了电压串联负反馈放大器形式,输入电阻高达10000,完全达到题目的要求,电路输入端采用RC低通滤波电路抑制交流干扰。 二、三斜积分式AD转换器图3 三斜积分式AD转换器的原理图图3是一个三斜积分式AD转换器的原理图。它由基准电压-VREF、积分器、比较器和由单片机构成的计数控制电路组成。转

6、换开始前,先将计数器清零,并接通S0使电容C完全放电。转换开始,断开S0。整个转换过程分三步进行:首先,令开关S1置于输入信号Ui一侧。积分器对Ui进行固定时间T1的积分。积分结束时积分器的输出电压为:可见积分器的输出电压与Ui成正比。这一过程也称为转换电路对输入模拟电压Ui的采样过程。图4 三斜积分式AD转换波形图在采样开始时,逻辑控制电路将计数门打开,计数器对周期为Tc的计数脉冲CP计数。当计数器达到满量程N1,此时计数器由全“1”恢复为全“0”,这个时间正好等于固定的积分时间T1,.计数器复“0”时,同时给出一个溢出脉冲(即进位脉冲)使控制逻辑电路发出信号,令开关S1转换至参考电压-VR

7、EF一侧,采样阶段结束.三斜积分式AD转换器的转换波形是将双积分式A/D的反向积分阶段T2分为图4所示的T21、T22两部分.在T21期间,积分器对基准电压VREF进行积分,放电速度较快;在T22期间积分器改为对较小的基准电压进行积分,放电速度较慢。在计数时,把计数器也分为两段进行计数。在T21期间,从计数器的高位(2m位)开始计数,设其计数值为N1;在T22期间,从计数器的低位(20位)开始计数,设其计数值为N2。则计数器中最后的读数为:N= N12m+N2在一次测量过程中,积分器上电容器的充电电荷与放电电荷是平衡的,则|UxT1=VREFT21+(VREF/2m)T22其中: T21=N1

8、Tc T22=N2Tc将上式加以整理得: 将上式进一步整理,可得三斜式积分式A/D转化器的基本关系式为 本设计中,取m=8,时钟脉冲周期Tc=120us,基准电压VREF=5V,并希望把2V被测电压变换成N=65536码读数时,由上式可以计算出T1=76.8ms,而传统的双积分式AD转换器在相同的条件下所需的积分时间T1=307。2s,可见三斜积分式AD转换器可以使转换速度大幅度提高. 三、计数器的设计题目基本要求测量分辨率为1mV(2V档),因此计数器至少要11位,发挥部分要求测量分辨率为0.1mV(2V档),计数器至少要15位,故本设计采用MEG8单片机实现控制和脉冲计数,构成16位计数器

9、,内部采用16MHZ晶振,完全满足分辨率15位和转换速度2次/S的要求。 第三部分 电路与程序设计一、三斜积分A/D转换器模拟电路部分 图5三斜积分A/D转换器模拟电路部分 图5为三斜积分A/D转换器模拟电路部分,图中放大电路选用精密运放OP07;积分电路也选用OP07;积分电容选用漏电流很小且等效串联电阻、电感都很小的CBB80电容;比较器选用LM311;图中的电子开关TG1、TG2、TG3、TG4、TG5、TG6、TG7、TG8均选用模拟开关CD4066芯片,只要将CD4066控制端接到单片机不同控制端口PBX上即可实现不同的开关通断控制。TG1为自动校零控制、TG2、 TG3为量程自动转

10、换控制,TG4、TG5、TG6控制积分的三个阶段,TG7、TG8为转换开始前的控制。 二、 单片机控制、计数、显示部分电路采用MEGA8单片机实现对CD4066模拟开关的通断控制,从而实现量程自动转换、自动校零以及三斜积分A/D转换过程的控制;同时利用单片机编程实现16位高速计数功能.显示部分采用1602LCD液晶显示器实现A/D转换数据和测量电压值的显示.单片机控制、计数器以及LCD液晶显示电路如图6、7所示。 图6单片机控制、计数器电路 图7 LCD液晶显示电路 三、基准电压产生电路图8基准电压信号生成电路自行设计了一个从0100mV连续调节的模拟电压信号作为该系统的基准电压源,选用TL4

11、31AA,其电压精度可以达到0.5%;两组电压跟随器选用精密运放OP07;可变电阻RW101、RW103选用多圈精密可变电阻;电位器RW102选用10圈线绕精密电位器.由TL431产生2.50V电压,经电位器RW101分压得到100mV电压送给第一组电压跟随器(由IC101组成)输入端。第一组电压跟随器的输出由多圈精密电位器RW102进行分压,分压后的信号由第二组电压跟随器(由U2组成)输出0100mV的可调电压作为A/D转换电路的电压基准。 四、主程序流程(见附录一)第四部分 测试方案与测试结果为了确定系统与题目要求符合程度,我们对系统中关键部分进行了实际测试.一、分辨率和测量误差我们从信号

12、源输入0-2V连续调节的直流电压信号作为该系统的被测信号源,对A/D转换电路的分辨率和测量误差进行了测试。选取被测信号源的1mV、5mV、50mV、150mV、200mV、300mV、500mV、1V、1.5V、2V点作为测试电压,分别进行了测试,结果见表1: 200mV档输入电压(mV)1550150200显示数据(字)9649850041499719997显示电压值(mV)0。964。9850。04149.97199。97测量误差0.04%0。02%0。04%0。03%0.03% 2V档输入电压(V)0。30。511。52显示数据29984996100041499819997显示电压值0。

13、29980.49961。00041.49981.9997测量误差0.020。040.040.020。03% 从上述测试结果分析,本设计直流数字电压表的测量分辨率和测量误差均能达到题目基本和发挥部分的要求。 二、采样速率测试A/D转换结束后,单片机输出一个信号驱动发光二极管闪烁,显示A/D转换速度。用脉冲计数器测得其转换速度大于10次/S,达到了题目要求,结果如表2测试次数1 2 34转换速度(次/S) 11 13 12 12三、结论电路设计完成后,通过进行分辨率、测量误差以及转换速度测试,测试结果表明本设计达到了设计的基本和发挥部分的全部要求,并且具备自动校零和自动转换量程的功能。总 结本系统

14、采用三斜积分式A/D转换器将输入的直流电压ui转换成与ui成正比的时间间隔,在此期间用MEGA8单片机计数器对恒定频率的时钟脉冲计数,计数结束时,计数器记录的数字量正比于输入的模拟电压,从而实现模拟量到数字量的转换.在设计过程中,因为使用普通器件,元器件较多,而且输入信号较弱容易受到干扰,所以力求硬件电路简单,努力从工艺上下功夫,并对某些电路进行创新。本系统达到了竞赛题目中的各项要求。同时,设计过程中遇到了许多困难,设计上还存在许多值得改进的地方.通过本次设计,我们深刻体会到共同协作和团队精神的重要性,提高了自己解决问题的能力.参考文献:1.张军. AVR单片机应用系统开发典型实例。中国电力出

15、版社,2005年2.曹建平.智能化仪器原理及应用.西安电子科技大学出版社.2004年3。杨志忠.数字电子技术。高等教育出版社. 2000年附录一:主程序流程 附录二:元器件清单元件清单直流基准电压产生电路元件清单器件名规格(型号)数量备注运算放大器OP072精密运算放大器可调电阻10K1电阻2012001电容47F/16v3100F/16v2二极管1N40072可调压稳压二极管TL431AA1精度0.5%精密电位器2。2K/2W1十圈线绕式 三斜积分A/D转换电路元件清单运算放大器Op072精密运算放大器电压比较器LM3112高速精密 模拟开关 CD40662 电容0.22uF1 电阻1K12

16、0k19k1 电压比较器LM3111可调电阻10K4单片机部分电路元件清单单片机Mega81电容100F10。1F122pF2电阻10K1晶振16MHz1显示电路元件清单液晶WYM1602A1 可调电阻1K1电源电路元件清单集成电路CW78051CW79051CW78121CW79121电阻104整流桥RS307L2电容0.1F、 81000F12 附录三: 部分源程序#include iom8v.h#include macros.hinclude lcd.h#include stdlib。hinclude includestring。hdefine S0 10 /pc0 gnd#define

17、 S1 11 /2v#define S2 17 /200mv PD7define S3 12 /vrefdefine S4 14 /20mvdefine S5 13 /discharge#define S6 15 /Uxdefine S7 16 /Ix /全局变量unsigned char timetemp=0;unsigned char time100ms=0; unsigned int time500ms=0; unsigned char stepflag=0;/转换阶段标志-uref ? uref/2 7?unsigned char conflag=0; /正在转换标志 unsigned

18、 int voltcount=0; /ad值float volt=0; /电压值 unsigned char timeH=0; /计数器值unsigned char timeL=0; /函数void init_devices(void);void port_init(void);/1msvoid timer2_init(void);void timer2_ovf_isr(void); /100usvoid timer1_init(void);void timer1_ovf_isr(void); void adadjust(void)void adini(void);void adconvert

19、(unsigned char data); /main()void main() unsigned char i; unsigned char lcdbuf32; unsigned char *lcdp=lcdbuf; init_devices(); Inti_Disp(); adadjust(); adini(); while(1) adini(); adconvert(0x08);/ set_cur(0); lcdp=ftoa(volt,0); putstr(lcdp); set_cur(16); ltoa(lcdbuf,voltcount,10); putstr(lcdbuf); /ab

20、c(); void adini(void) PORDC=0x08; /放电30ms timetemp=30; conflag=1; void adconvert(unsigned char data)/充电 /充电196ms PORDC=data; /打开Ux timetemp=196; conflag=1; while(timetemp);/等待 /反向放电 /读取U0值 if(PIND0x08) PORDC=0x10;/接入-uref/2 7 stepflag=1;/qi dong counter timeH=0; timeL=0; else PORDC=0x04;/接入uref step

21、flag=2; /qi dong counter timeH=0; timeL=0; dischar1: while(stepflag=2) if(PIND&0x08) else PORDC=0x10;/接入-uref/2 7 stepflag=1;/qi dong counter while(PIND&0x04); voltcount=timeH; voltcount=(voltcout7)+timeL; void port_init(void) PORTB = 0xFF; DDRB = 0xff; PORTC = 0x08; /m103 output only DDRC = 0xff; P

22、ORTD = 0x7F; DDRD = 0xf3; /TIMER1 initialisation prescale:64/ WGM: 0) Normal, TOP=0xFFFF/ desired value: 500uSec/ actual value: 500。000uSec (0.0)void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = 0xFF; /setup TCNT1L = 0x83; OCR1AH = 0x00; OCR1AL = 0x7D; OCR1BH = 0x00; OCR1BL = 0x7D; ICR1H = 0x00;

23、ICR1L = 0x7D; TCCR1A = 0x00; TCCR1B = 0x03; /start Timer pragma interrupt_handler timer1_ovf_isr:9void timer1_ovf_isr(void) /TIMER1 has overflowed TCNT1H = 0xFF; /reload counter high value TCNT1L = 0x83; /reload counter low value if(stepflag=1) /timeH timeL+; if(stepflag=2) timeH+; /TIMER2 initialis

24、ation prescale:64/ WGM: Normal/ desired value: 1mSec/ actual value: 1。000mSec (0。0)void timer2_init(void) TCCR2 = 0x00; /stop ASSR = 0x00; /set async mode TCNT2 = 0x06; /setup OCR2 = 0xFA; TCCR2 = 0x04; /start /1mspragma interrupt_handler timer2_ovf_isr:5void timer2_ovf_isr(void) TCNT2 = 0x06; /relo

25、ad counter value if(timetemp!=0) timetemp-; else conflag=0; if(time500ms=0) PORTC=0x20; time500ms=500; time500ms-; /call this routine to initialise all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer1_init(); timer2_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x44; /timer interrupt sources SEI(); /re-enable interrupts /all peripherals are now initialised

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服