您当前的位置:钢材 > 型钢 > 市场分析

单片机电子秤程序编写,单片机做电子秤

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

力传感器可用于测量物体的质量,最常见的应用是电子秤。由于力传感器信号处理的开发和设计可能不会一帆风顺,因此作者提供了两种非常经典的设计方案,用于项目开发过程中。通过收集供货特点以及两种解决方案和加工方法,我们可以了解两种方案各自的优势,为力传感器的设计和应用提供一定的帮助。

力传感器的种类很多,包括电阻式应变式压力传感器、半导体应变式压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器、电容式加速度传感器等。然而,应用最广泛的压力传感器是电阻应变式压力传感器,它非常便宜,精度高,并且具有良好的线性特性,大多数商业称重工具如电子天平都是使用这种压力传感器来做的。本文提出的生产方案也使用电阻应变式称重传感器,并且作者提供了围绕电阻应变式称重传感器的两个信号调理电路。

电阻应变式称重传感器的特性在进行电路分析之前,首先有必要了解电阻应变式传感器的特性。电阻应变计是高度敏感的设备,可将施加到测试对象的应变转换为电信号。图25.1是电阻应变片的结构示意图,它由基材、金属应变丝或应变箔、绝缘保护片和引线组成。

当基体在力的作用下变形时,电阻应变片也会变形,改变应变片的电阻,从而改变电阻器两端的电压。当应力施加到这种类型的应变片上时发生的电阻变化通常很小,并且这种类型的应变片通常形成应变桥,由后续的仪表放大器放大。通常,为了提高测量精度,全桥测量电路由四个应变片组合而成,但图25.2 显示了使用电阻应变片的全桥测量电路的电路模型。所有四个臂R1、R2、R3 和R4 均已替换为电阻应变计。

图25.1 电阻应变片结构图

图25.2 应变片全桥测量电路模型

在实际应用中,通常将四个电阻应变片紧密耦合到基体上,并且可以通过特殊材料产生机械应变。图25.3所示为作者使用的梁式电阻应变片式称重传感器,其形状像梁,通常中心有一个孔或凹槽,其上方和下方贴有电阻应变片。整个传感器由全桥电阻应变片和矩阵组成,当梁受力产生机械变形时,电阻应变片也会发生变形,直接导致电阻值的变化。在整个传感器电路中,电阻的变化直接转化为输出电压的变化。

单独的梁式称重传感器不能用作电子天平,要使用梁式称重传感器还需要称重托盘结构,图25.4为称重托盘和包括称重在内的电子天平本体的机械图。托盘.传感器-桥臂和底座。实际对象如图25.5 所示。

图25.3 梁式电阻应变式称重传感器

图25.4 电阻应变式称重传感器的工作目标示意图

图25.5 实际电子秤托盘

离散信号调理电路图25.6 离散信号调理电路

桥臂传感器的信号调理电路采用仪表放大器进行放大。仪表放大器是高增益直流耦合放大器,具有差分输入、单端输出、高输入阻抗、高共模抑制比等特点,适用于桥臂信号调理和放大。传感器。运算放大器只能在采用双电源供电时执行对称调零,因此必须为电路设计双输出电源。这种由分立元件组成的信号调理电路的原理图如图25.6所示,实际电路如图25.7所示。传感器的工作电压由HT7550-5.0V LDO芯片提供,RP2用于调零电路,RP1用于调整放大系数(通常称为量程)。

图25.7 实际电源电路和实际信号调理放大器电路

每个传感器的出厂性能不一致,因此如果您想获得准确的质量和输出电压值,则需要调试电路。首先,将电路输出设置为零。所谓调零,是指电子秤接入传感器信号电路后,空载输出电压必须为0V。当然,这并不是简单地调节RP2电位器来校准输出电压。将此信号调理电路的输出校准至0V 的真正有效方法如下:

