《实用电容测量仪设计.pdf》由会员分享,可在线阅读,更多相关《实用电容测量仪设计.pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用电容测量仪设计(DOC)实用电容测量仪设计实用电容测量仪设计姓名:刘立鹏专业:电子信息工程班级:电子 10学号:20104075008时间:2013 年 4 月 8 日1/27实用电容测量仪设计(DOC)目录目录1 功能说明 32 整体方案设计 42.1 方案论证42.2 方案选择63 单元模块设计63.1 AT89C51单片机工作电路 63.2 系统时钟电路 73.2.1 内部时钟电路73.2.2 外部时钟电路83.3 555 芯片电路93.4系统显示电路103.5 系统按键电路113.6 系统总电路图124 软件设计134.1 软件设计原理及所用工具134.2 软件设计流程图154.3
2、 编写程序166 设计总结227 参考文献232/27实用电容测量仪设计(DOC)1 1 功能说明功能说明:基于 AT89C51 单片机和 555 芯片的数显式电容测量。该方案主要是根据 555 芯片的应用特点,把电容的大小转变成555 输出频率的大小,进而可以通过单片机对 555 输出的频率进行测量,再通过该频率计算出被测参数。在系统软件设计中,是以 Proteus 为仿真平台,使用 C 语言编程编写了运行程序。该测量仪具有结构简单,成本低廉,精度较高,方便实用等特点。3/27实用电容测量仪设计(DOC)2 2整体方案设计整体方案设计本设计的整体思路是:基于AT89C51 单片机和 555
3、芯片的数字式电容测量。该方案主要是根据 555 芯片的应用特点,把电容的大小转变为 555 输出频率的大小,进而可以通过单片机对 555 输出的频率进行测量。2.12.1 方案论证方案论证设计中采用了两个方案,具体的方案见方案一和方案二。4/27实用电容测量仪设计(DOC)方案一:利用多谐振荡原理如图 2.1 所示。电容 C 电阻 R 和 555 芯片构成一个多谐振荡电路。在电源刚接通时,电容C 上的电压为零,多谐振荡器输出V0 为高电平 V0 通过 R 对电容 C 充电。当 C 上冲得的电压 Vc=Vr 时,施密特触发器翻转,V0 变为低电平,C 又通过 R 放电,Vc 下降。当Vc=Vr
4、时施密特触发器又翻转,输出 Vc 又变为高电平,如粗往复产生震荡波形。图 2.1 多谐振荡原理图这种方法是利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。方案二:直接根据充电放电时间判断电容值这种电容测量方法主要利用了电容的充放电特性 Q=UC,放电常数 r=RC,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使 T=ARC(T 为振荡周期或处罚时间;A 为电路常数与电路参数有关)。这种方法中应用于 555 芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对
5、应。其原理如图 2.2 所示.5/27实用电容测量仪设计(DOC)图 2.2 根据充电放电时间判断电容值原理这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大的问题,而且硬件一旦设计好,可变性不大。方案三:基于 AT89C51 单片机和 555 芯片构成的多谐振荡电路电容测量这种电容测量方法主要是通过一块 555 芯片来测量电容,让 555 芯片工作在直接反馈无稳态的状态下,555 芯片输出一定频率的大小跟被测量的电容之间的关系是:f=0.772/(R*Cx),我们固定 R 的大小,其公式就可以写为:f=k/Cx,只要我们能测量出 555 芯片输出
6、的频率,就可以计算出测量的电容。如图2.3 所示。6/27实用电容测量仪设计(DOC)图 2.3 基于 AT89C51 单片机和 555 芯片构成的多谐振荡电路电容测量2.22.2 方案选择方案选择通过对上述方案的比较,已知方案三不仅硬件结构简单,而且软件设计业简便。能够满足测量精度高、易于实现自动化测量等设计需要,而且单片机构成的应用系统有较大的可靠性、系统扩展、系统配置灵活,容易构成各种规模的系统。所以选择方案三。3 3 单元模块设计单元模块设计通过简单的系统框图,系统主要由四个主要部分组成:单片机,晶振电路设计,555 芯片电路设计,显示电路设计,复位电路设计。3.1 AT89C513.
7、1 AT89C51 单片机工作电路单片机工作电路本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C51单片机。AT89C51 是低功耗、高性能、经济的 8 位 CMOS 微处理器,工作频率为024MHz,内置 4K 字节可编程只读闪存,128x8 位的内部 RAM,16 位可编程 IO 总线。它采用 Atmel 公司的非易储器制造技术,与 MCS51 的指令设置和芯片引脚可兼容。AT89C51 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Fl
8、ash 存储器可7/27实用电容测量仪设计(DOC)有效地降低开发成本。AT89C51 工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如下图。图 3.1 单片机工作电路3.23.2 系统时钟电路系统时钟电路时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。3.2.13.2.1 内部时钟电路内部时钟电路8/27实用电容测量仪设计(DOC)内部时钟方式:内部时钟方式电路图如
9、下图3.2 所示。图 3.2 内部时钟电路MCS-51 单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚 XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容 C1 和 C2 典型值通常选择为 30PF 左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在 1.2MHz12MHz 之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的 NPO 高频
10、电容。MCS-51 单片机常选择振荡频率 6MHz 或 12MHz 的石英晶体。3.2.23.2.2 外部时钟电路外部时钟电路外部时钟方式:外部时钟方式电路图如下图3.3 所示。9/27实用电容测量仪设计(DOC)图 3.3 外部时钟电路外部时钟方式是使用外部振荡脉冲信号,常用于多片 MCS-51 单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于 12MHz 的方波。外部的时钟源直接接到 XTAL2 端,直接输入到片内的时钟发生器上。由于XTAL2 的逻辑电平不是 TTL 的,因此要外接一个 4.7k10k 的上拉电阻。这次的设计采用 MCS-51 的内
11、部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片 MCS-51 单片机同时工作。在这次设计中只用一个 MCS-51单片机,不需要振荡脉冲信号。3.3 5553.3 555 芯片电路芯片电路555 芯片电路的应用电路很多,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路。本次设计中应用的电路是直接反馈型无稳类电路。电路如图3.4所示。10/27实用电容测量仪设计(DOC)图 3.4 555 芯片电路 555 芯片芯片输出的频率为f 0.772R C,只要我们改变电阻 R,就可以达到改变电阻量程的目的,图中提供了四组电阻,
12、所以说有四组的电容测量量程,每个量程之间的跨度是 10 倍的关系。在555芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,为了去除这些毛刺本设计中使用了一个两输入与门(74HC08),让信号通过74HC08后会使输出的波形毛刺减少很多,使单片机的测量结果变得精确。3.43.4系统显示电路系统显示电路LCD 以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用 5x7 点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1 行 16 个字、2 行 16 个字、2 行 20 个字等等,这里我们使用的是
13、2 行 16 个字的 1602 液晶模块。11/27实用电容测量仪设计(DOC)图 3.5 LCD1602 引脚图1602 采用标准的 16 脚接口,其中:第 1 脚:VSS 为地电源第 2 脚:VDD 接 5V 正电源第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 R
14、S 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。第 6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 1516 脚:空脚3.53.5 系统按键电路系统按键电路按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码
15、键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图3.6 就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。12/27实用电容测量仪设计(DOC)图 3.6 按键电路3.63.6 系统总电路图系统总电路图当各个部分的电路设计完成后,下面的工作就是组合成一个总的电路图。图 3.7总电路图13/27实用电容测量仪设计(DOC)4 4 软件设计软件设计4.14.1 软件设计原理及所用工具软件设计原理及所用工具本次设计所选用 Keil C51中的编译/连接器软件 Keil uVision2作为编译器/连接工具。整个程序设计过程中遇到
16、的最大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。在前面的介绍中我们知道:555 时基芯片的输出频率跟所使用的电阻 R 和电容 C 的关系是:又因为T T 1,所以ff 0.772R CR*C0.772即:C T*0.772R如果单片机采用 12M 的晶振,计数器 T0 的值增加 1,时间就增加 1S,我们采用中断的方式来启动和停止计数器 T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为N1,第二次中断到来停止T0,计数器器的值为N2,则测量方波的周期为T (N2 N1)*1us,如何开始时刻计数器的值N1 0,则T N*106。14/27实用电容测量
17、仪设计(DOC)简单时序图如下。555 输出的方波T启动 T0停止T0图 4.1 时序图则:C N*0.772*106R单片机的计数器的值N=0-65535,为了测量的精度,N 的取值一般在1005000,当电阻 R 越大,电容 C 的值就越小。我们取不同的电阻值,就得到不同的电容测量的量程。NN*106C*1uF 150uF100100NN第二档:R2 772C*101*106C*101*1uF 0.15 uF100100NN第三档:R3 7.72KC*102*106C*102*1uF 0.010.5 uF100100NN第四档:R4 77.2KC 0.0010.05 uF*103*106C
18、*103*1uF100100N为了编写程序的方便,我们只计算,后面的单位可以根据使用的量程自100第一档:R1 77.2C 行添加。测量范围的大小 0.001uF655.35uF。15/27实用电容测量仪设计(DOC)4.24.2 软件设计流程图软件设计流程图图 4.2 为整个程序设计的流程。T0,INT0初始化有无按键NYY启动 555有无按键有无中断NY启动计数器 T0显示电容值N有无中断计算电容的大小Y停止计数器 T0图 4.2 软件设计流程图16/27N实用电容测量仪设计(DOC)4.34.3 编写程序编写程序根据上面的流程图,编写程序:#include reg51.h#include
19、intrins.h/库函数#define DATA P0sbit RW=P21;/1602 写数据sbit RS=P20;/1602 写地址sbit EN=P22;/1602 工作使能sbit b_test=P37;/开始测量电容的按键输入sbit _reset=P35;/555 时基芯片工作控制信号unsigned int T_flag,N,C,i,Dis1,Dis0;unsigned int b6=0X13,0X0D,0X00,0X00,0X25,0X16;/*延时 1MS*/void Delay1ms(unsigned int mm)unsigned int i;for(mm;mm0;m
20、m-)for(i=100;i0;i-);/*检查忙否*/void Checkstates()unsigned char dat;RS=0;RW=1;doEN=1;/下降沿17/27/显示 C=00UF实用电容测量仪设计(DOC)_nop_();/保持一定间隔_nop_();dat=DATA;_nop_();_nop_();EN=0;while(dat&0 x80)=1);/*LCD写命令函数*/void wcomd(unsigned char cmd)Checkstates();RS=0;RW=0;DATA=cmd;EN=1;_nop_();_nop_();_nop_();_nop_();EN
21、=0;/*LCD 写数据函数*/void wdata(unsigned char dat)Checkstates();RS=1;18/27实用电容测量仪设计(DOC)RW=0;DATA=dat;EN=1;_nop_();_nop_();_nop_();_nop_();EN=0;/*初始化*/void LCDINIT()Delay1ms(15);wcomd(0 x38);/功能设置Delay1ms(5);wcomd(0 x38);/功能设置Delay1ms(5);wcomd(0 x01);/清屏Delay1ms(5);wcomd(0 x08);/关显示Delay1ms(5);wcomd(0 x0
22、c);/开显示,不开光标/*显示函数*/void Display(void)/显示函数19/27实用电容测量仪设计(DOC)unsigned char i,j;unsigned char a12=0X4D,0X45,0X41,0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53;/显示measurementsLCDINIT();for(i=0;i12;i+)/写显示第一行 wcomd(0 x80+i);Delay1ms(1);wdata(ai);Delay1ms(1);for(j=0;j5000)/设置最长等待时间_reset=0;/最长等待时间到还没有中断
23、,停止555if(N5000)/如果计数值大于 5000,显示 LA,表示应换用大一点的量程b3=0X11;21/27实用电容测量仪设计(DOC)b2=0X1C;if(N=100&N=5000)C=N/100;/计算电容的大小b2=C/10;/计算电容值的十位b3=C-b2*10;/计算电容值的各位Display();/显示电容的大小void int0(void)interrupt 0/第一次中断开始计数,第二个中断停止计数T_flag=!T_flag;if(T_flag=1)TR0=1;/开始计时if(T_flag=0)TR0=0;/停止计时EX0=0;/关闭中断_reset=0;/停止发出
24、方波N=TH0*256+TL0;/计算计数器的值N=N*5/3;TH0=0 x00;/恢复初值22/27实用电容测量仪设计(DOC)TL0=0 x00;6 6 设计总结设计总结本设计的硬件电路比较简单,这大大的降低了成本。而采用单片机可以提高系统的可靠性和稳定性,缩小系统的体积,调试和维护方便。本设计通过由555 芯片和电容电阻组成的振荡电路来输出方波,通过单片机定时器 T0 测量其脉冲宽度,从而达到测量其周期的目的,再通过单片机软件编程,对数据进行进一步的计算从而得出被测电容的值,再通过 LCD1602 显示出其测量值。系统的软件部分是系统实现功能的关键,软件部分是在 Keil51 的平台上
25、使用是 C 语言编写程序。本系统通过一个测量按键启动整个测量程序,通过外部中断零 INT0 来控制计数器 T0 的开始和停止,INT0 采用边沿触发方式,在第一个脉冲边沿启动 T0,使 T0 开始计数,在第二个脉冲边沿停止 T0 计数,然后通过对数据的计算和处理最后将数据显示在 LCD1602 上。总之,整个系统的工作正常,完成了设计任务的全部要求。虽然本设计完成了设计任务,但无法得到十分精确的测量结果,这主要是有以下几点原因,首先单片机对于脉冲宽度的测量精确度有限,其次是外界的干扰对波形有一定的影响,还有硬件自身也有一部分原因。希望在之后的设计之中能够得到进一步解决。23/27实用电容测量仪
26、设计(DOC)7 7 参考文献参考文献1 康华光主编,电子技术基础(模拟部分),北京:高等教育出版社,1999.62 康华光主编,电子技术基础(数字部分),北京:高等教育出版社,2000.63 谢自美主编,电子线路设计/实验/测试,武汉:华中科技大学出版社,2000.74 吴黎明主编,单片机原理及其应用技术,北京:科学出版社,2005.35 丁英丽主编,交流型微小电容测量电路的设计,北京:电工技术杂志,2003.56 王毓银主编,数字电路逻辑设计,北京:高等教育出版社,1999.97 李海清,黄志遥,王宝凉主编,电容传感器新型微弱电容测量电路,北京:传感技术学报,2002.58 罗民昌主编,集
27、成电路系统,北京:中国铁道出版社,1998.99张毅刚主编,MCS-51 单片机应用系统,哈尔滨:哈尔滨工业大学出版社,1997.1210申忠如,申淼,谭亚丽主编,MCS-51 单片机原理及系统设计,西安:西安交通大学出版社,2008年 3 月第 1 版11付晓光主编,单片机原理与使用技术,北京:清华大学出版社,2007.1112李桂安主编,电子技术实验及课程设计,南京:东南大学出版社,2008.813夏继强主编,单片机实验与实践教程,北京:北京航空航天大学出版社,2001.914肖洪兵主编,跟我学用单片机,北京:北京航空航天大学出版社,2002.1015申忠如,郭福田,丁晖主编,现代测试技术与系统设计,西安:西安交通大学出版社,2006.216郝波主编,数字电子技术,西安:西安电子科技大学出版社,2007.817赵文博主编,新型常用集成电路速查手册,北京:人民邮政出版社,2006.818薛文,华慧明主编,新编实用电子技术快速入门,福州:福建科学技术出版社,2003.121/27实用电容测量仪设计(DOC)2/27实用电容测量仪设计(DOC)3/27实用电容测量仪设计(DOC)1/27
限制150内