简易电子称设计—51、动态数码管_第1页
简易电子称设计—51、动态数码管_第2页
简易电子称设计—51、动态数码管_第3页
简易电子称设计—51、动态数码管_第4页
简易电子称设计—51、动态数码管_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 简易电子称课程设计 姓 名: 学 号: 班 级: 摘 要本设计系统以单片机AT89S52为控制核心,实现电子秤和计时的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。系统的硬件部分包括最小系统部分、数据采集部分、数据处理部分、按键中断调时和系统电源四大部分。最小系统部分主要包括AT89S52部分;数据采集部分由称重传感器、A/D转换、低通滤波部分组成,包括运算放大器INA128、NE532和A/D转换器ADS8344(大材小用一下);按键中断,四位动态LED数码显示器,可以直观的显示重量的具体数字以及时间,使用方便;系统电源以MAX3232为核心设计电路以

2、提供系统正常工作电源。系统的软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。该电子秤可以实现基本的称重功能(称重范围为04.999Kg,重量误差不大于±0.010Kg),并附带有显示时间的功能,可以设置时间和显示时间。本系统设计结构简单,使用方便,功能齐全,精度较高,具有一定的开发价值。关键词: 电阻应变式传感器 A/D 单片机 数码管显示2系统方案设计2.1电子秤的组成结构2.1.1电子秤的基本结构电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电子秤均由以下三部分组成:(1)承重、传

3、力复位系统 它是被称物体与转换元件之间的机械、传力复位系统,又称电子秤的秤体,一般包括接受被称物体载荷的承载器、秤桥结构、吊挂连接部件和限位减振机构等。(2)称重传感器即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能

4、在较差的工作条件下工作;有较好的频响特性;稳定可靠。(3)测量显示和数据输出的载荷测量装置即处理称重传感器信号的电子线路(包括放大器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常包括前置放大、滤滤、运算、变换、计数、寄存、控制和驱动显示等环节。2.1.2电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大

5、、经滤波后再由模/数(A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。2.2电子秤设计的要求及基本思路2.2.1电子秤设计的要求1) 称重范围:不超过5.000KG2) 测量精度: 0.010Kg3) 显示方式:4位数码管动态扫描4) 使用操作:操作简单方便。5) 特殊功能:当没有放物品时显示时间,有物品

6、放上则显示重量2.2.2电子秤设计的基本思路将电子秤大致能划分为两大部分,数据采集及处理模块、控制显示模块模块。其中数据采集模块由压力传感器、信号的前级处理和A/D转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块。此外添加了显示时间的特殊功能。压力传感器4位动态数码管显示51单片机控制ADS8344J进行AD转换信号放大及滤波处理2.351单片机AT89S52单片机是AT89S系列中的增强型高档机产品,它片内存储器容量是AT89S51的一倍,即片内8KB的Flash程序存储器和256B的RAM。另外,它还增加了一个功能极强的、具有独特应用的16位定时计数

7、器2等多种功能。在工程应用中AT89S52有一显著的优势:不需要烧写器,只借助PC 机的并口输出和极为简单的下载电路,便可将程序通过串行方式写入单片机。并且下载电路可设计在系统中,可以随时修改单片机的软件而不对硬件做任何改动。由此,通过对目前主流型号的比较,我们最终选择了AT89S52通用的普通单片机来实现系统设计。AT89S52是一种兼容MCS51微控制器,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程I/O口,2/3个16位定时/计数器,6/8个中断源,全双工串行通讯口,低功耗支持Idle和Power-down模式,Power down模式支持中

8、断唤醒, 看门狗定时器,双数据指针,上电复位标志。另外在外扩展了32K数据存储器,以满足系统要求。 89C52单片机最下系统2.4数据采集模块2.4.1传感器传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节

9、。称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。称重传感器的种类很多,根据工作原理来分常用的有以下几种: 电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式)电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将被测的重量转换为弹性体的应变值;另一个是电阻应变计:它作为传感元件将弹性体的应变,同步地转换为电阻值的

10、变化。电阻应变片所感受的机械应变量一般为10 - 610 - 2,随之而产生的电阻变化率也大约在10 - 610 - 2数量级之间。这样小的电阻变化用一般测量电阻的仪表很难测出,必须采用一定形式的测量电路将微小的电阻变化率转变成电压或电流的变化,才能用二次仪表显示出来。在电阻应变式称重传感器中通过桥式电路将电阻的变化转换为电压变化。电阻应变式称重传感器工作原理框图如图2-1所示: 载荷P 应变 电阻变化R 输出电压敏感元件应变片测量电桥图2-2当传感器不受载荷时,弹性敏感元件不产生应变,粘贴在其上的应变片不发生变形,阻值不变,电桥平衡,输出电压为零;当传感器受力时,即弹性敏感元件受载荷P时,应

