一种用于全海深自主遥控潜水器的推进控制系统和方法与流程

文档序号:20943248发布日期:2020-06-02 19:43阅读:325来源:国知局
一种用于全海深自主遥控潜水器的推进控制系统和方法与流程

本发明涉及水下机器人技术领域,具体地说是一种用于全海深自主遥控潜水器的推进控制系统和方法。



背景技术:

全海深自主遥控潜水器(arv,autonomous&remotelyoperatedvehicle))是一种新型无人潜水器,它综合了遥控水下机器人(rov)和自主水下机器人(auv)的优点,它既可以象auv一样具有大范围水下搜索和探测的能力,又可以像rov一样通过光纤微缆进行实时遥控完成取样作业。工作模式的多样性与快速可切换功能使得arv具有安全、高效、灵活、方便的综合优势。

现有的水下机器人推进控制电路板无法应用于全海深自主遥控潜水器,主要原因有三个:一是无法承受120mpa的油压;二是全海深自主遥控潜水器的推进控制系统需要同时控制6台推进电机、2台舵机以及2台开门电机,而现有的水下机器人推进控制电路板由于单片机资源有限,基本采用串口方式控制电机,因此现有方案无法满足要求;三是现有的推进控制电路板基本采用旋转电位计和a/d采样电路的方法来保存并读取舵机角度,此方法需增加附加电路,且精度受旋转电位计和a/d采样精度影响较大。



技术实现要素:

针对现有技术的不足,本发明提供一种用于全海深自主遥控潜水器的推进控制系统和方法,可承受120mpa油压,同时单片机资源丰富,可满足全海深自主遥控潜水器的控制要求。

本发明为实现上述目的所采用的技术方案是:

一种用于全海深自主遥控潜水器的推进控制系统,包括:

单片机最小系统电路,包括单片机及有源晶振电路、复位电路、单片机供电电路以及jtag程序烧写电路;

can收发电路,包括第一can收发电路和第二can收发电路,所述第一can收发电路一端连接航行控制计算机,接收航行控制计算机发送的can指令,另一端通过第一can端口连接单片机最小系统电路,将can指令发送给单片机最小系统电路;所述第二can收发电路一端与外部驱动器连接,接收外部驱动器反馈的状态信息;另一端通过第二can端口连接单片机最小系统电路,将状态信息发送给单片机最小系统电路;

串口收发电路,通过调试串口连接单片机最小系统电路,作为备用程序烧写端口;

继电器控制电路,一端通过继电器控制端口连接单片机最小系统电路,另一端连接外部驱动器,当与单片机相连继电器控制端输出低电平时,继电器处于导通状态,与外部电机驱动器相连继电器输出端输出+24vdc,从而控制电机驱动器上电。

所述外部电机为推进电机,包括左侧主推电机、右侧主推电机、左侧垂推电机、右侧垂推电机、前侧电机和后侧电机。

所述外部驱动器包括舵机驱动器和开门电机驱动器,所述舵机驱动器包括左侧舵机驱动器和右侧舵机驱动器,所述开门电机驱动器包括左侧开门电机驱动器和右侧开门电机驱动器。

还包括漏水检测电路,通过漏水检测串口连接单片机最小系统电路,当检测到漏水时,漏水检测电路漏水端被拉低,与单片机相连的引脚被拉低,单片机检测到低电平后即发出漏水报警。

所述状态信息包括实时角度、实时电流、实时电压以及电机实时故障信息。

一种用于全海深自主遥控潜水器的推进控制方法,包括以下步骤:

步骤1:初始化,读取eeprom中保存的上次下电前的舵机角度;

步骤2:如果第一can收发电路接收到航行控制计算机发送的can指令,则对该指令进行解析,并执行步骤3,否则直接执行步骤3;

步骤3:如果第二can收发电路接收到控制电机反馈的状态信息,则对该状态信息进行解析,并执行步骤4,否则直接执行步骤4;

步骤4:如果单片机内的定时器进入中断,则执行步骤5,否则返回步骤2;

步骤5:如果进入舵机、开门电机控制周期,则执行步骤6;否则执行步骤7;

步骤6:判断是否接收到航行控制计算机发送的保存舵机角度指令,如果是,则通过第二can收发电路向舵机发送指令,执行舵机停转并将当前舵角保存在eeprom中,并根据航行控制计算机发送的控制指令,分别向2台舵机、2台开门电机发送目标角度指令,同时读取2台舵机、2台开门电机的状态信息;

步骤7:如果进入推进电机控制周期,则分别控制6台推进电机的转速,并读取6台推进电机的状态信息,执行步骤8;否则直接执行步骤8;

步骤8:如果进入状态反馈周期,则向航行控制计算机定时反馈状态信息以及推进舱的漏水信息,返回步骤2。

