单片机实例分享,数字电子秤制作方案
力传感器可以用来测量物体的质量,最常见的应用就是电子秤。而关于力传感器的信号处理,在开发设计中未必是一帆风顺的,为此笔者为大家提供两种以前在项目开发过程中使用过的非常经典的设计方案,通过对比两种方案的供电特点、采集方式、处理方法,我们能了解两种方案各自的优势,为大家对力传感器的设计与应用提供一定的帮助。
力传感器
力传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器及电容式加速度传感器等。但应用最为广泛的是电阻应变片压力传感器,它具有极低的价格和较高的精度以及较好的线性特性,市场上大部分称重工具,比如电子秤,都采用这种压力传感器。本文介绍的制作方案也采用电阻应变式称重传感器,而且笔者会为大家提供两种围绕电阻应变式称重传感器的信号调理电路。
电阻应变式称重传感器的特性
在进入电路分析前,我们有必要先了解一下电阻应变式传感器的特性。电阻应变片是一种将被测物件上的应变量转换成一种电信号的敏感器件。图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;//关闭警报
}
}
总结
通过两种称重传感器信号处理电路的分析和实测,可总结出:分立件仪表放大器电路结构复杂,电源供电复杂、调试步骤繁多,虽然线性度比较好,但若电源不稳定,温度上升,工作时间过长,会影响输出电压,发生漂移,在运算上增加了复杂的计算难度。而电子秤专用集成化芯片,具有供电简单、功耗低、线路精简、转换精度高、无调试步骤、无温漂等优点。希望笔者在电子称制作项目中的对比经验能为读者在力传感器的应用处理方面提供一些帮助。
西门子S7-300称重编程你懂吗?大型工厂必备,5分钟后就学会了
原创不易,请勿抄袭!
在这样一个吃快餐的时代,希望大家可以珍惜并支持每个原创的知识传播者,谢谢大家。
关于工厂中的电气应用以及入门级PLC和专家级PLC我都会陆续讲解到,包括欧姆龙PLC,台达PLC,西门子S7-200、S7-200smart、S7-300/400、博途等;喜欢的话请点赞并加关注,您的支持是我坚持写下去的动力。今天我们用到的程序实例和效称软件等等我已打包好,需要的请将您的邮箱留在评论区,我会一一发送。
上篇文章我们讲了西门子S7-200如何使用称重传感器+称重模块进行编程调试,校称等操作。但西门子S7-200已经不常用了,所以我们今天聊一聊主流大型工厂最常见的称重方式,S7-300连接称重传感器+称重模块进行控制。
SIWAREX U称重模块集成在SIMATIC S7-300和ET200分布式系统中,主要特征如下:
· 通过用ET 200M 连接至PROFIBUS DP,而用于分布式现场称重仪表
· 测量重量或力,分辨率可达65000,精度0.05 %
· 双通道模块可接两台秤,节省空间
· 可以将远程数显仪表直接连接到TTY 接口
· 使用SIWATOOL U 程序可方便的对秤进行设置和校准
· 支持不用标定砝码而进行理论校正
· 支持在不必重新校正秤的情况下更换模块
· 可用于EX 防爆应用
因为西门子S7-300良好的拓展性以及西门子优秀的网络系统(Profibus-DP,和PROFINET等),这使得一个大型工厂可以非常容易的实现集中控制,就是一个工厂只有一两个大脑,所有信息通过它们一目了然,所以假设一个工厂里面有数十个称重传感器,如果使用其他方法很难将这些传感器集中控制,但通过S7-300/400加远程IO就很简单了,所以很多工厂都使用这种方法;在这里要阐明一下,西门子S7-300或者S7-400的称重控制系统成本非常高,所以不适合小工厂,称重的性价比相比其他PLC或者单片机差多了,但它的优势同样明显,那就是依托于西门子的系统之下,几乎可以整合所有设备。
今天我们使用的硬件有CPU317,ET200M,西门子S7-300拓展称重模块SIWAREX U,以及称重传感器。这是摘自我做的一个项目,对于称重的学习,ET200M这个硬件不是必须的,我只想让大家多了解一些。
这种方式的编程分为两步,一PLC配置硬件,调试软件。二设置称重模块参数,校称。
一上篇文章我们说过,西门子S7-200的称重模块需要的是库文件来驱动识别称重模块,那么西门子S7-300需要的驱动在哪里?答案是在硬件组态里。
首先我们打开STEP7,新建项目配置后CPU后打开硬件组态,将需要的模块拖进去。然后硬件是这样的。目前为止硬件我们就配置完成。
打开软件
建立项目
硬件配置
然后我们讲一讲软件编程,软件编程,我们需要用到几个程序块,例子程序我已打包好,大家如果想用的话直接复制即可。
我们看一下里面的程序功能。
例子程序
然后我们介绍下里面的程序,其中
功能详情
OB1调用FC1,并将称重结果赋给MW200;OB40,OB82,OB100为空程序不用改。FB45,FC30,SFB52,SFB53,DB8,UDT9,DB11需要直接下载进去,不可更改。
FC1调用FB45和FC30,并将数据存在DB11里,DB10为FB45背景数据块。
然后整个程序里最重要的就是FC1。
我们看一下FC的Network 1,调用FB45,以DB10作为背景数据块,其中IN0为硬件地址,在硬件配置中可以找到(该例子程序是256)。IN1为FB45外部数据的存放位置,该程序是DB11,所以该地址是11,如果是DB12,该地址就是12,其他的格式按照图片所示,不可更改,因为DB11的格式是由UDT9控制的,具体含义不需要理解。
FC30是软件清零和校称用的,需要配合上位机做控制,我们这里选择保留功能,但校称用与S7-200类似的方法,那就是通过SIWATOOL U进行校称。
因为SIWAREX U可以连接两个通道,即两组称重传感器,所以最后从称重系统里读到的重量值就是DB11.DBW12(一通道)和DB11.DBW20(二通道)。
程序编好后,打开仿真软件,下载进去,没有报警,没有问题,大家如果有硬件的话就可以下到硬件里了。
仿真没有问题
二我们需要的软件是SIWATOOL U和一根232通信电缆,一头裸露,另一头为9针串口,接线图如下,如果校称电脑没有串口的话买一个串口转USB电缆也可以。
通信电缆接线图
SIWAREX U接线图
接完线后在电脑侧打开软件
更改语言为英语或汉语
选择电脑的接口
选择合适的接口
按照电脑里显示的接口选择
在线监控
在线
点击DISPLAY按钮,显示读数
点击左侧”Calibration channel1 (DR3)”设定称重模块通道1的相关参数:
进入Adjustment digits菜单,激活通道1,如下图所示,然后点击”Send”按钮(其它参数默认)。对于双通道的称重模块,如果某个通道不使用,一定要将使其处于未激活状态。因为对于已经激活的通道,称重模块会自动检测该通道是否已经正确连接了传感器,如果此时没有连接传感器,那么称重模块报错,SF灯亮。
通道激活
进入Scale parameters菜单,点击Receive按钮,读取DR3中的参数;
A. 传感器灵敏度 (Characteristic value): 在传感器样本或手册上可以查到其灵敏度,称重模块提供三种灵敏度,即1mV/V、2mV/V和4mV/V,选择与传感器实际灵敏度最接近且高一档的数值,如灵敏的为1.5mV/V,则应在SIWATOOL中选择2mV/V
B. 标定砝码的重量(Adjustment weight):100kg
C. 小数点个数(Decimal place for the remote display):No decimal point(没有小数点)。注意:如果一个小数点,则校秤砝码重量Adjustment weight 输入1000;如果2个小数点,则校秤砝码重量Adjustment weight 输入10000;
D. 显示单位(Weight unit)
其它参数默认,然后点击”Send”按钮。
设定校称值
在空秤的情况下,执行零点标定,如下图所示:
执行上述操作后,显示如下:
(11)将100kg砝码放在称重传感器上,然后执行标定操作,如下图:
执行完毕后,显示结果如下:
称重模块标定结束,可以正常使用。
最后提醒大家一下,无论是更换称重模块还是更换称重传感器我们都需要重新效称,即使没有损坏的话,传感器使用时间过长也需要重新效称才能保持准确度。
四小时的心血啊,希望大家喜欢,分享知识是我最大的快乐!想要资料的留下邮箱。
(如果喜欢这篇文章,请点赞并关注,更多原创的工业应用以及PLC学习的文章等着你)
相关问答
公路自动 称重 原理?这种秤其实也是一种静态秤。但是允许规定速度的车辆通过测量。精度一般都为0.5%。原理:电子秤由称重传感器,放大电路,AD转换电路,单片机电路,显示电路,键...
粉体包装称如何自动 称重 ?[回答]节能省电、效率高。包装机设备操作安全可靠,设定参数简单方便。自动化程度高,整机由单片机以及步进电机控制。你这个正常的误差是在0.2。如果超出...
同志们,有谁了解!电子汽车衡的 称重 原理是什么?这种秤其实也是一种静态秤。但是容许规定速度的车辆通过测量。精度一般都为0.5%。原理:电子秤由除去传感器,缩放电路,AD切换电路,单片机电路,表明电...
传统木制手提秤的使用?手提秤又被称为手提电子秤。产品以轻、薄、短、小,便于携带为主要特点。广泛应用在轻工业、电子、化工、贸易以及日常生活中的方方面面。手提秤主要由:称重传...
XK3102 称重 仪表说明书 怎么标定? - y0LkKaev 的回答 - 懂得在网上找到这些:XK3102A汉字称重显示控制器----XK3102A汉字称重显示控制器,具有汉字提示信息并配接有电阻应变式称重传感器,是高精度、智能化的称重...
小电子秤怎么用?小型电子秤使用方法:(1)小电子秤是由称重传感器感知外界的重力,再把转换的电信号传送给电子电路的。在称重时不要过力,特别是小称量的秤,所称的物品要轻拿...
电子秤为什么能 称重量 ?内部结构是怎样的? - 懂得变化的模拟信号。该信号经...电子秤用的传感器叫应变计,是将应变片贴在特制的铝支撑架上做成的。上面放置重物时铝支架发生形变,带动应变片发生形...
电子秤主要功能及使用常识有哪些?电子秤使用常识:(1)电子秤是由称重传感器感知外界的重力,再把转换的电信号传送给电子电路的。在称重时不要过力,特别是小称量的秤,所称的物品要轻拿轻放,以...
粉剂包装称 称重 精度多少?[回答]称重常用称重PLC或称重仪表,称重PLC比较灵活一点,可以通过PLC程序写各种功能,而且称重速度快等特点。仪表通讯速度比较慢,程序比较复杂,使用没那么...
xk3290c电子秤说明书?1电子秤2一、基本方法:31.首先,取下电子秤背面的电池档板,往里面放入干电池。注意,最好选择碱性电池,以免电子秤长期不用时电池漏液,从而损害电子秤。42...