2.3 MCU系统电路
方案中采用Atmel公司的AT89S52,带8 KB闪速可编程可擦除制存储器(PEROM)及低电压,高性能CMOS微控制器。由于将多功能8位CPU和闪速存储器组合在单个芯片中,AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。采用单片机P0口直接驱动红色LED,5 V供电,采用共阳数码管,上拉电阻取1 kΩ。共采用三个数码管,动态扫描式显示。单片机系统图省略。
3 系统软件设计
3.1 数据采集及量程切换
软件设计采用模块化设计思想,每个模块实现特定的功能。系统软件包括主程序、定时中断程序和一系列功能子程序。上电后程序初始化,进入监控状态,显示待机界面等待测量。测量时启动A/D后,首先选择最大量程对外部数据进行采样计算并判断,确定合适的量程。切换量程后再次采样,记录得到的数据,通过相应对相应量程的计算,得到测量的电压。如果需要,MCU可与微型打印机通过并口连接,将存储于RAM中的电压历史数据和当前数据打印出来,作为资料存档保留,系统流程图如图4所示。
3.2 通道自校准
为了消除信道给测量带来的误差,在电路和程序中增加了自校准部分。其主要原理是通过比对基准电压和待测电压在相同信道中的测量值,进一步消除系统信道带来的误差。基准电压通过稳压器件和一系列分压电阻得到一组不同量级且高精度的电压基准源,设置为1 mV,10 mV,50 mV,100 mV,500 mV,1 V等。设某通道的输入信号为VX,经过测量得到的结果为V'X;选择合适的量程范围,选择距离此范围最接近的基准电压VS1和VS2,经过同样的信道测量的结果为V'S1和V'S2,那么根据相似性原理可以得到:
由此推算得到真实的测量值为:
通过在线基准电压校准从根本上消除了放大、滤波等环节由于器件参数分散性所引入的单向偏差问题,使测量系统的精度得到进一步的提升。
4 结 语
电压是电子系统中最基本的测量值之一,也是诸多非电子传感器转换为电子测量时最常用的物理量。其快速准确测量无论是对于电子系统设计,还是对各种物理信号的测量,都有极其重要的意义。本文实现了一种基于单片机的自动量程切换的电压测量系统,能在较宽电平范围内准确地测量其电压值。此外采用基准电压测量,最大限度地减小信道对测量结果带来的误差。