接口/总线/驱动
基于CAN总线的称重设备,可把从称重传感器采集的数据直接发送到CAN现场总线上,取代传统的称重仪表,使称重设备在整个工业现场实现隐形化和智能化。本课题针对中准确度等级的称重设备,设计了具有总线功能的通信结构。试验用的仪表是一台标准负荷测量仪。试验用传感器的检定分度数符合3级秤的要求,通过对其进行静态称重试验,采集数据,做计量研究分析。用标准负荷测量仪的示值与总线通信数据进行比较,通过对试验数据的采集分析,判断设备工作是否符合要求,同时测试通信数据是否准确可靠。
称重设备硬件结构,主要由单片机、外部存储器、电源电路、看门狗电路、CAN总线接口电路和传感器采集电路组成。
1.单片机
本课题选用宏晶科技的STC12C5A60S2作为中央处理器。它处理速度快、功耗低、抗干扰能力强,集成了内部复位电路,2路PWM,8路高速10位A/D转换、大容量Flash、大容量SRAM、定时/计数器以及片内R/C振荡器和外部晶体振荡电路等模块,功能稳定强大。
2.外部存储单元
外部存储单元包括外部非易失性存储器(E2PROM)和数据存储器(RAM)。非易失性存储器选用Atmel公司的存储芯片AT24C02,主要应用于需要掉电保存历史记录;数据存储器选取英特尔公司生产的6264RAM芯片,相当于PC机中的内存条,主要用来存放程序中间变量和参数。
3.看门狗电路
看门狗芯片选取MAX706。能够在上电或断电时产生复位信号,也能够防止程序锁死。为了保持系统的一致性,该设计不考虑单片机内部的看门狗,而统一采用看门狗芯片进行监控。
4.LED指示单元
红绿双色LED组成了设备状态指示灯,参照CAN协议规范,指示灯的颜色及闪烁的含义如表1所示。
表1
5.传感器信号采集电路
称重传感器信号采集电路采用电子秤常用的高精度的A/D转换芯片HX711。它内部包含稳压电源和时钟振荡电路,可以减少一些外围电路的设计,节省了元器件和布线空间。
6.系统电源
电路板上所有电子元器件都采用5V电压供电,因此选用TI公司生产的开关电源芯片LM2575-5.0将现场总线上的24V电压转换为5V的标准电压提供给电路板上的所有电子元器件。
7.现场总线接口电路
包括总线控制器芯片SJA1000、光耦和总线接收发送芯片PCA82C250。
采用恩智浦半导体的控制器芯片SJA1000来实现CAN总线中物理层与数据链路层的复杂网络协议,通过编写SJA1000的驱动程序,把应用层建立在SJA1000的基础之上。
CAN总线收发器PCA82C250可以在最大1Mbps的通信速率下进行工作。该芯片可以把控制器数据信号与总线的差分信号进行相互转换,实现传输和接收总线数据功能。
1.软件架构设计
软件程序采用前后台结构,包括主程序和中断程序,其中中断程序为外部中断程序。从开始进入称重状态后进行初始化和参数配置,然后判断是否上线,如是则运行应用程序,循环采集重量并往总线发送数据;如否则进行错误诊断,排除故障后继续判断是否上线。
2.称重传感器数据采集的程序设计
串口通信线由管脚DOUT和TPD_SCK组成,当管脚DOUT输出的数据等于高电平时,表示未输出采集数据,端口PD_SCK应为低电平。当管脚DOUT由高电平转换成低电平后,端口PD_SCK会输入25或者27个时钟脉冲。从第一个时钟脉冲的上升沿开始读数,直到第24个脉冲被读完,将读出输出24位数据的MSB。
3.CAN现场总线接口程序设计
CAN现场总线接口程序设计包括CAN控制器SJA1000的初始化、CAN对象类的设计和应用层协议的设计。本课题设计的称重设备是具备CAN现场总线通信能力的从站设备。
在设备上电和硬件复位后,为了配置CAN通信参数,需要先对CAN控制器SJA1000进行上电初始化。初始化首先进行关中断,然后复位,之后设置接收代码寄存器和屏蔽寄存器,再设置波特率和地址,最后设置输出控制寄存器。完成后开中断,打开操作模式,结束。
1.实验平台的搭建
该实验的测试平台如图2所示。传感器采集的数据同时发送给标准负荷测量仪与CAN总线。
图2
2.实验结果和分析
USB转CAN接口模块通道选择Channel0,网络波特率选择250kbps,设备MAC ID滤波范围为000~7FF。上位机采用德国SYSTEC公司的USB转CAN接口模块,它能支持多达64个设备同时连接到上位机,网络分析软件为PCANView。压力传感器使用的是一只S型传感器,它的准确度等级为C2级,最大量程为200kg,检定分度值e=0.1kg。标准负荷测量仪的准确度为0.005%FS。传感器和标准负荷测量仪经检验是合格的,依据JJG539-1997《数字指示秤检定规程》进行相关测试点的选择。
以称重砝码为1.7kg时举例,此地址包含8个字节,在PCANView上显示时从左到右为低字节到高字节排列显示。可设定左面第一位为小数点后第一位第二位是个位数,第三位是十位数,第四位是百位数,以此类推,单位为kg。程序运行后,在PCANView中显示读数为1.7kg。同时观察标准负荷测量仪的示值,得到的测量值与CAN总线上传输的值是一致的。
本实验证明在CAN总线上传输的称重数据是实时完整和有效的。通过本实验,开发的称重设备能够连接到CAN总线上并能准确传输具有CAN接口的称重设备采集信号并且通信正常,实现了预定的目标。
全部0条评论
快来发表一下你的评论吧 !