APP下载

基于CAN协议的操纵手柄电控系统设计

2020-04-18张宁宁韩嘉骅徐锐赵志远

科技与创新 2020年6期
关键词:电控手柄总线

张宁宁,韩嘉骅,徐锐,赵志远

基于CAN协议的操纵手柄电控系统设计

张宁宁,韩嘉骅,徐锐,赵志远

(四川大学 机械工程学院,四川 成都 610065)

随着工程机械近年来向自动化、智能化、嵌入式方向发展,传统机械式换挡操纵手柄正逐步被电子式换挡操控手柄取代。然而,控制手柄上的控制信号大多由单一的信号线传输,线束组成繁杂,通信可靠性差。对于这个缺点,基于STM32的CAN总线设计了一种应用于电子换挡操控手柄的CAN通信采集板控制系统,并详细阐述了整个控制系统的软、硬件设计方案。经调试表明,该系统通讯可靠、安全性高、抗干扰能力强,达到预期设计目的。

自动化;嵌入式;STM32;CAN总线

随着国家《中国制造2025》战略的逐步实施和推进,中国工程机械领域面临着前所未有的机遇和挑战。众所周知,操纵手柄系统遭工程机械的自动化控制中扮演着极其重要的角色,因此,操纵手柄系统的集成化和智能化发展变得迫在眉睫。对工程机械各方面的要求不断提高,目前,发展较为成熟的CAN总线协议无疑给工程机械操纵手柄系统的集成化和智能化发展带来无限的希望。

CAN总线作为一种技术先进、可靠性高、功能完善、成本低廉的网络通信控制模式,已发展渗透到工业自动化产业、纺织机械、数控机床、工程机械、农业机械、过程控制、传感器等领域[1]。正是由于CAN总线独立且应用越来越广泛的特性,吸引着世界各国著名芯片制造厂商及企业生产和研发CAN控制器相关的各种芯片,其中也包括内嵌CAN控制器的微处理器芯片[1],比如意法半导体公司、英特尔公司等著名企业,这给CAN总线的应用带来了极大的便利。

在工程机械领域,如果在传统的电控操纵手柄系统中引入CAN总线网络协议,则可方便地实现操纵手柄上拨轮、自复位开关等与工程机械上其他部件上的传感器或者执行机构之间的数据信息通信,不仅可以实现工程机械上个各操作单元之间的相互协作,而且可对工程机械上各执行单元进行实时控制。

1 操纵手柄电控系统整体方案设计

本文所设计的基于CAN总线的操控手柄电控系统主要是实现工程机械执行机构的前进、后退、起升、降落、抓取、平移、旋转等,另外还有照明、喇叭、紧急制动等辅助功能。操纵手柄结构如图1所示,这些功能全部集成在操纵手柄上,由霍尔角度传感器、电位器、按键、拨轮、通信电路板等构成操纵手柄电控系统[2]。各单元的端子线通过线束通道连接至通信电路板。

图1 操纵手柄结构示意图

本文所设计的工程机械操纵手柄电控系统通信电路板所采用的微处理器芯片是基于ARM的具有32位的Cortex-M3微处理器,ST公司基于此研发出的STM32系列单片机,其自带了各种常用通信接口,比如IIC、SPI、USART、CAN等[3]。其型号众多,本文将内嵌CAN控制器的高性能微处理器STM32F103C8T7作为系统主控芯片,选用与“ISO11898”标准完全兼容的高速CAN收发器TJA1050T,电源稳压器芯片选用的是LM25017和AMS1117,分别为系统提供5 VDC和3.3 VDC供电。

1.1 操纵手柄电控系统设计要求

工程机械的工况环境复杂,电源输入电压要求为9~ 36 VDC转5 VDC,其所选用的MCU必须具有高速运算处理能力,且功耗低。ADC电压采集分辨率最低要求为10位分辨率,要求支持16路开关量(包含微动开关)输入,需满足电位器、角度传感器4路模拟量输入。CAN控制器需支持标准帧ID和扩展帧ID,并且可修改ID。因工作环境恶劣,需保证系统抗电磁干扰能力强、信号传输稳定、通讯 可靠。

1.2 工程机械总线系统组成及简介

CAN闭环总线网络结构如图2所示,应用于工程机械的CAN通讯网络是一种遵循ISO11898标准的短距离、高速“闭环网络”,其通信速率最高为1 Mbps,总线长度最长为40 m,总线的两端各要求有1个120 Ω的电阻。

图2 CAN总线网络结构图

