基于Labview的重量检测系统

重量检测系统简介

此次重量检测系统设计设计利用20KG称重计和单片机采集压力数据,LabVIEW软件作为上位机将采集到的数据进行处理和分析。由于20KG的物体过于难找,该系统用于检测0-2KG重物的重量。主要利用VISA驱动实现LabVIEW和单片机的串口通信,显示重量数值,经校正和后续数据处理实现重量检测系统设计。单片机连接称重计和HX711芯片采集重量数据,LabVIEW编写上位机程序实现重量数据显示、保存、回看功能。

下载地址

下边的链接包括上位机LABVIEW和keil软件的32程序,直接连上stm32串口上存在重量数据,在电脑的labview中打开VI程序,就可以得到下述所有功能,加油!!!你们可以的!

下载地址
https://download.csdn.net/download/W422028698/14038678

一、测量重量的外部工具

应变式平行梁称重传感器

图片‘
在这里插入图片描述

二、单片机方案设计

称重时,平行梁电桥受到外力,从而引起电阻阻值变化,通过差分电路电压改变输出信息给单片机,单片机经过数据处理后输出数据给上位机Labview。
利用keil软件编写单片称重程序
下边这一部分只是主程序
如果其他有需要,可以评论区发送邮箱地址,我会发给你们的

#include "stm32f10x.h"
#include "lcd1602.h"
#include "delay.h"
#include "HX711.h"
#include "usart.h"
//sz1[Addr]=NewValue/100 +0x30;
//sz1[Addr+1]=NewValue%100/10 +0x30;
//sz1[Addr+2]=NewValue%100%10 +0x30;

//定义初始显示位置
#define Addr    0
//在这里定义一个全局变量,这个变量代表电子秤测量值
//这个是你源程序定义的数组,我将它放到这了里,应为下面要用到。
uint8_t sz1[]="           ";
uint8_t str1[]="g";
uint8_t str2[]="error!";
uint8_t str3[]="weight:";


void All_Init(void)
{
	delay_init();
	LCD1602_Init();
	Init_HX711pin();	
	NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	uart_init(9600);	 //串口初始化为9600
	
	Get_Maopi();				//称毛皮重量
	delay_ms(1000);
	delay_ms(1000);
	Get_Maopi();				//重新获取毛皮重量
}

void Display(void)
{		
	if(Weight_Shiwu>20000)
		{
			LCD1602_Init();
			LCD1602_Show_Str(5,0,str2);
			
		}
	else
	{//2.05  555   2.07  550
		Weight_Shiwu=Weight_Shiwu/1.965;
	sz1[Addr]=Weight_Shiwu/10000 +0x30;
	sz1[Addr+1]=Weight_Shiwu/1000%10 +0x30;
	sz1[Addr+2]=Weight_Shiwu/100%10 +0x30;
	sz1[Addr+3]=Weight_Shiwu/10%10 +0x30;
	sz1[Addr+4]=Weight_Shiwu%10 +0x30;
	LCD1602_Show_Str(0,0,str3);	
	LCD1602_Show_Str(7,0,sz1);	
	LCD1602_Show_Str(12,0,str1);
	}
}

int main(void)
{
	All_Init();
	
	while(1)
	{
		Get_Weight();
		printf("%d\r\n",Weight_Shiwu); //打印 
		Display();
		delay_ms(1000);
	}
}

三、LABVIEW软件设计

应力测试系统Labview工作流程图

应力测试系统Labview部分程序框图

在这里插入图片描述
首先进行前面板内容的初始化即按钮的置零和显示的置零、在进行不同事件的判断,分别为打开串口按钮摁下、端口号波特率改变、接收区清空、串口波形图的清零、EXIT按钮退出系统、显示重量、去皮重量和测量误差,并加入数据回看功能,当按下按钮时,此时的时间重量和去皮重量将显示在前面板上,并存入到TXT文件中。
在这里插入图片描述
在这里插入图片描述
串口采集数据,将数据输出至前面板进行显示和处理。由于称重计并不是很合适,需要提前进行一系列的调试,所以本次项目直接在LabVIEW软件中编写部分程序实现重量的初次置零和自动判断功能。

Labview前面板及功能设计

在这里插入图片描述
在这里插入图片描述
前面板分为两部分:一是串口采集,二是重量检测系统。
串口采集中,配置好串口之后,左侧“由串口接收到的数据”窗口可显示由单片机接收到的数据信息,然后转化为波形图由中间“波形显示”显示实时的重量变化,在右侧“数据处理”窗口可以通过按键实现清空接受数据窗口、清空波形图表、保存波形、退出等功能。
在重量检测系统中,可以实现实时的重量显示并通过刻度表以及“重量数值”窗口显示。重量检测系统左侧,可以通过“去皮称重”“误差测量”按钮实现去皮处理和误差测量处理功能。

四、校正过程

本次测量校正过程是通过8个20kg的砝码进行的校正,其中校正结果如下图
在这里插入图片描述

五、数据处理结果

经应力检测系统处理记录过的重量信息,会被记录在“不同重量数据记录”的记事本中,记录处理时间、检测重量、去皮重量三种信息,方便用户随时查询称重信息。
运行之后,大概就这样的。
在这里插入图片描述

  • 13
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 40
    评论
本文将介绍基于LabVIEW的水果分级系统设计。 1. 系统介绍 水果分级系统是一种用于快速、准确地将水果按照大小、重量、颜色等因素进行分类的设备。本系统采用LabVIEW作为编程工具,结合图像处理技术、计算机视觉技术和机器学习技术,实现对水果的自动分类和分级。 2. 系统构成 本系统由图像采集模块、图像处理模块、特征提取模块、分类器模块和控制模块组成。 (1)图像采集模块:用于采集水果图像,一般采用CCD相机。 (2)图像处理模块:对采集到的图像进行预处理,如去噪、平滑、二值化、边缘检测等,以便于后续的特征提取。 (3)特征提取模块:从处理后的图像中提取出水果的特征,如面积、周长、纹理等,用于分类器的训练和测试。 (4)分类器模块:采用机器学习算法,如支持向量机、神经网络等,对水果进行分类和分级。 (5)控制模块:控制水果分级系统的运行,包括图像采集、处理、特征提取和分类器的训练和测试。 3. 系统设计 (1)图像采集模块: 图像采集模块采用NI的IMAQ Vision模块,用于控制CCD相机进行图像采集。 (2)图像处理模块: 图像处理模块采用NI的IMAQ Vision模块,对采集到的图像进行预处理,如去噪、平滑、二值化、边缘检测等。 (3)特征提取模块: 特征提取模块采用NI的Image Processing Toolkit模块,从处理后的图像中提取出水果的特征,如面积、周长、纹理等。 (4)分类器模块: 分类器模块采用NI的Machine Learning Toolkit模块,采用支持向量机(SVM)算法进行水果的分类和分级。 (5)控制模块: 控制模块采用NI的LabVIEW编程语言,控制水果分级系统的运行,包括图像采集、处理、特征提取和分类器的训练和测试。 4. 系统优点 (1)自动化程度高:水果分级系统可以自动采集水果图像,进行图像处理、特征提取和分类器的训练和测试,实现水果的自动分类和分级。 (2)准确度高:采用机器学习算法进行水果的分类和分级,准确度高,可大大提高水果分级的效率和准确性。 (3)易于操作:采用NI的LabVIEW编程语言进行系统设计,操作简单易学,适合初学者使用。
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值