《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STM32的深海钻机闭环检测系统
基于STM32的深海钻机闭环检测系统
来源:电子技术应用2013年第6期
刘彦军,刘敬彪,蔡文郁
杭州电子科技大学 电子信息学院,浙江 杭州310018
摘要: 针对深海钻机系统现在还是开环控制的现状,设计并实现了深海钻机系统的闭环检测系统。该系统主要由一块基于STM32F103VC6的检测板和外部传感器组成,是实现深海钻机闭环控制的重要环节。检测系统与钻机主控系统采用CAN通信协议,与甲板监控系统采用串口通信。
中图分类号: TN277
文献标识码: A
文章编号: 0258-7998(2013)06-0017-04
Deep-sea drilling closed-loop detection system based on STM32
Liu Yanjun,Liu Jingbiao,Cai Wenyu
Institution of Electronic Information,Hangzhou Dianzi University,Hangzhou 310018,China
Abstract: In view of the present open-loop control situation of deep-sea drilling system, closed-loop detection system for deep-sea drilling system is designed and implemented. The system mainly consists of a STM32F103VC6 board and external sensors,it is an important link in the implementation of closed-loop control of deep-sea drilling rig. Detection system uses the CAN communication protocol with the drill main control system, and serial communication protocol with the monitoring system on the deck.
Key words : deep-sea drilling system;closed-loop control;STM32;CAN communication

    近几十年,我国加大了对海洋科考和探测的力度。经探测发现,我国大陆架浅海海底埋藏着丰富的石油、天然气以及煤、硫、磷等矿产资源。在多数海盆中,广泛分布着深海锰结核等可利用金属矿产资源[1]。深海钻机是大洋深海地质探测的重要工具之一,它可以探取海底数十米以下的地质样品,为科学家了解海底地质构造提供第一手资料。但是深海钻机的使用现状并不理想。一方面,深海的恶劣环境给深海钻机的使用带来了不便;另一方面,钻机一般会被下放到海底4 000 m~5 000 m的地方作业,甲板操控人员根据深海摄像头传回来的视频对海底钻机进行控制,是典型的开环控制[2],钻取成功率较低。从海底传输上来的监控视频质量不是很好,再加上钻机钻进程序繁琐,一次作业时间长达数十个小时,操作人员压力大。监控视频从海底传输到甲板监控系统,传输距离远,延时较为明显。如果遇到误操作或其他偶然事件,则无法及时停止操作,会对钻机本身造成很大的损害。本文介绍的基于STM32的检测系统可以减少,甚至避免这些意外事件的发生,降低操作人员的工作压力。

1 系统的工作原理概述
1.1 系统结构

    深海钻机闭环检测系统整体结构框图如图1所示。本文主要阐述由检测板以及各个传感器组成的检测系统,它主要完成对钻机运行状况、动作完成情况的检测,并向钻机主控系统和甲板监控系统实时反馈钻机状态信息。

1.2 深海钻机闭环检测
    闭环控制系统是指输出量直接或者间接地反馈到输入端,形成闭环参与的系统[3]。钻机闭环操作原理简图如图2所示。实现深海钻机的闭环控制一般需要有三个循环步骤:(1)钻机主控系统根据命令按步骤执行分解动作;(2)将分解动作的执行结果反馈到钻机主控系统和甲板监控系统;(3)钻机主控系统根据反馈的结果做出相应的调整或者是进行下一步分解动作。本文设计的检测系统主要完成步骤(2)。检测系统向钻机主控系统的输出结果会间接地影响到检测系统采集端的输入量,这就形成了对钻机系统的闭环检测。

    首先,检测系统对钻机动作进行状态检测。现在深海钻机的动作主要是靠液压杆的伸缩来完成,钻机主控系统通过控制液压阀的开、关来实现液压杆的伸缩[2]。检测系统主要通过检测液压杆中的油压力大小并结合外部数字传感器的状态来判定液压杆动作完成情况。例如,如果液压杆中油压增大但是明显小于系统压力且外部数字传感器没有信号,则说明液压杆开始伸缩但是还没有完成动作;如果液压杆压力接近系统压力,而且外部数字传感器有信号,则说明液压杆已经到位。
    其次,检测系统把采集信息反馈到钻机主控系统和甲板监控系统。因为钻机主控系统内部采用CAN总线通信协议,为了便于与钻机主控系统通信,检测系统与钻机主控系统之间也采用CAN总线协议。检测系统与甲板监控系统间使用串口协议,但由于串口传输距离有限,所以需要使用光纤作为传输中继。水下光端机先将串口信号转换为光信号,然后混合光缆将信号传输到甲板监控系统,甲板监控系统再使用光端机将光信号还原为串口信号进行分析。
2 系统硬件描述
2.1 系统主板

    考虑到本系统要设计很多模拟量采集口和很多数字采集量,监测系统主板的微处理器选择了ST公司生产的STM32F103VCT6。这款单片机具有高达72 MHz的主频,内置256 KB的Flash,多路ADC,具有18 MHz的I/O翻转速度[4],可以满足检测系统对运行速度、多路模拟量和数字量采集的要求。这款单片机还内设有CAN、USART通信接口,可以让检测系统与钻机主控系统和甲板监控系统的通信更加容易实现。具体的检测系统主板构架图如图3所示。

