单片机实例分享,数字电子秤制作方案
力传感器可以用来测量物体的质量,最常见的应用就是电子秤。而关于力传感器的信号处理,在开发设计中未必是一帆风顺的,为此笔者为大家提供两种以前在项目开发过程中使用过的非常经典的设计方案,通过对比两种方案的供电特点、采集方式、处理方法,我们能了解两种方案各自的优势,为大家对力传感器的设计与应用提供一定的帮助。
力传感器
力传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器及电容式加速度传感器等。但应用最为广泛的是电阻应变片压力传感器,它具有极低的价格和较高的精度以及较好的线性特性,市场上大部分称重工具,比如电子秤,都采用这种压力传感器。本文介绍的制作方案也采用电阻应变式称重传感器,而且笔者会为大家提供两种围绕电阻应变式称重传感器的信号调理电路。
电阻应变式称重传感器的特性
在进入电路分析前,我们有必要先了解一下电阻应变式传感器的特性。电阻应变片是一种将被测物件上的应变量转换成一种电信号的敏感器件。图25.1为电阻应变片的结构示意图,它由基体材料、金属应变丝或应变箔片、绝缘保护片和引出线等组成。
当基体受力发生形变时,电阻应变片也一起产生形变,使应变片的阻值发生改变,从而使加在电阻上的电压发生变化。这种应变片在受力时产生的阻值变化通常较小,一般这种应变片都组成应变电桥,并通过后续的仪表放大器进行放大。为了提高测量精度,通常把4片应变片组合成全桥测量电路,图25.2所示为电阻应变片全桥测量电路的电路模型。4个臂R1、R2、R3、R4都用电阻应变片代替。
图25.1 电阻应变片的结构示意图
图25.2 应变片全桥测量电路模型
在实际的应用中,通常将4片电阻应变片通过特殊的材料紧密粘合在能产生力学应变的基体上。图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 电子秤的实现流程图
void setup()
{
//initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// 算术平均滤波法
#define FILTER_N 10
float Filter()
{
int i;
float filter_sum = 0;
for(i=0;i
{
int sensorValue = analogRead(A0); // read the input on analog pin 0
//Convert the analog reading (which goes from 0 - 1023) to avoltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
filter_sum += voltage; // read the input on analog pin 0:
delay(1);
}
return (float)(filter_sum / FILTER_N);
}
// the loop routine runs over and over again forever:
void loop()
{
float k = 0.9712;//人工标定计算出的斜率
float b = 1.04552;//人工标定计算出的截距
// 获得滤波器输出值
float Wei = ((Filter()*1000) - b) / k;// 线性函数
Serial.print(Wei,3);// print out the value you read:
Serial.print(‘g’);
Serial.print(“ “);
Serial.print(Wei/1000,3);//print out the value you read:
Serial.println(“kg”);
delay(500);
}
集成化数字电路模块
接下来将要介绍的是用数字电路模块采集称重传感器的输出动态电压。此款模块中有一个电子秤专用模拟/数字转换器芯片——HX711,其内部具有24位A/D高精度转换器,可输入两通道差分信号,其中通道A的增益可编程128倍和64倍。工作电压范围在2.6~5.5V,图25.10所示为官方提供的参考电路。
图25.10 HX711 模块参考应用电路
由于将信号调理电路已集成为芯片,所以就没有了外围调节校准等工作,也不存在标定和计算线性关系因子的环节了。接下来,使用STC89C52RC单片机对模块进行通信,并将使用4×4矩阵键盘对称重物体进行计价操作,LCD1602显示模块显示质量、单价和支付金额,同时在程序设计中增加负压力和过压力检测报警动作。
图25.11 微量物称重
图25.12 称量计价
图25.11所示是对1g重的跳线进行称重示意,其结果很稳定,默认显示的单位是千克(kg);图25.12所示是对称重物体进行单价99元输入后的计算,应付金额为3.5元。因为称重传感器会测量到托盘的重量,存在一定的毛重,所以电子称在进入初始化工作时必须对电子称进行一次毛重计算,正常工作后,当前称重的数据需要减去毛重,这样称出来的重量值才是实物的重量。此款电子秤的实现流程基本和Arduino板一样,只是大部工作均由HX711芯片辅助处理了,单片机只需要连续发送脉冲给HX711,直接读取出HX711已经转换好的称重数据即可。
单片机电子称参考代码如下所示。程序中Weight_Maopi变量就是电子称上电后对托盘称重的毛重。其中转换后的数据除以100是用来缩小数据,为后续计算出的数值能以克计,即4位有效值。而计算实物重量时除以4.22,不同的称重传感器特性曲线不一样,每一个传感器都会有一个矫正值,所以这个数值也随之不同,这里取值为4.22。当发现测试出来的重量偏大时,可加大这个数值,反之减小,该数值一般在4.0到5.0之间。计算式最后补加0.05是保证测量结果以四舍五入百分位计算。完整的驱动程序读者可移步qq群下载。
void Get_Weight()
{
HX711_Buffer = HX711_Read();
HX711_Buffer = HX711_Buffer / 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的最大量程,报警
{
Buzzer = 0;
}
else if(Weight_Shiwu > -200) //正常测量{
Buzzer = 1;//关闭警报
}
}
总结
通过两种称重传感器信号处理电路的分析和实测,可总结出:分立件仪表放大器电路结构复杂,电源供电复杂、调试步骤繁多,虽然线性度比较好,但若电源不稳定,温度上升,工作时间过长,会影响输出电压,发生漂移,在运算上增加了复杂的计算难度。而电子秤专用集成化芯片,具有供电简单、功耗低、线路精简、转换精度高、无调试步骤、无温漂等优点。希望笔者在电子称制作项目中的对比经验能为读者在力传感器的应用处理方面提供一些帮助。
【016A】基于51单片机电子秤实物作品演示
下面给大家演示一下电子秤。
·首先看一下电路板,这个打是一个定位器,用来调节液晶显示屏清晰度的。这是lcd1264液晶显示屏接口,就是液晶显示屏的接口。这个是512单面机,512单面机下海口完成系统,通过下海口下载到单面机里面。这个是512单面机的复位按键。这个是金正,这个是超重指示灯。
·称重范围是零到十千克,超过十千克之后指示灯会亮提醒,同时液晶显示屏也会显示超重的。这个是hs711ad转换芯片,这个是电子秤专用的二十四位的ad转换芯片。
·这边是电阻应变式压力传感器,就是轻重传感器的接口,它是由电阻音边片构成的。这边四层式的矩阵键盘,可以通过键盘输入单价,可以清零单价,可以去皮清零的功能。
·这个是电源接口接口电源开关,首先接上液晶显示屏,接入电阻应变式压力传感器。接上电源采用的是二十四伏,不采用的是五伏的usb精供电。开关向左拨,打开电源。
·这时候开始先显示初始化的状态,先要采集电阻面试压力传感器的零千克时候数值。初始化的时候不要去碰传感,也不要去碰本子,等进入正常的形式称重的界面时候再放上物品。
·现在假设先放上两百克的砝码,先按下轻,按下归零键。现在短发显示是两百个,需要输入单价按第一行的第四个按键输入单价,输入所需要一个单价。第一行的是七八九,四五六,一二三,这个小数点是零。第四行的第三个答案是退格,文书错答案可以按删除一位数,重新输入。第三行的最后一个答案是清除重,全部重新输。
·说好之后的按第四行的第四杠键确认键,确认之后看看现在显示当前的重量,单价是八十五,总价是七十五。第四行的第三个按键现在可以清除单价,第二行的第四个按键还是清零漆皮清零件。
漆皮清零件的主要作用可以这样,比如现在要蹭液体的重量,可以先放上,比如这个是杯子,放上容器,放上去之后按一下漆皮键,看下记笔键的,它叫重量轻盈。再放上,再倒入液体,显示的重量就是后面倒入的液体。
·现在放上一个东西就显示这个东西的重量,十钱一克,二十克,再放上去的就显示后面放上去的重量,这也可以用来称液体,就是不能直接放上去称的,需要容器来进行装的。
·还有一个功能就是超重的功能,看一下电阻应变是电子秤的,正常范围是零到十千克,超过十千克的就会显示超重。现在直接用手这样压它,超过时间刻显示的是超重,指示灯亮,需要重新。蹭东西可以将全部东西拿掉,然后按七匹键重新归零,这时候放上去就显示实际的砝码重量了。
主要就给大家演示到这里,下一下。
相关问答
单片机电子秤 设计如何标定?基于51单片机的称重系统设计本系统采用单片机AT89S52为控制核心,实现电子秤的基本控制功能。主要分为五个模块:物体重量采集模块、AD转化模块、单片机处理模...
用 51单片机 做 电子秤 , 电子秤 量程5kg,我用的是8位ad转换转换出来的值是0-256?8位AD转换出来是八位二进制,每一位对应自己的权值,如满量程为5kg,则10000000为(2^7/2^8)*5,01000000为5/4,,0100000为5/8,以此类推。另外,8位AD精度比较...
基于 单片机 的 电子秤 设计毕业论文?目录第1章绪论2第2章方案论证42.1半桥电子秤的任务分析与实现42.2半桥电子秤的硬件方案设计52.3半桥电子秤的软件方案设计6第3章半桥电子秤的...
电子秤 开机后显示P-L?我们在使用的电子秤的时候可能会遇到开机显示器出现H的现象,那么我们该如何应对呢?下面我们就来了解下。电子秤开机出现H处理方法:1、检查传感器导线至电路板...
什么是嵌入式系统?嵌入式系统是指由硬件和软件组成并且能够移植到硬件设备的操作系统。而相比较于普通的PC操作系统,嵌入式操作系统不能存储大容量的内存和程序。所以嵌入式操作系...
电子秤 主要功能及使用常识有哪些?电子秤是由称重传感器感知外界的重力,再把转换的电信号传送给电子电路的。在称重时不要过力,特别是小称量的秤,所称的物品要轻拿轻放,以...电子秤使用常识:(...
单片机 主要应用于哪些领域? - 潘耶耶- 的回答 - 懂得1.单片在一个系统中只使用一片机,这是目前应用最多的一种方式。主品单片机与传统的机械产品相结合,使传统的机械产品结构简单化、控制智能化,构成了...
电子秤 的原理是什么? - Tv80iu2mI 的回答 - 懂得工作原理主要是两方面的知识,一是物体的弹性形变;二是惠斯通电桥.称重传感器将所承受的重量转化成弹性形变量,电桥将引形变量转化成电信号输入CPU,...
改装ai智能秤的费用?改装费用因各地区的市场行情、改装方式以及改装工具、技术、配件和硬件等因素而异,以下仅供参考。一般来说,改装Ai智能秤需要购买一定的配件和使用技...如果...
传统木制手提秤的使用?手提秤又被称为手提电子秤。产品以轻、薄、短、小,便于携带为主要特点。广泛应用在轻工业、电子、化工、贸易以及日常生活中的方方面面。手提秤主要由:称重传...