这里使用的称重传感器标称值为5kg,如果被称重物体为100g,则输出电压为0.1V,如果被称重物体为1kg,则输出电压为1V 。由此我们理论上可以得到更好的线性关系:y=kx + b。其中y 代表电压,x 代表质量。因此,要将电路校准到0V输出,必须首先在电子天平空载时调整RP2。完成第一步,使用万用表测量IC6 引脚6 的输出电压,直至达到0V。然后在电路上放置一个1kg 的物体。使用电子秤时,测量的输出电压可能会偏离1V。此时,调节量程认证RP1,使输出电压为1V。最后取下1kg物体,用万用表测量输出电压值。若不为0V,则再次微调RP2。通过多次重复上述步骤,并通过改变和测量不同重量的物体,电路可以输出准确的0V。测试连接如图25.8所示。电源部分使用通用板焊接,并由双输出变压器供电。该控制器使用C51/AVR/Arduino主板的Arduino部分。

校准完成后,您可以拿两个不同重量的物体进行手动测量,找出线性关系的斜率和截距,以方便后续调整。当笔者测量两个重量为725g和100g的物体时,实际输出电压值分别为714mV和107mV。由两点的坐标值可以计算出斜率k值为0.9712。根据该公式,得到截距b 的值为1.04552。这种线性关系使您可以实时测量传感器的输出电压,并使用线性函数关系计算物体的重量。

然后就可以测量物体的实际重量,进入电子秤的具体制造流程。 Arduino内置10位精度ADC转换功能,相关信号处理电路可由Arduino处理,加快整个调试和开发过程。一个简单的电子秤实现流程如图25.9所示。

图25.8 信号调理电路系统

使用Arduino板的A0接口采集输出电压值,并使用Arduino板上的调试窗口直接观察称重物体的重量。 Arduino 演示代码如下,使用手动校准后计算出的多个线性函数关系系数以及对多个样本求平均值的滤波技术。

图25.9 电子秤实现流程图

无效设置()

{

//以9600 位/秒初始化串行通信:

串行.开始(9600);

}

//算术均值滤波法

#定义过滤器_N 10

浮动过滤器()

{

整数我;

浮点滤波器总和=0;

对于(i=0;i

{

intsensorValue=analogRead(A0); //读取模拟引脚0上的输入

//将模拟读数(0到1023)转换为电压(0到5V):

浮充电压=传感器值*(5.0/1023.0);

filter_sum +=电压; //读取模拟引脚0: 上的输入

延迟(1);

}

返回(浮动)(filter_sum/FILTER_N);

}

//循环例程将永远运行:

无效循环()

{

float k=0.9712; //手动标定计算得到的斜率

float b=1.04552; //通过手动校准计算截距

//获取过滤器输出值

float Wei=((Filter()*1000) - b)/k;//线性函数

Serial.print(Wei,3);//输出读取到的值:

串口.print('g');

串行打印(“”);

Serial.print(Wei/1000,3);//输出读取到的值:

Serial.println(“公斤”);

延迟(500);

}

集成数字电路模块接下来,我们将介绍如何使用数字电路模块来采集称重传感器的输出动态电压。该模块内置专门为电子秤设计的模/数转换芯片——HX711。内置24位A/D高精度转换器,可输入2路差分信号。A通道增益为128x 和64x。它是可编程的。工作电压范围为2.65.5V,官方参考电路如图25.10所示。

图25.10 HX711模块参考应用电路

由于信号调理电路集成在片内,因此无需外围调节或校准,也无需线性关系系数校准或计算。然后采用STC89C52RC单片机与模块进行通信,通过44矩阵键盘进行称重对象计价操作,LCD1602显示模块显示质量、单价、支付金额。程序设计中增加了负压和超压检测报警。

图25.11 称量微量物质

图25.12 计量和定价

图25.11 显示了1g 跳线的称重图。结果非常稳定。默认显示单位为千克(kg)。图25.12为输入待测单价99元后支付金额的计算。 3.5元。由于称重传感器测量的是托盘的重量,有一定的总重量,因此电子秤在进入初始化工作时必须对电子秤进行总重量计算,正常运行后需要当前的称重数据。通过减去总重量来称重。重量值是物体的实际重量。这款电子秤的实现流程与Arduino板基本相同,只不过大部分工作是由HX711芯片辅助,单片机不断向HX711发送脉冲并记录在HX711上。要做的就是直接读取称重数据。用HX711转换。

微电脑电子秤参考代码如下。程序中的Weight_Maopi变量是打开电子秤后称重的托盘总重量。将转换后的数据除以100,减少数据,以便后续计算的值可以以克为单位进行测量,得到4位有效值。要计算物体的重量,请除以4.22。不同的称重传感器有不同的特性曲线。该值也会有所不同,因为每个传感器都有一个校正值。这里的值为4.22。如果发现测试重量过大,可以增大或减小该值。该值通常在4.0 到5.0 之间。在公式末尾添加0.05 将测量结果计算到最接近的百分位数。读者可以从QQ群下载完整的驱动程序。

无效Get_Weight()

{

HX711_Buffer=HX711_Read();

HX711_缓冲区=HX711_缓冲区/100;

Weight_Shiwu=HX711_Buffer;

Weight_Shiwu=Weight_Shiwu - Weight_Maopi;//获取物理对象的AD采样值

Weight_Shiwu=(unsigned int)((float)Weight_Shiwu/4.22 + 0.05);//计算实物的实际重量

if(Weight_Shiwu -300)//重量小于毛皮值,给出负载300g的漂移值

{

Buzzer=0;//负重报警

}

else if(Weight_Shiwu 5000)//压力传感器总质量超过最大量程5kg,报警

{

蜂鸣器=0;

}

else if(Weight_Shiwu -200) //正常测量{

Buzzer=1;//关闭闹钟

}

}

