数据采集器设计报告.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8通道精密模拟量数据采集器设计
一.设计描述
目标:设计一能采集8个通道的模拟量的精密数据采集系统。
主要技术指标: (1)模拟量通道数:8;
(2)AD 转换分辨率:14位(数据实质是12位,加符号位和过量程指示位,总共14位); (3)模拟量输入范围:0-4.8V ;
(3)数据通信与显示方式:采集到的数据通过串口发送到上位计算机,由计算机显示数据;
(4)上位计算机与数据采集系统(下位机)通信方式:串口通信,主从通信方式,上位机为主机,下位机为从机。
由上位机发起通信,下位机响应,将采集到的8路数据一并发送到计算机中。
二、方案设计
按要求,设计数据采集器方案如下所示:
数据采集器采用STC51系列单片机作为微控制器,模拟开关MAX308的地址A0、A1、A2分别与P1.0~P1.2连接,通过控制P1口输出来选择输入信号,将信号依次输入送入双积分AD 转换器ICL7109的模拟信号输入端,在使用模拟开关时,将模拟开关的输出端连接到ICL7109的输入通道即可。ICL7109的转换结果通过P0口传给单片机,单片机将采集结果通过串行通信RS232接口上传给上位PC 机,实现数据的采集。
数据采集器方案示意图
1. 电路原理图
a) STC12C5A60S2单片机电路
本实验中选取STC12C5A60S2单片机作为微控制器,需要片外11.0592MHz 的振荡器。在本此实验中程序及数据不多,故无需另加外部程序存储器。单片机部分的电路如下所示:
单片机AT89S52
双积分AD 转换器ICL7109多路模拟开关MAX308
RS232串行接口
计算机
模拟量输入
b)数据输入部分
通道选择电路
数据输入部分由模拟开关MAX308实现多路信号的切换。MAX308是单8路(单刀16位)模拟开关,各开关由外部输入二进制的地址码A0、A1、A2来切换。其中脚1、14和16是地址码A0、A1、A2的输入端;
输入脚A0、A1、A2分别与单片机P1.0~P1.2相连,改变P1输出即可切换输入通道,控制脚接高。
MAX308 功能引脚图
c)模数转换部分
ICL7109数模转换与单片机接口电路
模数转换元件选用ICL7109,其主要特性有:
双积分式12位A/D转换器;
数据输出为12位二进制数,并配有较强的接口功能,能方便的与各种微处理器相连;
双电源±5V,引入V+,V—(40,28脚),1端GND为公共接地端。;
模拟输入电压范围0~+5V,基准电压供给;
工作温度范围为-55~125;
功耗约400mW。
1、模拟信号输入
模拟信号可差分输入,分别接入差分输入高端INHI(35脚)和差分输入低端INLO(34脚)。模拟信号公共端为COMMON (33脚)。
2、时钟电路
ICL7109片内有振动器及时钟电路。片内提供的多功能时钟振动器既可用作RC振荡器,也可作为晶体振荡器。OSCSEL (24端)为振荡器选择。OSCSEL(24端)为高电平或开路时片内为RC振荡器,此时OSCOUT(23端)和BUFOSCOUT (25端)外接电阻、电容到OSCIN(22端),如图4所示;OSCSEL为低电平时,外接振荡晶体,片内为晶体振荡器如图5所示。
接成RC振荡器时,振荡器频率为0﹒45/RC(电容不能小于50PF)。接成晶体振荡器时,内部时钟为58分频后的振荡器频率。
为了使电路具有抗50串模干扰能力。A/D转换时应选择积分时间(2048个时钟数)等于50HZ的整数倍。例如取积分时间为50HZ的1倍,即20MS,则晶体频率F=(2048个时钟周期)x(58/20MS)=5﹒939MHZ;对于RC振荡器,则F=(2048个时钟数)/20ms=102﹒4KHZ。
3、接口方式
ICL7109内部有一个14位(12位数据和一个极性,一位溢出)的锁存器和一个14位的三态输出寄存器,可以很方便地与各种微处理器直接连接,而无须外部加额外的锁存器。ICL7109有两种接口方式,一种是直接接口方式,另一种是挂钩接口方式。在直接接口方式中,ICL7109转换结束时,由STATUS发出转换结束信号到单片机,单片机对转换后数据分高位字节和低位字节进行读数。在挂钩接口方式时,ICL7109提供工业标准的(通用异步接收发送器)数据交换模式,适用于远距离的数据采集系统。
4、ICL7109外部电路的参数选择
ICL7109外部电路的连接及元件参数值如图。
A﹒积分电阻RINT的选择
缓冲放大器和积分器能够提供20UA的推动电流,积分电阻要选得足够大,以保证在输入电压范围的线性。
积分电阻RINT=满度电压/20UA
当输入满度电压=4﹒096V时,RINT=200KΩ,此时基准电压REFIN-和REFIN+之间为+2V,由电阻R2和电位器R1分压取得。如满度电压为方便用户4﹒096MV,则RINT=20KΩ,基准电压=0.2V。RINT接入缓冲放大器输出端BUF(30脚)。
B.积分电容CINT的选择
积分电容根据积分器给出的最大输出摆幅电压选择。此电压应使
积分器不饱和(大约低于电源0.3V)。对ICL7109的±5V电源。模拟公共点接地,积分器输出摆幅一般为±3.5V至±4V。对不同的时钟频率,电容值也要改变,以保证积分器输出电压的摆幅。
CINT=2048*时钟周期*20UA/积分器输出摆幅
为了使积分器不饱和,积分器输出的摆幅最大为±4V,所以积分器的最小电容为1UF。积分器电容越大,积分器输出摆幅越小,所以,CINT也不应选的过大,如果电路设计时选用不同的时钟频率,则积分电容应根据上面的公式计算,以便选择合适的CINT的值。积分电容CINT接入积分电容连接端INT(32脚)。
C.自动调零电容CAZ的选择
积分电容CINT选定以后,自动调零电容CAZ的选择是非常容易的。在模拟输入信号较小时,如0—409.6MV,这时抑制噪声是主要的。而这时积分电阻又较小,所以,自动调零电容CAZ可选为比积分电容CAZ大一倍,以减少噪声。CAZ的值越小,噪声越小。对于大部分实际应用系统,由传感器来的微小信号都要经过放大器放大成较大的信号,如0—+4﹒096mV。这时噪声的影响不是主要的,可把积分电容Cint选大一些以减少复零误差,使Cint=2Caz。D﹒基准电容Cref的选择
一般情况下Cref取值1uf较好。但如果存在一个大的共模电压(即基准电压低端不是模拟公共点),对于模拟输入为0—+409﹒6MV的情况下,要求电容值较大,以防止滚动误差,在这种情况下,如选Cref=10uf可以使滚动误差在0﹒5以内。
d)串行通信部分
串行数据通信
单片机串口通信采用RS232C标准,由于RS232C标准采用正负电压表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同,必须使用电平转换器件进行装换,本方案采用Maxim公司的MAX232芯片实现接口的电平转换。MAX232的11、12脚分别与单片机P3.0、P3.1脚相连,13、14脚与电脑串口相连接。
串行口工作于工作方式1下,使用定时器1作为波特率发生器,定时器1工作于定时器方式2下,由于系