基于51单片机的数字电容测量仪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子系统设计创新与实习报告
设计课题基于单片机的电容测量仪设计
学院信息科学与工程
学生姓名
学号
专业班级
队友
指导教师
设计时间 2014.6.4-2014.7.3
本设计详细介绍了一种基于单片机的数字式电容测量仪设计方案及实现方法。设计的主要方法是采用555芯片构成单稳态触发器,将电容容量转换为脉冲宽度。通过单片机的计时器测量脉宽, 根据已知的R值,通过单片机的运算功能,计算出电容容量,最后,再通过单片机的普通I/O口控制液晶屏显示出电容容量的计算结果。系统的测量范围为10pF~ 500uF, 具有多个量程,可根据用户需要由用户选择,与用户的交互是通过键盘实现,不同量程的实现是通过单片机的I/O口控制继电器的吸合与断开来选择不同的R值,从而实现不同的量程。同时,本设计注重设计方法及流程,首先根据原理设计电路,再通过protues仿真,利用keil 编程,进而借助altium designer 制作PCB,最后到焊接元器件,调试直至成功。
1 系统方案设计
1.1 设计说明及要求
1.1.1 设计说明
框图中的外接电容是定时电路中的一部分。当外接电容的容量不同时,与定时电路所对应的时间也有所不同,即C=f(t),而时间与脉冲数目成正比,脉冲数目可以通过计数译码获得。
1.1.2 设计要求
(1)基本要求
①自制稳压电源。
②被测电容的容量在10pF至10000μF范围内
③设计四个的测量量程。
④显示测量结果,测量误差小于2.5%。
数字显示:显示分辨率:每档满量程的0.1%;
电容测量:电压可选择5V,25V,50V;
为实现该设计,达到相应的设计要求,本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计,三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选择了基于STC89C52单片机和555芯片构成的单稳态触发电路测量电容的方案。
现在一一介绍论证如下。
1.3方案Ⅱ
根据积分电路原理可得C=Ui*dt/R*Uo,将经过RC充电电路后,输出的与电容对应的电压值输入到ADC0809中,经过处理后,将相应的数值传到单片机里,再通过公式运算,求得相应的电容C值,在LCD上显示。
图1-2 方案Ⅱ电容测量框图
1.5 三种方案作简单的比较
比较上述三种方案可知,方案Ⅰ和ⅠⅠ采用了A/D转换器,价格比较昂贵;而且根据公式可知,再换算电压与电容值时,时间参数t起着至关重要的作用,对t的计算要精确,不然误差值会很大,所以调试起来有一定难度;方案Ⅲ电路简单,原理清晰,易于实现,易于控制,本设计就是基于方案Ⅲ展开的。
2.2 硬件电路设计
2.2.1 单片机电路设计
为使单片机正常工作,除电源供电部分外,还需提供晶振电路和复位电路。具体电路如下:
图2-3 单片机工作电路
由图2-3可知,9脚外接的是按键复位电路,18,19脚外接的是晶振电路,这样,就构成了单片机正常工作的必备电路。同时,为使P0口正常工作,并增加其带负载能力,P0口需接了上拉电阻(在图中未画出)。
2.2.2 555时钟芯片与单片机连接
图2-4是555时钟芯片构成的单稳态触发电路,6脚和7脚接在一起,R2和C4构成商
2.2.3 低脉冲产生电路
如图2-5所示,按键接于P3.3口,即外部中断1接口,因此低脉冲是利用中断实现的,P3.7口产生低脉冲,可在软件中的外部中断1函数中实现,整个过程为,需要测量时,按
键,产生外部中断,利用外部中断,用软件再在P3.7口产生一个低脉冲,之所以利用中断实现该功能,是为了增加产品的可靠性,因为按键的时间是比较长的,直接用按键产生低脉冲可能导致T1 >Tw ,导致测量错误。而利用中断,可以直接在中断函数中产生一个固定时间的低脉冲,保证了测量条件,避免发生错误。
图2-5 按键产生低脉冲电路
2.2.4 键盘电路
如图2-6所示键盘电路主要用于与用户进行交互,如用户需要选择量程时,就必须交互。键盘分为独立键盘和矩阵键盘,这里只需要实现量程的选择,共四个量程,故无需矩阵键盘,4个独立按键就完全够用了。
图2-6 键盘电路
2.2.5 指示灯电路
如图2-7所示,指示灯主要用于给用户以提示,如当前量程提示,超量程提示等等。D2
图2-7 指示灯电路
2.2.6 量程选择电路
在图2-4中可以看到,在RC充电回路中,R值是固定的,不可变的,那么量程也显然是不可变的,因此,需要在此加入可调节充电回路电阻的电路部分,这里,利用继电器可以简单实现。具体电路如图2-8所示,利用继电器时需特别注意,由于单片机输出电流是很小的,不足以驱动继电器吸合,因此要加驱动电路,在这里,选择ULN2003芯片来实现。当然,也可以利用典型的三极管驱动来实现,虽然选择的是芯片实现驱动,在这里也将典型的三极管驱动电路列于此。如图2-9所示。
图2-8 实现量程选择电路
2.2.7 液晶显示电路
至此,整个电容测量仪的硬件设计部分就设计好了,接下来,需要的就是与之相匹配的软件支持了。
2.3 软件设计
软件编程平台选择最常用的keil软件。由于该程序并未涉及到底层的驱动问题,因此选择方便快捷的C语言编程。在编程中,将该程序分为三个模块:延时模块,1602显示模块及主函数模块。方便调试与理解。具体程序见附录二。总体程序较长,但并不复杂,可根据需要重点看主函数,与硬件电路结合起来,注重程序后紧跟的注释,理解起来是比较容易的,在此就不再一一详细分析。
2.4 量程范围设置
由于量程的选择是非常重要的一个环节,在这里单独讨论量程的选择。
系统采用单片机片内16 位的定时器测量T W 的宽度, 标准计数脉冲的周期为1 微秒时,