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

发布者:冷漠之心最新更新时间:2013-02-20 来源: 21IC 关键字:单片机  高精度  称重系统 手机看文章 扫描二维码
随时随地手机看文章
  引言

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

  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。


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

  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内单片机没有响应,则设置超时,系统复位单片机。[page]

  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 http://www.dzsc.com/datasheet/AT89S52_970343.html.
[2]. AD7714 datasheet http://www.dzsc.com/datasheet/AD7714_249868.html.
[3]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[4]. TTL datasheet http://www.dzsc.com/datasheet/TTL_1174409.html.
[5]. MAX232 datasheet http://www.dzsc.com/datasheet/MAX232_1074207.html.
[6]. ISD1400 datasheet http://www.dzsc.com/datasheet/ISD1400_409579.html.

关键字:单片机  高精度  称重系统 引用地址:基于单片机的高精度称重系统的研制

上一篇:基于单片机的红外转射频遥控系统
下一篇:基于单片机的交流伺服电机转速控制系统研究

推荐阅读最新更新时间:2024-03-16 13:18

PIC单片机人机接口模块独立式按键的工作原理
  独立式按键是指用I/0口线构成的单个按键电路,每个独立式按键单独占有一根I/0口线,每根I/0口线上按键的工作状态不会影响其他I/O口线的工作状态,即一个按键对应着-个端口输入,每一个按键都有一个按键电路来判断其是否按下。   上拉电阻确保按键松开时,I/O口线有确定的高电平。当I/O口线内部有上接电阻时,外电路可以不配置上拉电阻,可以采用查询方式或中断方式读取按键,独立式按键电路如图所示   图 独立式 键盘 电路
[单片机]
PIC<font color='red'>单片机</font>人机接口模块独立式按键的工作原理
AD9833型高精度可编程波形发生器及其应用
1 引言 AD9833是ADI公司生产的一款低功耗,可编程波形发生器,能够产生正弦波、三角波、方波输出。波形发生器广泛应用于各种测量、激励和时域响应领域,AD9833无需外接元件,输出频率和相位都可通过软件编程,易于调节,频率寄存器是28位的,主频时钟为25MHz时,精度为0.1Hz,主频时钟为1MHz时,精度可以达到0.004Hz。 可以通过3个串行接口将数据写入AD9833,这3个串口的最高工作频率可以达到40MHz,易于与DSP和各种主流微控制器兼容。AD9833的工作电压范围为2.3V-5.5V。 AD9833还具有休眠功能,可使没被使用的部分休眠,减少该部分的电流损耗,例如,若利用AD9833输出作为时钟源,就可
[应用]
PIC单片机软件平台----MPLAB IDE和MPLAB X IDE
这里主要是针对PIC18单片机开发平台,当然对于16位或32位单片机的开发平台是一样的,只是编译器不一样。PIC18单片机有两个开发平台,一个是MPLAB IDE,对应的编译器为MPLAB C Compiler for PIC18 MCUs.exe;一个是MPLAB X IDE,对应的编译器为xc8-v2.00-full-install-windows-installer.exe。 下载链接如下: https://download.csdn.net/download/euxnijuoh/10889265
[单片机]
基于车辆动力学模型的AMT在环仿真实验系统研究
   0 引言   重型车辆具有总质量大、使用工况复杂、挡位多等特点,为减轻驾驶员的操纵难度和劳动强度,实现重型车辆的自动变速具有重大现实意义。电控机械式自动变速器 (AMT)因具有效率高、成本低、易于制造的优点,并且操纵方便,能够满足重型汽车动力传递要求,因此在重型车辆上具有广阔的应用前景。传统的AMT系统开发需要在实车上进行大量调试,造成了时间和资金的浪费。构建AMT在环仿真实验系统,不仅可以模拟车辆在正常工作条件下的性能,而且可以通过修改仿真条件,获得在实验中难以得到的车辆在极限工况、紧急工况条件下车辆响应及评价相应控制策略的优劣,为AMT电控单元的开发提供方便,可显著地提高AMT系统的开发效率和开发质量。   AM
