基于单片机的高称重系统的研制

出处:happyfeng 发布于:2009-09-15 14:00:19

  0 引言

  随着科学技术的进步,单片机及相关电子技术飞速发展,应用领域不断拓展。利用单片机和传感器实现对重量的高测量,提高了生产的自动化程度,成本低廉,应用十分广泛。

  1 系统组成

  系统由单片机系统、称重传感器、A/D转换、通信接口和语音提示模块组成,硬件结构框图如图1。

  1.1 单片机系统

  系统采用AT89S52作为控制,配备键盘、液晶显示电路和扬声器。

  AT89S52是Atmel公司新推出的一种低功耗、高性能CMOS 8位微控制器,它具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。其性能完全可以满足系统的要求。

  液晶显示采用OCMJ4X8A液晶显示屏,它内带汉字字库,可以方便地显示汉字及图形;可以同时显示4行8列个单元,可以显示系统所有状态信息;显示的内容不需要刷新,节省了单片机的资源;电路结构简单,便于控制,功耗低。键盘用于输入预置信息,扬声器用于发出语音提示和超重报警。

  1.2 称重传感器

  系统采用悬臂梁式称重传感器。该传感器量程30kg;弹性体为弯曲悬臂梁结构,外形高度低,结构强度高;用于拉伸力或压缩力测量,抗偏、抗侧向力强;防尘密封,高,性能稳定可靠,安装使用方便。传感器外形如图2所示,单位:mm。

  此传感器为电阻应变式称重传感器,它的主要组成部分有电阻应变片、弹性体和检测电路。工作原理:弹性体在外力作用下产生弹性变形,使粘贴在其表面的电阻应变片也随之产生变形,电阻应变片变形后,它的阻值将发生变化,再经相应的测量电路把这一电阻变化转换为电压,从而完成将外力变换为电信号的过程。其中,电阻应变片是把一根电阻丝机械地分布在一块有机材料制成的基底上,即成为一片应变片;弹性体是一个有特殊形状的结构件,它的功能有两个:首先是它承受称重传感器所受的外力,对外力产生反作用力,达到相对静平衡;其次,它要产生一个高品质的应变场,使粘贴在此区的电阻应变片比较理想地完成应变电信号的转换任务;检测电路采用全桥式等臂电桥把电阻应变片的电阻变化转变为电压输出。

  1.3 高A/D转换

  称重传感器的输出为mV级的微弱信号,传统的测量方法是在A/D转换之前加高的放大器,电路复杂。AD7714是美国Analog Devices(AD)公司推出的24-位ADC家族AD771X系列中的新品,适用于低频、高工业级转换。该器件具有完整的模拟前端,可以直接测量传感器输出的直流微弱信号,转换达到24位无误码。采用三线串行口与微控制器连接,通过软件编程可以对增益、信号极性、输入通道作出设置。该芯片具有自校准、系统校准和背景校准功能,可以消除零点误差、满量程误差及温度漂移的影响。

  1.4 通信接口

  将单片机采集的重量数据传输到上位机,利用单片机的RXD,TXD接口连接到RS232串行口接收或发送数据和指令,但是单片机的TTL电平和RS232不兼容,因此使用了MAX232进行电平转换,其连接线图如图3所示。

  1.5 语音提示模块

  语音提示由ISD1400芯片控制,它有20秒的录放时间。预先将0~9、点、十、百、千克、克的语音存入ISD1400,单片机将实际测量的重量值通过该语音芯片经由扬声器发出。

  2 软件设计

  2.1 单片机软件编程

  对于51系列单片机,目前常用的语言有汇编和单片机C语言。本系统下位机软件采用Keil C51程序编写。主要由主程序、读取重量子程序、键盘扫描和液晶显示子程序、语音提示子程序、串口发送和接收子程序等部分组成。流程图如图4所示。

  读取重力量程序功能。启动A/D转换,将称重传感器测量的重量值转换成数字信号并读取到单片机内部。

  串口发送和接收子程序功能。完成下位机和上位机的通信。单片机读取的温度和湿度值通过发送子程序发送给上位机并等待命令,收到命令后再继续进行测量。接收子程序通过接收上位机传输的命令进行系统自检、参数修正等。上位机的命令发送采用间隔10ms反复发送的方式,直到单片机将接收到的命令返回为止。如在 1s内单片机没有响应,则设置超时,系统复位单片机。

  2.2 上位机软件编程

  本系统采用MSComm控件实现VB与单片机之间的数据交换,具有程序实现简便,程序模块化,工作可靠等优点,并能满足多数情况下的工控要求。使用MSComm控件主要是通过事件来处理串行口的交互。控件的OnComm事件负责捕获或处理这些通讯事件和通讯错误。

  2.2.1 MSCOMM属性设置

  MSComml.CommPort=1 '设置端口1

  MSComml.Settings="2400,N,8,1" '2400 b/s,无校验,8位数据位,1位停止位

  MSComml.InputLen=1 '从缓冲区中接收一个字节

  MSComml.InBufferSize=1024 '接口收缓冲区大小

  MSComml.PortOpen=Ture '打开端口

  MSComml.Rthreshold=1 '接收一个字节触发ONCOMM事件

  2.2.2 ONCOMM事件响应程序

  Private Sub MSComml_OnComm()

  Dim buffer As Variant '由缓冲区接收到的数据用Variant格式接收

  Dim arr()As Byte '定义二进制数组

  Dim i As Integer

  Dim receivester As string '定义输出到接收文本框中的字符变量

  '下段程序是comEvReceive事件触发后,将数据存入相应的数组,并在接收文本框中显示

  Select Case MSComml.CommEvent CasecomEvReceive buffer=MSComml.Inpute

  arr=buffer接收缓冲区内数据variant变量内

  arr=buffer '转换为二进制数并送入相应数组

  For i=1to8

  receivester arr(i)

  Text1.Text=Text1.Text&receiverstr&"."

  '在接收框中显示文本

  Next i

  End Select

  End Sub

  3 结束语

  本重量测量系统,充分发挥了AT89S52单片机强大的控制能力和计算机的数据处理能力,通过称重传感器和24位分辨率的A/D转换器实现了对重量的高测量。系统在电子秤的实际应用中收到了满意的效果。


  

参考文献:

[1]. AT89S52 datasheet https://www.dzsc.com/datasheet/AT89S52_970343.html.
[2]. AD7714 datasheet https://www.dzsc.com/datasheet/AD7714_249868.html.
[3]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[4]. TTL datasheet https://www.dzsc.com/datasheet/TTL_1174409.html.
[5]. MAX232 datasheet https://www.dzsc.com/datasheet/MAX232_1074207.html.
[6]. ISD1400 datasheet https://www.dzsc.com/datasheet/ISD1400_409579.html.


关键词:基于单片机的高精度称重系统的研制MAX232AT89S52AD7714RS232ISD1400单片机

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

MAX232IDR全新原装现货
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!