基于51系列单片机的电子秤控制设计免费下载 2.docx
《基于51系列单片机的电子秤控制设计免费下载 2.docx》由会员分享,可在线阅读,更多相关《基于51系列单片机的电子秤控制设计免费下载 2.docx(13页珍藏版)》请在冰豆网上搜索。
基于51系列单片机的电子秤控制设计免费下载2
湖北工业大学电气与电子工程学院
12级蓝电杯竞赛方案设计报告书
项目名称:
基于51单片机的电子秤设计
项目负责人:
徐阳
小组成员:
徐松孙俊杰费恺
成员分工初定如下:
徐阳:
负责单片机的焊接与应用
徐松:
负责数电方面的工作
费凯:
负责C语言的了解与工作
孙俊杰:
负责模电的了解与工作
本系统采用单片机AT89S52为控制核心,实现电子秤的基本控制功能。
系统的硬件部分包括最小系统板,数据采集、人机交互界面三大部分。
最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器、信号的前级处理和A/D转换部分组成。
人机界面部分为键盘输入,128
64点阵式液晶显示,可以直观的显示中文,使用方便。
软件部分应用单片机C语言实现了本设计的全部控制功能,包括基本的称重功能,和发挥部分的显示购物清单的功能,可以设置日期和重新设定10种商品的单价,具有超重报警功能,由于系统资源丰富,还可以方便的扩展其应用
关键词
压力传感器单片机A/D转换器LED显示器
第一部分:
方案论证与比较
一、控制器部分
本系统基于51系列单片机来实现,因为系统需要大量的控制液晶显示。
不宜采用大规模可编程逻辑器件:
CPLD、FPGA来实现。
另外系统没有其它高标准的要求,我们最终选择了AT89S52通用的比较普通单片机来实现系统设计。
内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求。
二、数据采集部分
(1)、传感器
题目要求最大量值为5千克。
我们选择的是L-PSIII型传感器,量程5Kg,精度为
,满量程时误差
0.02Kg。
可以满足系统的精度要求。
其原理如下图所示。
称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:
(2)、前级放大器部分
压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。
具体方案:
高精度低漂移运算放大器构成差动放大器。
差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。
电阻R1、R2电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。
优点:
输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求。
输出级为反向放大器,所以输出电阻不是很大,比较符合应用要求。
缺点:
此电路要求R3、R4相等,误差将会影响输出精度,难度较大。
实际测量,每一级运放都会引入较大噪声。
对精度影响较大。
(3)、A/D转换器
由上面对传感器量程和精度的分析可知:
A/D转换器误差应在
以下
12位A/D精度:
5Kg/4096=1.22g
8位A/D精度:
5Kg/256=19.53g
考虑到题目的要求,误差控制在20g以内。
所以我们需要选择8位或者精度更高的A/D。
具体方案双积分型A/D转换器:
如:
ICL7135、ICL7109。
双积分型A/D转换器精度高,但速度较慢(如:
ICL7135),具有精确的差分输入,输入阻抗高(大于
),可自动调零,超量程信号,全部输出于TTL电平兼容。
双积分型A/D转换器具有很强的抗干扰能力。
对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。
只要干扰电压的平均值为零,对输出就不产生影响。
尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。
故而采用双积分型A/D转换器可大大降低对滤波电路的要求。
作为电子秤,系统对AD的转换速度要求并不高,精度上8位的AD足以满足要求。
另外双积分型A/D转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。
综合的分析其优点和缺点,我们最终选择了ICL7135
具体方案、双积分型A/D转换器:
如:
ICL7135、ICL7109。
双积分型A/D转换器精度高,但速度较慢(如:
ICL7135),具有精确的差分输入,输入阻抗高(大于
),可自动调零,超量程信号,全部输出于TTL电平兼容。
三、人机交互界面
显示输出:
虽然ZLG7289具有控制数码管显示的功能,但考虑到本题目要求中文显示,数码管无法满足,只能考虑用带有中文字库的液晶显示器。
由于可以分页显示,无需太大屏幕,我们选择了点阵式128×64型LCD—OCM4X8C。
第二部分:
具体实现方案
一、硬件组成:
(一)、硬件结构框图如下:
(二)、各部分硬件电路实现
(1)、基于AT89S52的主控电路图
主控电路以89C52为核心扩展32KRAM;单片机使用6M晶振,P0口外接上拉电阻,增大了带负载能力;A12~A15接74LS138译码器,输出作外部片选信号。
扩展了几个接口用于其它部分于单片机的通信
(2)前端信号处理
INA126构成的放大器及滤波电路:
通过调节
的阻值来改变放大倍数。
微弱信号Vi1和Vi2被分别放大后从INA126的第6脚输出。
A/D转换器ICL7135的输入电压变化范围是-2V~+2V,传感器的输出电压信号在0~20mv左右,因此放大器的放大倍数在200~300左右,可将
接成
的滑动变阻器。
由于ICL7135对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。
因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。
(3)A/D转换器
基准源选用芯片MC14032.5V分压得到:
由于ICL7135内部没有振荡器,所以需要外接。
但A/D转换器精度与时钟频率的漂移无关。
正向积分时间T1和反向积分时间T2按相同比例增加并不影响测量的结果。
ICL7135的时钟频率典型值为200kHz最高允许为1200kHz,时钟频率越高,转换速度越快。
每输出一位BCD码的时间为200个时钟周期,选通脉冲位于数据脉冲的中部,如果时钟频率太高,则数据的接受程序还没有接受完毕,数据
就已经消失了。
考虑到此系统频率要求不是太高,且单片机的工作频率也不是很高,因此我们取时钟频率的典型值:
200kHz。
由于频率比较低,对时钟漂移要求不高,我们采用阻容方式实现了基本的振荡电路。
如下:
振荡频率约为160kHz。
此外ICL7135外部还需要外接积分电阻、积分电容,但A/D转换器精度与外接的积分电阻、积分电容的精度无关,故可以降低对元件质量的要求。
不过积分电容和积分电容的介质损耗会影响到A/D转换器的精度,所以应采用介质损耗较小的聚丙乙烯电容
ICL7135还需要外接基准电源,这是因为芯片内部的基准源一般容易受到温度的影响,而基准电源的变化会直接影响转换精度。
所以当精度要求较高时,应采用外接基准源。
一般接其典型值1V。
(4)、人机交互界面
LCD显示接口电路
.
LCD复位信号通过反相器接到单片机的RESET上,上电或手动复位时将随单片机同时复位。
由于复位后并行口输出高电平,LCD处于选中状态,此时LCD将输出内部状态字,将会影响数据总线上的数据传输。
所以外接一个反相器。
二、软件组成:
(一)、流程图主程序流程如图所示:
中断服务程序流程图如下:
(2)、软件说明
由于涉及到大量数据的运算,程序不宜采用汇编语言,C语言大大缩短了开发时间,且程序可读性非常好。
程序中对AD采入的数据进行了数字滤波,进一步减小AD读入数据的误差。
7289键盘控制采用中断方式,加快了程序的执行效率。
九、设计体会
单片机课程设计建立了初型,在设计之初并没象想象的那么简单,因为作为大一的新生很多东西还没有接触,而是从网上找的资源,虽然说很多不懂,但感觉收获却特别大。
我们现在还需要老师和学长的帮助,以上的设计内容大都从网上收集而来,有很多是我们现在所不懂的。
但是我们会正面困难在老师的帮助和自己的努力下争取实现这个设计!
同时我也们也明白了自己有很多不足,虽然这是个相对简单的课题用上,但对于我们来说都很困难,目前对很多芯片都没有了解甚至可以说是不知道。
像51单片机等芯片在平时的学习中还没有接触过,也没想到他们会与我们的生活联系那么密切,通过我们这几天的课程设计,我们查资料,仔细研究它们的逻辑功能,用途,要求等,终于基本
建立了这些设计。
这激发了我们学习专业知识的兴趣,也增强了我们的动手能力。
但同时,由于掌握的知识有限,在设计过程中我们遇到一些问题我们暂时还没有能力去解决。
我们的设计可行性还是有限。