APP下载

基于CAN FD 的分布式倒立摆控制系统

2021-03-12周美娇张凤登

软件导刊 2021年2期
关键词:摆杆控制算法总线

张 力,周美娇,张凤登

(上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

德国BOSCH 公司在2012 年发布了支持灵活数据的控制器局域网络(ControllerAreaNetworkwith Flexible Daterate,CAN FD)技术[1],国际标准化组织将其标准化为《ISO-11898-1 修订协议》。目前汽车功能越来越复杂,车载ECU[2]数量日益增长,从而对总线带宽与可靠性要求更高,而经典CAN 总线逐渐无法满足需求,所以进行CAN FD 的研究具有实际意义。倒立摆系统[3]作为一个经典的控制理论研究平台,具有成本低廉、结构简单、便于模拟控制状态、形象直观的特点,常作为算法控制研究对象。整个系统由摆杆、导轨、控制电机等组成,各部分在传统设计中功能互相独立,十分适用于对照实现分布式控制设计。倒立摆系统特点与机器人、飞行器、起重机稳钩等装置的控制非常相似,因此相关研究也有利于进一步探究现代控制理论、人工智能控制理论。分布式控制系统常应用于航空器与地面交通设备,该类设备对安全性、实时性及经济性的要求十分苛刻。文献[4]提出基于冗余CAN 总线结构的分布式控制系统设计方案,实现了对主控制机与多个分控制机的协同控制,但系统仍有“中央式”控制系统的缺点,且没有进行硬件冗余;孙汉旭等[5]基于CANopen 应用层协议,完成改进型双轮移动倒立摆控制系统设计,阐明了CAN 总线在汽车电子领域外的适用性,验证了本文应用该类总线的合理性;在基于总线的分布式控制系统设计方面,肖辉等[6]基于PROFIBUS 总线,设计了双冗余热备份主站仲裁机制,并对双冗余主站在运行时数据一致性问题及双冗余PROFIBUS 总线工作与切换方案进行了研究。尽管总线通信技术在工业控制领域应用广泛,但如何将其与更多工业分布式控制场景结合并保证系统实时性与可靠性仍面临很多问题。

同时,针对控制系统的可靠性分析,夏正一等[7]利用应用在钢铁冶炼厂控制系统中的西门子可编程序控制器,发现在采用软、硬件冗余备份方式下,相较传统方式在备份切换时间及可靠性方面有显著提升;Šegvić 等[8]对于分布式飞行控制系统涉及的技术进行了综合总结,提供了大量分布式控制系统理论;贾婕等[9]对电动汽车分布式驱动控制技术发展进行梳理,介绍了协调集成控制、容错控制等关键技术;彭国文等[10]介绍了CAN FD 技术在ARM 处理器上的Linux 系统配置特点;罗峰等[11]从网络通信安全性角度,提出了基于CAN FD 总线的安全通信协议;文献[12]首先实现了基于CAN FD 的磁悬浮球控制系统设计,探讨了CAN FD 与CAN 总线的兼容方案,设计了一种通用型CAN FD 硬件节点。作为一种较新的总线通信技术,CAN FD 对CAN 总线有良好的兼容性,广受汽车生产厂商欢迎,但在其它工业控制领域应用较少。

本文提出一种基于优化分布式动态切换策略(Distrib⁃uted Dynamic Control-authority Switch,DDCS)的控制算法,并进行仿真以验证控制效果。将倒立摆系统按功能划分为多个实际的物理节点,搭建基于CAN FD 的底层总线通信网络;在参考文献[4]设计分布控制系统时考虑了硬件冗余,并基于LPC54618 微控制器,设计控制系统各个通信节点的硬件控制板;结合CANoe 软件仿真验证实验通信网络指标是否改善,并在硬件系统上实际运行测试,分析系统鲁棒性改进。

1 系统控制原理与仿真

1.1 倒立摆建模与仿真

一阶直线倒立摆系统可抽象为由小车、摆杆组成的系统、摆杆与小车之间铰接。假设摆杆、小车均为刚体;皮带无伸长,同步带与皮带轮间无相对滑动;小车驱动力与直流放大器输入成正比;小车运动所受摩擦力正比于小车速度;摆杆为质量均匀的细杆,忽略摆杆转轴、空气等摩擦。经过整理可把系统模型表示为如式(1)所示的状态空间方程,系统是可控的,其中

各物理符号含义及参数真实值如表1 所示。进一步可得到系统传递函数为:

Table 1 System parameters and set values表1 系统参数及设定值

利用MATLAB 的SimuLink 仿真实验工具,采用PID方法设计控制器,仿真实验设计及其结果分别如图1 与图2 所示。主要通过实验系统时域分析指标进行PID 参数整定。

Fig.1 Simulink inverted pendulum system simulation design图1 SimuLink 倒立摆系统仿真设计

Fig.2 Simulation results of Simulink图2 SimuLink 仿真实验结果

1.2 分布式动态切换策略

工业控制系统从直接数字控制系统(Direct Digital Control,DDC)、监管计算机控制系统(Supervisory Computer Control,SCC)再发展至集散控制系统(Distributed Control System,DCS)及目前现场总线控制系统(Fieldbus Control System,FCS)[13]。在分布式控制中,协调设计实现系统分布式计算[14]是一个复杂的过程,涉及系统互斥、死锁检测、身份验证和故障恢复与平衡。对于具体的控制算法,首先有线性控制算法,典型代表有PID 控制、状态反馈控制、LQR 控制算法等,较为简单、速度快捷且可靠性高;其次是状态反馈控制,极点配置法是通过设计状态反馈的控制器,将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标要求。

分布式控制[15]发展主要得益于集成电路的发展,微控制器不仅价低,而且性能稳定优良、存储容量大。首全分布式控制指控制(计算)功能彻底分散于现场仪表,甚至是单个传感器中。动态切换策略设想在一总线型控制网络中,需要若干个环节进行控制算法运算,文献[16]说明由于总线节点设备功能的差异性,导致在不同节点运行算法的效率不同,比如在远离驱动器、报文收发量大的节点中进行控制算法运算会造成总线通信负载率恶化,但若系统具备一定节点规模,且有节点收发报文量存在较大波动时,若可通过某种切换策略,按照系统动态响应性能最优(稳态响应调节时间最小)或总线负载率最低的要求,动态切换实现控制算法节点,则可顺利运行算法。每个节点理论上可实现控制算法部署,但实际上是一种增加硬件冗余的设计,该控制系统在实时性、可靠性方面具有优化潜力。

定义权限因子A:某个系统节点权限因子是在该系统控制运行下,由当前系统通信负载率与系统响应时间两个指标加权计算得到的数值,即:

其中,αl与αr为加权因子,Lr与Rt分别指总线负载率及系统执行器响应时间。在DDCS 策略中,每个节点都有自己的权限因子,同时节点内部保存有一张系统所有物理节点的权限因子表(Authority Factor Table,AFT)。初始化时,所有节点权限因子设置成不同的经验数值,系统自动由权限因子最小节点控制。一旦当前通信状况恶化,或到达时钟同步时刻,便立即发动一次同步。同步的具体动作是借用系统时钟同步帧或某些总线时钟修正段,将自身权限因子同步到所有节点的AFT 中,完成同步后,若节点发现自身成权限因子最小节点,便自动接替执行预设的控制程序,从而完成一次控制权限的动态切换。即策略实现目标为:系统各节点能够协调找出最优的控制节点,实现系统整体负载率、响应时间最优,并要求该实现策略在硬件、软件上具有可实现性,且产生的系统额外开销可控。DDCS算法流程如图3 所示。

Fig.3 DDCS strategy execution flow图3 DDCS 策略执行流程

2 CAN FD 总线控制系统设计

2.1 系统整体方案设计

整个CAN FD 总线控制倒立摆系统,由摆角传感器节点、限位检测节点、电机驱动节点3 个真实节点和1 个CA⁃Noe 上位机虚拟节点构成[17]。结合控制算法,需考虑各个节点地位平等。通信网络采用总线型拓扑形式,所有节点共用一条数据通道,但注意总线两端须连接端反射电阻,使信号减少衰变和畸变,且线缆长度不宜过长。

控制系统总体设计如图4 所示,包括电机、角位移传感器、导轨、小车和摆杆等机械部件组成。电位器是测量元件,分别检测小车相对于轨道中心点的相对位置以及摆杆与铅垂线的角度偏移和角速度,之后送交具体控制器,实现数模、模数转换,在完成控制算法运算后,送出电机控制信号。信号经过电压和功率的放大,随后控制电机执行。电机是系统执行元件和速度反馈元件,本文使用的直流电机型号为24V8700-5.15,驱动电压最大24V,电机上有电机驱动正负线、编码器AB 线、编码器电源及地线等6根线。通过皮带带动小车使其在导轨上左右平移,最终达到实现倒立摆在有限长度导轨上保持竖直稳定的目的。

Fig.4 Overall structure diagram of CAN FD bus distributed control system图4 CAN FD 总线分布式控制系统总体结构

2.2 系统通信节点硬件设计

在CAN FD 通信节点接口板硬件设计中,为了后期便于硬件焊接与调试,同样将节点接口板作通用设计,即所有功能所需元件布局在同一PCB 文件上,具体操作中节点根据需要焊接相应部分电路。按照功能要求,节点接口板主要包含的元件有MCU 控制芯片,负责限位检测以及摆角模拟信号采集与处理;收发器芯片与总线相连;电机隔离与功放驱动电路用于驱动直流电机。4 个节点微控制器选型相同,性能不存在差异,均具有运行PID 控制算法的功能。硬件结构如图5 所示。

微控制器芯片选择NXP 公司的LPC54618,主要用以实现控制算法、处理总线数据,管理本节点其它工作。芯片集成了12 位的ADC;内置1 路CAN FD 控制器模块,支持经典CAN 与CAN FD 通信。关于CAN FD 总线收发电路的形式,采用内置CAN FD 控制器与CAN 收发器组合的方式实现CAN FD 节点报文收发,收发器同样选择NXP 的TJA1051;总线传输介质采用双绞线,CAN_FD_H 端口与CAN_FD_L 端口用DB9 接口与物理总线连接。在使用MCU 控制输出PWM 信号以控制驱动电机时,电机驱动电压一般大于12V,如果电路板存在设计问题,可能会连带烧坏MCU,故选择采用TI 公司的SN74LS244DW 信号隔离芯片作驱动隔离,由于本研究使用的直流电机对于工作电流与电压要求均较高,所以额外需要功率放大电路进行电机驱动,参考使用两块BTN7971B 芯片作为直流电机驱动输入,一路控制电机正、反转,另一路控制转速。

Fig.5 Hardware structure of can FD communication node图5 CAN FD 通信节点硬件结构

3 系统实物搭建与评估

CAN FD 网络下系统测试主要流程有3 个环节。第一,需创建整个系统完整的功能模型,并对被控对象的动作时序有透彻的研究;第二,需正确地设计通信所需的数据帧格式,确定所有特定的应用信号、数据帧规定发送的CAN FD 报文[18]及发送或接受的网络节点,再用敏感的优先级标识符对已确定的信号进行分组,系统运行中所有数据帧如表2 所示;第三,总线仿真测试和系统集成。CAN FD 作为一种底层通信协议,只涉及数据链路层和物理层,所以借用数据帧或远程帧实现任务间信息同步,需注意区分与数据帧中位时序同步段的差别。

Table 2 Data frame content design表2 数据帧内容计

3.1 DDCS 控制算法仿真

CANoe(CAN Open Environment)[19]是德国Vector 公司的一款集建模、仿真、测试和分析一体的总线开发环境。分布式动态切换策略仿真实现分为4 步:

(1)CANoe 内新建配置模板、CANdb++数据库,在图形化窗口中新建全部虚拟节点。

(2)配置添加当前测试环境变量,设置报文信号与真实报文格式布局一致,如表3 所示,完成后导入该数据库。

Table 3 Canoe message design layout表3 CANoe 报文设计布局

(3)新建面板,设置控件,把测试需关注的信号关联到面板上,如图6 所示。

Fig.6 Upper computer canoe display panel interface图6 上位机CANoe 显示面板界面

(4)根据策略算法功能,编写各节点所需的CAPL 程序。虚拟节点发送报文参考零星任务模型,发送间隔设置在5~500ms 内随机发送;设置为波特率5Mbps,仿真时间108ms。为了实现周期同步的功能,利用CAPL 语言面向事件的特点,利用CANoe[20]中时间事件和环境变量事件的概念,分别模拟周期时钟同步和负载率恶化事件。最终仿真运行得到的数据如表4 所示。

Table 4 Simulation results表4 仿真结果

由表4 可知,控制算法运行在不同节点上系统性能具有明显差异,可以直接看出电机驱动节点作为控制节点时控制效果最好,这是合理的,因为此时系统不需要发送PWM 电机驱动报文。

3.2 控制系统实际评估

对于真实的倒立摆控制系统,通过硬件接口卡CANca⁃seXL 将物理总线与虚拟CANoe 节点相连,利用CANoe 集成网络分析测试功能,记录控制系统网络运行指标,得到如表5 所示的参数。分析可以得到如仿真实验类似的结论,而且可以发现总线负载率稳定性得到改善,该技术有助于提升系统鲁棒性。

Table 5 Actual test results of the system表5 系统实际测试结果

4 结语

本文通过将倒立摆中各部分划成不同节点,采用CAN FD 总线技术实现了对倒立摆系统的分布式实时控制,与传统集中控制系统4.732s 响应时间和10.63% 通信负载率相比,系统响应时间缩短33.88%,总线负载率减少35%。不足之处是DDCS 算法依赖于严格的时钟同步机制,本文利用软件或数据帧实现该功能,在实际总线运行时会给总线增加额外负载,而且这种不精确的同步方式可能会使DDCS 在实际切换时十分迟钝。同时,为避免过度频繁切换引起系统性能下降,下一步将结合如FlexRay 或TTCAN 等支持时间触发架构网络协议进行测试,并改进算法,优化参数初始化。

猜你喜欢

摆杆控制算法总线
限位条件下直轨倒立摆摆起控制量的分析研究
一种圆织机摆杆装置
磁浮列车Z 向支撑摆杆断裂失效成因分析
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
发射平台摆杆机构可靠性分析
基于ARM+FPGA的模块化同步控制算法研究
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
多通道ARINC429总线检查仪
一种非圆旋转工件支撑装置控制算法