工程机械的CAN总线系统由通讯节点、双绞线、USB-CAN转换器、上位机等组成[4]。该通讯节点由一个控制器和收发器组成,控制器和收发器之间通过RX和TX两根通讯信号线相连接,根据不同的情况,设计的电路有所差异。而每个节点又和相应的传感器等执行单元相连接,比如电磁阀装置、报警装置、电机驱动装置等。CAN总线属于一种多主方式的串行通信总线。当某个节点需要向总线上发送数据信息时,其相对应的核心处理器会触发控制器,如图2所示,通过TX信号线将这种二进制编码的普通逻辑电平信号通过特定的方式转换成差分电压传输信号,最后再经过CAN_high和CAN_low两根差分电压输送信号线输送到CAN总线通信协议网络系统中。同理可知,通过收发器接收CAN总线通信协议网络系统中的数据信息传输给控制器时,其过程恰好相反,需要将CAN总线通信协议网络上的差分电压输送信号通过特定的方式转换成普通的逻辑电平信号,然后通过RX信号线传输到控制器。

2 操纵手柄电控系统硬件设计

CAN总线电控系统硬件设计结构如图3所示,由于篇幅所限,比如晶振电路、电源滤波电路、SWD下载调试电路、ADC电压采集电路等比较常规或简单的电路就不在此处详细讨论了,这里主要针对TJA1050T总线接口单元和9~36 VDC转5 VDC电源单元进行详细阐述。

2.1 系统电源电路设计

本设计选择的STM32F103C8T7微处理器所需的供电电压=2.0~3.6 V,通常选择3.3 V,而所选择的型号为TJA1050T的CAN收发器所需的供电电压为5 VDC。因此,需要设计1个5 VDC电源和1个3.3 VDC电源。

图3 电控系统硬件设计结构框图

LM25017器件是一款48 V、650 mA同步降压稳压器,LM25017典型如图4所示,其集成了高侧和低侧金属氧化物半导体场效应晶体管(MOSFET)。LM25017器件所采用的恒定导通时间(COT)控制方案无需环路补偿,可提供出色的瞬态响应,并且可实现超高降压比。导通时间与输入电压成反比,这使得整个输入电压范围内的频率几乎保持恒定。高压启动稳压器为IC的内部运行以及集成栅极驱动器提供了偏置电源。

图4 LM25017典型示意图

峰值电流限制电路可防止出现过载的情况。欠压闭锁(UVLO)电路支持对输入欠压阈值和滞后进行单独编程。其他的保护特性包括热关断和偏置电源欠压闭锁(cc UVLO)。LM25017器件采用WSON-8和HSOP-8塑料封装。工程机械对电源的要求高,往往在9~36 VDC之间,并且有波动。所以电控系统对稳压器要求非常高,普通的低压差稳压器(简称LDO)有TPS71718、LM337、LP28842、AMS1117等。

采用LDO固然是一种解决办法,但是它存在2个问题:i必须大于o,不能升压,也不能产生反极性的电压;当i必须大于o较多时,LDO的效率仍然不高。要解决这2个问题,就必须使用DC-DC变换器[3]。常见的DC-DC芯片有TPS5430、LM2578、TPS1120、LM25017等。

LM78xx、LM317将电源电压降低后向负载供电,但从线性稳压器的工作原理可知,输出电流的值不会超过输入电流,因此,工作效率较低。为提高电源的工作效率,可以改用降压型BUCK电路。LM25017是一种输出电压小于输入电压的非隔离式DC-DC变换器,其工作效率高达90%以上。选择的最小电感应限制最大负载电流输出波纹为20%~40%。最大负载时的峰值电感电流应该小于最小电流限制,在电特性中给出。

5 V的DC-DC电源原理如图5所示,其主要有2个作用,分别是给CAN总线接口电路提供5 VDC电源和5 VDC转3.3 VDC的电源电路,给STM32单片机供电。其所使用的稳压器是AMS1117稳压器,其电路设计比较常规,此处不再赘述。

2.2 系统CAN协议接口电路设计

本设计所采用的是目前比较流行的CAN收发器TJA1050T,其可与各种独立的CAN控制器配合,包括带有CAN控制器的MCU芯片,因此,内嵌CAN控制器的微处理器STM32F103可与之建立完美的通讯通道。另外,CAN总线通信接口电路必须满足电磁干扰(EMI)和静电放电(ESD)标准的严格要求[1]。

CAN总线通信接口原理如图6所示。

图5 5 V的DC-DC电源原理图

图6 CAN总线接口原理图

为了防止上电瞬间电流过大,对上位的供电单元造成过流冲击,所以将CAN收发器的CAN_High和CAN_Low 2个引脚各通过1个5 Ω的电阻连接到总线上。为滤除CAN总线信号线上的共模电磁干扰,并使得差分信号的高频部分得到一定程度的衰减,在CAN_High和CAN_Low引脚之间并联了2个电容[4]。

此外,在许多场合CAN总线接口有可能遭到雷电冲击,所以增添了保护器件D1和D2,以防止浪涌。为了解决CAN总线上双绞线输出和输入间的信号隔离问题,图6中STM32的CAN信号发送引脚CAN_TX经由单通道耦合器6N137与TJA1050T的TXD端进行衔接,接收引脚CAN_RX经由单通道耦合器6N137与TJA1050T的RXD端进行衔接[4]。

