上海电机学院(上海 200240) 陈 梅
单片机具有集成度高、功能强、体积小、价格低、抗干扰能力等优于一般CPU的优点,因此,在要求较高控制精度和较低成本的工业测控系统中,往往采用单片机作为数字控制系统取代模拟控制系统。本文介绍一种基于AT89S52的沙浆称重系统的研制方法,利用单片机和传感器实现对重量的高精度测量。
基于AT89S52单片机的沙浆称重系统硬件电路如图1所示。
图1 系统硬件结构图
系统工作原理:先由称重传感器负责实时采集现场钢制储料罐、支架及水泥物料等所有物体的总重量信号,并把重量信号直接转换为0~20mV的微弱信号。AD7705采用了成本较低但能获得极高分辨率的∑-Δ转换技术,可以获得16位无误码数据输出,AD7705片内的增益可编程放大器PGA通过指令设定实现对输入信号的放大,再进行A/D转换后转换电路以数字形式传送给AT89S52单片机。AT89S52单片机取得相应的数据后,根据用户设置(总重量或净重量等)显示要求进行分析与运算。数码驱动及键盘控制芯片CH451,通过可以级联的串行接口接收单片机的运算结果数据,并直接驱动六个数码管显示当前所测物体的重量。
本系统硬件主要包括单片机的最小系统、重量采集电路、模数转换电路、显示电路和外围控制电路等。
称重传感器是本系统的关键部件,是一种将质量信号转换成可测量电信号的输出装置,它的性能和精度直接关系到重量检测系统的检测精度。传感器的输出信号经过滤波电路,消除信号中的串模、共模干扰以及高频干扰信号后进入A/D转换器。
2.1.1 称重传感器
混凝土搅拌楼称重传感器为电阻应变式,主要部分由电阻应变片、弹性体和检测电路组成。弹性体在外力作用下产生弹性变形,使粘贴在他表面的电阻应变片也随之产生变形,其阻值发生变化,再经相应的测量电路把电阻变化转换为电压信号,从而完成将外力变换为电信号的过程。
混凝土搅拌楼站中称重传感器处于相当恶劣的运行条件中,环境温度、湿度、大气压力、震动、磁场、电场等诸多因素均可能产生换能误差、零点漂移和灵敏度的变化。差动式惠斯登电桥的灵敏度高,各臂参数一致,各种干扰的影响可以相互抵消,还可以方便地解决称重传感器的补偿问题,故称重传感器均采用箔式双轴片连接成的差动式惠斯登电桥作为测量电路。称重传感器的电阻应变计能够达到温度自补偿,还可以通过线路补偿来弥补传感器的零点温度漂移和输出灵敏度的变化。
使用过程中传感器结构、容量、技术参数选择等都会使测量结果产生误差,故需要合理选择额定容量,称重传感器的额定容量 =K(皮重+最大称重)/传感器组合个数。(K是安全系数,取决于振动、冲击、偏载等因素;皮重指秤斗及其上面各附件的重量)。传感器数量的选择是根据秤体需要支撑的点数 (根据秤体几何重心和实际重心重合的原则)而定。故选用四只量程为20T,灵敏度为2 mV/V,精度为0.2%,供电电压为10V,满量程输出为20mV的SM40-A型称重传感器组成并联输出电路,如图2所示,总称重为80T。并联输出电路的四只称重传感器由一个供桥电源供电,既节省设备、简化系统,又提高了称量的可靠性;总输出阻抗的减小,也增强了系统的抗干扰能力。利用平均值电路原理,每只传感器的输出阻抗相等,则桥路输出点电压ΔU为各个桥路输出的算术平均值。
图2 四称重传感器并联电路图
称重传感器除了固有的非线性等系统误差外,所有其它的误差均为随机误差。随机误差通常按高斯定律分布,其分布的钟形曲线如图3所示。随机误差分布的基本度量是方差 !2,在数学上定义为:
随机函数分布如图3所示,若方差大,则误差分布曲线平坦(如图3曲线b所示);如果方差小,误差分布曲线就十分尖锐(如图3曲线c所示)。高斯误差分布函数的数学性质中,99.7% 的误差位于3!间。n个称重传感器系统是由同样量程的称重传感器组成的,随机误差的分布是相同的。在多只传感器组合使用时,其综合误差为
图3 随机函数分布曲线
2.1.2 高精度A/D转换
称重传感器的输出为mV级的微弱信号,传统的测量方法是在A/D转换之前加一级高精度的放大器,电路复杂。本系统采用AD7705,器件包括由缓冲器和增益可编程放大器组成的前端模拟调节电路,∑-Δ调制器,可编程数字滤波器等部件,能直接将传感器测量到的多路微小信号进行A/D转换,减少了信号调理环节,避免了放大电路产生的漂移。器件采用三线串行接口,有两个全差分输入通道,用E-V转换技术能达到0.003%非线性的16位无误码数据输出,其增益和数据输出更新率均可编程设定。它包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差,与内部增益可设定的特点相结合,能有效地避免弱信号以及信号调理电路带来的漂移影响。
本系统采用X5045看门狗芯片,常用接线如图3所示。它是单片机系统中广泛应用的一种可编程控制电路,它把上电复位、看门狗定时器、电压监控和E2PROM四种常用功能组合在单个芯片里,以降低系统成本、节约电路板空间。X5045中的看门狗在系统发生故障而超过设置时间时,通过RESET信号向CPU做出反应,X5045提供三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响:当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU通过串行通信方式接口,512 x 8个字节的E2PROM用于存储单片机系统的重要数据。
图3 X5045常用接线图
很多以单片机为核心的仪器仪表都需要数码管显示和键盘扫描。本系统采用CH451,CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。CH451内置RC振荡电路,可以动态驱动8位数码管或者64只LED发光管,具有BCD译码、闪烁、移位等功能;同时还可以进行64键的键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能;CH451通过可以级联的串行接口与单片机等交换数据;并提供上电复位和看门狗等监控功能。
基于AT89S52单片机的沙浆称重系统的软件主要由以下几个模块组成,即系统的主控模块、数据采集模块、数据处理模块、系统保护模块和数据显示模块。
设计选用AT89S52单片机,采用汇编语言进行编程。系统初始化阶段需完成:将单片机的定时器T0设置为模式1(16位计数);启动CH451的显示驱动和键盘扫描,设置BCD译码方式,扫描极限为6,亮度为10/16;AD7705初始化:选时钟寄存器,选通道1,转换频率为50Hz,自校准,单极性,缓冲模式,增益128;X5045初始化:设置写允许,开看门狗。
首先通过称重传感器将采集到的重量信息转换为微弱的电压信号,然后通过AD7705转化成16位数据输出,AT89S52单片机取得相应的数据后,根据设置要求经主程序分析与运算以后,利用CH451直接驱动六个数码管,显示当前所测物体的重量。主程序流程图如图4所示。
图4 主程序流程图
沙浆称重系统经过设置过程后,自动进入重量动态显示状态,以5位数字的形式显示当前所测得的重量。面板上有移位、递增、递减、编程和清零按键,在重量动态显示状态下,除编程按键之外各键均处于无效状态。系统编制了多条功能指令即选择参数号以实现各种操作。
参数设置状态的进入和退出,通过编程键、移位、递增、和递减键的操作实现。进入参数设置状态后,首先应设置密码,只有在确认密码正确以后,才能对其它参数进行设置,否则即使选择了参数号,也无法进入该参数进行操作。装置内置的密码值可通过参数号进行修改。传感器所测得的重量,包括钢制储料罐、支架及水泥物料等所有物体的总重量,要得到水泥物料的净重,必须在总重量中扣除除了水泥物料之外所有器件的重量,即扣除皮重,通过功能指令,可将当前重量作为皮重存储到装置中,使以后所测量的总重量自动扣除皮重后进行显示;如果需要显示的是包括钢罐在内的总重量,或要对原来保存的皮重重新设置,也可以将存储在装置内的皮重加以清除或修改。选择参数号还可以对AD转换的倍率进行修正,装置内置的初始倍率为16进制数值2E90H,即传感器20mV的测量信号电压对应显示重量80000kg。
本沙浆称重系统,充分发挥了AT89S52单片机强大的控制能力,通过称重传感器、16位分辨率的A/D转换器和数码管驱动及键盘控制芯片,实现了对沙浆重量的高精度测量和显示。系统具有实现简单,系统控制器稳定,数据传送可靠性高等优点,在实际使用中取得了良好的效果。
[1] 段晨东.单片机原理及接口技术[M].北京:清华大学出版社,2008,381~390
[2] 张毅刚.彭喜元.单片机原理与应用设计[M].北京:电子工业出版社,2008,289~290
[3] 张毅刚.新编MCS-51单片机应用设计(第二版)[M].哈尔滨工业大学出版社,2003
[4] 数码管驱动及键盘控制芯片CH451中文手册
[5] 8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52 Atmel英文手册
[6] 蔡美琴.张为民等.MCS-51系列单片机系统及其应用(第二版)[M].北京:高等教育出版社,2004,154~156
[7] 刘伟.传感器原理及实用技术[M].北京:电子工业出版社,2006.3
[8] 孟立凡.蓝金辉.传感器原理及应用[M].北京:电子工业出版社,2007,8