文章目录
重量检测系统简介
此次重量检测系统设计设计利用20KG称重计和单片机采集压力数据,LabVIEW软件作为上位机将采集到的数据进行处理和分析。由于20KG的物体过于难找,该系统用于检测0-2KG重物的重量。主要利用VISA驱动实现LabVIEW和单片机的串口通信,显示重量数值,经校正和后续数据处理实现重量检测系统设计。单片机连接称重计和HX711芯片采集重量数据,LabVIEW编写上位机程序实现重量数据显示、保存、回看功能。
下载地址
下边的链接包括上位机LABVIEW和keil软件的32程序,直接连上stm32串口上存在重量数据,在电脑的labview中打开VI程序,就可以得到下述所有功能,加油!!!你们可以的!
下载地址
https://download.youkuaiyun.com/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部分程序框图
首先进行前面板内容的初始化即按钮的置零和显示的置零、在进行不同事件的判断,分别为打开串口按钮摁下、端口号波特率改变、接收区清空、串口波形图的清零、EXIT按钮退出系统、显示重量、去皮重量和测量误差,并加入数据回看功能,当按下按钮时,此时的时间重量和去皮重量将显示在前面板上,并存入到TXT文件中。
串口采集数据,将数据输出至前面板进行显示和处理。由于称重计并不是很合适,需要提前进行一系列的调试,所以本次项目直接在LabVIEW软件中编写部分程序实现重量的初次置零和自动判断功能。
Labview前面板及功能设计
前面板分为两部分:一是串口采集,二是重量检测系统。
串口采集中,配置好串口之后,左侧“由串口接收到的数据”窗口可显示由单片机接收到的数据信息,然后转化为波形图由中间“波形显示”显示实时的重量变化,在右侧“数据处理”窗口可以通过按键实现清空接受数据窗口、清空波形图表、保存波形、退出等功能。
在重量检测系统中,可以实现实时的重量显示并通过刻度表以及“重量数值”窗口显示。重量检测系统左侧,可以通过“去皮称重”“误差测量”按钮实现去皮处理和误差测量处理功能。
四、校正过程
本次测量校正过程是通过8个20kg的砝码进行的校正,其中校正结果如下图
五、数据处理结果
经应力检测系统处理记录过的重量信息,会被记录在“不同重量数据记录”的记事本中,记录处理时间、检测重量、去皮重量三种信息,方便用户随时查询称重信息。
运行之后,大概就这样的。