所述状态信息包括实时角度、实时电流、实时电压以及电机实时故障信息。

本发明具有以下有益效果及优点:

1.本发明所述推进控制电路板采用基于cortex-m4内核的控制芯片,该芯片具有丰富的资源,可以既通过一路can总线与航行控制计算机通信,又通过另一路can总线控制多台推进电机、舵机、开门电机,这样只需要六根连线(ganh、canl、gang)就可以实现对多台电机的控制,同时实现与航行控制计算机的通信,降低了推进控制系统的复杂度。

2.本发明所述推进控制电路板使用单片机的eeprom来保存舵机角度,并在单片机重新上电时读取该数值,用于对舵机的控制。此方法较广泛使用的旋转电位计加a/d采样电路的方法具有电路更简单、精度更高的优点。

附图说明

图1为推进控制系统结构图;

图2为单片机结构图;

图3为串口收发电路图;

图4为can收发电路图;

图5为继电器控制电路图;

图6为漏水检测电路图;

图7为本发明方法流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

为使本发明的上述目的、特征和有点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。

需要说明的是,当元件被称为“设置于”另一个元件,它可能直接在另一个元件上,或也可以存在居中的元件。当一个元件被称为是“连接”另一个元件,它可以直接连接到另一个元件或者可能同时存在居中元件。本文所使用的属于“前”、“后”、“左”、“右”以及类似的标书只是为了说明的目的,并不表示唯一的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

如图1所示为推进控制系统结构图。

本发明在推进控制系统外部分别与2台舵机驱动器、2台开门电机驱动器、6台推进电机、航行控制计算机相连。

其中,推进控制系统与航行控制计算机之间通过can总线进行数据交互,航行控制计算机向推进控制系统发送控制指令,推进控制系统在接收指令后进行解析,变成对舵机、开门电机、推进电机等的控制量。同时推进控制系统将其所控制的舵机、开门电机、推进电机等的状态信息通过can总线反馈给航行控制计算机。

推进控制系统与舵机、开门电机、推进电机之间的通讯通过另外一路can总线完成,一方面推进控制系统将控制量通过can总线发送给舵机、开门电机、推进电机,另一方面舵机、开门电机、推进电机将各自状态信息通过can总线上报给推进控制系统。在系统断电前,推进控制系统将舵机角度记录在eeprom内,并在下次上电时读取该角度。

推进控制系统通过继电器电路控制舵机、开门电机的电源。

推进控制系统通过漏水检测电路检测推进舱内的漏水情况,并上报航行控制计算机。

为实现上述功能,本发明推进控制系统包括单片机最小系统电路、串口收发电路、两路can收发电路、继电器控制电路以及漏水检测电路。

推进控制电路板包括单片机最小系统电路以及与其相连接的串口收发电路、两路can收发电路、继电器控制电路以及漏水检测电路。串口收发电路主要用于对推进控制电路板进行调试。两路can收发电路其中一路与航行控制计算机相连,另一路与2台舵机驱动器、2台开门电机驱动器、6台推进电机相连。继电器电路与2台舵机驱动器、2台开门电机驱动器相连。漏水检测电路与漏水传感器相连。所述推进控制电路板浸泡在油中,能够承受120mpa压力,其上所使用的电子元器件都经过压力测试筛选。

本发明所述的推进控制电路板浸泡在油中,能够承受120mpa压力,其上所使用的电子元器件都经过压力测试筛选;本发明所使用的单片机采用基于cortex-m4内核的控制芯片,具有功能强大、低功耗、资源丰富可扩展能力强等优点,因此可以既使用一路can网络控制电机,又通过另一路can网络与航行控制计算机通信;本发明使用单片机的eeprom实现在推进系统断电前完成对目前舵机角度的记录,再次上电后读取记录,具有电路简单、精度高的优点。

如图2所示为单片机结构图,图2(c)中电源变换电路输出+3.3v、gnd分别与图2(b)中的+3.3v、gnd相连;图2(d)中的有源晶振的供电+3.3v、gnd与图2(c)中的+3.3v、gnd相连,晶振的输出xl1与图2(b)中的92引脚xl1相连;图2(e)的供电+3.3v、gnd与图2(c)中的+3.3v、gnd相连,图2(e)的的tck、tms、tdi、tdo分别与图2(a)中单片机的115~118引脚对应名称引脚相连,图2(e)中的treset引脚与图2(b)中的单片机90引脚相连。

单片机最小系统电路,包括单片机及有源晶振电路、复位电路、单片机供电电路以及jtag程序烧写电路。

图2(a)为单片机端口电路图,本发明选用基于cortex-m4内核的控制芯片-titm4ch123gh6pge,它具有功能强大、低功耗、资源丰富可扩展能力强等优点,能够提供2路独立的can控制端口。