总结通过对两种称重传感器信号处理电路的分析和实际测量,我们发现分立式仪表放大器的电路结构复杂,电源也复杂,调试步骤较多,线性度比较好,但电源不稳定,温度升高,工作时间过长,输出电压会受到影响,出现漂移,计算复杂化。该电子秤专用集成芯片具有供电简单、功耗低、电路精简、转换精度高、无需调试程序、无温漂等优点。希望作者在电子秤制造项目中的比较经验能够对读者在力传感器的应用和加工方面有所帮助。

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |市场分析

单片机电子秤程序编写,单片机做电子秤

chanong

|

力传感器可用于测量物体的质量,最常见的应用是电子秤。由于力传感器信号处理的开发和设计可能不会一帆风顺,因此作者提供了两种非常经典的设计方案,用于项目开发过程中。通过收集供货特点以及两种解决方案和加工方法,我们可以了解两种方案各自的优势,为力传感器的设计和应用提供一定的帮助。

力传感器的种类很多,包括电阻式应变式压力传感器、半导体应变式压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器、电容式加速度传感器等。然而,应用最广泛的压力传感器是电阻应变式压力传感器,它非常便宜,精度高,并且具有良好的线性特性,大多数商业称重工具如电子天平都是使用这种压力传感器来做的。本文提出的生产方案也使用电阻应变式称重传感器,并且作者提供了围绕电阻应变式称重传感器的两个信号调理电路。

电阻应变式称重传感器的特性在进行电路分析之前,首先有必要了解电阻应变式传感器的特性。电阻应变计是高度敏感的设备,可将施加到测试对象的应变转换为电信号。图25.1是电阻应变片的结构示意图,它由基材、金属应变丝或应变箔、绝缘保护片和引线组成。

当基体在力的作用下变形时,电阻应变片也会变形,改变应变片的电阻,从而改变电阻器两端的电压。当应力施加到这种类型的应变片上时发生的电阻变化通常很小,并且这种类型的应变片通常形成应变桥,由后续的仪表放大器放大。通常,为了提高测量精度,全桥测量电路由四个应变片组合而成,但图25.2 显示了使用电阻应变片的全桥测量电路的电路模型。所有四个臂R1、R2、R3 和R4 均已替换为电阻应变计。

图25.1 电阻应变片结构图

图25.2 应变片全桥测量电路模型

