嘉兴职业技术学院
毕 业 设 计 (论 文)
题目名称: 单片机数字兆欧表的设计
姓 名: 褚 智 峰
所在分院: 机 电 与 汽 车 分 院
专业班级: 电 子 06
指导教师: 吴 湘 莲
二0 0九 年 二 月 三十 日
目 录
1 前言 1
2 硬件设计 1
2.1 总体
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
阐述 1
2.2 总体要求 1
2.3 具体单元电路设计 2
2.3.1 直流电源的设计 2
2.3.2 取样电路 3
2.3.3 显示部分 7
3 软件设计 7
3.1 总体思路及
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图 8
3.2 主程序部分 8
3.2.1 系统初始化 8
3.2.2 直接访问方式接口程序设计 8
3.2.3 间接控制方式接口程序设计 8
3.3 A/D转换 9
3.3.1 A/D 初始化 9
3.3.2 启动转换并处理 9
4 原理图的设计 9
5
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
10
致 谢 10
参考文献 11
附录 1:源程序 12
附录 2:系统原理图 17
数字兆欧表的设计
摘 要:数字兆欧表是基于ICL7135的智能型兆欧表的结构、功能及其实现技术。数字式兆欧表是新一代绝缘测试设备,其性能优于指针式兆欧表。随着电子技术和单片机技术的不断发展,传统的手摇式兆欧表被智能型兆欧表所取代已是大势所趋。
关键词:ICL7135;MCS-51;智能型兆欧表。
1 前言
随着微电子的不断发展,单片机(Single Chip Microcontroller)的出现,引进了一起仪表结构的根本性变革[1] 。以单片机为主体取代传统仪器仪表的常规电子线路,可以容易地将计算技术与测量控制技术结合在一起,形成智能化测量过程自动化、测量结果的数据处理、以及功能的多样化方面取得了巨大发展[2] 。
绝缘电阻的电气安全检测项目中的一项重要内容,而测得试品绝缘电阻60秒的值R60与15秒的值R15之比(K= R60/ R15被称为吸收比),是检验绝缘是否严重受潮或存在局限的重要依据[3] 。兆欧表是测量绝缘电阻的专用仪表,应用广泛[4] 。而传统的手摇指针式兆欧表,必须用手摇发电机保证有120转/秒的转速才能维持正常的输出电压,测量范围小、误差大、吸收比须在测量后另行计算,使用不便[5] 。
基于ICL的智能型兆欧表采用MCS-51系列单片机9751和Harris公司生产的41/2精度A/D转换芯片ICL9135,具有测量精度高、量程宽、测量方便、体积小功耗低等特点[6] 。
2 硬件设计
2.1 总体方案阐述
研究设计的基本思路:定时功能是通过计数器的计数来实现的,采用LED显示,不过此时的计数脉冲可来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数器自动加1。由于一个机器周期等于一个计数脉冲,因此一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。如果单片机采用12MHZ晶体,则计数频率为1MHZ。即每微秒计数器加1。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间来计算出计数器的预置值[10]
2.2 总体要求
(
)校零功能,自动校零的准确性仅受系统噪声的影响,且偏差小于10uV;
(
)量程(OR)和欠量程(UR)信号,容易实现量程的自动转换;
(
)六个控制信号端、同时进行字位输出和BCD码输出,可与LCD译码/驱动器及单片机接口,进行数据处理,构成智能化仪器;
(
)为2.0000在±20000计数范围内的准确度为±1个字。
综上,系统框图如图1
图1 数字兆欧表原理框
2.3 具体单元电路设计
本设计主要由高压产生电路、取样电路、数据采集与控制器、译码/驱动LCD显示四大部分组成。
2.3.1 直流电源的设计
在单片机及恒流源中都需要±5V的直流稳压电源,其设计方案一般有以下三种:
(1) 配7805、7905系列三端固定式集成稳压器,其电路简单,成本低廉;
(2) 配LM317型三端可调式集成稳压器,使输出电压连续可调,能提高稳压性能;
(3) 配LM2937(固定输出)、LM2991(可调输出)等型号的低压差稳压器,可使电源的效率得到进一步提高。
结合经济效益与设计要求考虑,故决定用7805、7905三端稳压器,由变压器输出的电压经过整流电路、滤波电路、7805、7905后输出±5V直流电压,然后经过C6、C7电容有效防止自激与高频干扰得到5V稳定的直流电源(电路详见图3)。其中二极管D1防止反向电流,有保护电路的作用;电解电容C5,C6,C7,C8是滤波电容。小电容C1,C2,C3,C4高频滤波性能好,可防止自激和滤除高频干扰。
图3 直流稳压电源电路
2.3.2 取样电路
取样电路的作用是取得与测量值相关的电信号,用以计算、控制和显示。对测量的具体要求决定了取样电路具体形式。
选用ICL7135CN
(1) 基本特点、引脚排列
.最大显示值为19999,最小分辨力为100uV,准确度达±1个字。
.采用BCD码扫描输出,设有六路输入/输出辅助信号,和微处理器连接方便。连接LED显示器需外接译码,驱动集成电路。
.采用±5V供电,工作电流为3mA。
.只要求单一外接基准电压。
.能够自校零没,保证
=0V时读数为零。
.典型时钟频率
=200KHz,转换速率为3次/s。
.允许差分输入。
.输入阻抗大于1000M,输入电流典型值为1 pA。
.零读数最大温漂为2uV/℃。
图4 ICL7135的引脚图
图5 ICL7135的解剖图
图6 ICL7135输出时序波形图
ICL7135的引脚及输出时序波形图如图1-2和图1-4所示。
(2)各引脚功能如下:
、
:分别接正、负5V电源。
AGND、DGND:模拟地、数字地。
CLK:时钟信号输入。
D1~D5:扫描输出端,按D5→D4→D3→D2→D1的顺序发生扫描驱动信号。
B1、B2、B4、B8:BCD码的输出端,按照“8421”编码,B8最高位,B1低
位。
UNDER“欠量程输出端。当读数是满程的9%或更小时,UNDER输出高电平。
:基准电压的正端。
、
:外接基准电容。
R/
:运行保持控制端。此端高电平或悬空时,能自动进行A/D转换;低电平时读数保持不变,直到R/
为高电平时才能改变读数,但此时A/D转换照样进行。
INLO、INHI:分别为信号输入的低端和高端。
INTOUT:积分器的输出端,接积分电容CINT。
(3) 工作原理:ICL7135的内部分为模拟电路和逻辑电路两大部分。模拟电路由缓冲放大器、积分器、比较器和模拟开关所组成。每个A/D转换周期分4个阶段:自动调零(AZ)、信号积分(INT)、反向积分(DE)、零积分(ZI)。
(4) 其工作过程是:当RUN/
脚为“1”时。7135处于连续转换状态,每4002个时钟周期完成一次A/D转换,转换结果以四位二进制的BCD码输出(B8、B4、B2、B1),并同时送出各位的“位同步选通”信号(D5、D4、D3、D2、D1)。传送信号为
,从图1-4中可以看出,每个A/D转换周期只产生5个负脉冲,其输出时间在每个周期开始时的5个位选信号中间。
的宽度为1/2个时钟周期的宽度。因为每位位选信号的正脉冲宽度为200个时钟周期,所以,
负脉冲之间的间隔也是200个时钟周期。要注意的是ICL7135转换结果输出是以动态扫描方式输出的,即当位选信号D5为“1”时,B8、B4、B2、B1这四个信号为万位;D4为“1”时,B8、B4、B2、B1是千位;其余依次类推。千位到个位的BCD码均在0000-1001之内;对于万位只有0000-0001这两种组合。
另外用到的三个输出信号是:极性POL、超量程OR、欠量程UR。
通过上面的分析可以发现,ICL7135。无论是硬件还是软件都有其特殊之处,尤其是在设计采样程序时,则要与时序配合。
本设计中取样电路与ICL7135连接,如图7所示:
图7 取样电路
图3中,Rx为被测绝缘电阻;R3为量程调节电阻;R1、R2为取样分压电阻。
U为直流高压产生电路提供的测量电压,经R1、R2分压后(U2)加在7135的IN-,经Rx、R3分压后(U3)加在7135的Cref-端。
根据双积分A/D转换器的工作原理,转换结果由以下公式得到:
其中C = 10000 由ICL7135 的正向积分固定时间T1 = 10000TC决定,TCP为时钟脉冲周期。10000即为正向积分阶段的时钟脉数VIN为VIN+ 与VIN- 之间的电势差,在本设计中VIN+ ANALOGCOM ,因此VIN = VIN+ - VIN- = - U2 。VREF在
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
工作模式况下为Cref+ 与Cref- 之间所接电容在自动调零阶段充电所获标准电压值。在本设计中Cref+ 与Cref- 之间不再接电容,将Cref+ 接ANA2LOG COM ,同时将Cref- 与ANALOG COM 间电压钳制为U3 ,Cref+ 与Cref- 之间电压为- U3 。因此式(1) 可表示为:
N = 10000*U2/U3 (2)
由于ICL7135 的标准基准电压值VREF = 1V ,而加在Rx 与R3 上的测量用电压为1000V ,所以Rx> > R3 ,使得U3? 1V。由于ICL7135 VIN- 上允许加的最大电压值为018V ,而加在R1 与R2 上的测量用电压为10000V ,所以R1 、R2 取值应满足R1 > > R2 、U2? 018V。
(2) 式可进一步表示为:
N = 1000*·U2/U3= [1000*·UR2/(R1 + R2)]/[UR3/(Rx + R3)]= 1000*(·R2*Rx)/(R1*R3)
可见,当R1 、R2 取定时, ICL7135 输出读数仅与Rx、R3 有关,能消除测量电压U 变化对读数的影响。合理调节测量电阻R3 ,合理控制LCD 上小数点的位置,就可以方便的读出被测试品的兆欧值。
2.3.3 显示部分
LED由若干个发光二极管组成,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符,常用七段显示器结构如图8所示。
a. 共阳极 b. 共阴极 c. 外形
图8 发光显示器结构
控制显示各数码加在数码管上的二进制数据称为段码,显示各数码共阴共阳七段LED数码管所对应的段码见表1。
表1 七段LED数码管的段码
显示数码
共阴型段码
共阳型段码
显示数码
共阴型段码
共阳型段码
0
3FH
C0H
8
7FH
80H
1
06H
F9H
9
6FH
90H
2
5BH
A4H
A
77H
88H
3
4FH
B0H
b
7CH
83H
4
66H
99H
C
39H
C6H
5
60H
92H
d
5EH
A1H
6
70H
82H
E
79H
86H
7
07H
F8H
F
71H
8EH
在实际应用中,点亮显示器有静态和动态两种方法。所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。这样数码管的每一段均应由一条输出线来控制,每显示一位则需要8根输出线,占硬件多。因此一般用于显示器位数较少(很少)的场合。当位数较多时,用静态显示所需的I/O口太多,采用动态显示。
所谓动态显示就是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位线)分别由一位I/O线控制。显示不同数码时,由位线控制各位轮流显示,对于每一位显示器来说,每隔一段时间点亮一次。
3 软件设计
程序采用C语言编写,而没有使用汇编,主要是因为 C 语言通俗易懂,代码可移植性高,易于维护,编程效率高,操作起来比汇编方便,生成的代码质量高,不比汇编代码慢多少,对于实时性要求不是很高的系统 C 语言是第一选择。
3.1 总体思路及流程图
3.2 主程序部分
主程序主要把主要功能划分为几个模块,每个模块实现不同的功能。主程序只需调用各模块的子程序即可。
3.2.1 系统初始化
函数:SystemInit( )
将PIC的内部寄存器初始化,屏蔽中断,开启RB口电平变化中断允许位,Key ,CurrentT 等全局变量清零。
3.2.2 直接访问方式接口程序设计
这种接口方式,数码显示模块作为单片机的外部存储单元,数据的读写通过外部数据操作指令实现。如读状态字子程序:
BF:SETB R/W ; R/W=1,D/I=0是实现读状态数据的条件
CLR D/I
MOV DPTR,#TAB ; TAB 是根据接口电路确定的地址,
连接的地址为:1C00H
MOVX A,@DPTR ; 读状态数据
JB ACC.7, BF ; BUSY=1 表示忙,忙则转入BF
JB ACC.4, BF ; REST=1 表示处于复位状态,程序转入BF
RET
同理,读数据、写指令、写数据等子程序设计与读状态字
子程序设计方法一样。在R/W、D/I信号满足条件的前提下,关
键是找对拟定操作的地址。
3.2.3 间接控制方式接口程序设计
间接控制方式程序设计的关键是如何模拟模块工作时序,下面已写指令代码子程序
(WI)为例来说明:
WI:CLR CS2 ; 片选设置为“01”
SETB CS1
CLR D/I ;D/I=0, R/W=1
SETB R/W
PRM01:MOVP1,# OFFH ;P1 口置”1”
SETB E ;E=1
MOV A,P0 ; 读状态字
CLR E ;E=0
JB ACC.7,PRM01 ; 判“忙”标志为“0”否,否再读
CLR R / W ;R /W = 0
MOV P1,COM ; 写指令代码
SETB E ;E=1
CLR E ;E=0
RET
3.3 A/D转换
3.3.1 A/D 初始化
首先初始化内部A/D器件,调用A/D初始化函数ADInit(),使ADCON0 = 0x41, ADCON1 = 0x88;选择A/D通道为RA0,使AD转换时钟为8tosc,转换结果右移,及ADRESH寄存器的高6位为 0 ,使用外部参考电压。
3.3.2 启动转换并处理
开启转换,ADGO = 1,进入A/D 中断,清除ADIF中断标志,将A/D转换值通过计算转换成当前电阻值,具体计算公式由硬件和环境决定
ADValue = ADValueArray[0]+ADValueArray[1]*10+ADValueArray[2]*100 + ADValueArray[3]*1000 + ADValueArray[4]*10000 ;。
要显示需将值的各位分开,执行下面的几条语句完成转化:
ResValue = 50 * ADValue ; //AD 值取最大时,电阻为 1兆欧
ResValueArray[6] = ResValue /1000000 ;
ResValueArray[5] = ResValue %1000000 / 100000 ;
ResValueArray[4] = ResValue %100000 / 10000 ;
ResValueArray[3] = ResValue %10000 / 1000 ;
ResValueArray[2] = ResValue %1000 / 100 ;
ResValueArray[1] = ResValue %100 / 10 ;
ResValueArray[0] = ResValue %10
4 原理图的设计
确定要安装在线板上的元器件,画出原理图。
5 总结
我们的设备由于采用了价格低廉的简单器件,因此我们无法做出精确度高功能多的成品。
优点:本项目采用的设计理念还是比较好的,能够用单片机实现数据的采集和处理。这是遵循了一条规则:产品不是给设计者使用的,而是给其它人用。站在使用者的角度上看问题,急他们所急,想他们所想。
经验总结:要开发好一个项目:
1、 要合理安排各人员的任务,发挥各自的长处。
2、 讨论问题,不明白的一定要多查阅资料,请教别人。
3、 一定要做充分的调研。
4、要有好的设计理念与模型。
致 谢
历史几个月的毕业设计结束了,设计中使我获得了许多平时没有学到的知识。这次设计是将我们三年学习的理论知识统一运用,在获得新知识的同时温故了旧的知识,使所学的知识更加控股了。设计中我得到了吴老师的悉心教导,使我才能顺利的完成毕业设计,在此,我向吴老师表示我最真诚的谢意!同时也向在设计过程中给我帮助的同学说声谢谢,在他们的帮助下,使我改正了许多的错误。
由于水平有限,此篇论文难免存在一些错误,希望各位批阅老师多多指教,再次表示衷心的感谢!
参考文献
[1] 杨旭东,刘行景,杨兴瑶 编著. 实用电子电路精选[M].化学工业出版社,1999
[2] 张著, 程震先,刘继华编. 数字设计——电路与系统[M]. 北京理工大学出版社,1992
[3] 童诗白. 模拟电子技术基础[M],第二版. 北京:高等教育出版社,1998
[4] 程佩青. 数字信号处理教程[M]. 北京:清华大学出版社,1995
[5] 李华编. MCS系列单片机实用接口技术[M]. 北京:北京航空航天大学出版社,1993
[6] 潘新民编. 单片机实用系统设计[M]. 北京:人民邮电出版社,1992
[7] 卢毅,赖杰. VHDL与数字电路设计. 北京:科学出版社,2002
[8] 谢自美编. 电子线路设计实验测试[M]. 华中理工大学出版社,1999,2
[9] 李启炎编. 模拟信号处理技术[M]. 华中理工大学出版社,2000,12
[10] 窦振中编. PIC系列单片机原理和程序设计[M]. 北京航空航天大学出版社,1998
[12] 付丽琴,桂志国,王黎明编著. 数字信号处理原理
[11] 徐爱钧主编. 智能化测量控制仪表原理与设[M]计. 北京航空航天大学出版社,2001及实现[M]. 国防工业出版社
[13] 郝鸿安. 常用模拟集成电路应用手册[M]. 人民邮电出版社,1991
附录 1:源程序
#include
#include "main.h"
#define DOT 0x10 //小数点
#define DIG1 0x07 //数码管最低位
#define DIG2 0x0b
#define DIG3 0x0d
#define DIG4 0x0e //数码管最高位
#define RH P3_5
#define B1 P2_4
#define B2 P2_5
#define B3 P2_6
#define B4 P2_7
#define D1 P1_0
#define D2 P1_1
#define D3 P1_2
#define D4 P1_3
#define D5 P1_4
unsigned char code DispCode[] =