实用电容测量仪设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2.2外部时钟电路
外部时钟方式:外部时钟方式电路图如下图3.3所示。
图3.3Baidu Nhomakorabea外部时钟电路
外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。
外部的时钟源直接接到XTAL2端,直接输入到片内的时钟发生器上。由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k~10k的上拉电阻。
图2.3 基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量
2.2 方案选择
通过对上述方案的比较,已知方案三不仅硬件结构简单,而且软件设计业简便。能够满足测量精度高、易于实现自动化测量等设计需要,而且单片机构成的应用系统有较大的可靠性、系统扩展、系统配置灵活,容易构成各种规模的系统。所以选择方案三。
3.3 555芯片电路
3.4 系统显示电路
3.5 系统按键电路
3.6 系统总电路图
4 软件设计
4.1软件设计原理及所用工具…………………………………………………13
4.2软件设计流程图……………………………………………………………15
4.3 编写程序……………………………………………………………………16
6 设计总结………………………………………………………………………22
7 参考文献
1功能说明:基于AT89C51单片机和555芯片的数显式电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量,再通过该频率计算出被测参数。在系统软件设计中,是以Proteus为仿真平台,使用C语言编程编写了运行程序。该测量仪具有结构简单,成本低廉,精度较高,方便实用等特点。
图4.1 时序图
则:
单片机的计数器的值N=0-65535,为了测量的精度,N的取值一般在100~5000,当电阻R越大,电容C的值就越小。我们取不同的电阻值,就得到不同的电容测量的量程。
第一档: 1~50uF
第二档: 0.1~5 uF
第三档: 0.01~0.5 uF
第四档: 0.001~0.05 uF
3 单元模块设计
3.1 AT89C51单片机工作电路…………………………………………………6
3.2系统时钟电路………………………………………………………………7
3.2.1内部时钟电路……………………………………………………………7
3.2.2外部时钟电路……………………………………………………………8
图3.6 按键电路
3.6 系统总电路图
当各个部分的电路设计完成后,下面的工作就是组合成一个总的电路图。
图3.7 总电路图
4 软件设计
4.1 软件设计原理及所用工具
本次设计所选用Keil C51中的编译/连接器软件Keil uVision2作为编译器/连接工具。
整个程序设计过程中遇到的最大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。在前面的介绍中我们知道:555时基芯片的输出频率跟所使用的电阻R和电容C的关系是:
第15~16脚:空脚
3.5
按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图3.6就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。
#define DATA P0
sbit RW=P2^1;//1602写数据
sbit RS=P2^0;//1602写地址
sbit EN=P2^2; //1602工作使能
sbit b_test=P3^7; //开始测量电容的按键输入
sbit _reset=P3^5; //555时基芯片工作控制信号
unsigned int T_flag,N,C,i,Dis1,Dis0;
for(i=100;i>0;i--);
}
/***************检查忙否*****************/
这次的设计采用MCS-51的内部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。
3.3 555芯片电路
555芯片电路的应用电路很多,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路。本次设计中应用的电路是直接反馈型无稳类电路。电路如图3.4所示。
3 单元模块设计
通过简单的系统框图,系统主要由四个主要部分组成:单片机,晶振电路设计,555芯片电路设计,显示电路设计,复位电路设计。
3.1
本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C51单片机。AT89C51是低功耗、高性能、经济的8位CMOS微处理器,工作频率为0—24MHz,内置4K字节可编程只读闪存,128x8位的内部RAM,16位可编程I/O总线。它采用Atmel公司的非易储器制造技术,与MCS51的指令设置和芯片引脚可兼容。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如下图。
2 整体方案设计
本设计的整体思路是:基于AT89C51单片机和555芯片的数字式电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变为555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。
2.1 方案论证
设计中采用了两个方案,具体的方案见方案一和方案二。
方案一:利用多谐振荡原理如图2.1所示。电容C电阻R和555芯片构成一个多谐振荡电路。在电源刚接通时,电容C上的电压为零,多谐振荡器输出V0为高电平V0通过R对电容C充电。当C上冲得的电压Vc=Vr时,施密特触发器翻转,V0变为低电平,C又通过R放电,Vc下降。当Vc=Vr时施密特触发器又翻转,输出Vc又变为高电平,如粗往复产生震荡波形。
图2.2 根据充电放电时间判断电容值原理
这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大的问题,而且硬件一旦设计好,可变性不大。
方案三:基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量
这种电容测量方法主要是通过一块555芯片来测量电容,让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的大小跟被测量的电容之间的关系是:f=0.772/(R*Cx),我们固定R的大小,其公式就可以写为:f=k/C x,只要我们能测量出555芯片输出的频率,就可以计算出测量的电容。如图2.3所示。
图2.1 多谐振荡原理图
这种方法是利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。
方案二:直接根据充电放电时间判断电容值
这种电容测量方法主要利用了电容的充放电特性Q=UC,放电常数r=RC,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使T=ARC(T为振荡周期或处罚时间;A为电路常数与电路参数有关)。这种方法中应用于555芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。其原理如图2.2所示.
图3.1单片机工作电路
3.2
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。
3.2.1内部时钟电路
内部时钟方式:内部时钟方式电路图如下图3.2所示。
实用电容测量仪设计
姓名:刘立鹏
专业:电子信息工程
班级:电子10
学号:
时间:2013年4月8日
1功能说明………………………………………………………………………3
2 整体方案设计…………………………………………………………………4
2.1 方案论证……………………………………………………………………4
2.2 方案选择……………………………………………………………………6
3.4
LCD以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里我们使用的是2行16个字的1602液晶模块。
图3.2 内部时钟电路
MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。
电路中的电容C1和C2典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz—12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。
又因为 ,所以
即:
如果单片机采用12M的晶振,计数器T0的值增加1,时间就增加1μS,我们采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为 ,第二次中断到来停止T0,计数器器的值为 ,则测量方波的周期为 ,如何开始时刻计数器的值 ,则 。
简单时序图如下。
图3.5 LCD1602引脚图
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
unsigned int b[6]={0X13,0X0D,0X00,0X00,0X25,0X16}; //显示C=00UF
/***********延时1MS******************/
void Delay1ms(unsigned int mm)
{unsigned int i;
for(mm;mm>0;mm--)
为了编写程序的方便,我们只计算 ,后面的单位可以根据使用的量程自行添加。测量范围的大小0.001uF~655.35uF。
4.2 软件设计流程图
图4.2为整个程序设计的流程。
图4.2 软件设计流程图
4.3 编写程序
根据上面的流程图,编写程序:
#include "reg51.h"
#include"intrins.h"//库函数
图3.4 555芯片电路
555芯片芯片输出的频率为 ,只要我们改变电阻R,就可以达到改变电阻量程的目的,图中提供了四组电阻,所以说有四组的电容测量量程,每个量程之间的跨度是10倍的关系。
在555芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,为了去除这些毛刺本设计中使用了一个两输入与门(74HC08),让信号通过74HC08后会使输出的波形毛刺减少很多,使单片机的测量结果变得精确。
外部时钟方式:外部时钟方式电路图如下图3.3所示。
图3.3Baidu Nhomakorabea外部时钟电路
外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。
外部的时钟源直接接到XTAL2端,直接输入到片内的时钟发生器上。由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k~10k的上拉电阻。
图2.3 基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量
2.2 方案选择
通过对上述方案的比较,已知方案三不仅硬件结构简单,而且软件设计业简便。能够满足测量精度高、易于实现自动化测量等设计需要,而且单片机构成的应用系统有较大的可靠性、系统扩展、系统配置灵活,容易构成各种规模的系统。所以选择方案三。
3.3 555芯片电路
3.4 系统显示电路
3.5 系统按键电路
3.6 系统总电路图
4 软件设计
4.1软件设计原理及所用工具…………………………………………………13
4.2软件设计流程图……………………………………………………………15
4.3 编写程序……………………………………………………………………16
6 设计总结………………………………………………………………………22
7 参考文献
1功能说明:基于AT89C51单片机和555芯片的数显式电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量,再通过该频率计算出被测参数。在系统软件设计中,是以Proteus为仿真平台,使用C语言编程编写了运行程序。该测量仪具有结构简单,成本低廉,精度较高,方便实用等特点。
图4.1 时序图
则:
单片机的计数器的值N=0-65535,为了测量的精度,N的取值一般在100~5000,当电阻R越大,电容C的值就越小。我们取不同的电阻值,就得到不同的电容测量的量程。
第一档: 1~50uF
第二档: 0.1~5 uF
第三档: 0.01~0.5 uF
第四档: 0.001~0.05 uF
3 单元模块设计
3.1 AT89C51单片机工作电路…………………………………………………6
3.2系统时钟电路………………………………………………………………7
3.2.1内部时钟电路……………………………………………………………7
3.2.2外部时钟电路……………………………………………………………8
图3.6 按键电路
3.6 系统总电路图
当各个部分的电路设计完成后,下面的工作就是组合成一个总的电路图。
图3.7 总电路图
4 软件设计
4.1 软件设计原理及所用工具
本次设计所选用Keil C51中的编译/连接器软件Keil uVision2作为编译器/连接工具。
整个程序设计过程中遇到的最大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。在前面的介绍中我们知道:555时基芯片的输出频率跟所使用的电阻R和电容C的关系是:
第15~16脚:空脚
3.5
按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图3.6就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。
#define DATA P0
sbit RW=P2^1;//1602写数据
sbit RS=P2^0;//1602写地址
sbit EN=P2^2; //1602工作使能
sbit b_test=P3^7; //开始测量电容的按键输入
sbit _reset=P3^5; //555时基芯片工作控制信号
unsigned int T_flag,N,C,i,Dis1,Dis0;
for(i=100;i>0;i--);
}
/***************检查忙否*****************/
这次的设计采用MCS-51的内部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。
3.3 555芯片电路
555芯片电路的应用电路很多,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路。本次设计中应用的电路是直接反馈型无稳类电路。电路如图3.4所示。
3 单元模块设计
通过简单的系统框图,系统主要由四个主要部分组成:单片机,晶振电路设计,555芯片电路设计,显示电路设计,复位电路设计。
3.1
本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C51单片机。AT89C51是低功耗、高性能、经济的8位CMOS微处理器,工作频率为0—24MHz,内置4K字节可编程只读闪存,128x8位的内部RAM,16位可编程I/O总线。它采用Atmel公司的非易储器制造技术,与MCS51的指令设置和芯片引脚可兼容。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如下图。
2 整体方案设计
本设计的整体思路是:基于AT89C51单片机和555芯片的数字式电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变为555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。
2.1 方案论证
设计中采用了两个方案,具体的方案见方案一和方案二。
方案一:利用多谐振荡原理如图2.1所示。电容C电阻R和555芯片构成一个多谐振荡电路。在电源刚接通时,电容C上的电压为零,多谐振荡器输出V0为高电平V0通过R对电容C充电。当C上冲得的电压Vc=Vr时,施密特触发器翻转,V0变为低电平,C又通过R放电,Vc下降。当Vc=Vr时施密特触发器又翻转,输出Vc又变为高电平,如粗往复产生震荡波形。
图2.2 根据充电放电时间判断电容值原理
这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大的问题,而且硬件一旦设计好,可变性不大。
方案三:基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量
这种电容测量方法主要是通过一块555芯片来测量电容,让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的大小跟被测量的电容之间的关系是:f=0.772/(R*Cx),我们固定R的大小,其公式就可以写为:f=k/C x,只要我们能测量出555芯片输出的频率,就可以计算出测量的电容。如图2.3所示。
图2.1 多谐振荡原理图
这种方法是利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。
方案二:直接根据充电放电时间判断电容值
这种电容测量方法主要利用了电容的充放电特性Q=UC,放电常数r=RC,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使T=ARC(T为振荡周期或处罚时间;A为电路常数与电路参数有关)。这种方法中应用于555芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。其原理如图2.2所示.
图3.1单片机工作电路
3.2
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。
3.2.1内部时钟电路
内部时钟方式:内部时钟方式电路图如下图3.2所示。
实用电容测量仪设计
姓名:刘立鹏
专业:电子信息工程
班级:电子10
学号:
时间:2013年4月8日
1功能说明………………………………………………………………………3
2 整体方案设计…………………………………………………………………4
2.1 方案论证……………………………………………………………………4
2.2 方案选择……………………………………………………………………6
3.4
LCD以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里我们使用的是2行16个字的1602液晶模块。
图3.2 内部时钟电路
MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。
电路中的电容C1和C2典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz—12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。
又因为 ,所以
即:
如果单片机采用12M的晶振,计数器T0的值增加1,时间就增加1μS,我们采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为 ,第二次中断到来停止T0,计数器器的值为 ,则测量方波的周期为 ,如何开始时刻计数器的值 ,则 。
简单时序图如下。
图3.5 LCD1602引脚图
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
unsigned int b[6]={0X13,0X0D,0X00,0X00,0X25,0X16}; //显示C=00UF
/***********延时1MS******************/
void Delay1ms(unsigned int mm)
{unsigned int i;
for(mm;mm>0;mm--)
为了编写程序的方便,我们只计算 ,后面的单位可以根据使用的量程自行添加。测量范围的大小0.001uF~655.35uF。
4.2 软件设计流程图
图4.2为整个程序设计的流程。
图4.2 软件设计流程图
4.3 编写程序
根据上面的流程图,编写程序:
#include "reg51.h"
#include"intrins.h"//库函数
图3.4 555芯片电路
555芯片芯片输出的频率为 ,只要我们改变电阻R,就可以达到改变电阻量程的目的,图中提供了四组电阻,所以说有四组的电容测量量程,每个量程之间的跨度是10倍的关系。
在555芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,为了去除这些毛刺本设计中使用了一个两输入与门(74HC08),让信号通过74HC08后会使输出的波形毛刺减少很多,使单片机的测量结果变得精确。