采掘设备CAN 总线数据采集系统的设计
2020-08-13唐会成
唐会成
(中国煤炭科工集团 太原研究院有限公司, 山西 太原 030006)
0 引言
随着电力电子技术、 计算机技术的快速发展以为智能化数字矿山建设理念的提出, 煤矿采掘设备的控制技术对设备自动化、智能化要求与日俱增。传统的煤矿采掘设备电气控制系统主要以电机回路的传感器为主, 电机的过载、缺相保护采用电流传感器检测实现;电机过热保护通过电机绕组预置的PTC 热敏电阻实现。 煤矿采掘设备智能化控制发展, 迫切需求对采掘设备主要部件运行状态进行实时检测、实时传输,因此需要对传感器进行集中的科学管理, 传感器信号的数据采集系统是设备的感知系统,是设备自动化、智能化控制的基本环节[1]。
传统传感器信号采集以模拟量传输为主, 多路传感器信息需要多路传输,且容易受到干扰,难以构成网络化传输, 本文提出了多种传感器信号多路混合采集的设计方法,以STM32 微处理器为核心,通讯接口采用CAN2.0协议,通过采集器实现传感器信息的集中采集与处理,实现传感器信息数字化管理和网络化传输; 本文根据自动化程序较高的短壁开采设备连采机和掘锚机的设计需求,对其应用的传感器种类及信号,确定数据采集系统的接口种类和数量,设备配备水压传感器、液压系统压力传感器、倾角传感器、位移传感器、温度传感器,根据功能数据采集系统具备5 路模拟量4~20mA 接口;8 路开关量信号采集用于电机过热保护信号检测。
1 系统总体方案
主控芯片STM32F103ZET6 是意法半导体公司基于“Cortex-M3”内核的高性能、低功耗控20 制器,不仅具有丰富的外设扩展能力,在工业控制领域广泛应用[2]。 该芯片最高72MHz 工作频率,具有2 个基本定时器、4 个通用定时器、2 个高级定时器。
系统组成包括主控芯片MCU、各功能模块供电电源、开关量采样隔离、模块量信号采样隔离、CAN 总线通讯及各信息滤波电路等组成,8 路DI 信号采集可用于电机过热保护或其它开开关量信号,5 路AI 信号用于采集4~20mA 标准传感器信号, 采集器将采集信息通过CAN 总线将信息传递给PLC 控制器。 系统硬件框图如图1 所示。
图1 总体方案框图Fig.1 Overall scheme block diagram
2 信号采集硬件设计
2.1 开关量采集
STM32F103ZET6 的GPIO 配置为开关量输入, 开关量采集电路适用于对开关量信号进行采集, 如设备行程开关及电机PTC 温度保护开关等状态信号。 为了抑制采掘设备恶劣工作环境带来的干扰, 电路采用硬件抗干扰措施,通过PC817 光电耦合器对信号进行光电隔离,从而实现了外部输入的采集信号与STM32 的IO 点实现电气隔离, 保护STM32 芯片不会因为外部干扰信号而损坏;为保护开关量信号的可靠性,避免干扰引起的误动作,电路设计高电平门槛值为18V, 只有输入节点信号大于18V,光耦PC817 导通,GPIO 输入为高电平;当节点输入信号电压低于18V 时PC817 处于截至状态,GPIO 输入为低电平;同时为便于对开关量信号的直观检测,电路通过LED 发光二极管对电路进行指示,光耦导通时LED 发光;为增加对光耦的保护, 防止干扰信号带来的电压突变及尖峰电压, 在限流电阻R2 的两端并联二极管1N4007[3]。其中一路的开关量采集电路如图2 所示。
图2 开关量采集电路Fig.2 Switching value acquisition circuit
开关量采集电路器件参数匹配, 光耦导通时电流为4~10mA,输入点为24V 最高电压时,光耦导通,R1 和R3构成回路,所以:
当输入电压信号小于18V,确保光耦截止,即电流小于4mA,电阻R1,R3 和R2 构成输入回路,所以:
在设计中,选择R1=R3=2kΩ,R2=1kΩ。
2.2 模拟量采集
模拟量转换通过ADC 控制器完成,ADC 即是模拟/数字转换器, 它可以将不同的模拟量信号转化成控制器可识别的数字量信号,STM32F103ZET6 带3 个ADC 控制器, 每个ADC 控制器具有16 个外部通道和2 个内部信号源共18 个通道;ADC 转换通道根据实际使用可设置为规则通道组和注入通道组两种模式[4]。规则通道组是依据程序设置对各个通道的数据依次进行采集,循环执行,适用于多通道ADC 数据的自动传输;注入通道组相当于中断采集,优先级比规则组高,注入组通道可以打断规则组通道的采集,适用于关键数据的采集,注入组最多可以同时设置4 个通道,是程序有需求是才执行ADC 通道的数据采集。 本文的设计采用规则组通道, 按顺序依次对10路模拟量信号数据进行采集。 采集的数据结果通过DMA(内存直接存取)方式直接传输,ADC 转换数据传输前CPU对DMA 控制器进行初始化,GPIO 模拟量口提出DMA 请求,当CUP 当前任务完成后,告诉DMA 控制器获得总线控制权, 在DMA 控制器指挥下,ADC 转换器转换的数字量信号直接复制到程序配置好的变量中,无需CPU 执行程序,节省CPU 资源。
传感器接口的模拟信号为4~20mA 的电流信号,所以必须经过信号调理将其转化为ADC 可检测的3.3V 以下的电压信号,ADC 转换器才可以进行模拟/数量转换,输入到STM32 模拟量电压信号范围必须是0~3.3V,超过3.3V 可能会烧毁控制器的GPIO 口[5]。
STM32F103 的ADC 分辨率12 位,基准电压3.3V,即是3.3V 电压对应控制器数字量为4095,假定采样电压为x,ADC 转换器转换数字量的值为y,则y=4095x/3.3。
2.3 CAN 总线通讯
CAN 是控制网络(Control Area Network)的简称,由德国BOSCH 公司提出,CAN 总线是当前工业控制领域使用最广泛的现场总线技术之一, 被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。信号传输采用双绞线,最高速率可达1Mbps;支持多种通讯方式,CAN 数据采用短帧传输,每一帧数据的有效数据为8 个字节,降低了受干扰率[6]。
CAN 总线收发器采用TJA1050, 是一种标准的高速CAN 收发器,适用于物理总线和CAN 总线协议控制器之间的接口芯片,通信速率最高可达1Mbps,具有CAN 协议控制器与总线上传输差分信号的功能, 主要实现逻辑电平与CAN 总线信号“显性”,“隐性”的转换,为滤除总线上高频干扰在CANH 和CANL 脚与地之间并联2 个30P 的电容,D7、D8 两个二极管可以起到发生瞬变干扰时的保护作用[7]。 CAN 总线接口电路如图3 所示。
图3 CAN 总线接口电路Fig.3 CAN bus interface circuit
3 软件设计
程序主要包括主程序、初始化程序、CAN 总线通讯程序、数据采集及处理程序。主程序负责数据采集系统各功能循环调用, 初始化程序对系统时钟及GPIO 口进行配置,CAN 总线通讯程序采用定时中断执行,数据发送周期100ms,数据采集及处理,负责对GPIO 口输入信号采集,并设置软件滤波函数,提高数据的可靠性[8]。 软件控制流程如图4 所示。
图4 软件控制流程Fig.4 Software control process
4 采集器应用测试
采集器外壳采用不锈钢,标准AO 引入装置,通过调试及检测, 模数转换线性度良好, 数据采集器CAN 总线数据侦格式如表1。
采集器发送数据侦0x185 的第1 个字节为心跳字节,每100ms 发送一次该值增加1,PLC 通过该字节心跳数据的变化, 判断采集器CAN 总线通讯是否正常,第3 个字节对应数据采集器8 路开关量输入信号, 最后2 个字节第1 路AI 信号;0x285 数据侦对应4 路模拟量信号,每1 路占用2 个字节,模拟量信号测试用0~20mA 信号发生器, 分别在0mA、4mA、10mA、16mA、20mA 测试每路AD 转换值[9],用USBCAN 记录总线数据如表2 所示。
表1 CAN 总线数据格式Tab.1 Can bus data format
表2 模拟量数据Tab.2 Analog data
测试结果表明,CAN 总线数据采集器具有良好的采集转换性能,满足设计要求。
5 结语
本文结合连采机、 掘锚机等自动化水平较高的煤矿采掘设备应用传感器较多的特点,设计了基于STM32 的CAN 总线数据采集系统, 实现多种传感器信号的混合采集,就近完成,减少系统布线,系统结构简洁,便于系统检测与维护[10];主控制器不需要信号调理转换模块,节约硬件成本;CAN 数据采集器的已成功应用于连采机、掘锚机等设备, 同时可为煤矿其它采掘设备自动化升级改造提供了技术支持,方便设备新增传感器接入控制系统。