基于STM32的智能牵引机的通信系统的设计
2018-07-20李金金宋臻朱建光
李金金 宋臻 朱建光
摘要:牵引机是用于 220KV 以上高压输电线路施工中必不可少的工程机械。针对电力施工企业的牵引机的改造需求,设计了基于STM32智能牵引机的通信系统。该系统以STM32F407为主控芯片,分别设计了CAN总线模块、触摸屏通信模块和无线通信模块。经工程实践表明该系统应用效果良好,满足企业的要求,在市场上与同类型产品相比,具有一定的优势,具有很高的实用价值。
关键词:牵引机;通信系统;模块化;STM32
中图分类号:TM351 文献标识码:A 文章编号:1009-3044(2018)13-0220-03
作为输电线路的架空施工过程中最为重要的机械设备之一,牵张设备中牵引机通信系统的高效性、可靠性对施工的安全及工程进度有着举足轻重的影响。国内的许多电力施工企业的牵张设备目前研究方向集中在牵张设备系统故障的预防和排除,但是近几年由于施工现场的指令不明等因素導致的人身安全及设备损耗等事故日益显著,对于牵引机的通信系统研究比较少。因此,研发设计一种牵引机通信系统控制器,具有重要的意义,这可以提高牵张设备架线施工过程中的可靠性、安全性,减小架线人员的工作强度,规避重大性灾难事故的发生、杜绝巨额的经济损失。本文选择意法半导体公司的嵌入式领域主流高性能芯片STM32F407作为通信系统的微控制器。
1 通信系统的总体设计
牵引机的通信系统是由CAN总线通信模块、触摸屏通信模块、无线通信模块与存储模块组成。CAN总线通信模块分为CAN1与CAN2通信;CAN1与东风康明斯发动机通信,用来读取发动机转速、水温、机油压力等数据并且可以控制发送机的转速,用来调整牵引卷筒的输出转速与转矩;CAN2用于多机通信,把不多于四台的牵引机组成一个系统,通过设置主辅机的模式,操作人员通过控制一台主机,就可以实现主辅机同步同转速牵引钢丝绳。
STM32F407通过RS485总线与触摸屏通信,显示采集到的数据和输入控制参数等功能。可以实时监控牵引机的运行状况,可以使施工人员更方便。
无线通线模块采用市场上最流行的SIM868模块,其具有GPS卫星定位与数据传输等功能。由于牵引机长年在野外工作,为了业主更好的管理牵引机,需要GPS卫星定位功能给牵引机进行实时定位;还需要把牵引机数据实时上传到服务器。
采集到的数据可以存储在SD卡中;不用更改的触摸屏数据存在外部Flash中,每次触摸屏的初始数据变化时,STM32F407向外部Flash写一次。
2 控制器的硬件设计
STM32F407是由ST(意法半导体)公司开发的一种高性能微控制器。STM32F407选用基于 ARMV7 架构Cortex-M4内核的32位嵌入式微控制器,具有192KB的SRAM,1MB的FLASH,其内核的构架非常先进,性能也十分优越,主频率最高可达168MHz,运算能力及数据处理水平也非常优越,不仅可以完全满足智能牵引机的通信系统的需要,而且在硬件设计过程中容易很多,使得该芯片非常适合用于各种产品及工业控制。
2.1 CAN通信模块设计
本文采用CAN总线实现与发动机通信和多机通信功能。CAN总线收发器采用ADM3053芯片,其内部集成了DC-DC转换器,可以隔离STM32F407与发动机ECU的信号与电源,使通信更加安全、高效。可以把CAN总线上收到CAN-H、CAN-L信号转换为相应的数字信号,送到STM32F407的CAN总线控制器引脚。为了防止回波发射,CAN总线的起止端都有一个120欧姆的终端电阻来做阻抗匹配。
2.2 触摸屏通信模块设计
本文需要用触摸屏作为人机界面,监控、显示系统的运行状态,如ADC采集数据、发动机相关参数等。STM32F407与触摸屏的通信电路采用RS485总线,简单高效,保证了数据传输的可靠性。
网络层主要采用RS485/Modbus总线模式,分为物理层、数据链路层和应用层;物理层采用RS485串行接口;数据链路层采用Modbus串行链路协议;应用层采用Modbus协议。
其中物理层的实现是把数据通过STM32转化成串行数据,再经过RS485转换芯片转换成RS485总线电平信号。RS485转换芯片采用ADM2582。该芯片的前后信号、电源全隔离,具备±15 kV ESD保护功能,可以进行高速、多点通信,完全符合本系统要求。
2.3 无线通信模块设计
无线通线模块采用SIM868模块。此模块性能稳定,工业级接口标准,内嵌TCP/IP协议,可以实现语音、短信、数据传输、蓝牙、GPS卫星定位等功能。该模块功耗较低,与STM32可以依靠串口通信来实现数据的传输,上面的天线还可以采用直连的方式来保证阻抗的相互匹配。
2.4 存储模块
采用4G的SD卡用来存储ADC采集到的数据和CAN总线读取的发动机参数,SD卡与STM32F407处理器自身具有的SDIO接口完全兼容。STM32F407的SDIO接口,最高通信速度可达 48MHz,最高每秒可传输数据24M。
Flash采用的是W25X128,它是一种NOR型SPI Flash,存储高达128Mbit;它通过SPI总线与STM32F407进行数据传输,用于存储触摸屏的固定参数;同时对Flash的CS#、CLK、DI、DO进行置位与复位的操作,便可以实现对Flash的读、写、擦除控制。
3 控制器的软件设计
系统软件设计在Keil MDK-ARM开发环境里编写。它集成了业内最领先的技术,融合了中国多数软件开发工程师所需的特点和功能,提供了完善的设备调试和软件仿真功能,包含了众多的案例模板和固件实例,支持多种调试接口 ( 如UART、JTAG 及 JLINK 等 ) ,可大大减小开发难度,缩短开发周期。主程序流程图如图1所示:
3.1 CAN总线通信软件设计
CAN总线程序是依靠查询的方式来发送数据,运行中断方式来接收数据的节点的主程序主要是初始化的控制器CAN以及数据的发送、接收和处理部分。CAN总线子程序流程图如图2所示。
3.2 触摸屏通信软件设计
实现触摸屏与STM32的通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以触摸屏作主机,STM32作从机。触摸屏本身支持 Modbus通讯协议,如果STM32编写底层的Modbus通讯协议,两者就可以通信了。
觸摸屏作为上位机,通过串口向STM32发送查询消息帧,并且接收 STM32 发送回来的消息回应帧;下位机 STM32接收到查询消息帧后,对其进行解析、执行和回应。
Modbus协议有2种传输方式:ASCII和RTU。本文采用RTU传输模式,2个消息帧之间至少要相隔3.5个字符时间;消息帧在传输的过程中必须作为一段连续的数据流。
3.3 无线通信软件设计
通过STM32F407的串口发送AT指令来控制SIM868模块的相应动作,相关AT指令如表1所示。将SIM868模块设置为透传模式;这样在模块连接TCP成功之后,STM32就可以与SIM868模块通信,SIM868模块自动将数据发送至服务器端,极大地方便了软件设计。
在模块进行TCP连接后,若连接不成功则重新进行连接;若连接成功,则发送采集到的数据传输至服务器端,同时开启串口中断接收模块的返回值,并判断返回值是数据还是命令;若返回值为数据则启用接收,若为命令,则根据命令号结合相应结构体处理命令。
行NMEA-0183数据解析。NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式,目前业已成了GPS导航设备统一的RTCM标准协议。NMEA-0183 协议解析部分,这里利用了一个简单的数逗号方法来解析。这样,我们就可以通过STM32读出牵引机所在地的经、纬度等信息。
4 结语
牵引机控制器设计完成后,在现场进行一系列测试,经工业现场运行表明,本系统具有通信实时性好,功耗低、可靠性高、抗干扰能力强等优点。设备运行情况良好,达到了预期目标,与目前国内的牵引机相比具有显著优点。该控制器实物和触摸屏显示如图3、图4所示。
参考文献:
[1] 王杰.基于无线通讯网的牵张设备状态监控系统研究[J].通信电源技术,2016,33(4):169-170.
[2] 张洋,刘军. 精通STM32F4(库函数版)[M].北京:北京航空航天大学出版社,2015.
[3] 石中锁,周卓.基于STM32的SAE-J1939协议在压裂车中的应用[J].徐州工程学院学报(自然科学版),2013,28(3):5-7.
[4] 朱亮.李东波.基于 RS485/Modbus 皮带跑偏检测传感网络的研究与实现[J].中国农机化学报,2014,35(4):217-220.
[5] 司海瑞.基于ARM+GPRS的远程无线监控系统的研究与开发[D].南京:南京航空航天大学,2015.
[6] 张河新.王晓辉.基于STM32和CAN总线的智能数据采集节点设计[J].化工自动化及仪表,2012, 39(1):78-80.
[7] 林填达.张泉宏.基于Modbus协议的STM32与触摸屏通讯的实现[J].总线与网路,2015,8(4):45-48.
[8] 韩进.马双.基于SIM800C的GPRS数据传输系统设计[J].电子产品世界,2016,10:39-42.