33657| 0
|
[项目] LabVIEW Arduino电子称重系统(项目篇—1) |
本帖最后由 不脱发的程序猿 于 2022-6-19 23:51 编辑 1、项目概述 质量是物理学中的7个基本量纲之一。在工业生产和日常生活中,我们都需要获取一个物体的质量,比如购买某件商品时,需要确定其质量大小,或者以质量作为中间量以进一步获得物体的其他参数,如质心、偏心等。 称重传感器实际上是一种将质量信号转变为可测量的电信号输出的装置。按照转换方法的不同,称重传感器分为光电式、液压式、电磁力式、电容式、磁极变形式、振动式、陀螺仪式、电阻应变式8类,其中,电阻应变式的使用最为广泛。 电阻应变式称重传感器的工作原理:弹性体(弹性元件、敏感梁)在外力作用下产生弹性变形,使粘贴在它表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成将外力变换为电信号的过程。 由此可见,电阻应变片、弹性体和检测电路是电阻应变式称重传感器中不可缺少的组成部分,下面简述这三者的作用。
需要说明的是:灵敏度系数K值的大小是由制作金属电阻丝材料的性质决定的一个常数,它和应变片的形状、尺寸大小无关,不同的材料的K值一般在1.7~3.6。其次K值是一个无因次量,即它没有量纲。
需要说明的是,上面分析的应力状态均是“局部"情况,而应变片实际感受的是“平均"状态。
称重传感器的出线方式有4线和6线两种,模块或称重变送器的接线也有4线和6线两种,接线原则是:传感器能接6线的不接4线,必须接4线的就要进行短接。 一般的称重传感器都是六线制的,当接成四线制时,电源线(EXC-,EXC+)与反馈线(SEN-,SEN+)就分别短接了。SEN+和SEN-是补偿线路电阻用的,SEN+和EXC+是通路的,SEN-和EXC-是通路的。EXC+和EXC-是给称重传感器供电的,但是由于称重模块和传感器之间的线路损耗,实际上传感器接收到的电压会小于供电电压。每个称重传感器都有一个mV/V的特性,它输出的mV信号与接收到的电压密切相关,SENS+和SENS-实际上是称重传感器内的一个高阻抗回路,可以将称重模块实际接收到的电压反馈给称重模块。在称重传感器上将EXC+与SENS+短接,EXC-与SENS-短接,仅限于传感器与称重模块距离较近,电压损耗非常小的场合,否则测量存在误差。称重传感器实物如下图所示: 本篇博文将介绍使用应变式称重传感器、HX711模块、Arduino Uno和LabVIEW组成上下位机小量程电子称重系统,系统框图如下图所示: HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其他芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其他同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。 HX711降低了电子称重的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。 3、硬件环境 将HX711模块的VCC、GND、SCK和DOUT分别接至Arduino Uno控制器的5V、GND、D9和D10;并将HX711模块的E+、E-、A+和A-分别接称重传感器的激励电压正、负,输出电压正、负(具体接线请查阅所使用的传感器接线说明),最后将HX711模块的B+和B-接GND。 为了减少干扰信号,HX711高精度A/D模块与电阻式称重传感器之间的连接线应尽量短,过长的话会受到干扰,HX711高精度A/D模块与Arduino Uno控制器之间的连接线也应该尽量短。若一定需要延长线,则最好使用带电磁屏蔽的电缆线。效果如下图所示: Arduino下位机部分需要完成以下功能:读取和传输称重传感器的输出信号,Arduino Uno控制板通过USB-TTL电缆接收上位机发来的命令,完成称重传感器的数据读取之后,并将数据回传至LabVIEW上位机软件。HX711模块主要完成输出信号的高精度A/D转换和给称重传感器提供激励电源。 另外,还需要查看具体传感器的灵敏度,以计算满量程电压和增益倍数。满量程电压的计算公式为︰满量程输出电压=激励电压×灵敏度。以灵敏度1.0mV/V为例,假设供电电压为5V,则满量程电压为5mV。 通过实际测量,HX711高精度A/D模块输出的供电电压为4V左右,则传感器满量程电压为4mV。由于HX711高精度A/D模块增益倍数为128或64对应的满量程差分输入电压分别为±20mV或±40mV。为了获得更高的精度,选择增益倍数为128倍。 Arduino Uno控制器负责读取LabVIEW上位机发来的质量测量命令,并通过HX71获取称重传感器输出的电压值,通过串口发送回上位机LabVIEW软件。Arduino Uno控制器的程序代码如代码如下所示:
5、LabVIEW功能设计 LabVIEW上位机部分需要完成以下功能: 1、向下位机Arduino控制器发送电压采集命令,Arduino控制器通过串口接收上位机命令,完成相应的数据采集之后并将采集的数据回传,LabVIEW软件将回传的数据转换为质量并显示在前面板上。 2、通过使用标准砝码对称重系统进行标定,以获得称重传感器的输出电压与质量的关系,从而拟合出传感器的输出电压与质量的标定系数,用于将传感器的输出电压换算为所称量的质量,而且通过精确的砝码对称重系统进行多次标定,有利于提高整个称重系统的测量精度。 5.1、前面板设计 LabVIEW前面板分为称重和标定两个部分,称重部分主要有读取标定系数、单次称重、多次称重取平均值。标定部分主要有5阶正反行程的标定、计算拟合系数和保存拟合系数。同时,在标定部分设有一个超时测量电压的显示框,以实时地显示当前称重传感器输出信号值的变化情况。小量程电子称重系统的LabVIEW上位机前面板,如下图所示: 由于在LabVIEW上位机的程序设计中需要多次调用电压采集子程序,以向ArduinoUno控制器发送命令码,并获取Arduino Uno控制器返回的测量数据,所以将电压采集子程序设计成子Vl,不仅可以简化程序设计,还便于调用。 电压采集子程序的前面板和程序框图,如下图所示: 初始化程序框图如下图所示: 另外,选择较高精度的称重传感器,还可以利用此小量程电子称重系统实现物体的质量质心的测量,例如,固体火箭发动机的质量质心测量系统。 项目资源下载请参见:LabVIEWArduino电子称重系统【实战项目】-单片机文档类资源 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed