基于CAN总线的连铸结晶器振动控制器设计*
2021-05-15肖俊生左鸿飞李文涛
肖俊生,左鸿飞,李文涛
(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)
结晶器振动使连续铸钢成为可能,而振动方式对铸坯质量和生产效率都有着重要影响[1-3].连铸结晶器振动方式经历了同步振动、梯形振动、正弦振动和非正弦振动[4-5].非正弦振动方式因其对提高拉坯速度、铸坯质量和生产效率等具有显著效果,逐渐成为结晶器振动主要应用规律[6-7].结晶器振动控制器主要作用是按要求生成振动波形、并控制结晶器按照设定的振幅、频率和偏斜率进行振动[8].目前结晶器振动控制器常采用RS-485总线实现数据传输,由于受传输速度的限制,仅将主要工作参数上传,没有将振动波形实时上传,使得操作人员无从了解实际振动效果.CAN总线具有通信速率快、实时性好、可靠性强等特点[9],本控制器采用CAN总线实现数据传输,将主要工作参数上传和结晶器振动的设定曲线、实际振动曲线同时上传,因此可直观观察结晶器振动曲线形态、振动的实时性、同步性等特性,提高了控制器的实用性.
1 振动控制器整体结构
结晶器振动控制器整体结构如图1.
图1 结晶器振动监控系统结构图
振动控制器核心采用32位微处理器STM32实现,功能模块主要包括25位SSI振动位移信号模块、16位DA及V/I转换控制信号输出模块、4~20 mA模拟量输入模块、开关量输入输出模块、CAN通信接口和Modbus TCP/IP通信接口.控制器产生结晶器振动波形数据并实时采集结晶器位移数据,经PID运算后输出控制信号给液压伺服机构;同时采集阀芯位置、液压缸压力、拉速等信息,并将所采数据通过CAN总线发送给监控上位机.振动控制器主要工作参数:振动频率40~360次/分,振幅0~6.0 mm,偏斜率0~±0.4,控制输出:±10 mA DC,模拟信号输入:4~20 mA DC.
2 振动控制器硬件设计
2.1 核心控制器电路
控制器核心采用32位高性能ARM Cortex-M4处理器STM32F407ZGT6实现,该处理器时钟高达168 MHz,支持FPU(浮点运算),自带多路12位ADC,且具有CAN、以太网接口等多种通信接口[10],非常适合本系统应用要求.系统中需实现多种信号的采集与输出,其中阀芯位置反馈、压力信号等标准4~20 mA DC模拟量信号经高精度隔离I/V转换模块转换为0~3.3 V电压信号,由片内12位ADC采集,这样设计不仅简化了硬件电路降低成本,通知提高了系统的可靠性.
2.2 位移信号采集电路
振动控制器最重要的测量信号为振动位移信号,为了保证结晶器振动的控制精度和内外弧振动的同步性,位移传感器选用了MTS公司Temposonics-RD4型非接触式磁致伸缩位移传感器,测量范围0~200 mm,测量精度达0.002 mm,输出信号为25位SSI信号.位移传感器输出与单片机接口采用某公司的SSI208P模块实现,该模块将传感器输出的25位SSI信号转换为32位的TTL信号,通过并行口送入单片机[11].电路原理图如图2所示,实际电路中设计了2路SSI振动位移采集同步控制信号SSI_STA,从硬件上保证了振动的同步性.
2.3 控制信号输出电路
控制信号输出采用16位高速DA芯片AD5660实现,AD5660输出的电压信号经高精度隔离转换模块转换为-10~+10 mA的电流控制信号,这样方便实现信号远传,也提高了信号的抗干扰能力.为了保证振动的同步性,采用帧同步控制信号SYNC控制2路DA转换芯片同时输出控制信号,如图3所示,为其中一路控制信号输出电路.
图2 位移信号采集电路图
图3 控制信号输出电路图
2.4 CAN通信模块
CAN通信模块由CAN控制器和CAN收发器构成,CAN控制器采用STM32单片机内部的bxCAN控制器实现,收发器选用带隔离的高速CAN收发器CTM1050D,电路如图4所示;该芯片内部集成了所有必需的CAN隔离及CAN收发器件,其主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,具有隔离功能及ESD保护作用;电磁抗干扰性极高;无需外加元件可直接使用,提高了CAN总线的稳定性和可靠性[12].
图4 CAN通信接口电路图
3 振动控制器软件设计
控制器软件采用模块化结构,以提高软件的可靠性和可维护性.软件主要包括振动控制主程序、振动波形生成子程序、位移采集与控制子程序、CAN通信程序及CAN通信协议的设计等.振动控制程序主流程图如图5所示,系统初始化后,按照预设参数生成初始振动波形,接着采集位移及状态数据,并处理上位机命令,如果收到启动命令,则进行PID运算并输出控制信号,然后将位移信息、控制器状态数据上传给上位机.在停止振动状态下,可以修改振动波形.为了防止振动波形突变给机械设备造成冲击,程序中设定每次振动启动或停止时都从预设的“零位中心点”开始.
3.1 振动波形生产程序
目前结晶器振动常用非正弦振动规律来控制,非正弦波形一般采用整体函数法来构造,其位移表达式为[13]:
SP=h·sin[ωt-Asin(ωt)] .
(1)
式中:SP为振动位移,mm;h为振幅mm;ω为振动角频率,rad/s;A偏移因子.
程序在生成波形时需要对上式进行离散化,设每个周期采样点数为N,则上式可离散化表示为:
SP(i)=h·sin[2πi/N-Asin(2πi/N)] .
(2)
式中:i=0,1,…,N-1.经实验测试N=180较合适,既能保证波形的精度,又不会因数据点太多而影响程序运行效率.程序按照上式计算产生1个周期的波形数据,如图6所示.波形的频率通过定时器控制输出波形数据点的间隔来实现.
图5 振动控制器软件主流程图
图6 波形生成程序流程图
3.2 CAN通信协议设计
系统中由于CAN总线上传输的报文类型较少,因此采用CAN2.0B协议中含11位标识符的标准帧格式,并将11位标识符划分为3个域,分别代表优先级、参数意义和设备ID号,定义如表1所示.
表1 11位标识符定义表
表中各部分意义如下:
(1)P:优先级,由3位组成,分8级,0为最高级,8为最低级;
(2)PS:参数意义,共4位,如0010代表PID参数设置命令;
(3)ID:设备编号,共4位,可表示15台振动控制器,其中,1111代表全局命令,所有控制器都接收.
控制器暂将报文设计为4级优先级,分别为报警报文0、参数设置报文1、命令报文2、状态数据报文3,每个优先级下根据参数意义不同可设置多种报文,根据报文发送频率不同又分为触发性报文和周期性报文.如表2所示,为设备ID为1的控制器发送的报文格式,其中表中未列出ID号的报文可作为将来扩展用.
表2 ID为1的控制器发送报文
3.3 CAN通信程序实现
CAN通信程序主要涉及CAN控制器初始化程序、数据发送和接收程序.CAN初始化程序主要包括CAN控制器时钟和端口设置、CAN工作模式配置、波特率设置及滤波器组设置.由于CAN通信采用的11位ID标识符,因此将每组过滤器设置为4个16位标识符列表模式,这样每组过滤器可对4个ID号的报文进行过滤识别,提高了滤波器组的使用率.
数据发送子程序负责报文的发送,报文发送时只需将报文ID、待发送的数据、数据长度,按照帧格式组合成一帧报文,送入CAN发送缓冲区并启动发送即可.报文接收采用中断方式,当收到一条信息且该信息通过接收过滤器时,则产生一个接收中断,在中断服务子程序中根据ID号对报文进行识别处理.
图7 CAN控制器初始化流程图
4 系统实验测试
控制器设计完成后,在某公司提供的结晶器振动试验台上进行了实际测试,实际运行界面如图8所示:其中图8(a)为整体显示界面,从图中可见测试振动波形为非正弦波,频率3 Hz,振幅4 mm,偏斜率0.4,振动中心点为20 mm位置,内外弧振幅比值为0.8;图8(b)为按给定波形参数生成的内外弧设定曲线,从图中可看出生成的内外弧曲线一致性很好;图8(c)为外弧的设定曲线(白色)和实测振动曲线(红色),从图中可看出实测振动曲线和设定曲线形态完全一致,实测振动曲线比设定曲线在时间上存在一些滞后,幅值上稍小一些,这是由于控制器输出电信号给液压伺服系统,液压伺服系统进而驱动结晶器振动,因此产生了时间上的滞后和幅值偏小现象,这跟实际情况是完全相符的;图8(d)为内外弧的实测振动曲线图,从图中可看出实际振动曲线的同步性很好,满足实际控制需求.
同时也对CAN通信效果进行了测试,振动控制器与监控上位机CAN通信采用双绞线实现的电气连接,通信距离为600 m,通信速率500 Kbp/s,测试结果表明:数据传输实时、高效、抗干扰性好,满足结晶器振动系统的通信要求.
5 结论
设计了1种基于CAN通信和STM32的结晶器振动控制器,完成了系统软硬件设计及调试工作.经测试证明,该振动控制器可实现结晶器振动波形的生成、实际振动位移的采集、振动控制输出和监控上位机的CAN通信等功能;控制器工作稳定可靠、实时性好、通信效率高、传输距离远、抗干扰性好、且成本低廉具有很高的推广价值.
图8 上位机监控显示界面(a)系统整体显示界面;(b)内外弧设定曲线;(c)外弧设定曲线(白色)和实测曲线(红色);(d)内外弧振动曲线