咨询电话
ENGLISH0755-86329511发布时间:2020-11-30 11:25:02 |来源:网络转载
传统的汽车称重方案主要是地磅、动态称重即WlM(Weighting—in—Motion)技术、便携式轴重仪。这些方案的缺点是不言而喻的,如安装维护困难、费用昂贵,不能覆盖全路段,称重精度与车辆通行速度之间存在矛盾等。本文提出一种全新的方案— — 车载动态称重,该系统能够实时测量货物重量,并通过GPS把重量数据传回给远方的监控平台并且安装维护简单、快速,对速度没有限制,在全程对车辆进行监控真正实现动态称重,从源头上杜绝超载。
1 称重原理的概述
本方案则对车辆车架用解析法及有限元CAD方法建立车架承载力学模型,并经对比、验证理论计算与实测应力的准确性(误差达5%以内)。以车架当秤架,选择车架合适的测点的位置,进行应力测量,最终可按力学模型给出承载总重量数值。下面以六轴车为例来说明该原理是如何应用的。六轴车的力学抽象示意图如图1所示。
在图中标注的测点位置上安装应变传感器,在静态下进行标定,用来确定各个传感器的输出在总重中所占的权重。具体做法是:把后三轴传感器的信号合并成1路,在磨盘两侧各安装1路传感器,总共三路信号,由下面的式子来确定各路信号对总重的权重,即各个系数。
式中A0、B0、C0是传感器在没有加载标定砝码时的初始输出,Ɛ为误差。Ai、Bi、Ci 为每次标定是各个传感器输出值,yi为每次标定所加的砝码重量。通过多次标定得到多组A 、B 、C.、Y.值,根据最小二乘法拟合求出各个系数k。主要过程如下:
3)令上面三个偏导数为O,联立求解各个系数:k1,、k2,、k3 。在求出上面的系数后,把系数置入仪表,当再次加装货物时,仪表就能根据表达式yj=k,△A+ △B+ △C,(AA、AB、AC为各路信号相对于零点的变化量)自动计算所加载货物的重量。
2 车载动态称重仪表的构成
车载动态称重仪表由主处理器的最小系统, 直变传感器模块,模拟数字转换模块,人机交互模块,UART转RS232接口(为上位机GPS提供接El服务),停车辨识电路构成。其结构示意图如图2所示。
整个系统的工作过程是:应变传感器将检测到的应力变化转换成电信号,将该信号通过电缆传到模拟数字转换芯片中,在主处理器的控制下,把原先的电信号转换成数字信号。通过上述原理处理后就能得到车上的货物重量。该重量信息显示在数码管上,当主处理器收到上位机GPS发来的索要数据命令后,该重量信息进过处理后发送给GPS,再有GPS传送到最终的监控平台上。
3 系统硬件设计
3.1主处理器的最小系统
STM32F103最小系统由STM32F103单片机,晶振电路,JTAG接口和复位电路组成。该系统的中选用的是STM32F103一VBT6的芯片,内置20KB SRAM 和128KB Flash,而且内部集成了lIC,SPI,CAN,USB等资源,功能十分强大。供电电压2.0—3.6V, 有睡眠,停止, 待机这些低功耗模式可选择。采用32.768kHz和8MHz晶振,分别提供精确时钟和工作时钟,复位采用按键和上电自动复位相结合的方式。S丁M32F103芯片的使用,提高了整个系统的执行效率,增强了系统的稳定性,降低功耗和成本。
3.2 电源模块
卡车上的供电电压24V,而本系统中各个模块需要的电压有5V和3.3V,因此,该系统中首先采用DC/DC转换器,把24V的电压转换成5V,当把这个5V供给芯片时,还需要在电源引脚附近并联1O4电容;在5V的基础上再通过AS1117稳压芯片,把5V转换成3.3V供给主处理器使用,同样要在AS1117的输入和输出引脚上并联上电容,经过这样的处理电源就能满足系统的需要。
3.3 信息采集部分
这部分主要包括电阻应变式传感器,24位模数转换芯片HX710。这里的应变片是专门制作的避免敏感栅应力集中的大焊点、耐疲劳专用应变片。基于惠斯顿电桥的应变电阻内阻350~1000n、工作温度一40~+100~;,本身精度(0.05~0.1)%。
带特种防水胶、胶/金属箔/胶与外壳防护。HX710与同类相比具有抗干扰性强,相应速度快,高达128的输入放大器增益,满足系统需求。该ADC仅仅需要两个GPIO就能实现对ADC的控制,所有控制信号都由管脚驱动,无需对芯片编程,也无需外接任何器件,降低系统的成本并提高了稳定性。
把传感器输出的差分信号接到HX710的INF、INP引脚上,将芯片DOUT和PD_SCK接到单片机的两个GPlO 上就能完成信号采集。为了把外界的干扰降到最小,本部分的传感器的供电,ADC电源以及它的参考电压,还有STM32的供电都保持一致。图3给出传感器与HX710的连接以及HX710与STM32的GPIO连接方式。
3.4 人机交互模块
本系统设计6个按键以及两排总共1O个数码管组成简易人机交互模块。按键示意图如图4所示。共占用6个GPIO,数码管显示部分采用CS5817的专用数码管驱动芯片,该芯片与STM32采用llC协议通信。使用通用IO 口模拟IIC协议与使用STM 的硬件lIC相比要容易很多,后者配置较复杂。
3.5接口转换
GPS的提供的接口是RS232, 因此需要使用STM32的一个USART端口,并通过MAX232进行电平转换即可。
3.6 停车辨识模块
在这里使用一个反射式光电开关,把开关装在手刹旁,在停车时手刹拉起来,光电开关输出高电平;当车开动时,手刹拉下去,光电开关输出低电平。把这个输出信号接到单片机的一个外部中断。
4 系统软件设计
4.1软件的总体设计
本设计在MDK编译环境中编写STM32F103的源程序,经过编译后生产hex文件,用JLink V8将hex文件下载到单片机的片上Flash中。系统软件采用前后台系统,USART的通信放在USART中断中进行,采用一个定时器产生10ms的中断,在这里面处理按键扫描。其余的传感器信号采集、处理、重量计算与显示、菜单设置,均在后台中执行。仪表在上电初始化后,进行系统自检,如果发现有通道没有接入传感器信号或者信号异常,仪表白动报警;自检通过后,首先去读存储在Flash中的设置信息,读到这些信息后进人大循环中采集传感器数据,根据上面的读到信息进行处理、显示。菜单设置也在大循环中执行,长按“设置键”3s,进入密码输入界面,输入正确的密码后,就可以进行菜单设置,在退出菜单时,设置的参数被写到Flash的特定位置。退出菜单后,在大循环中根据刚才设置的参数处理传感器采集的数据。当有中断到来时,程序到中断服务程序执行相应任务。主函数设计如下:
Void main()
{
Syslnit();//系统初始化
While(!(SelfTest()))
{
DisplayErr0;//整机自检没有通过,这里显示出错的地方
}
ReadFromFlash0;//读取保存在flash中的设置信息
While(1)
{
CalaWeight();//计算重量
TraceZer0()://零点跟踪
ShowDesk0;//最终显示界面,显示重量,超载阈值
MenuDesign0;//菜单设置
l
}
下面主要给出通信协议的设计以及菜单的设计细节。
4.2通信协议设计
该系统只给GPS返回重量信息。信息帧9个字节。主要包含的内容有报文开始字节,符号位,重量数据整数部分和小数部分,校验和,报文结束字节。具体内容如下:
开始字节:0x0e。
符号位:0xl0表示正数,0xld表示负数。
整数部分:两个字节。把正数部分转换成十六进制,把该十六进制数拆分成高四位,低四位,分别把他们转换成ASCIl码,
并用十六进制表示。
小数部分:与整数部分一致。
校验和:两个字节。首先把符号位,整数部分,小数部分三者进行异或运算,将得到的数据拆分成高四位,低四位,在分别转换成十六进制表示的ASCll的形式。
结束字节:0xfe。
举例说明:把24.34这个数据转换成该帧格式为:
OxOe 0xl 0 0x31 0x38 0x32 0x32 0x32 0x41 Oxfe
4.3 菜单设计
菜单内容体现了系统功能的多样性,该系统共有8个一级菜单,其中第五、六两个有二级菜单。当输入密码正确后就可以进入该系统设置相关菜单项。密码初始值12345,进入后可以修改密码。菜单的示意图如图5所示。
各个菜单项的简要说明:
F0菜单:查看ADC的内码值,即传感器输入的模拟值所对应的数字值。在该项就能查看各个传感器转换后的数字值,通过按键来切换ADC。
F1菜单:小数点位数。通过该项可以设置显示数据的小数点位置。
F2菜单:显示分度值。通过该项可以设置数据变化的最小单元。
F3菜单:零点跟踪。通过该项设置零点跟踪的范围。
F4菜单:超载阈值。通过该项可以设置最大装载吨位,超过此值,系统就会报警
F5菜单:各个ADC工作选择。通过该项可以决定让某个ADC工作与否。
F6菜单:系数设置。通过该项可以设置各个ADC转换后的结果在总重中的权重。
F7菜单:回复出厂设置。
5 遇到的问题及解决方案
当卡车卸载货物后,车轴不能完全回复到装载前的状态,所以即便是车上已没有货物了,但是系统还显示有重量,如果不处理再次装载货物,那么显示的重量就会比实际的多,导致测量不准确。针对该问题,我们采用手动清零,即在装货前按下清零键,给系统一个准确的零点。
不同的路况,不同的行驶状况如上坡、下坡、加速、刹车等也会使车轴发生较大的形变,那么传感器读回来的信息就包含了货物之外的因素造成的误差,这将使测量不准确,具体表现在车子行驶过程中数据跳动很大。针对该问题,我们采用锁机制,根据停车辨识电路输出的高低电平信息,来做相应处理。处理的结果如图6所示:
图中①线表示实际的传感器输出的数据,②线表示经过处理后的数据与皮重之和。
有时候会发生ADC损坏的硬件问题,于是我们在设计硬件时都多设计一个ADC模块,当一个出现问题时,可以直接把传感器接到备用模块上继续工作。
本文源于网络转载,如有侵权,请联系删除