11、变片就会发生变形,阻值发生变化,电桥失去平衡,有输出电压。图2-3R1、R2、R3、R4为4个应变片电阻,组成了桥式测量电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。 若不考虑Rm,在应变片电阻变化以前,电桥的输出电压为:V= 由于桥臂的起始电阻全等,即R1 = R2 = R3 = R4 = R,所以V=0 。当应变片的电阻R1、R2、R3、R4变成R+R1、R+R2、R+R3、R+R4时,电桥的输出电压变为:V=通过化简,上式则变为:V=也就是说,电桥输出电压的变化与各臂电阻变化率的代数和成正比。如果四个桥臂应变片的灵敏系数相同,且 = K,则上式又可写成:V=1 - 2 + 3 -

12、 4 )式中K为应变片灵敏系数,为应变量。上式表明,电桥的输出电压和四个轿臂的应变片所感受的应变量的代数和成正比。在电阻应变式称重传感器中,4个应变片分别贴在弹性梁的4个敏感部位,传感器受力作用后发生变形。在力的作用下,R1、R3被拉伸,阻值增大,R1、R3正值,R2、R4被压缩,阻值减小,R2、R4为负值。再加之应变片阻值变化的绝对值相同,即R1 = R3 = + R或1 = 3 = +R2 = R4= - R或2 = 4 = - 因此,V=×4 = e K。若考虑 Rm,则电桥的输出电压变成:V= = K e令SU = ,则SU = K SU称为传感器系数或传感器输出灵敏度。对于

13、一个高精度的应变传感器来说,仅仅靠4个应变片组成桥式测量电路还是远远不够的。由于弹性梁材料金相组织的不均匀性及热处理工艺、应变片性能及粘贴工艺、温度变化等因素的影响,传感器势必产生一定的误差。为了减少传感器随温度变化产生的误差,提高其精度和稳定性,需要在桥路两端和桥臂中串入一些补偿元件。如:初始不平衡值的补偿、零载输出温度补偿、输出灵敏度温度补偿等。2.4.2前级放大器及二阶低通滤波器由传感器或敏感元件转换后输出的信号一般电平较低而由电桥等电路变换后的信号亦难以直接用来显示、记录、控制或进行A/D转换。为此,测量电路中常设有模拟放大和滤波环节。这一环节目前主要依靠由集成运算放大器的基本元件构成

14、具有各种特性的放大器来完成。放大器的输入信号一般是由传感器输出的。传感器的输出信号不仅电平低,内阻高,还常伴有较高的共模电压。因此,一般对放大器有如下一些要求:1) 输入阻抗应远大于信号源内阻。否则,放大器的负载效应会使所测电压造成偏差。2) 抗共模电压干扰能力强。3) 在预定的频带宽度内有稳定准确的增益、良好的线性,输入漂移和噪声应足够小以保证要求的信噪比。从而保证放大器输出性能稳定。4) 能附加一些适应特定要求的电路。如放大器增益的外接电阻调整、方便准确的量程切换、极性自动变换等。我们考虑了以下几种方案:方案一 利用普通低温漂运算放大器构成多级放大器。普通低温漂运算放大器构成多级放大器会引

15、入大量噪声。由于信号转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此种方案不宜采用。方案二 由高精度低漂移运算放大器构成差动放大器。差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器,如下图所示: 图2.6 利用普通运放构成的放大器电阻R1、R2和电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。优点:输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求

16、。输出级为反向放大器,所以输出电阻不是很大,比较符合应用要求。缺点:此电路要求R3、R4相等,误差将会影响输出精度,难度较大。实际测量,每一级运放都会引入较大噪声,对精度影响较大12。方案三 采用专用仪表放大器,如:AD620,INA128等。此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。以 INA128为例,接口如下图所示:图2.7 INA128仪表放大结构图放大器增益 ,通过改变RG的大小来改变放大器的增益。INA128 具有体积小、功耗低、精度高、噪声低和输入偏置电流低的特点。其最大输入偏置电流为20nA,这一参数反映了

