电子秤课程设计--实用电子称.doc_第1页
电子秤课程设计--实用电子称.doc_第2页
电子秤课程设计--实用电子称.doc_第3页
电子秤课程设计--实用电子称.doc_第4页
电子秤课程设计--实用电子称.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

实用电子称专 业:自动化班 级:自动化2班姓 名:张 瑞学 号:1030620213指导老师:朱兆优 2013年11月26日实用电子称摘 要该系统是以单片机AT89S52为控制核心,实现电子秤的基本控制功能。系统的硬件部分包括最小系统板、数据采集、人机交互界面三大部分。最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器、信号的前级处理和A/D 转换部分组成。人机界面部分为键盘输入和12864点阵式液晶显示,可以直观的显示中文,使用方便。 软件部分应用单片机C 语言实现了本设计的全部控制功能,包括基本的称重功能、累计计费功能、去皮功能以及显示购物清单的功能,可以设定10种商品的单价,由于系统资源丰富,还可以方便的扩展其应用。1 设计任务设计一个实用电子称电路。1 基本要求用仿真软件对电路进行验证,使其满足以下要求:1) 能用简易键盘设置单价,对采集到的代表重量的信号能同时显示重量、金额和单价;2) 重量显示的单位为公斤,最大称重为9.999公斤;3) 单价和总价的单位为元,最大金额数值为9999.99元4) 具有去皮功能和总额累加计算功能。5) 自拟10种商品名称,能显示购物清单,清单内容包括:商品名称,数量,单价,金额,本次购物总金额、购货日期、收银员编号和售货单位名称,具有中文显示功能;2 方案设计2.1设计思路根据设计要求,首先要实现电子秤的称重基本功能,需要通过重量传感器采集到的重量信号,经处理后由模数转换转换成数字量,因此每一数字量就对应着一个物体的重量(在一定精度范围内),所以只要将转换的数字量与物体重量建立映射的关系即可完成称重的要求。而其他功能这可通过程序运算来实现。总体方案框图设计如下:2.2设计方案2.2.1.控制器部分该系统基于51系列单片机来实现,选择了AT89S52 通用的比较普通单片机来实现系统设计,其内部带有8KB的程序存储器,可以满足系统设计需求。2.2.2数据采集部分1) 传感器要求称重范围 9.999Kg ,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重9.999Kg 。我们选择的是 L-PSIII 型传感器,量程20Kg,精度为,满量程时误差0.002Kg。可以满足本系统的精度要求。其原理如下图所示:称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:2) 前级放大器设计由于传感器输出的信号比较微弱,必须通过一个放大器对其进行放大,才能满足A/D转换器对输入信号电平的要求。压力传感器输出的电压信号为毫伏级, 通过综合考虑我们采用专用仪表放大器芯片,如:INA121, INA126 等。此类芯片内部采用差动输入,共模抑制比高、差模输入阻抗大、增益高、线性度好,并且外部接口电路简单。以 INA126为例,引脚电路如下图所示:其放大器增益,通过改变的大小来改变放大器的增益。3.总体工作电路原理图2.2.3 A/D 转换器由上面对传感器量程和精度的分析可知: A/D 转换器误差应在以下。12 位 A/D 精度: 10Kg/4096=2.44g14 位 A/D 精度: 10Kg/16384=0.61g考虑到其他部分所带来的干扰 ,12 位 A/D 无法满足系统精度要求。 所以我们需要选择 14 位或者精度更高的 A/D 。方案一、逐次逼近型 A/D 转换器,如: ADS7805 、 ADS7804 等。逐次逼近型 A/D 转换,一般具有采样/保持功能。采样频率高,功耗比较低,是理想的高速、高精度、省电型 A/D 转换器件。高精度逐次逼近型 A/D 转换器一般都带有内部基准源和内部时钟,基于89C52 构成的系统设计时仅需要外接几个电阻、电容。但考虑到所转换的信号为一慢变信号,逐次逼近型 A/D 转换器的快速的优点不能很好的发挥,且根据系统的要求,14 位AD足以满足精度要求,太高的精度就反而浪费了系统资源。所以此方案并不是理想的选择。方案二、双积分型 A/D 转换器:如:ICL7109、ICL7135等。双积分型 A/D 转换器精度高,但速度较慢 ( 如: ICL7135 ), 具有精确的差分输入,输入阻抗高(大于),可自动调零,超量程信号,全部输出于 TTL 电平兼容。双积分型 A/D 转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对于50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。故而采用双积分型 A/D 转换器可大大降低对滤波电路的要求。积分型 A/D 转换器可大大降低对滤波电路的要求。作为电子秤,系统对AD 的转换速度要求并不高,精度上14 位的 AD 足以满足要求。另外双积分型A/D 转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。综合的分析其优点和缺点,我们最终选择了 ICL7135 。2.3 人机交互部分2.3.1 键盘输入键盘输入是人机交互界面中最重要的组成部分,它是系统接受用户指令的直接途径。 我们通过综合考虑采用了专用的键盘管理芯片74C922。在电子计价秤中,带有16个按键矩阵组设置,其中09数字键用于输入单价及商品代码,DEL用于单价清空,累计键用于费用累计,去皮键用于重量去皮,还设置有一个转换键和退出键。鉴于此,我们采用专用键盘管理芯片74C922。74C922为CMOS工艺技术制造,工作电压为315V,“二键锁定”功能,编码输出为三芯输出,可直接与微处理器数据线相连,内部振荡器完成44矩形键盘扫描,有按键时,DA变高,通过非门接到AT89C51的INT1口,并且设INT1为边沿触发方式,当DA变高时,经过非门变为低电平跳变产生INT1外部中断,使AT89S52从数据总线读按键值,判断键值从而完成相应的程序功能。根据接线图及74C922芯片真值表,我们可以将数字键09、键DEL、转换键、退出键、累加键和去皮键与ABCD输出(00001111)建立一一对应的关系,接线图见下图。2.3.2 显示输出由于设计题目要求中文显示 ,但是数码管无法满足,只能考虑用带有中文字库的液晶显示器。由于可以分页显示,无需太大屏幕,我们选择了点阵式12864型 LCD 。3 部分电路设计3.1 前端信号处理INA126构成的放大器及滤波电路:通过调节的阻值来改变放大倍数。微弱信号Vi1和Vi2被分别放大后从INA126的第6脚输出。A/D转换器ICL7135的输入电压变化范围是-2V+2V,传感器的输出电压信号在020mv左右,因此放大器的放大倍数在200300左右,可将接成的滑动变阻器。由于ICL7135对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。3.2 模数转换电路基于ICL7135的A/D转换器实现电路:由于ICL7135内部没有振荡器,所以需要外接。ICL7135的时钟频率典型值为200kHz最高允许为1200kHz,时钟频率越高,转换速度越快。每输出一位BCD码的时间为200个时钟周期,选通脉冲位于数据脉冲的中部,如果时钟频率太高,则数据的接受程序还没有接受完毕,数据就已经消失了。考虑到此系统频率要求不是太高,且单片机的工作频率也不是很高,因此我们取时钟频率的典型值:200kHz。此外ICL7135外部还需要外接积分电阻、积分电容,由于A/D转换器精度与外接的积分电阻、积分电容的精度无关,因而可以降低对元件质量的要求。ICL7135还需要外接基准电源,这是因为芯片内部的基准源一般容易受到温度的影响,而基准电源的变化会直接影响转换精度。所以当精度要求较高时,应采用外接基准源。一般接其典型值1V。4 软件组成4.1 程序流程图4.2 键盘服务程序键盘段程序采用中断方式,单有键按下时,引入一个外部中断,单片机响应中断后立即查询所按键值,并对应存入相应的全局变量中。中断返回后,通过在主程序中不断判断个功能标志位的值来实现在各个功能间的切换;数字键则用来输入单价和选择商品名称。-4.3 模数转换程序模数转换子程序主要功能是实现对转换结果的处理,包括转换的启动、等待转换完成并读入转换结果,以及对转换结果的换算,使之与所要达到的要求建立一一对应的关系。5 使用操作说明本系统是采用16键键盘来实现,各分为10个数字键0-9及6个控制键。数字键:用于输入单价和选择所存商品;累加键:即确认,可以将当前信息保存到购物清单中;并且将金额累加,得到所购买商品的总金额值。去皮键:用于去除皮重;清除键:用于输入单价错误的时候,然后重新输入;退出键:用于退出当前模式,返回普通模式;模式转换键:按下后可直接输入商品代码,并显示购物清单。将已存入的10种商品的单价均可重新设置,直接输入其单价即可,方便又实用。如果所称重物超过了系统最大量程10Kg,则蜂明器会发出报警的声音提醒。6 调试与检测通过分块调试和整体调试相结合,发现不足并逐步调整,最后各部分工作正常。所设计的电子秤仿真系统能基本的满足设计要求,能较好的实现普通称重、累加计费、去皮以及输入商品并显示购物清单的功能。以下为个功能下的LCD显示: 7. 设计小结本仿真设计虽能实现基本的称重显示功能,但很大程度上仍需改进,生活中电子称是经常见的,具有推广应用价值。1、数模转换只能作为演示程序以实现功能之用,而要使精度达到要求,至少要使用14位或以上的AD;2、程序比较复杂,需要简化,达到简单又能完成要求。在实际操作中,放大器部分遇到问题很大,由于传感器输出电压比较小,使得放大电路的调试比较困难,为此我们合适的选择电路形式。附录1 仿真电路图附录2 部分源程序1. LCD显示程序:void pulse()e=1;e=0;void busy_check(char right)P0=0xff;if (right=1)P2=0x13; /P2=0x13;while(!busy);if(right=0)P2=0x0b; /0bwhile(!busy);void cmd_w(char cmd,char right)busy_check(right);if (right=1)P2=0x10;if (right=0)P2=0x08;P2=0x08;P0=cmd;pulse();void data_w(char dat,char right)busy_check(right);if(right=1)P2=0x14; /0x14if(right=0)P2=0x0c; /0cP0=dat;pulse();void lcd_init()uint i;cmd_w(0x3e+1,0);/显示开关cmd_w(0xc0+0,0);/修改显示起始行cmd_w(0xb8+0,0);/修改页地址cmd_w(0x40+0,0);/修改列地址cmd_w(0x3e+1,1);cmd_w(0xc0+0,1);cmd_w(0xb8+0,1);cmd_w(0x40+0,1);for(i=0;i256;i+)data_w(0x00,0);cmd_w(0xb8+4,0);cmd_w(0x40+8,0);for(i=0;i256;i+)data_w(0x00,0);for(i=0;i256;i+)data_w(0x00,1);cmd_w(0xb8+4,1);cmd_w(0x40+8,1);for(i=0;i256;i+)data_w(0x00,1);char chang(char a)char temp,i;for(i=0;i8;i+)temp=1;return(temp);2. 键盘服务程序void key()uchar a;delay(60);a=P3&0x0f0;a=a4;switch(a)case 0:bii=7;break;case 1:bii=4;break;case 2:bii=1;break;case 3:b10=10;break; / 清除case 4:bii=8;break;case 5:bii=5;break;case 6:bii=2;break;case 7:bii=0;break;case 8:bii=9;break;case 9:bii=6;break;case 10:bii=3;break;case 11:b10=11;break; /确认case 12:b11=12;break; /退出case 13:b12=13;break; /模式转换case 14:b13=14;break; /去皮case 15:b13=15;break; /累加if(b12=0&ii=2&!(a=3|a=11|a=12|a=13|a=14|a=15)ii+;3. 模数转换程序uint ADTransform()uint Result;START=1; /启动AD转换。START=0;while(EOC=0); /等待转换结束。Result=ADOUT; /读入转换结果。Result=(ui

温馨提示

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

评论

0/150

提交评论