另外,为了与其他节点进行配合,专门在2根信号线之间接了1个跳线帽。如果CAN总线网络上的节点比较多,可以根据实际情况拔掉跳线帽或插上跳线帽。以便进行正常的数据通信,主要原因是通常情况下整个总线网络中只需要2个120 Ω的电阻。所以,当不需要时可拔掉跳线帽,需要时插上跳线帽。

3 操纵手柄电控系统软件设计

对于工程机械操纵手柄电控系统的设计,除了进行各模块相关的硬件电路设计外,更重要的是其各模块软件部分的设计,本电控系统的软件设计主要包含2大部分:关于操纵手柄通信板上的各模块对应的软件程序设计,主要包括LED灯子程序设计、角度传感器子程序设计、自复位开关子程序设计、CAN总线网络协议的子程序设计、ADC电压采集子程序设计等;上位机的程序设计。在这2大部分的程序设计中,主要采用的是模块化设计思想,这样做的目的是使得整体的程序设计思路变得清晰易懂,并使后期的调试与修改也更加容易[5]。软件设计流程如图7所示。

图7 软件设计流程图

本设计采用的集成开发环境是keil5,它是美国keil软件公司生产的最新的STM32系列兼容C语言的软件开发系统[6]。通过JLINK模拟器支持的SWD调试模式,完成了在线调试和仿真,大大提高了编程和调试的效率。

4 电控系统功能测试

根据设计好的电路图,利用Altium Designer软件的自动布线功能可生成初步的草图,通过手工修改或调整进行PCB图的绘制,然后选择相应的元器件,之后可以进行打样、焊接、贴片、调试等一些列操作。

电路板制作好后,接上电源、电位器、开关等,利用ST-link下载程序时一定注意,ST-link的SWD接4条线(GND、DCLK、DIO、VCC),并且注意ST-link的VCC为输入引脚,不能向电路板供电。线连接完后,要进行相关的配置才能正确下载。程序烧写进去之后,通过CAN-USB转接装置连接上位机和制作好的电路板。连接并打开硬件板后便可监控数据,首先把CAN总线连接到硬板上,并可以看到LED灯在闪烁,此时已接收到数据。由于篇幅所限,这里主要展示ADC采集信号的图像,点击“+”添加1根曲线,修改ID、date的偏移值和数据类型,并勾上前面的“方框”,点击“Start”即可显示数据,ADC电压采集曲线如图8所示。

图8 ADC电压采集曲线图

结果与预期相吻合,整个设计达到预期设计目的。

5 结束语

本文所设计的基于CAN协议的操纵手柄电控系统,具有低功耗、信号传输稳定、抗干扰能力强、通信可靠、测试编程简便等优点,通过实验测试及功能分析测试,完全满足预期效果。

另外,本文比较系统、完整地介绍了STM32的CAN总线的应该过程,包括控制器、收发器外围电路的设计,也提供了详细的软件、硬件设计方案,可供STM32或CAN总线初学者或者相关工程技术人员借鉴。

[1]牛跃听,周立功,方丹,等.CAN总线嵌入式开发[M].北京:北京航空航天大学出版社,2016.

[2]李冀辰,高凤岐,王广,等.基于CAN总线的智能车伺服控制系统[J].传感器与微系统,2013,32(5):99-101.

[3]胡家华,付文广,郜事成,等.STC15F2K60S2单片机与CAN总线接口的实现[J].微型机与应用,2014,33(17):55-58.

[4]夏泽中,郝铁伟,王生胜,等.分布式变流控制系统中的控制单元设计[J]. 单片机与嵌入式系统应用,2007,23(6):55-57.

[5]阳俊,王文虎.触摸式远程控制终端设计[J].湖南文理学院学报(自然科学版),2016,28(3):34-37.

[6]王璐.C语言实现W78E365普通IO口的UART传输[J].电子工艺技术,2009,30(4):239-241.

张宁宁(1992—),男,陕西渭南人,硕士研究生,主要从事机电控制、嵌入式软硬件开发方面的研究。韩嘉骅(1974—),男,博士学位,副教授,硕士生导师,研究方向为机电一体化、嵌入式软硬件开发。

2095-6835(2020)06-0054-04

TP24

A

10.15913/j.cnki.kjycx.2020.06.018

〔编辑:张思楠〕

猜你喜欢

电控手柄总线
九连环玩法大解密
关于CAN总线的地铁屏蔽门控制思路论述
PLC技术在煤矿提升机电控制系统中的应用
微软发布两款全新Xbox One手柄
电控汽油发动机故障诊断误区浅析
简析井口操车电控与操车信号系统
为什么厨具的手柄不是金属的?
银行家
Q&A热线
PCI9030及其PCI总线接口电路设计