17、它的高输入阻抗。INA128在外接电阻RG时,可实现11000范围内的任意增益;工作电源范围为±2.3±18V;最大电源电流为1.3mA;最大输入失调电压为125V;频带宽度为120kHz(在G=100时)。基于以上分析,我决定采用制作方便而且精度很好的专用仪表放大器INA128。低通滤波是为了是滤去信号中的高频干扰,使ADS采到更稳定的信号,采用二阶抵用滤波可以有效的提高系统的稳定性。 前级放大及二阶低通滤波电路2.4.3A/D转换器 AD转换原理1、逐次逼近法逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。采用逐次逼近法的A/D转换器是由一个比较器、

18、D/A转换器、缓冲寄存器及控制逻辑电路组成。基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为    o,与送入比较器的待转换的模拟量i进行比较,若o<i,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的    o再与i比较,若o<i,该位1被保留,否则被清除。重复此过程,直至逼近

19、寄存器最低位。转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。逐次逼近的操作过程是在一个控制电路的控制下进行的。2、双积分法采用双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。双积分法A/D转换的过程是:先将开关接通待转换的模拟量i,i采样输入到积分器,积分器从零开始进行固定时间的正向积分,时间到后,开关再接通与i极性相反的基准电压F,将F输入到积分器,进行反向积分,直到输出为0V时停止积分。i越大,积分器输出电压越大,反向积分时间也越长。计数器在反向积

20、分时间内所计的数值,就是输入模拟电压i所对应的数字量,实现了A/D转换。A/D转换器选用的原则:1、A/D 转换器的位数。A/D 转换器决定分辨率的高低。在系统中,A/D 转换器的分辨率应比系统允许引用误差高一倍以上。2、A/D 转换器的转换速率。不同类型的A/D 转换器的转换速率大不相同。积分型的转换速率低,转换时间从几豪秒到几十毫秒,只能构成低速A/D 转换器,一般用于压力、温度及流量等缓慢变化的参数测试。逐次逼近型属于中速A/D 转换器,转换时间为纳秒级,用于个通道过程控制和声频数字转换系统。3、是否加采样/保持器。4、A/D 转换器的有关量程引脚。有的A/D 转换器提供两个输入引脚,不

21、同量程范围内的模拟量可从不同引脚输入。5、A/D 转换器的启动转换和转换结束。一般A/D 转换器可由外部控制信号启动转换,这一启动信号可由CPU提供。转换结束后A/D 转换器内部转换结束信号触发器置位,并输出转换结束标志电平。通知微处理器读取转换结果。6、A/D 转换器的晶闸管现象。其现象是在正常使用时,A/D 转换器芯片电流骤增,时间一长就会烧坏芯片。为防止这种现象,可采取如下措施:(1)加强抗干扰措施,尽量避免较大的干扰电流进入电路;(2)加强电源稳压滤波措施, 在A/D 转换器电源入口处加退耦滤波电路,为防止窄脉冲波窜入在电解电容上再接一高频滤波电容;(3)在A/D 转换器的电源端接一限

22、流电阻,可在出现晶闸管现象时,有效地把电流限定在允许范围内,以防止烧坏器件。选择A/D 转换器除考虑上述要点外,为防止对A/D 转换器的技术指标的影响,还要注意以下几个问题:(1)工作电源电压是否稳定;(2)外接时钟信号的频率是否合适;(3)工作环境温度是否符合器件要求;(4)与其它器件是否匹配;(5)外接是否有强的电磁干扰;(6)印刷线路板布线是否合理。由上面对传感器量程和精度的分析可知:A/D转换器误差应在3g以下。12位A/D精度:10Kg/4096=2.44g;14位A/D精度:10Kg/16384=0.61g;考虑到其他部分所带来的干扰,12位A/D转换器无法满足系统精度要求。所以我

23、们需要选择14位或者精度更高的A/D转换器17。在此,可选TI公司16的DAS8513或者ADS8344如下为ADS8344管脚图和电路连接图2.5.1输出显示 本设计采用简单的4位共阳动态数码管显示,译码与引脚图如图 4位共阳动态显示数码管接线图4.1.2主程序设计流程图单片机完成初始化程序后进入主程序,主程序主要完成对存储参数的读取,对检测到的数据进行数据处理,显示处理等。 开始 初始化读取AD数据外部中断按键调节时间数据处理理显示时间If weight>0.030kg? NO YES 显示weight4.2主程序设计及其相关程序设计4.2.1主程序设计#include<reg

