资源描述
智能化测控应用系统设计报告副本
58
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
日期: 7月 14日
电气与电子信息学院
智能化测控应用系统设计报告
设计名称: 智能化测控应用系统设计
题 目: 电子批量称重装置设计
年 级: 级
学生姓名:
学 号: 31 0803
专 业: 测控技术与仪器专业
指导教师:
电子批量称重装置设计
摘要: 针对当前市场上使用的传统称重工具在称量小轻量的物品时存在精度不高, 而且结构复杂, 易老化, 成本高等的缺点。为了改变传统称重工具在使用上存在的这些问题, 提出了将智能化、 人性化用在电子称重的控制系统中。本系统主要由单片机来控制, 测量物体重量部分由称重传感器及A/D转换器组成, 加上显示单元以及串口发送单元。此电子秤具备了功能多、 可批量测重、 性能价格比高、 功耗低、 系统设计简单、 使用方便直观、 测量准确等特点。经过以AT89C51单片机为主控芯片, 外围附以称重电路、 显示电路、 报警电路、 键盘电路以及经过串口将所测数据发送到PC端, 在PC端上利用LabVIEW设计上位机软件, 实现数据的显示以及存储功能, 从而实现自动称重系统的批量称重功能、 报警功能、 数据计算功能以及人机交换功能。能够说,此设计所完成的电子秤很大程度上满足了应用需求。
关键词: 单片机, 应变式压力传感器, 超重报警, 上位机, 批量称重
Abstract: The traditional weighing tools used in the present market are not high in accuracy when weighing small quantities, and the structure is complex, aging and high cost. In order to change the existing problems of traditional weighing tools, the intelligent and humanized system is put forward. The system is mainly controlled by single chip microcomputer, and the weight part of the object is composed of weighing sensor and A/D converter, plus display unit and serial port. This electronic scale has the characteristics of many functions, high volume measurement, high performance price, low power consumption, simple system design, easy to use, and accurate measurement. By AT89C51 single chip microcomputer as main control chip, peripheral attached to integrated circuit, display circuit, alarm circuit, keyboard circuit and via a serial port to send the test data to PC, PC software on the PC using LabVIEW design, realizes the data display and storage capabilities, so as to realize the batch weighing functions of automatic weighing system, alarm, data calculation and man-machine exchange functions. It is fair to say that the electronic scale completed by this design meets the needs of the application.
Keywords: Single chip microcomputer, strain pressure sensor, overweight alarm, upper machine, weight weighing
目录
1 前言 0
2总体方案设计 2
2.1方案一 2
2.2方案二 2
2.3方案三 3
2.4 方案比较与选择 4
3单元模块设计及仿真 5
3.1控制模块电路设计 5
3.2数据采集模块电路设计 6
3.2.1压力传感器的选择与设计 6
3.2.2信号放大电路选择与设计 8
3.2.3 A/D转换电路选择与设计 9
3.3人机交互模块的选择与设计 11
3.3.1系统显示电路设计 11
3.3.2超重报警提示电路设计 12
3.3.3按键输入电路设计 13
3.4原件仿真参数 15
4系统程序设计 16
4.1系统主程序流程图 16
4.2 A/D数据采集与处理子函数 17
4.2系统显示部分流程图 18
4.3系统按键检测部分流程图 19
4.4 LabVIEW程序框图 19
5系统调试 22
5.1系统程序调试与下载 22
5.1.1 程序的编译与链接 22
5.1.2程序下载运行 23
5.1.3程序上电运行 24
5.2硬件调试 24
5.3 LabVIEW上位机的调试 24
6系统功能、 性能参数 26
6.1 系统实现的功能 26
6.2 系统性能参数 26
7总结 28
8致谢 29
9参考文献 30
附录一: Proteus仿真图 31
附录二: 上位机程序图 32
附录三: 实物图 33
附录四: 部分程序 34
1 前言
称重技术自古以来就被人们所重视, 作为一种计量手段, 广泛应用于工农业、 科研、 交通、 内外贸易等各个领域, 与人民的生活紧密相连。电子秤是电子衡器中的一种, 衡器是国家法定计量器具, 是国计民生、 国防建设、 科学研究、 内外贸易不可缺少的计量设备, 衡器产品技术水平的高低, 将直接影响各行各业的现代化水平和社会经济效益的提高。称重装置不但是提供重量数据的单体仪表, 而且作为工业控制系统和商业管理系统的一个组成部分, 推进了工业生产的自动化和管理的现代化, 它起到了缩短作业时间、 改进操作条件、 降低能源和材料的消耗、 提高产品质量以及加强企业管理、 改进经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域, 取得了显著的经济效益。
电子秤是称重技术中的一种新型仪表, 广泛应用于各种场合。电子秤与机械秤比较有体积小、 重量轻、 结构简单、 价格低、 实用价值强、 维护方便等特点, 可在各种环境工作, 重量信号可远传, 易于实现重量显示数字化, 易于与计算机联网, 实现生产过程自动化, 提高劳动生产率。从世界水平看, 衡器技术已经经历了四个阶段, 从传统的全部由机械元器件组成的机械称到用电子线路代替部分机械元器件的机电结合秤, 再从集成电路式到当前的单片机系统设计的电子计价秤。中国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展: 电子称重技术从静态称重向动态称重发展; 计量方法从模拟测量向数字测量发展; 测量特点从单参数测量向多参数测量发展。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代, 使得传统的电子测量仪器在远离、 功能、 精度及自动化水平定方面发生了巨大变化, 并相应的出现了各种各样的智能仪器控制系统, 使得科学实验和应用工程的自动化程度得以显著提高。
电子称重的实现首先是经过压力传感器采集到被测物体的重量并将其转换成电压信号。输出电压信号一般很小, 需要经过前端信号处理电路进行准确的线性放大。放大后的模拟电压信号经A/D转换电路转换成数字量被送入到主控电路的单片机中, 再经过单片机控制译码显示器, 从而显示出被测物体的重量。按照设计的基本要求, 系统可分为四大模块, 数据采集模块、 控制器模块、 人机交互液晶显示界面模块以及上位机数据存储模块。如图1.1所示, 其中数据采集模块由压力传感器、 信号的前级处理和A/D转换部分组成。转换后的数字信号送给控制器处理, 由控制器完成对该数字量的处理, 驱动显示模块完成人机间的信息交换, 上位机部分实现对数据的存储以此实现批量测重。此部分对软件的设计要求比较高, 系统的大部分功能都需要软件来控制。在扩展功能上, 本设计增加了一个过载报警提示功能和电子日历功能使本电子称的设计更人性化智能化。
图1.1 设计概述框图
2总体方案设计
对同一种目的的实现, 能够用不同的方案, 下面就着重介绍以下三种方案对同一目的的实现方法。并比较三种方案的优劣。
2.1方案一
系统框图如图2.1所示。
图2.1 方案一的系统框图
工作原理简述: 压力传感器采用数字压力传感器, 数字压力传感器采集的数据直接送给单片机对数据进一步处理, 人机交互界面采用键盘输入以及数码管显示外加报警电路进行超重报警。
2.2方案二
系统框图如图2.2所示。
图2.2 方案二的系统框图
工作原理简述: 模拟量压力传感器采集压力信号变化, 所采集的模拟量需经HX711自带的放大电路进行信号放大以及A/D转换电路将模拟信号转换为单片机能识别的数字量, 单片机对数据进一步处理, 人机交互界面采用键盘输入以及LCD12864液晶显示外加报警电路进行超重报警。
2.3方案三
系统框图如图2.3所示。
图2.3 方案三的系统框图
工作原理简述: 模拟量压力传感器采集压力信号变化, 所采集的模拟量需经放大电路进行信号放大, 后经A/D转换电路进行数模转换为单片机能识别的数字量, 单片机对数据进一步处理, 人机交互界面采用键盘输入以及LCD12864液晶显示外加报警电路进行超重报警, 上位机部分对单片机同串口发送来的称重数据进行保存。
2.4 方案比较与选择
比较三个方案能够看出:
1. 方案一中的数据采集器件采用数字压力传感器, 而数字压力传感器动辄上百, 采用方案一经费将大大超过本次课程设计的预算;
2. 方案二采用HX711A/D转换器以及LCD12864液晶显示器, 但由于本次设计是第一次将单片机与数字电子电和模拟电子运用于实际的电路设计中, 我们尚未完全的掌握单片机的知识, 对HX711以及LCD12864电路还不能达到最优化的设计;
3. 方案三所需元器件多为我们所熟悉以及常见的, 其中的上位机部分也为我们本学期所学知识, 且方案三思路清晰, 操作可行。
因此综合各个方面的因数, 我选择了方案三做为本次课程设计的主要研究对象, 本文也将注重介绍方案三的设计方法。
工作原理简述: 模拟量压力传感器采集信号变化, 信号经过放大器进行信号放大然后经过A/D转换为单片机能识别的数字量, 单片机对数据进一步处理, 人机交互界面采用键盘输入以及LCD1602液晶显示外加报警电路进行超重报警, 串口将处理后的重量数据发送给上位机存储以实现批量称重功能。最终方案框图如下:
图2.4 设计方案框图
3单元模块设计及仿真
本节主要介绍系统各单元模块的具体功能、 电路结构、 工作原理、 以及各个单元模块之间的联接关系, 同时本节也会对相关电路中的参数计算、 元器件选择、 以及核心器件进行必要说明。
Proteus是世界上著名的EDA工具(仿真软件), 从原理图布图、 代码调试到单片机与外围电路协同仿真, 一键切换到PCB设计, 真正实现了从概念到产品的完整设计。是当前世界上唯一将电路仿真软件、 PCB设计软件和虚拟模型仿真软件三合一的设计平台, 其处理器模型支持PIC10/12/16/18/24/30/DsPIC33、 AVR、 ARM、 8086和MSP430等, 又增加了Cortex和DSP系列处理器, 并持续增加其它系列处理器模型。在编译方面, 它也支持IAR和MPLAB等多种编译器。本次仿真采用Proteus8.0版本。
3.1控制模块电路设计
STC89C52是一种低功耗、 高性能8位微控制器, 具有8K的可编程flash存储器。使用高密度非易失性存储器技术制造, 与工业80C51产品指令和引脚完全兼容。内512字节RAM, 32 位I/O 口线, 看门狗定时器, 内置4KB EEPROM, MAX810复位电路, 三个16 位定时器/计数器, 一个6向量2级中断结构, 全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作, 支持2种可选择节电模式。空闲模式下, CPU停止工作, 允许RAM、 定时器/计数器、 串口、 中断继续工作。掉电保护方式下, RAM内容被保存, 振荡器被冻结, 单片机一切工作停止, 直到下一个中断或硬件复位为止。最高运作频率35MHZ, 6T/12T可选。片上flash允许程序存储器在线可编程, 也适于常规编程器。在单芯片上, 拥有灵巧的8位CPU和在系统上可编程闪烁存储单元, 使得STC89C52为众多嵌入式控制应用系统提供灵活、 有效的解决方案, 因此在设计时选择了51单片机作为解决方案。
晶振: 全称为晶体振荡器, 其作用在于产生原始的时钟频率, 这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。晶振一般叫做晶体谐振器, 是一种机电器件, 是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。这种晶体有一个很重要的特性, 如果给它通电, 它就会产生机械振荡, 反之, 如果给它机械力, 它又会产生电, 这种特性叫机电效应。
复位电路: 是用来让单片机返回到初始状态的辅助电路, 其作用是当单片机程序跑飞或系统出现死机状态时能够让系统从新恢复工作。本系统复位电路的设计具有上电复位和手动按键复位两种复位方式。
系统主控电路由STC89C52单片机及晶振电路和复位电路组成, 该电路作为整个系统功能实现的核心单元, 其连接方式如图3.1所示。
图3.1单片机最小系统电路图
3.2数据采集模块电路设计
数据采集模块电路主要包括压力传感器、 信号放大电路、 A/D转换电路, 其中压力传感器将物理信号转换为可为系统所测量的电信号, 信号放大电路将微弱的电信号转换为可为后端采集的高电压大电流信号, A/D转换电路主要是将前端采集到的模拟信号转换为单片机易于进行数据处理的数字信号。各模块的具体选择与设计如下:
3.2.1压力传感器的选择与设计
应变片式电阻传感器.是以应变片为传感器元件的传感器。它具有以下优点:
1.精度高, 测量范围广;
2.使用寿命长, 性能稳定可靠;
3.结构简单、 尺寸小、 重量轻, 因此在测量时, 对工件工作状态及应力分布影响小;
4.频率响应特性好。应变片响应时间约为100ns;
5.可在低温、 高速、 高温、 强烈振动、 强磁场、 核辐射和化学腐蚀等恶劣环境条件下工作;
6.应变片种类繁多, 价格便宜。
电阻应变片的工作原理是基于电阻应变效应, 即在导体产生机械形变时, 它的电阻值相应发生变化。应变片式电阻传感器应用很广。本设计采用的是HL-8梁式力传感器, 该传感器结构简单、 灵敏度高。适用于小压力测量。
表3-1 HL-8压力传感器主要技术指标
量程( kg)
3,15
综合误差(%F.S)
0.05
额定输出温度飘移(%F.S/10℃)
≤0.15
灵敏度(mv/v)
1.0±0.1
零点输出(mV/V)
±0.1
非线性(%F.S)
0.05
输入电阻(Ω)
1000±50
重复性(%F.S)
0.05
输出电阻(Ω)
1000±50
滞后(%F.S)
0.05
绝缘电阻(MΩ)
≥ (100VDC)
蠕变(%F.S/3min)
0.05
推荐激励电压(V)
5~10
零点漂移(%F.S/1min)
0.05
工作温度范围 (℃)
-10~+50
零点温度漂移(%F.S/10℃)
0.2
过载能力(%F.S)
150
应变式传感器常见的测量电路有单臂电桥、 差动半桥和差动全桥, 其中差动全桥可提高电桥的灵敏度, 消除电桥的非线性误差, 并可消除温度误差等共模干扰。一般在测量中都使用4片应变片组成差动全桥, 本设计所采用的传感器就是全桥测量电路。其电路图如图3.2所示。桥式测量电路有四个电阻, 其中任何一个都能够是电阻应变片电阻, 电桥的一个对角线接入工作电压U, 另一个对角线位输出电压Uo。其特点是: 当四个桥臂电阻达到相应关系时, 电桥输出为零, 否则就有电压输出, 可用灵敏检流计来测量, 因此电桥能够精确地测量微小的电阻变化。应变电阻作为桥臂电阻接在电桥电路中。无压力时, 电桥平衡, 输出电压为零; 有压力时, 电桥的桥臂电阻值发生变化, 电桥失去平衡。 全桥测量电路中, 将受力性质相同的两片应变片接入电桥对边。其输出灵敏度比半桥提高了一倍, 非线性误差和温度误差均得到了改进。
图3.2传感器内部连接图
3.2.2信号放大电路选择与设计
称重传感器输出电压振幅范围0~20mV。而A/D转换的输入电压要求为0~2V, 因此放大环节要有100倍左右的增益。对放大环节的要求是增益可调的( 70~150倍) , 根据本设计的实际情况增益设为100倍即可, 零点和增益的温度漂移和时间漂移极小。按照输入电压20mV, 分辨率 0码的情况, 漂移要小于1µV。由于其具有极低的失调电压的温漂和时漂( ±1µV) , 从而保证了放大环节对零点漂移的要求。残余的一点漂移依靠软件的自动零点跟踪来彻底解决。稳定的增益量能够保证其负反馈回路的稳定性, 而且最好选用高阻值的电阻和多圈电位器。在前级处理电路部分, 我们考虑能够采用以下几种方案:
方案一、 利用普通低温漂运算放大器构成前级处理电路, 普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度, 因此几毫伏的干扰信号就会直接影响最后的测量精度。因此, 此种方案不宜采用。
方案二、 主要由高精度低漂移运算放大器构成差动放大器, 而构成的前级处理电路; 差动放大器具有高输入阻抗, 增益高的特点, 能够利用普通运放(如OP07)做成一个差动放大器。
方案三、 采用专用仪表放大器, 如: INA128, INA121等构成前级处理电路。
图3.3 INA128原理图
本模块首级采用专用仪表放大器INA128, 对输入电压进行初级10倍放大, 且它很好的抑制了共模信号对电路的影响。采用双电源供电, 将该运放功能充分利用, 然后级采用低噪声, 非斩波稳零的双极性运算放大器集成电路, 由于 OP07具有非常低的输入失调电压( 对于 OP07A 最大为25μV) , 因此 OP07在很多应用场合不需要额外的调零措施。为了转换精确, 我们还是在1脚8和脚接滑动变阻器来调节偏置电压, OP07同时具有输入偏置电流低( OP07A 为±2nA) 和开环增益高( 对于 OP07A为300V/mV) 的特点, 这种低失调、 高开环增益的特性使得 OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。INA128原理图如下。
3.2.3 A/D转换电路选择与设计
A/D转换部分是整个设计的关键, 这一部分处理不好, 会使得整个设计毫无意义。当前, 世界上有多种类型的ADC, 有传统的并行、 逐次逼近型、 积分型ADC, 也有近年来新发展起来的∑-Δ型和流水线型ADC, 多种类型的ADC各有其优缺点并能满足不同的具体应用要求。当前, ADC集成电路主要有以下几种类型:
( 1) 并行比较A/D转换器: 如ADC0808、 ADC0809等 。并行比较ADC是现今速度最快的模/数转换器, 采样速率在1GSPS以上, 一般称为”闪烁式”ADC。它由电阻分压器、 比较器、 缓冲器及编码器四种分组成。这种结构的ADC所有位的转换同时完成, 其转换时间主取决于比较器的开关速度、 编码器的传输时间延迟等。缺点是: 并行比较式A/D转换的抗干扰能力差, 由于工艺限制, 其分辨率一般不高于8位, 因此并行比较式A/D只适合于数字示波器等转换速度较快的仪器中, 不适合本系统。
(2) 逐次逼近型A/D转换器: 如: ADS7805、 ADS7804等。逐次逼近型ADC是应用非常广泛的模/数转换方法, 这一类型ADC的优点: 高速, 采样速率可达 1MSPS; 与其它ADC相比, 功耗相当低; 在分辨率低于12位时, 价格较低。缺点: 在高于14位分辨率情况下, 价格较高; 传感器产生的信号在进行模/数转换之前需要进行调理, 包括增益级和滤波, 这样会明显增加成本。
(3) 积分型A/D转换器: 如: ICL7135、 ICL7109、 ICL1549、 MC14433等。积分型ADC又称为双斜率或多斜率ADC, 是应用比较广泛的一类转换器。它的基本原理是经过两次积分将输入的模拟电压转换成与其平均值成正比的时间间隔。与此同时, 在此时间间隔内利用计数器对时钟脉冲进行计数, 从而实现A/D转换。积分型ADC两次积分的时间都是利用同一个时钟发生器和计数器来确定, 因此所得到的表示式与时钟频率无关, 其转换精度只取决于参考电压VR。另外, 由于输入端采用了积分器, 因此对交流噪声的干扰有很强的抑制能力。若把积分器定时积分的时间取为工频信号的整数倍, 可把由工频噪声引起的误差减小到最小, 从而有效地抑制电网的工频干扰。这类ADC主要应用于低速、 精密测量等领域, 如数字电压表。其优点是: 分辨率高, 可达22位; 功耗低、 成本低。缺点是: 转换速率低, 转换速率在12位时为100~300SPS。
(4 ) 压频变换型ADC: 其优点是: 精度高、 价格较低、 功耗较低。缺点是: 类似于积分型ADC, 其转换速率受到限制, 12位时为100~300SPS。
考虑到本系统中对物体重量的测量和使用的场合, 精度要求不是很苛刻, 转换速率要求也不高, 而双积分型A/D574转换器精度高, 具有精确的差分输入, 重要的是输入阻抗高( 大于) , 可自动调零, 有超量程信号输出, 全部输出于TTL电平兼容。且双积分型A/D574转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零, 因此对50Hz的工频干扰抑制能力较强, 对高于工频干扰( 例如噪声电压) 已有良好的滤波作用。只要干扰电压的平均值为零, 对输出就不产生影响。特别对本系统, 缓慢变化的压力信号, 很容易受到工频信号的影响。因此本设计采用了12位积分型A/D转换器AD574。AD574管脚图如下。
图3.4 AD574管脚图
AD574A转换时间为25μs, 线性误差为±1/2LSB, 内部有时钟脉冲源和基准电压源, 单通道单极性或双极性电压输入, 采用28脚双立直插式封装。AD574A由12位A/D转换器, 控制逻辑, 三态输出锁存缓冲器, 10V基准电压源四部分构成。
⑴12位A/D转换器
能够单极性也能够双极性的。单极性应用时, BIPOFF接0V, 双极性时接10V。量程能够是10V也能够是20V。
输入信号在10V范围内变化时, 将输入信号接至10V(IN);输入信号在20V范围内变化时, 将输入信号接至20V(IN);
因此量化单位相应的就是10V/( 2^12) 和20V/( 2^12)
⑵三态输出锁存缓冲器
用于存放12位转换结果D( D=0~2^12-1) 。D的输出方式有两种,
引脚12/8=1时( 8的上面有一横杠) , D的D(11)~D(0)并行输出;
引脚12/8=0时( 8的上面有一横杠) , D的高8位与低4位分时输出。
⑶逻辑控制
任务包括: 启动转换, 控制转换过程和控制转换结果D的输出。
3.3人机交互模块的选择与设计
人机交互模块包括系统显示电路、 超重报警电路、 矩阵键盘输入电路。其中显示电路用于将控制电路处理的结果显示给用户。超重报警电路避免了称量物体超过电子秤设计量程, 损坏电子秤。矩阵键盘输入电路用于人机交互, 用户可经过对键盘按键输入单价、 计算单价等操作。
3.3.1系统显示电路设计
1602液晶也叫1602字符型液晶, 它是一种专门用来显示字母、 数字、 符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成, 每个点阵字符位都能够显示一个字符, 每位之间有一个点距的间隔, 每行之间也有间隔, 起到了字符间距和行间距的作用, 正因为如此因此它不能很好地显示图形。1602LCD是指显示的内容为16X2,即能够显示两行, 每行16个字符液晶模块( 显示字符和数字) 。
其与单片机的连接电路如图3.5所示。
图3.5系统状态显示电路图
1602采用标准的16脚接口, 其中:
第1引脚: GND为电源地
第2引脚: VCC接5V电源正极
第3引脚: V0为液晶显示器对比度调整端, 接正电源时对比度最弱, 接地电源时对比度最高( 对比度过高时会 产生”鬼影”, 使用时能够经过一个10K的电位器调整对比度) 。
第4引脚: RS为寄存器选择, 高电平1时选择数据寄存器、 低电平0时选择指令寄存器。
第5引脚: RW为读写信号线, 高电平(1)时进行读操作, 低电平(0)时进行写操作。
第6引脚: E(或EN)端为使能(enable)端,高电平( 1) 时读取信息, 负跳变时执行指令。
第7~14引脚: D0~D7为8位双向数据端。第15~16脚: 空脚或背灯电源。第15引脚背光正极, 第16引脚背光负极。
1脚和2脚为液晶1602地和电源引脚, 3脚为背光调节引脚, 经过10K电位器接地, 背光可经过电位器来调节亮度; 4脚、 5脚、 6脚为液晶片选控制引脚, 分别连接到单片机的P2.0、 P2.1、 P2,2端口, 7~14脚为数据接口, 与单片机的P0口相连实现数据的传输, 15、 16、 脚为液晶的背光控制脚, 分别接到电源和地。
3.3.2超重报警提示电路设计
报警指示电路用来在称重测量超出最高值时报警提示, 以免重量太高的情况下损坏传感器。如图3.6所示, 报警指示电路由PNP三极管9012驱动蜂鸣器来实现, 单片机IO口控制三极管的基极, 当单片机的IO口输出为低电平时, 三极管导通, 蜂鸣器的正极与电源接通, 蜂鸣器通电发出报警声, 当单片机IO口输出高电平时, 三极管截止, 蜂鸣器停止报警。
图3.6报警指示电路
3.3.3按键输入电路设计
矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时, 为了减少I/O口的占用, 一般将按键排列成矩阵形式。在矩阵式键盘中, 每条水平线和垂直线在交叉处不直接连通, 而是经过一个按键加以连接。这样, 一个端口( 如P1口) 就能够构成4*4=16个按键, 比直接将端口线用于键盘多出了一倍, 而且线数越多, 区别越明显, 比如再多加一条线就能够构成20键的键盘, 而直接用端口线则只能多出一键( 9键) 。由此可见, 在需要的键数比较多时, 采用矩阵法来做键盘是合理的。
按键输入电路用来在电子称测量过程中输入单价值, 按键输入电路采用4*4矩阵键盘实现, 矩阵键盘电路如图3.7所示。
图3.7按键输入电路
电子称按键功能分配如下表3-2所示。
表3-2 按键功能表
7
8
9
发送
4
5
6
去皮
1
2
3
清零
0
ß
计算
此电子秤是开机检测托盘重量, 并将托盘重量清零( 即电子秤每次开机后检测托盘重量, 并程序中自动将托盘重量保存在一个变量中, 称量过程中每次都将获得的重量减去托盘重量, 而得到所要称量物体的真正的重量) ,
计算功能: 在正确输入了单价之后, 按下计算按键, 将会计算出金额, 并在液晶显示器上显示出重量、 单价、 总价。按下发送按键, 将经过串口向上位机发送此时称重数据, 包括重量、 单价以及总价。
3.4原件仿真参数
表3-3 原件型号及参数表
元件型号
元件名称
元件标号
数量
蜂鸣器
Bell
B1
1
10uF
电容
C1
1
20pF
电容
C2, C3
2
LCD1602
液晶
LCD1
1
Header 2
电源接口
P1
1
9012
三极管
Q5
1
2.7K
电阻
R1
1
10K
电阻
R2
1
SW-PB
按键
S1, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18
17
sw-灰色
电源开关
SW1
1
U1
单片机
U1
1
12M
晶振
Y1
1
4系统程序设计
系统软件采用了模块化设计, 主要包括毫秒级延时子函数、 A/D数据采集与处理子函数、 键盘扫描子函数、 LCD显示子函数、 以及串口发送子函数、 主函数以及上位机LabVIEW程序设计。
本电子称设计采用C语言编程, 编译环境为Keil uVision4。Keil c51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统, 和汇编相比, C 在功能上、 结构性、 可读性、 可维护性上有明显的优势, 因而易学易用。Keil C51 能够完成编辑、 编译、 连接、 调试、 仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件, 然后分别有C51 及A51 编辑器编译连接生成单片机可执行的二进制文件( .HEX) , 然后经过单片机的烧写软件将HEX 文件烧入单片机内。软件主要三个方面: 一是初始化系统; 二是按键检测; 三是数据采集、 数据处理并进行显示。这三个方面的操作分别在主程序中来进行。程序采用模块化的结构, 这样程序结构清楚, 易编程和易读性好, 也便于调试和修改。
LabVIEW( Laboratory Virtual Instrument Engineering Workbench) 是一种用图标代替文本行创立应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序, 而 LabVIEW 则采用数据流编程方式, 程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器, 是 LabVIEW 的程序模块。
4.1系统主程序流程图
在系统通电后, 主程序首先完成系统初始化, 其中包括系统变量定义和给系统变量赋初值等, 然后调用A/D采集函数, 将A/D采集模块输出的24位二进制串行数据转化为十进制, 接着进行调零和定标, 最后分离出6位十进制数据的千位、 百位、 十位和个位, 调用LCD显示函数以及键盘扫描函数, 将对应的数值和处理结果送到对应的地址上进行显示。当按键按下发送按键时, 串口向上位机发送此时称重数据以便上位机对数据进行存储。系统主函数流程图如图4.1所示。主程序函数见附录四第37页。
图4.1系统主程序流程图
4.2 A/D数据采集与处理子函数
A/D转换子程序主要是指在系统开始运行时, 把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计。设计流程图如图4-2所示。数据采集与处理部分程序见附录四第34页。
图4.2数据采集与流程图
4.2系统显示部分流程图
显示部分流程图如图4.3所示, 当调用显示函数时, 先将lcd1602初始化, 然后对控制器传来的信息在显示器上显示, 让人们直观的看到被测体的质量。该部分程序见附录四第36页。
图4.3系统显示部分流程图
4.3系统按键检测部分流程图
键盘电路设计成4X4矩阵式, 在程序中先判断按键编码, 然后根据编码将键盘代表的数值送到相应的存储单元, 再进行功能选择或数据处理。设计流程图如图4.4所示。该部分程序见附录四第35页。
图4.4 按键检测部分流程图
4.4 LabVIEW程序框图
LabVIEW的串口接收数据前面板应该包括串口数据接收字符串显示, VISA资源名称, 停止按钮, 数据保存路径。字符串显示控件的作用是将经过VISA接收到的数据实时显示。字符串显示控件的路径为: 新式\字符串与路径\字符串显示控件。VISA资源名称控件则是连接上位机和下位机的接口资源, 要使用该接口必须先安装VISA的驱动程序。VISA资源名称控件的路径: 新式\I/O\VISA资源名称。停止按钮的作用是用户用来终止运行的程序, 其路径是: 新式\布尔\停止按钮。文件路径输入控件的作用是将串口的数据保存至特定的路径文件下, 文件路径输入控件的路径为: 新式\字符串与路径\文件路径输入控件至此前面板就设计完成了。如图4.5所示:
图4.5 上位机前面板
在LabVIEW 中, 进行串口通信的基本步骤分为3步:
第一: 串口初始化, 利用ⅥSA Configure Serial Port.vi节点设定串口的端口号、 波特率、 停止位、 校验位、 数据位。
第二: 读写串口, 利用VISA Read节点和VISA Write节点对串口进行读写。
第三: 关闭串口, 停止所有读写操作。
LabVIEW的串口接收数据程序框图除了前面板的控件还需要添加VISA配置串口, VISA读取, VISA关闭, 写入带分隔符的电子表格, 写入文本文件, VISA串口字节数, 连接字符串, 等待下一个整数倍毫秒等控件以及While循环、 条件结构、 事件结构等结构。
将各个模块按逻辑功能连接线路, 如图4.6所示。其中需要注意的是移位寄存器的添加和局部变量的使用, 移位寄存器是在While循环边框上右键—>添加移位寄存器, 移位寄存器的作用是将上次串口缓存的数据与本次缓存的数据做比较, 若相同则说明没有新的数据从下位机传上来, 若不同则将新的数据保存; 设计中字符串显示控件的局部变量是为了方便添加移位寄存器和与之比较, 创立方法是右键字符串显示控件->创立->局部变量, 但创立出来的局部变量是显示控件, 我们能够右键选择转换为读取将其转化为输出控件。
图4.6总程序框图
5系统调试
调试部分主要经过程序与硬件的联合调试, 让系统能正常工作, 程序部分包括程序的编写以及程序的下载。硬件部分包括数据采集部分能经过压力传感器采集压力数据, 并将模拟信号转换为数字信号, 键盘模块能识别按键按下, lcd1602正常显示, 上位机部分能对串口发送来的数据进行数据保存。
5.1系统程序调试与下载
软件部分的调试包括程序是否正确编写, 编译链接是否能经过, 程序是否能够下载到单片
展开阅读全文