在实际应用中,通常将四个电阻应变片紧密耦合到基体上,并且可以通过特殊材料产生机械应变。图25.3所示为作者使用的梁式电阻应变片式称重传感器,其形状像梁,通常中心有一个孔或凹槽,其上方和下方贴有电阻应变片。整个传感器由全桥电阻应变片和矩阵组成,当梁受力产生机械变形时,电阻应变片也会发生变形,直接导致电阻值的变化。在整个传感器电路中,电阻的变化直接转化为输出电压的变化。

单独的梁式称重传感器不能用作电子天平,要使用梁式称重传感器还需要称重托盘结构,图25.4为称重托盘和包括称重在内的电子天平本体的机械图。托盘.传感器-桥臂和底座。实际对象如图25.5 所示。

图25.3 梁式电阻应变式称重传感器

图25.4 电阻应变式称重传感器的工作目标示意图

图25.5 实际电子秤托盘

离散信号调理电路图25.6 离散信号调理电路

桥臂传感器的信号调理电路采用仪表放大器进行放大。仪表放大器是高增益直流耦合放大器,具有差分输入、单端输出、高输入阻抗、高共模抑制比等特点,适用于桥臂信号调理和放大。传感器。运算放大器只能在采用双电源供电时执行对称调零,因此必须为电路设计双输出电源。这种由分立元件组成的信号调理电路的原理图如图25.6所示,实际电路如图25.7所示。传感器的工作电压由HT7550-5.0V LDO芯片提供,RP2用于调零电路,RP1用于调整放大系数(通常称为量程)。

图25.7 实际电源电路和实际信号调理放大器电路

每个传感器的出厂性能不一致,因此如果您想获得准确的质量和输出电压值,则需要调试电路。首先,将电路输出设置为零。所谓调零,是指电子秤接入传感器信号电路后,空载输出电压必须为0V。当然,这并不是简单地调节RP2电位器来校准输出电压。将此信号调理电路的输出校准至0V 的真正有效方法如下:

这里使用的称重传感器标称值为5kg,如果被称重物体为100g,则输出电压为0.1V,如果被称重物体为1kg,则输出电压为1V 。由此我们理论上可以得到更好的线性关系:y=kx + b。其中y 代表电压,x 代表质量。因此,要将电路校准到0V输出,必须首先在电子天平空载时调整RP2。完成第一步,使用万用表测量IC6 引脚6 的输出电压,直至达到0V。然后在电路上放置一个1kg 的物体。使用电子秤时,测量的输出电压可能会偏离1V。此时,调节量程认证RP1,使输出电压为1V。最后取下1kg物体,用万用表测量输出电压值。若不为0V,则再次微调RP2。通过多次重复上述步骤,并通过改变和测量不同重量的物体,电路可以输出准确的0V。测试连接如图25.8所示。电源部分使用通用板焊接,并由双输出变压器供电。该控制器使用C51/AVR/Arduino主板的Arduino部分。

校准完成后,您可以拿两个不同重量的物体进行手动测量,找出线性关系的斜率和截距,以方便后续调整。当笔者测量两个重量为725g和100g的物体时,实际输出电压值分别为714mV和107mV。由两点的坐标值可以计算出斜率k值为0.9712。根据该公式,得到截距b 的值为1.04552。这种线性关系使您可以实时测量传感器的输出电压,并使用线性函数关系计算物体的重量。

然后就可以测量物体的实际重量,进入电子秤的具体制造流程。 Arduino内置10位精度ADC转换功能,相关信号处理电路可由Arduino处理,加快整个调试和开发过程。一个简单的电子秤实现流程如图25.9所示。

图25.8 信号调理电路系统

使用Arduino板的A0接口采集输出电压值,并使用Arduino板上的调试窗口直接观察称重物体的重量。 Arduino 演示代码如下,使用手动校准后计算出的多个线性函数关系系数以及对多个样本求平均值的滤波技术。

图25.9 电子秤实现流程图

无效设置()

{

//以9600 位/秒初始化串行通信:

串行.开始(9600);

}

//算术均值滤波法

#定义过滤器_N 10

浮动过滤器()