24、52.h> /包含头文件,一般情况不需要改动,#include<INTRINS.H>#define uchar unsigned char#define uint unsigned intsbit ADSDIN =P10;sbit ADSDATA =P11;sbit ADSCLK =P12;uchar time_temp=0;uchar flag =0 ;uchar flag0 =0 ;uint hour=0;uint minute=0;uint second=0;uint now_time=0;void delay(uint i) /软件的不精确延时子程序 uint j ;

25、 for(j=0;j<i;j+)uint dispose(uchar t) /数据处理子程序,实行10的t次方 uchar k=0; uint num=1; for(k=0;k<t;k+) num=num*10; return(num);void display(uint number) /显示程序 uchar codevalue10=0x14,0x77,0x4c,0x45,0x27,0x85,0x84,0x57,0x04,0x05;/不带点编码 uchar codevalue010=0x10,0x73,0x48,0x41,0x23,0x81,0x80,0x53,0x00,0x01

26、;/带点编码 uchar chocode4=0xef,0xdf,0xbf,0x7f; /片选编码 uchar m4=0; uchar i,p=0; for(i=0;i<4;i+) mi=(number/(dispose(3-i)%10); p=mi; P2=chocodei; if(i=0) /显示重量时小数点一直在第一位亮 if(flag0=1) P0=codevalue0p; else P0=codevaluep; if(i=1)/显示时间时小数点在第2位闪亮 if(flag0=0)&&(flag=0) P0=codevalue0p; else P0=codevalu

27、ep;if(i>1) P0=codevaluep; delay(350); /*uint ADS7818() /ads7818为12位AD,精度不够 uchar j; uintdata0 = 0; uint data1 =0; ADSCONV=0; ADSCLK=1; ADSCLK=0; ADSCLK=1; for(j=0;j<12;j+) ADSCLK=0; ADSCLK=1; data0=ADSDATA; data1=(data1<<1)+data0); ADSCONV=1; ADSCLK=0; ADSDATA=1; return(data1) ; */uint A

28、DS8344()/16位AD uchar j; uchar k; uint data0 =0; uint data1 =0; ADSCLK=0; /外部时钟给AD delay(10); for(j=0;j<8;j+) ADSCLK=0;ADSCLK=1;ADSDIN =1; /给AD写8位指令 ADSCLK=0; /先打1个半空拍 delay(1); ADSCLK=1; delay(1); ADSCLK=0; for(k=0;k<16;k+) /串行保存数据 ADSCLK=1;ADSCLK=0;data0=ADSDATA; data1=(data1<<1)+data0)

29、; /保存16位数据 ADSCLK=0;ADSDIN =0;return data1; uint data_dispose(uint temp) 、 /数据处理程序 uint temp0,temp1,temp2,temp3, temp4 ; temp0 = temp/10 ; /舍去不精确的最低位 temp1 = (temp0-230)/1476.030)*1000); temp2 = (temp1/10)*10; temp3 = (temp1%10)/5)*5) ; /处理显示重量的最后一位 temp4 = (temp2 + temp3)-40); return temp4;void tim

30、e_init()/定时器、中断初始化TMOD = 0x01; /打开定时器0TH0 = 0x3c ; /(65536-50000)/256;TL0 = 0xb0 ; /(65535-50000)%256;EA=1; ET0=1;TR0=1; IT0 = 1; /选取外部中断为脉冲出发方式 IT0=0为电频触发 EX0 = 1; /允许外部中断0中断/ EA = 1; IT1 = 1; /选取外部中断为脉冲出发方式 IT1=0为电频触发 EX1 = 1; /允许外部中断1中断 / EA = 1; /开总中断uint time_updata() /时间更新if(second>=60)seco

31、nd = 0;minute+;if(minute>=60)minute=0;hour=(hour+100);if(hour>=2400)hour=0;now_time =(hour+minute);return now_time ; void main (void) uint DATA2=0; uint DATA=0; ADSDATA=1; ADSCLK=0; ADSDIN=0; time_init(); while (1) DATA2=ADS8344(); DATA = data_dispose(DATA2); if(DATA>=30) flag0=1; display(DATA); else flag0=0; time_updata(); display(now_time); void INT0_ISR() interrupt 0 /IE0请求标志位由硬件置位触发中断,并由硬件清0 minute+;if(minute>=60) minute=0;hour=(hour+100); if(hour>=2400) hour=0; void time0(void) interrupt 1 /时间间隔为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论