[嵌入式]
单片机编程学习
怎样快速学好单片机,这是个困扰很多大学生的一个难题。 我认为以下的方法比较适当:先学51单片机,它是基础,比较容易入手,51单片机学好之后,有了编程的灵感,再学其它的单片机也就容易了。 那么,51单片机怎样快速入门呢?我有一个顺口溜:单片机,要学好,有决窍,先模仿,再提高。实践加理论,理论加实践,用心领悟最重要。具体来说, 第一课 安装软件 1.1 安装KEIL C51 1.2 安装PROTEUS 第二课 调试与仿真小程序 2.1 在KEIL上能调试二、三个简单的小程序 2.2 在PROTEUS上实现简单的仿真 第三课 修改程序 3.1 修改一个最简单的程序并下载 3.2 修改一个略为复杂的程序并下载 第四
[单片机]
NTC热敏电阻测温度 单片机C和汇编源程序
NTC热敏电阻器参数介绍: 【标称阻值】 标称阻值是NTC热敏电阻器设计的电阻值,常在热敏电阻器表面标出。标称阻值是指在基准温度为25℃时零功率阻值,因此又被称为电阻值R25。 【额定功率】 额定功率是指热敏电阻器在环境温度25℃、相对湿度为45%~80%及大气压力为0.87~1.07Pa的大气条件下,长期连续负荷所允许的耗散功率。 【B值范围】 B值范围(K)是负温度系数热敏电阻器的热敏指数,反映了两个温度之间的电阻变化。它被定义为两个温度下零功率电阻值的自然对数之差与这个温度倒数之差的比值。B值可用下述公式计算,即 式中,R1、R2分别是绝对温度T1、T2时的电阻值(Ω)。 【零功率电阻值】 在规定温度下测量热敏电阻
[单片机]
NTC热敏电阻测温度 <font color='red'>单片机</font>C和汇编源程序
V2XE型地磁传感器在单片机系统中的应用
1 引言 V2XE是一种以集成微处理器作为控制和接口的新型2轴罗盘和大地磁场传感器 ,U2XE使用新型系统常用的3V工作电源,具有功耗低、尺寸小、在各种条件下的抗噪声能力强、较大的测量灵敏感应区等优点。V2XE结合了PNI公司专利的磁场感应传感器和测量电路技术,不受补偿漂移的影响,在不同温度下的测量结果很稳定。V2XE通过简单易行的标准SPI接口输入/输出数据。 2 性能特点 V2XE的典型特性如下: 功率低(3V DC,2mA输出); 封装尺寸小(25.4mm×5.4mm×11.5mm); 高地磁感应(0.01°); 高地磁精度(2.0°); 数字接口输出(3V标准SPI接口); 具有高的磁场感应(0.00015Gauss
[单片机]
V2XE型地磁传感器在<font color='red'>单片机</font><font color='red'>系统</font>中的应用
RTOS实现双核MCU消息通信
手机、电脑多核的CPU你可能经常看见,但多核的单片机相对来说就不那么常见了。随着需求的增加、技术的进步,单片机已不再局限于单核了,因此,近几年陆续出现了双核的单片机了。 你可能会好奇,双核单片机之间怎么通信?其实,通信的方式和方法有很多种。本文就给大家描述一下:使用FreeRTOS消息缓冲区,实现简单的非对称多处理(AMP)核心到核心通信,结合STM32H7(M4和M7) 双核处理器为例。 分享正文之前推荐一个嵌入式招聘信息的平台: 概述 实现STM32H7双核之间通信是FreeRTOS官方提供的一个方案,是基于FreeRTOS消息缓冲区,该消息缓冲区是无锁循环缓冲区,可以将大小不同的数据包从单个发送方传递到单个接收方。
[单片机]
RTOS实现双核<font color='red'>MCU</font>消息通信
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved