嵌入式CAN总线运动控制系统设计与实现
2022-12-12程泽宇张洪峰吴根平
程泽宇,张洪峰,吴根平,王 浩
(武汉第二船舶设计研究所,湖北 武汉 430205)
0 引 言
传统现场运动控制系统多采用集中控制模式,使用一对一方式连线。随着自动控制系统所需的控制节点、监测节点越来越多,传感器数量大幅增加,对系统可靠性、实时性、扩展性、抗干扰能力等要求越来越高,智能组件、控制器、上位机之间的通信需求愈发旺盛,开放式、网络化的控制系统已经成为当前数字控制技术发展的主要趋势。基于此,各种工业现场总线应运而生。其中控制器局域网络(Controller Area Network,CAN)总线相比传统通信总线具有实时性强、抗电磁干扰性好、可靠性高的特点,能够实现工业现场各设备之间的通信以及工业现场设备与测控网络中心的互相通信,是满足开放式控制系统互换性、可扩展性等要求的理想选择。CAN能够将连接到总线的各智能节点组成节点网,与控制中心连接组成1套完整的自动测控系统,进行实时监控、运算修正等操作,从而实现智能控制[1]。
本文对CAN总线控制技术进行概述,从功能及实用角度分析CAN总线的优势,结合现场使用环境及应用需求设计了一种嵌入式CAN总线运动控制系统。该系统是一种分布式智能电机驱动控制系统,由主控制器、智能驱动电机、位置传感器构成1个闭环反馈系统,控制器接收上位机的控制指令后实时控制执行电机完成动作,采集电机运行状态与传感器信息,控制器进行处理后将信息反馈给上位机并进行运动修正。CAN总线具有多个节点,可以同时对多个电机进行实时控制与监测,功能节点可以根据需求任意配置,具备良好的扩展性。系统设计无线网络协处理器,支持用户利用通信终端作为上位机通过无线网络进行运动控制,拓展了用户的使用控制距离,提升了设备的易用性和移植性,能够适应工业现场复杂的使用环境。
1 CAN总线控制技术
CAN由德国BOSCH公司开发,具有连接简便、实时性能好、易于实现、运行稳定以及成本低廉等优点,逐渐在工业系统中得到了非常广泛的应用。CAN是一种总线式串行通信网络,由物理层、数据链路层(Data Link Layer,DLL)和应用层3层协议组成,可以有效支持分布式控制和实时控制。作为带有校验机制和检错机制的1种现场总线,CAN总线增强了抗电磁干扰能力[2,3]。
CAN总线控制技术的主要特点如下:一是灵活的通信模式,CAN网络上的各节点无主从之分,均可自由向网络其他节点发送信息;二是在通信距离与通信速率上有优势,当传输速率达到1 Mb/s时,通信距离可达40 m,能够满足工业现场需要;三是总线驱动电路决定了网络挂载节点数量较多;四是其中的总线仲裁技术可灵活设置通信优先级,提高数据传输效率;五是采用短帧结构,降低传输时间及受干扰程度,通过循环冗余校验(Cyclic Redundancy Check,CRC)确保数据传输的可靠性。
2 CAN总线运动控制系统设计
采用分布式控制系统,避免因控制对象多而分散导致施工困难或存在故障隐患。分布式控制结构可以根据执行机构分布情况设置子模块位置,从而缩短控制对象(本系统中为电机)与子控制模块(本系统中为电机驱动器)之间的距离。子模块与主控制器之间通过CAN总线通信。
为了掌握系统运动状态并进行闭环控制,设置电流型传感器与开关量传感器采集位置信息,系统设置相应的检测电路进行信号采集。为了满足现场使用的便利性,利用无线通信终端作为系统上位机,终端上位机通过无线网络协处理器与主控制器通信,接收系统位置信息并下发运动控制指令。
主控制器和上位机是控制系统的主要组成部分。上位机是整个系统的操作平台终端,接收主控制器发送的系统状态信息并将控制指令发送给主控制器。主控制器主要采集现场传感器数据,并根据运动控制策略对控制指令进行实时修正,通过CAN总线下发运动控制指令。
CAN总线运动控制系统由主控制模块、无线网络协处理模块、CAN接口模块、AD采集模块以及相关外围电路组成,其功能单元和模块数量可以根据系统任务需求增加或减少。控制系统原理框架如图1所示。
图1 控制系统原理框架
2.1 主控制模块
主控制模块采用数字信号处理器(Digital Signal Processor,DSP)TMS28335作为主控芯片,实现高性能的数据传输。该芯片具备12位16通道模数转换器(Analog-to-Digital Converter,ADC),支撑多种串型端口外设。主控制模块通过CAN接口与CAN总线网络和电机驱动器进行通信,接收到控制命令后按相关控制策略将指令经过CAN接口传送给驱动器,驱动器接收指令控制电机进行运动,同时将电机运动过程中的电压、电流等信息实时反馈给主控制模块。与此同时,主控制模块实时采集AD传感器位置信号,结合电机运动状态对控制指令进行修正。主控制模块与无线网络协处理模块通过串行外设接口(Serial Peripheral Interface,SPI)进行信息交互,向上位机传输采集的信息并接收上位机发送的控制指令。
2.2 无线网络协处理控制模块
无线网络协处理控制模块主要完成无线Wi-Fi信号的处理,在主控制模块与上位机件之间建立通信,实现信息传输。无线网络协处理控制模块采用TI公司的CC3220模块,其具有无线通信网络芯片,并包含附加专用的多点控制单元(Multi Control Unit,MCU),充分减轻处理器承担的互联网协议处理压力。该模块具有强大的加密引擎,可以实现快速安全且带加密功能的互联网连接,支持基站、接入点和Wi-Fi直连模式。无线网络协处理控制模块电路如图2所示。
图2 无线网络协处理模块电路
2.3 CAN接口模块
CAN接口模块是主控制模块与CAN总线网络通信的接口,其中主控模块DSP28335内部的CAN信号处理器采用消息对象的方式进行数据的发送和接收。CAN模块具备32个消息对象,每个消息对象可以配置为发送或接收形式。DSP内部的CAN控制器可以对帧数据进行发送和接收,但在CAN控制器完成数据处理后需要内核寄存器进行读取,然后再由CAN控制器进行处理。CAN接口电路如图3所示。
图3 CAN接口电路
为了提升传输效率,设计CAN总线收发器进行控制总线通信,选用CTM1050T作为CAN隔离收发模块[4,5]。模块将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具有直流隔离、静电放电(ElectroStatic Discharge,ESD)保护功能,内部集成了必需的电气元件,包括隔离电路、CAN收发器、总线保护、电源电路。CTM1050T引脚功能如表1所示。
表1 CTM1050T引脚功能
2.4 AD采集模块
供电电路中,在传感器供电端串联一个100 mA自恢复保险,避免单个传感器出现短路情况下影响其他传感器工作,提高信号传输可靠性。同时设计信号电流电压转换电路,增加采样电阻R2,D1、D2、R1构成保护电路,使得传感器信号异常状态下不损坏采样电路。采集模块电路中采用低温漂高精度电阻,同时采用低漏电流型二极管和ADI公司的16位8通道AD芯片AD7606,提高测量精度。AD7606是16位8通道同步采样模数芯片,内置模拟输入嵌位保护、二阶抗混叠滤波器、跟踪保持放大器、16位电荷再分配逐次逼近型模数转换器、灵活的数字滤波器、2.5 V基准电压源、基准电压缓冲以及高速串行和并行接口。传感器信号采集电路如图4所示。
图4 传感器信号采集电路
2.5 电源管理单元
电源管理单元主要由保险管、交流/直流(Alternating Current/Direct Current,AC/DC) 模 块、直流/直流(Direct Current/Direct Current,DC/DC)模块以及电源管理芯片组成,通过对输入的电源电压进行滤波、电压转换,从而获得传感器、控制器所需稳定的工作电压。电源管理单元主要实现电源的滤波和保护、位置传感器的供电以及控制器内部供电,其电路如图5所示。
图5 电源管理电路
3 CAN总线运动控制系统软件设计
CAN总线运动控制系统软件包含控制器嵌入式软件与上位机系统软件2个部分。嵌入式软件完成传感器信号采集,根据策略发送运动控制指令并进行运动状态监测,电机发生故障时能够及时进行中断处理,保证系统运行安全。上位机系统软件用户界面通过超文本标记语言(Hyper Text Markup Language,HTML)实现,使用JavaScript和jQuery完成界面交互与HTTP数据通信。
系统通过无线网络协处理模块与主控制器模块协作,DSP控制芯片与电机控制器通过CAN进行数据交互,DSP控制芯片与AD芯片经过SPI进行数据交互,可实现通过Wi-Fi远程控制电机功能和电流传感器采集功能。外部信号接口构成如图6所示。
图6 外部信号接口构成
用户只需使用具备无线通信能力的手持终端即可登录网页进行控制,无须单独配置硬件终端设备。此外,用户能够在控制系统各个部位进行操控,便于对运动过程进行监控确认,具备更好的灵活性与便利性。
DSP嵌入式软件运行流程如图7所示。
图7 DSP嵌入式软件运行流程
当DSP控制器上电后,初始化底层硬件驱动,配置好定时器中断、AD模块、CAN模块。主程序循环查询接收来自ARM芯片的数据通信请求,借此发起数据通信交互。如果接收到完整的数据,则根据通信协议解析及处理,根据要求发出指令控制电机进行相应的转动。在电机运动过程中,实时接收驱动器发送的电压、电流状态信息及相关故障码,针对特定故障进行自动中断处理。
上位机系统软件运行原理如图8所示。
图8 通信线程流程示意
当无线网络协处理模块ARM芯片上电后,初始化HTTP网络服务器及底层硬件线程,创建HTTP线程及SPI线程。创建完成后,SPI线程通过等待来自HTTP线程发出的接收到HTML网页请求(POST或GET)后的邮箱数据,使用SPI与DSP进行相应的数据交互与控制流程动作,完成通信后回复客户端HTML发起的网页请求,通过JavaScript更新网页界面。本文设计的CAN监控上位机软件能够对数据的传输和处理状态进行实时监控,也能随时下达运动控制指令。
4 试验验证
采用CAN总线通信的方式来控制电机的运动,主控制器与电机驱动器之间采用标准帧格式通信协议。对电机步进运动测试档位进行调整,对比输出控制值及编码器反馈值,转动测试结果如表2所示。
表2 电机转动测试表
根据试验数据,CAN总线系统能够控制电机进行转动、停止。结合软件定时功能,可以设置每10 ms反馈电机运行信息。按照该运行电机运动速度为20 mm/s,理论精度可以控制在0.02 mm。实际由于系统机械传动误差、步进间隙等误差干扰,实测系统的运动控制精度能够控制在0.1 mm左右,足以满足大部分情况下的控制精度要求。
5 结 论
CAN总线通信控制系统具有抗干扰性强、可靠性高的特点,广泛应用于工业控制系统。本文设计了一种具备远程采集、控制功能的CAN总线控制系统,给出了具体的硬件、软件设计方案。将成熟的CAN总线控制系统与电机控制结合,提升了系统的可靠性与实用性,具备良好的运动控制精度。CAN总线通信具备良好的扩展性,既能实现更多电机及执行机构的系统联动,也支持系统将模拟量传感器更新为数字化智能传感器。此外,该系统支持无线终端远程采集监控,便于用户在现场进行操控,提升了系统的易用性。