0 引 言
近年来,随着传感器技术的不断发展,特别是单片机技术的广泛应用,采用单片机与PC机构成的小型传感器测控系统越来越多。因为它们很好地结合了单片机的价格低,功能强,抗干扰能力好,温限宽和面向控制等优点及Pc机操作系统中Windows的高级用户界面、多任务、自动内存管理等特点。在这种测控系统中,单片机主要进行实时数据采集及预处理,然后通过串行口将数据送给PC机,PC机再对这些数据进一步处理,例如求均值、方差、画动态曲线与计算给定、打印输出的各种参数等任务。
这里采用霍尔传感器作为前端进行数据采集,然后在单片机控制下进行A/D转换,并将信号通过串口送给PC机进行绘图处理。
1 系统介绍
系统可以分为3个部分。第一部分是信号源,由霍尔传感器产生电压信号,信号通过差分放大,滤波得到较清晰的信号;第二部分是信号经过A/D转换送入单片机进行处理,再通过串行通信送入PC机处理得到结果;第三部分是数据的显示,这部分是通过VB的绘图程序来完成,显示结果以v-x关系图来显示。系统总流程如图1所示。
2 硬件设计及实现
2.1 霍尔传感器
霍尔传感器是利用霍尔效应实现磁电转换的一种传感器。它具有灵敏度高,应用广泛的特点。其工作原理如图2所示:一块半导体薄片,其长度为L,宽度为B,厚度为D,置于磁感应强度为B的磁场中,在相对的两边通以控制电流I,且磁场方向与电流方向正交,则在半导体的两边将产生一个与控制电流和磁感应强度乘积成正比的电势U,该电势即为霍尔电压,用UH表示,即UH=KHIB,其中KH为霍尔元件的灵敏度,半导体薄片就是霍尔元件。
同理有2块磁场相同的永久磁铁,同极性相对放置。当其表面积远远大于两者的间距时,正中间磁感应强度为O,在缝隙间沿z轴形成一个均匀梯度的磁场dB/dx=K(K为常数)。B=0处作为位移x的参考原点,则x=O时,B=O,UH=O。当它们中间的霍尔元件移动到x处时,UH大小由x处的B决定。由公式UH=KHIB可知:保持I不变,则dUH/dx=IKHdB/dx=KHI=K,积分后得UH=Kx,即霍尔电势与位移成比例。磁场梯度越大,灵敏度越高,磁场变化越均匀,UH和x的线性越好。
本系统中的第一部分由图3中的霍尔传感器装置提供,由霍尔元件(A44E)、差分放大器和滤波器组成。其输出电压与霍尔元件位移成比例,具有较高灵敏度,能够产生出符合要求的电压信号。
2.2 模/数转换原理
该系统中的单片机是使用Atmel公司的AT89C51微控制器,与MCS一51单片机产品兼容,具有4 KB闪烁可编程可擦除只读存储器、1 000次擦写周期、32个可编程I/O口线、2个16位定时器/计数器、5个中断源、UART串行通道等特点。在设计中主要用它来控制传感器信号发生装置输出的模拟信号转换成数字信号,进行数据采集和显示以及串行通信。
经过与标准量比较处理后的模拟量转化成以二进制数值表示的离散信号的转换器,简称A/D转换器.转换器的输入量一般为直流电流或电压,输出量为二进制数码的数字量。该设计中使用ADC0809转换器。过程如下:首先它可以将其看成由一个8位A/D转换器和一个8通道模拟多路开关组合而成,INO~IN7分别对应8路模拟量输人,由引脚ADDA,ADDB和ADDC决定具体是哪一条模拟量来进行转化。在引脚START和ALE上加1个正脉冲后,通道选择码立即锁定并同时ADC转换启动。转换开始后OE引脚加1个正脉冲,将输出缓冲器的三态门打开,使转换后的数字量能够传送至数据总线。
2.3 数据采集和显示
放大处理后的电压信号,虽然在幅值上达到了可以处理的范围,但模/数电压转换的范围是0~5 V,而传感器输出的电压存在负值,为了使电压匹配,信号电压在接人模/数转换器前可以加一级加法电路,将电压信号全部转换为正值。放大电路、滤波电路和加法电路均使用LM324实现,硬件电路如图4所示。
数据显示电路分为数码管显示电路和PC机显示 部分。数码管显示用于单片机上,单片机分别通过段显 码和位显码对数码管上显示的数据进行控制。段显码 控制显示的数据内容,位显码则控制数码管亮或灭。段 显码是单片机通过可编程通用并行接口8155逐位传到 8位移位寄存器74LSl64中去,再由它将串行传输数据 变为并行数据传给数码管显示。而位显码是单片机 通过8155一次性送到数据锁存器74L$244中锁存,再 去驱动数码管并控制其亮或灭。
2.4 串行通信
该设计中采用异步串行通信的方式。而AT89C51 单片机的串行口,当工作于方式1,2和3时,UART(通用异步接收和发送)可以实现单片机系统与PC机之间的串行通信。PC机串行通信主要是通过串行口芯片8251实现的。8251有10个寄存器,端口地址从3F8H~3FEH(c0M1),可以通过对8251编程来指定通信协议即通信的波特率、数据位数、奇偶类型和停止位长度。另外由于Pc机串口的电平是RS 232电平,不与单片机串口的TTL电平兼容,因此需要在它们之间进行电平转换。传统的方法是使用MCl488将TTL电平转换成RS 232电平,用MCl488实现反向转换,由于MCl488需要±12 V电压,使用中非常不便,故该设计采用MAXIM公司的产品片MAX232来实现,由单+5 V的电压供电,既可实现TTL到RS 232的电平转换,也可实现RS 232到TTL电平的转换,使用十分方便,具体的线路如图5所示。