图2(b)为单片机最小系统连接电路图,包括晶振电路连接图、复位电路连接图、供电电路连接图及jtag程序烧写电路连接图。

如图2(c)为单片机供电5v-3.3v变换电路图,单片机控制电压为3.3v,本发明采用tps73633芯片完成5v-3.3v的转换。

如图2(d)为有源晶振电路图,由于本发明应用环境为120mpa强油压环境,因此元器件均为耐压器件,单片机的外接晶振采用sitime有源硅晶振。

如图2(e)为jtag电路图;jtag接口电路用于单片机程序的烧写。

如图3所示为串口收发电路图。图3中adm3251e芯片的8、9引脚u0rx、u0tx分别与图2(a)中单片机的37、38引脚相连。

本发明采用adm3251e完成串口收发电路,该芯片不仅可以完成串口收发功能,还实现了信号的隔离,保证主芯片的安全。

如图4所示为can收发电路图。图4(a)中的can0tx、can0rx分别与图2(a)单片机的135、136引脚相连;图4(b)中的can1tx、can1rx分别与图2(a)中的单片机134、133引脚相连。

本发明与航行控制计算机及控制电机之间的通信均采用can总线通信,图4(a)为与航行控制计算机通信的can收发电路图,而图4(b)为与电机之间通信的can收发电路图,can收发芯片采用zlg的ctm1050t,该芯片使用简单可靠,且可实现信号隔离。

如图5所示为继电器控制电路图。图5中r38对应的on引脚与图2(a)的单片机48引脚相连,图5中的fb/sig与图2(a)中单片机的59引脚相连。

本发明为了实现对舵机及开门电机的上电控制,设计有继电器控制电路。图5(a)为电流驱动电路图,本发明采用uln2003lv,该电路用于增强单片机控制信号驱动能力,以便驱动继电器;图5(b)为继电器控制电路,本发明采用的继电器为自主研发设计的隔离继电器,最大负载驱动电流为10a,控制端采用上拉电阻,当驱动信号低电平时,继电器导通,输出端一端接24vdc,另一端接舵机电源及开门电机电源。

如图6所示为漏水检测电路图。图6中的out与图2(a)中单片机的88引脚相连。

该电路之前已多次应用于多种水下机器人漏水检测中。

如图7所示为本发明的方法流程图。

1)初始化:包括单片机系统初始化和各端口初始化,包括io端口初始化、串口初始化、can端口初始化、eeprom初始化等;

2)通过继电器控制电路控制继电器打开为舵机、开门电机上电;

3)读取eeprom中保存的上次下电前的舵机角度;

4)判断can1是否接收到航行控制计算机发送的can指令,如果有则进行解析,之后进入步骤(5),如没有直接进入步骤(5);

5)判断can2是否有控制电机反馈的状态信息,如果有则进入解析函数进行解析,之后进入步骤(6),如没有直接进入步骤(6);

6)判断是否进入定时器中断。此处为节省单片机系统资源,在主循环中进行判断,当定时器开始进入中断时,才进入步骤(7)进行相应数据处理,否则返回步骤(4);

7)使用单片机的定时器计时,每300ms进入一次舵机、开门电机控制周期,判断是否进入舵机、开门电机控制周期。如果是则执行步骤(8),如没有则执行步骤(12);

8)判断是否接收到航行控制计算机发送的保存舵机角度的指令,如接收到则执行步骤(9),如没有则执行步骤(10);

9)通过can2网络向舵机发送指令,执行舵机停转并将当前舵角保存在eeprom中;

10)根据航行控制计算机发送的控制指令,分别向2台舵机、2台开门电机发送目标角度指令,其中发送给舵机的舵角=航行控制计算机发送目标舵角-eeprom读取舵角;

11)读取2台舵机、2台开门电机的状态信息。包括实时角度、实时电流、实时电压以及实时状态;

12)使用单片机的定时器计时,每100ms进入一次推进电机控制周期,判断是否进入推进电机控制周期,如是则执行步骤(13),如否则执行步骤(15);

13)根据航行控制计算机发送的控制指令,分别向6台推进电机发送目标转速控制指令;

14)分别读取6台推进电机状态信息,包括实时转速、实时电流、实时电压及实时状态信息;

15)使用单片机的定时器计时,每500ms进入一次状态反馈周期,判断是否进入状态反馈周期,如是则执行步骤(16),如否则返回执行步骤(4);

16)向航行控制计算机定时反馈状态信息,包括2台舵机、2台开门电机的的角度、电流、电压、状态;6台推进电机的转速、电流、电压、状态;推进舱的漏水状态信息。返回步骤(4)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1