2.3 系统应急控制
    系统设计了4路24 V/2 A的应急控制继电器,MCU通过自身的I/O口控制驱动电路来驱动继电器开和关。如果钻机在运行过程中发生意外事件,比如外部突然电压不稳定、突发的姿态变化、主控系统操作逻辑错误等状况,检测系统可以立即控制这4路继电器采取应急措施,比如切断系统供电、给钻机油压系统卸荷等。这些应急动作是发生在检测系统向钻机主控系统和甲板监控系统反馈信息之前,从而在第一时间避免对整个钻机系统造成不必要的损害。
3 系统软件描述
3.1 检测系统主板程序流程

    主程序流程图如图5所示。主程序的设计主要分为以下几个步骤:

    (1)开始及系统初始化;
    (2)循环查询发送标志位是否置位,如果置位则收集各个采集模块信息;
    (3)判断采集信息并发送;
    (4)安全机制和响应上位机命令。
    系统上电后,立即进行系统的初始化。这一步骤非常重要,单片机初始化系统时钟、定时器以及各个外设等。初始化完成后,进入while循环。定时器每隔500 ms就会触发中断并置位发送标志位,当系统查询到发送标志位置位时,就会采集、计算各个传感器的信息。如果系统判断各个传感器的信息是在预定范围内,则通过串口和CAN总线分别向甲板监控系统和钻机主控系统反馈信息,否则就是钻机发生意外事件,触发紧急安全机制。判断结束后清空发送标志位,至此一次发送完成。
3.2 通信协议
    检测系统向甲板监控系统反馈数据时,是以帧数据的格式发送。帧格式具体如图6。

 

 

    图中“@$”是帧头,“55*”是帧尾,各个数据间用“,”隔开。AD1~AD10分别代表MCU采集的10个通道的AD值,继电器帧和数字1、2帧分别以位的形式表示现在继电器的状态和数字传感器的状态,例如继电器帧如果为0x03,转化为二进制就是0011,这表示第一、第二个继电器闭合,第三、第四继电器打开。
    由于CAN协议一帧数据最大为8 B,不能满足数据长度要求,所以软件上使用CAN数据帧中的DATA0作为数据发送的扩展帧,数据格式具体如表1。

      Data0的0x01、0x02、0x03分别代表数据的第一、二、三帧。把3帧数据整合起来,才是完整的一组数据。由于CAN传输的每一个数据都是8 bit,而AD采样值为16 bit,系统软件上采用两个CAN数据表示一个AD值,即第一帧的Data1、Data2表示AD3的值(AD1与AD2不反馈给钻机主控系统),以此类推。第三帧的Data3和Data4表示转速数据,Data5、Data6、Data7分别表示继电器状态和数字1、2的值。
4 测试结果
4.1 通信稳定性测试及结果

      测试时搭建起整个钻机系统,设置PC上位机软件串口为COM1,通信速率为9 600 b/s,无奇偶校验位,8 bit数据位,1 bit停止位。钻机主控系统的CAN收发模块ID设置为0x100,检测系统的CAN收发模块ID设置为0x200,无扩展ID。系统上电,上位机可以顺利地收到检测系统反馈信息后,用串口调试助手和USB-CAN助手截获通信信息进行通信稳定性测试,统计一分钟内串口和CAN的通信次数、丢包数和乱码帧数量,结果如表2所示。

4.2 检测系统功能测试及结果
    测试流程如下:
    (1)通信安全机制测试
    系统运行正常后,将检测系统与PC机之间的串口连接线断开,3 s后检测到系统主板自动复位(软件设置为3 s),证明软件安全机制有效。
    (2)系统应急功能测试
    系统运行正常后,慢慢调高供电电压,当供电电压超过300 V时(程序设置300 V为门限电压),检测板继电器打开,钻机卸荷,证明应急功能有效。
    (3)进行各个模块采集功能测试
    在调试模拟传感器和数字传感器正常后,进行钻机闭环操作模拟。上位机发出一个指令进行“取管”组合动作。
    试验中观察到主控系统首先进行组合动作中的第一个“摆臂”动作。检测系统反馈机械臂到位信号后,钻机主控板自动进行“夹紧机械手”动作。当检测系统反馈“机械手”夹紧信号后,主控系统自动进行“回臂”动作;当检测系统反馈到位信号后,一套组合动作完成。钻机主控系统执行动作时,PC上位机可以实时地反应当前钻机机械臂的状态。系统运行一个小时时,统计操作次数和动作执行情况,如表3所示。

4.3 实验结果分析
    由以上实验结果可以证明:
    (1)检测系统与主板间的CAN通信稳定可靠,与甲板监控系统串口通信稳定,误码率在可接受范围内。
    (2)检测系统可以检测到钻机外部运行环境稳定情况,当发送意外事件时,可以及时地采取应急措施,成功避免因为发生意外事件而对整个钻机系统造成的损害。
    (3)检测系统可以准确、实时地检测钻机运行状态,并反馈给钻机主控系统和甲板监控系统,能辅助钻机主控系统完成组合动作,检测到钻机执行操作过程中的逻辑错误,并能成功避免误操作,这是深海钻机实现闭环控制必不可少的一部分。
参考文献
[1] 金翔龙.二十一纪海洋开发利用与海洋经济发展的展望[J].科学中国人,2006(11):13-17.
[2] 邱良丰.基于复合光缆的深海钻机监控系统的研制[D].杭州:杭州电子科技大学,2010.
[3] 赵钦君,姜斌.基于模型的闭环系统故障检测的一种新方法[J].控制工程,2005,2(12):174-176.
[4] ST Microelectronics.STM32F103xC STM32F103xD STM32F103xE[Z].2008.
[5] 李海波,林辉.线性光耦在电流采样中的应用[J].电源技术,2004,6(1):17-19.

此内容为AET网站原创,未经授权禁止转载。