第一组光参数测试仪课程设计正文doc.docx
- 文档编号:30676859
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:26
- 大小:624.93KB
第一组光参数测试仪课程设计正文doc.docx
《第一组光参数测试仪课程设计正文doc.docx》由会员分享,可在线阅读,更多相关《第一组光参数测试仪课程设计正文doc.docx(26页珍藏版)》请在冰豆网上搜索。
第一组光参数测试仪课程设计正文doc
1前言
微电子技术和计算机技术的不断发展,引起了仪器仪表结构的根本变革。
以微型计算机为主体,将计算机技术与检测技术有机结合,组成新一代“智能化仪器”,在测量过程自动化,测量数据处理及功能多样化方面与传统仪器仪表的常规测量电路相比较,取得了巨大的进展。
智能仪器不仅能解决传统仪器仪表不易或不能解决的难题,还能简化仪表电路,提高仪表可靠性,更容易实现高精度、高性能、多功能的目的。
随着科学技术的进一步发展,其智能化程度将越来越高。
近20年来,随着微电子技术、计算机技术、软件技术、网络技术的高速发展,智能仪器仪表已经取得了巨大的发展,促使了一些新的测试理论、测试方法、测试领域和仪器结构不断涌现并发展成熟,逐步突破了过去仪器系统功能的实现和改变主要依赖于硬件电路的设计和改变这种传统的观念,硬件的作用被逐渐淡化,而软件的重要性与进一步发展的迫切性变得越来越突出,出现了仪器软件化的发展趋势。
本次课程设计主要是对光参数智能测试仪(Opticalparametersofautomatictest)的设计。
硬件部分主要由主机电路、模拟量输入/输出电路、人机联系部件及其接口电路、标准通信接口等组成。
首先,系统有传感器将所需测量的信号转换为电信号,再由信号处理电路将传感器输出的微弱电信号进行适当放大、滤波、调制、电平转换和隔离屏蔽等,提高信号质量,再由转换器采样/保持电路S/H、A/D和D/A等将信号进行转换。
接着人机联系部件和接口电路将沟通操作者和仪器之间的联系。
标准通信接口可用于实现智能仪器与通用型计算机的联系,是仪器可以接受计算机的程控命令,构成多级分布式自动测控系统。
系统软件部分包括监控程序、接口管理程序和数据处理程序三部分。
系统通过软硬件的联合将系统功能得以最大化的体现。
2整体方案设计
2.1方案设计
本设计整体思路:
利用光电传感器将光信号转换为电信号,通过单片机的控制输出到LCD显示,光信号的大小与电信号的大小成线性关系,电流的大小即代表了光的强弱。
方案一:
利用光电传感器将需要测量的光信号转换为微弱的电信号,然后应用放大器将电信号放大成所需要量程的电信号,将该电信号传输给A/D转换器,将模拟电信号转换为数字信号。
然后将信号传给单片机,由单片机控制LCD显示。
单片机连有键盘输入,可以手动控制系统。
通过串口,将单片机与上位机相连。
图2.1方案一框图
方案二:
利用最新的传感器OPT101将需要测量的光信号转换为电信号,这个再将电信号送给A/D转换器,将模拟信号转换为数字信号再传给MCU单片机,由单片机控制A/D转换器,将模拟量变成单片机所需的数字量。
单片机与LCD相连,通过LCD显示所测量的结果。
单片机通过串口与上位机相连,可以通过上位机控制系统。
单片机也设有键盘输入设置,可以对系统进行手动控制。
图2.2方案二框图
2.2方案比较与选择
方案一中由普通光电传感器输出的电信号太微弱,需要经过放大器放大,这样就会产生工频干扰,影响到测量数据的准确性。
方案二中所采用的传感器是新型传感器,其内部集成了放大倍数可变的运算放大器,同时也含有抗工频干扰的电路。
因此无需外接放大电路,可以直接输出A/D采集电压范围内的电压值。
方案二可以使测量的准确性大大提高。
所以我们选用方案二作为我们的设计方案。
3硬件电路单元模块设计
3.1特殊器件介绍
3.1.1AT89S52单片机
AT89S52是使用Atmel公司高密度非易失性存储器技术制造,与工业80S51产品指令和引脚完全兼容,是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得80C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
80S52具有以下标准功能:
8位中央处理单元、8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,80S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
此外,80S52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
[1]、[2]、[3]、[4]
3.1.2光电传感器OPT101
光电式传感器(PhotoelectricSensor)是以光为测量媒介、以光电器件为转换元件的传感器,它具有非接触、响应快、性能可靠等卓越特性。
光电式传感器的直接被测量就是光本身,即可以测量光的有无,也可以测量光强的变化。
然后通过对光电器件输出的电信号进行放大或转换,从而达到便于输出和处理的目的。
[9]、[10]
光电传感器模块主要是用来采集光信号。
并通过一定的关系和内部结构将光信号转换为相应的电信号。
能被A/D转换器识别。
为下一步的功能实现提供条件。
OPT101型传感器的性能特点:
单电源供电:
+2.7V~+36V
光敏二极管尺寸:
0.09*0.09in
片内放大器反馈电阻:
Rf=1MΩ
光敏二极管响应:
0.45A/W(650nm时)
响应带宽:
14kHz(Rf=1MΩ)
静态电流:
120uA
封装型式:
8-DIP,5-SIP和8脚表面贴焊封装三种
工作温度:
0~70度
内部电路结构图:
图3.1OPT101型传感器内部结构电路图
3.1.3ICL7135双积分型A/D转换器
ICI-7135是4位半双积分A/D转换芯片,可以转换输出±20000个数字量,有STB选通控制的BCD码输出,与微机接口十分方便。
ICL7135具有精度高(相当于14位A/D转换),价格低的优点。
其转换速度与时钟频率相关,每个转换周期均有:
自校准(调零)、正向积分(被测模拟电压积分)、反向积分(基准电压积分)和过零检测四个阶段组成,其中自校准时间为10001个脉冲,正向积分时间为10000个脉冲,反向积分直至电压到零为止(最大不超过20001个脉冲)。
故设计者可以采用从正向积分开始计数脉冲个数,到反向积分为零时停止计数。
将计数的脉冲个数减10000,即得到对应的模拟量。
图3.8给出了ICL7135时序,由图可见,当BUSY变高时开始正向积分,反向积分到零时BUSY变低,所以BUSY可以用于控制计数器的启动/停止。
[6]
图3.21CL7135时序
3.2单元模块设计
3.2.1AT89S52单片机系统模块设计
图3.3AT89S52单片机系统模块电路图
在单片机系统电路中,包括复位电路,时钟电路,LCD1602显示电路,MAX232电平转换电路,ISP下载电路,4个独立式按键。
时钟电路选择的晶振为12MHZ。
LCD1602可以显示16*2个字符,用于显示测得的光参数数据和相应的时刻。
由于单片机的电平逻辑是TTL/CMOS电平逻辑,MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。
该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
选择MAX232芯片实现TTL电平与EIA电平的转换,通过RS232传输线可以与PC机实现串行通讯。
LCD1602是自带字符库的LCD液晶显示器,可以显示16*2个字符,此电路中由P0口控制读写的数据,P2.5-P2.7控制LCD读写。
[1]、[2]、[7]、[8]
3.2.2ICL7135A/D转换电路模块设计
经光电转换器OPT101输出的模拟电压信号由于传感器内部含有放大电路部分所以输出信号可以被ICL7135组成的A/D转换电路转换为数字信号,从而可以被MCU的后续电路处理。
A/D转换电路由ICL7135组成。
ICL7135是双积分型的AD,因有积分器的存在,积分器的输出只对输入信号的平均值有所响应,所以,它突出优点是工作性能比较稳定且抗干扰能力强。
双积分型A/D转换器的转换速度普遍不高(通常每秒转换几次到几百次),但是双积分A/D转换器具有转换精度高,廉价,抗干扰能力强等优点,在速度要求不高的实际工程中使用广泛。
[6]
图3.4ICL7135A/D转换器
3.2.3电源模块设计
电源模块主要由模拟电源和数字电源两部分组成。
模拟电源对系统的模拟部分供电,而数字电源则负责为系统的数字部分提供电源。
模拟电源:
模拟电源基本电路由基准比较器、误差放大器和闭锁电路组成,基本电路占用非常小的硅片面积,补偿和实现架构易于理解,以较低的成本实现高精度,低功耗,不受分辨率限制,没有系统抖动,控制权很少需要额外的供电电源等优点。
本模拟电源在变压器变压和电桥整流后电容滤波后由三端稳压器7805、7909将电源先转换为-9V~+9V的电源,然后再经过三端稳压器转换为-5V~+5V,为系统模拟部分提供电源。
[5]
图3.5模拟电源电路图
数字电源:
数字电源特点:
信息采用数字格式,监控简单。
数字引擎要求使用小尺寸处理工艺,简单的电骡配合通信功能只需占用非常少硅片,增加通信功能花费非常低。
模糊逻辑控制易于实现,一些额外功能对系统复杂度影响不大。
使用更少的元件数。
因为数字操作相对简单,所以更容易校准。
改变性能时不需要改变硬件,容易实现定时,可以达到很高精度。
数字电源是由经变压器变压和电桥整流电容滤波后再由三端稳压器7805转换为+5V的数字电源,为系统数字部分提供电源。
[6]
图3.6数字电源电路图
3.2.4键盘控制模块设计
键盘控制模块主要由四个按键组成,KEY1的实现启动采集的功能,KEY2实现翻页功能,KEY3实现查看功能,KEY4实现显示时间的功能。
通过这四个功能按键就可以实现对系统的手动操作。
当系统出现状况时可手动控制整个系统使其能正常工作。
[6]
键盘控制模块电路图如图3.7所示:
图3.7系统静态功能按键图
4软件设计
4.1开发环境与语言
设计使用的开发软件为Keil编程环境软件。
Keil软件是目前最流行开发MCS-51系列单片机的软件。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
设计采用的是使用最广泛的C51语言进行程序设计。
C51语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试、维护和移植。
C51语言的表现能力和处理能力极强,能完成较大或较复杂工程的编写。
4.2程序设计思想
本设计主要功能是对外部信号进行采集,同时控制信号显示和传送。
因此在编程中主要涉及三个模块:
按键扫描模块、A/D控制和数据处理模块、LCD1602显示模块和串口通讯模块。
由单片机控制A/D进行数据采集后送入单片机内进行处理,扫描控制按键得到相应的控制信号,再将采集的数据在相应的控制信号实现LCD1602的显示和串口的通讯。
4.3程序设计结构总流程图
图4.1程序设计流程图
程序设计结构主要包括:
程序初始化模块、按键扫描模块、外部数据采集模块、显示程序模块和串口通讯模块。
初始化程序对定时器T0,T1的方式控制寄存器等进行初始化。
定时器T1定时,间隔一段时间采集ICL7135的A/D转化结果并处理,用LCD1602显示程序实现光参数显示,并用串口通讯程序实现与PC机的光参数数据上传。
主函数程序清单:
voidmain(void)
{
Timer_Init();
LCD_init();
while
(1)
{
key();//键盘扫描
over();
k_start();//结束键扫描
dispose();//数据处理
now(value,Second,Minute,Hour);//显示当前的值
stop();
}
}
voidTimer_Init(void)
{
TMOD=0xD1;//采用T1计数,T0定时
TH0=0x3C;//50ms中断一次,15536=0x3CB0
TL0=0xB0;
TL1=0;
TH1=0;
//EA=1;
ET1=1;
TR1=0;
EA=1;
ET0=1;
TR0=0;
EX1=1;
IT1=1;
}
4.4主要模块软件设计
4.4.1ICL7135A/D转换子程序设计
ICL7135对放大后的电压信号进行A/D转换,采用单片机的ALE引脚作为时钟,晶振采用12MHZ,ALE的时钟频率为2MHZ,经过四分频后,得到500KHZ的时钟,该时钟同时接ICL7135的CLK引脚和单片机的T0计数器引脚,在A/D转换期间,BUSY引脚一直是输出高电平,将BUSY与INT0相连,在高电平期间用T0对时钟信号进行计数,计数个数减去10001,则是电压的数字量。
图4.2ICL7135A/D转换程序
ICL7135A/D转换子程序清单:
voiddispose(void)
{
//ufloatv_value;
uintvalue;
//v_value=(number-10000)*1/100000;
value=number-10000;
}
voidAD7135(void)interrupt2
{
number=TH1;
number<<=8;
number=number|TL1;
TH1=0;
TL1=0;
}
4.4.2按键扫描子程序设计
按键扫描主要是利用程序循环的检测按键的电平状态来获取外部按键的信息。
按键功能主要包含:
启动采集、查看、翻页、设置时间。
在按键检测时加入了延时消抖的功能,使单片机检测到确定的信息,消除了外部干扰。
4.4.3LCD1602液晶显示子程序设计
在主程序中调用LCD显示子程序。
LCD显示程序分两个步骤:
一是写命令,二是写显示数据。
写命令和写数据时序不同,写命令时:
先将命令字送P0口,然后设置时序RS=0,R/W=0,E下降沿,读取忙标志位BF,等待命令字写入完毕。
写数据时:
先将欲显示的数据送P0口,然后设置时序RS=1,R/W=0,E下降沿,读取忙标志位BF,等待数据写入完毕。
图4.3LCD1602液晶显示子程序流程图
LCD1602液晶显示子程序清单:
#ifndef_LCD1602_H
#define_LCD1602_H
#ifdef__cpluscplus
extern"C"{
#endif
sbitrs=P2^5;
sbitrw=P2^6;
sbiten=P2^7;
/*******************************************
函数名:
delay
功能:
用于1602的延时
/******************************************/
externvoiddelay(uintn)
{
uintx;
for(;n>0;n--)
for(x=110;x>0;x--);
}
/*******************************************
/函数名:
LCD_wcom
/功能:
用于向1602写指令
/******************************************/
externvoidLCD_wr_command(uintcommand)
{
rs=0;
rw=0;
P0=command;
delay(5);
en=1;
en=0;
}
/*******************************************
函数名:
LCD_wdat
功能:
用于向1602写数据
*******************************************/
externvoidLCD_wr_data(uintn_data)
{
rs=1;
rw=0;
P0=n_data;
delay(5);
en=1;
en=0;
}
/*******************************************
/函数名:
LCD_init
/功能:
用于1602的初始化
/******************************************/
externvoidLCD_init(void)
{
LCD_wr_command(0x38);//8位数据,双列,5*7字型
LCD_wr_command(0x0c);//开启显示屏,关光标,光标不显示
LCD_wr_command(0x06);//显示地址递增,即写一个数据后,显示位置右移一位
LCD_wr_command(0x01);//清屏
}
#ifdef__cpluscplus
extern"C"}
#endif
#endi
4.4.4串口通讯子程序设计
串口主要是实现与计算机进行通讯,实现PC机对仪器控制从而实现了仪器的可程控。
这里串口程序主要是将采集的数据发送到PC机上。
用定时器1方式2产生波特率。
图4.4串口通讯流程图
5仿真与调试
5.1仿真
本设计的仿真是基于ISIS仿真软件平台上进行的。
图5.1系统仿真示意图
5.2调试
调试所使用工具包括:
4位半数字电压表、9V的电压源、示波器、干电池信号源。
5.2.1模拟电路电源调试
电源分模拟电源和数字电源两部分。
分别为系统模拟部分和数字部分提供电压。
模拟电源部分将交流市电变压、稳压后分别产生+9V,-9V,+5V,-5V电压。
其中+9V,-9V是为放大器TL084提供电压的。
+5V,-5V为ICL7135芯片供电。
接通模拟电源,在不连接集成芯片条件下,测各器件电源管脚处的电压。
5.2.2数字电路电源调试
数字电路电源主要通过对外部输入的9V交流电压进行稳压后输出5V电压。
提供单片机电源、CD74HC74芯片电源、MAX232芯片电源和LCD1602电源。
将数字电源通电后测试各个数字芯片的电源电压。
5.2.3数字电路调试
测量芯片电源电压正常后,插上数字芯片。
将LCD1602的1到16引脚通过插针引出,LCD1602的3脚直接接地,15脚背光正极接VCC,16脚背光负极接地,其它管脚插到STC89C52RC单片机对应I/O口上。
检查电路连接正确后,接上电源。
测试到LCD1602的1脚为0V,2脚为+5V,通过串口下载接口,下载LCD测试程序到单片机进行测试。
测试单片机ALE管脚有2M频率的信号输出,程序运行后LCD1602显示字符。
说明数字电路块调试通过。
5.2.4ICL7135A/D转换电路调试
接通电源,测量ICL7135芯片第11脚电压为+5.01V,第1脚电压为-4.92V。
再检测CLKIN管脚有信号输入,频率为500KHz,而且BUSY信号有电平变化。
证明ICL7135芯片工作正常。
此时调节ICL7135参考电压输入为1V。
5.2.5TL084放大电路调试
接通电源,在TL084放大器的信号输入端加上一个0-2V之间的信号作为输入。
然后测量第1脚、第7脚、第8脚、第14脚的电压输出,对照TL084连接电路计算出所测输出与输入关系与放大系数基本满足。
但是当无输入时依然存在一定输出电压,说明电路中有一定干扰信号。
5.2.6整体系统调试
连接上LCD1602和各个集成芯片,确定电路连接正确后,接通电源。
通过串口接口将总程序从PC机上烧写入单片机中,打开CD4066模拟开关,选择一个放大倍数,并将电路板上选择A/D输入短接接口用短接帽短接到ICL7135A/D转换芯片输入。
然后通过按键控制开始检测,并设置检测的时间。
观察LCD显示是否有数据变化。
同时用电压表测量TL084第14管脚的输出电压。
得出测量电压与显示电压存在一定误差,但是能反映输入信号的变化,说明整个电路工作正常。
改变模拟开关的选通,再同上操作。
得出整个电路基本工作正常。
5.2.7系统上电状态
此设计系统整体调试通过后,将传感器连接到电路板输入引脚,然后将各个器件连接好后,打开电源。
开始对外界光参数进行测量。
光电传感器采集光照的强度,转换为相对应的电信号后经过A/D转换后送入单片机,由单片机处理后显示所测量的光参数。
图5.2系统上电状态图
6系统功能、指标参数
6.1系统实现功能
系统主要实现的功能是一个智能测量仪器,通过光电传感器将外部的光电信号转化为电信号后,利用传感器检测外部光照强度的变化。
同时实现对光照强度进行显示的功能。
在仪器上可通过按键实现采集的可控制,并可将所测数据参数传到电脑上去。
及外部光照强度的检测,显示和数据传输。
6.2测试数据及参数分析
6.2.1模拟电路测试参数及参数分析
测试数据参数表1:
(注:
U4:
7809,U5:
7909,U6:
7905,U7:
7805,U1:
TL084,U2:
ICL7135,U8:
CD4066)
引脚
电压(V)
参考值(V)
误差(%)
J4插针1、3脚
19.03
18
5.72
U4(3脚)
9.25
9
2.78
U5(3脚)
-9.11
-9
1.22
U6(3脚)
-5.06
-5
1.20
U7(3脚)
4.93
5
1.40
U1(14脚)
0
0
0
U1(11脚)
-9.12
-9
1.33
U1(4脚)
8.96
9
0.44
U2(1脚)
-4.92
-5
1.60
U2(11脚)
5.01
5
0.2
U8(7脚)
0
0
0
U8(14脚)
4.98
5
0.40
通过表中参数可以看出模拟电路中各个管脚处的电压与参考值比较接近,虽然存在一定的误差,但是都在正常范围之内。
所以模拟电路电源调试通过。
6.2.2数字电路测试参数及参数分析
测试数据参数表2:
(注:
U12:
7805,U3:
CD74HC74,U9:
STC89S51,U11:
MAX232)
引脚
电压(V)
参考值(V)
误差(%)
J2
10.02
9
11.33
U12(3脚)
4.97
5
0.60
U3(1脚)
4.96
5
0.80
U3(4脚)
4.93
5
1.4
U3(7脚)
0.00
0
0
U3(10脚)
4.98
5
0.40
U3(14脚)
4.96
5
0.80
U9(20脚)
0
0
0
U9(40脚)
4.96
5
0.80
J7(1脚)
0
0
0
J7(2脚)
4.89
5
2.2
U11(15脚)
0
0
0
U11(16脚)
4.95
5
1.00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一组 参数 测试仪 课程设计 正文 doc