{

整数我;

浮点滤波器总和=0;

对于(i=0;i

{

intsensorValue=analogRead(A0); //读取模拟引脚0上的输入

//将模拟读数(0到1023)转换为电压(0到5V):

浮充电压=传感器值*(5.0/1023.0);

filter_sum +=电压; //读取模拟引脚0: 上的输入

延迟(1);

}

返回(浮动)(filter_sum/FILTER_N);

}

//循环例程将永远运行:

无效循环()

{

float k=0.9712; //手动标定计算得到的斜率

float b=1.04552; //通过手动校准计算截距

//获取过滤器输出值

float Wei=((Filter()*1000) - b)/k;//线性函数

Serial.print(Wei,3);//输出读取到的值:

串口.print('g');

串行打印(“”);

Serial.print(Wei/1000,3);//输出读取到的值:

Serial.println(“公斤”);

延迟(500);

}

集成数字电路模块接下来,我们将介绍如何使用数字电路模块来采集称重传感器的输出动态电压。该模块内置专门为电子秤设计的模/数转换芯片——HX711。内置24位A/D高精度转换器,可输入2路差分信号。A通道增益为128x 和64x。它是可编程的。工作电压范围为2.65.5V,官方参考电路如图25.10所示。

图25.10 HX711模块参考应用电路

由于信号调理电路集成在片内,因此无需外围调节或校准,也无需线性关系系数校准或计算。然后采用STC89C52RC单片机与模块进行通信,通过44矩阵键盘进行称重对象计价操作,LCD1602显示模块显示质量、单价、支付金额。程序设计中增加了负压和超压检测报警。

图25.11 称量微量物质

图25.12 计量和定价

图25.11 显示了1g 跳线的称重图。结果非常稳定。默认显示单位为千克(kg)。图25.12为输入待测单价99元后支付金额的计算。 3.5元。由于称重传感器测量的是托盘的重量,有一定的总重量,因此电子秤在进入初始化工作时必须对电子秤进行总重量计算,正常运行后需要当前的称重数据。通过减去总重量来称重。重量值是物体的实际重量。这款电子秤的实现流程与Arduino板基本相同,只不过大部分工作是由HX711芯片辅助,单片机不断向HX711发送脉冲并记录在HX711上。要做的就是直接读取称重数据。用HX711转换。

微电脑电子秤参考代码如下。程序中的Weight_Maopi变量是打开电子秤后称重的托盘总重量。将转换后的数据除以100,减少数据,以便后续计算的值可以以克为单位进行测量,得到4位有效值。要计算物体的重量,请除以4.22。不同的称重传感器有不同的特性曲线。该值也会有所不同,因为每个传感器都有一个校正值。这里的值为4.22。如果发现测试重量过大,可以增大或减小该值。该值通常在4.0 到5.0 之间。在公式末尾添加0.05 将测量结果计算到最接近的百分位数。读者可以从QQ群下载完整的驱动程序。

无效Get_Weight()

{

HX711_Buffer=HX711_Read();

HX711_缓冲区=HX711_缓冲区/100;

Weight_Shiwu=HX711_Buffer;

Weight_Shiwu=Weight_Shiwu - Weight_Maopi;//获取物理对象的AD采样值

Weight_Shiwu=(unsigned int)((float)Weight_Shiwu/4.22 + 0.05);//计算实物的实际重量

if(Weight_Shiwu -300)//重量小于毛皮值,给出负载300g的漂移值

{

Buzzer=0;//负重报警

}

else if(Weight_Shiwu 5000)//压力传感器总质量超过最大量程5kg,报警

{

蜂鸣器=0;

}

else if(Weight_Shiwu -200) //正常测量{

Buzzer=1;//关闭闹钟

}

}

总结通过对两种称重传感器信号处理电路的分析和实际测量,我们发现分立式仪表放大器的电路结构复杂,电源也复杂,调试步骤较多,线性度比较好,但电源不稳定,温度升高,工作时间过长,输出电压会受到影响,出现漂移,计算复杂化。该电子秤专用集成芯片具有供电简单、功耗低、电路精简、转换精度高、无需调试程序、无温漂等优点。希望作者在电子秤制造项目中的比较经验能够对读者在力传感器的应用和加工方面有所帮助。


市场分析