电子发烧友网 > 工业控制 > 正文

实现水下波动仿生推进器的多电机独立控制设计方案

2020年04月01日 10:10 次阅读

引言

作为一种面向水下航行器的新型仿生推进装置,波动仿生推进器主要模拟依靠身体波动式推进的鱼类的游动方式,以单柔性长鳍的波动推进为基础,利用多背鳍之间的协同控制来产生推力、升力、偏航和俯仰力矩。在机构设计上,一个单柔性长鳍由若干根鳍条组成,通过对这若干根鳍条进行不同的配置,可以实现单柔性长鳍不同的波形。而波形参数(波长、波幅、波频、波传播方向等)的不同将直接影响到单柔性长鳍所产生推力的大小。在研究初期,需要对单柔性长鳍进行灵活控制,以便确定推进效率最优的波形参数。为此,我们设计了一种多电机独立控制方案,即由一个电机控制一根鳍条,通过电机之间的协调来实现对单柔性长鳍的波动控制。

CAN(Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,也是一种串行通讯协议。其卓越的可靠性和传输的高速性,使它能够有效地支持具有很高安全等级的分布式实时控制。CAN总线现在已广泛应用于工业现场控制、智能大厦、环境监控等众多领域,从高速的网络到通用的多路接线都可以使用。在汽车电子行业里,使用CAN总线连接发动机控制单元、传感器、防刹车系统等,其传输速度可达1Mbit/s。波动仿生推进器多电机系统内部通讯总线与汽车内部总线有很多相似的特性,如都处于强机械震荡、强电磁干扰环境等,而且CAN总线在机器人内部通讯系统中的应用已经有了许多成功的先例。因此在波动仿生推进器的内部通讯总线设计中采用CAN 协议。

1 、系统总体结构

水下波动仿生推进器采用分级控制的思路,总体网络结构如图1所示。在岸上,以一台IBM-PC机作为操控平台,实现操纵命令的给定、弹载内部运行状态的监测与可视化管理以及人机界面的功能。它通过RS-232总线连接到仿生推进器内部的主控上位机PC/104上。PC/104是仿生推进器运动控制的核心模块,负责实现除底层电机控制模块以外的所有上层控制算法,包括多电机的波形控制、姿态与深度测量、安全状态监控等。其中,多电机的波形控制是通过PC/104对底层若干个电机控制节点的协调来实现的,通过采用基于CAN现场总线的串行通信协议,保证了通信的可靠性及实时性。

实现水下波动仿生推进器的多电机独立控制设计方案

在本系统中,核心控制部分采用SBS公司的PC/104模块,并通过该公司集成的基于PC/104的CSD-CAN总线控制器与波动仿生推进器内部的各控制节点组成CAN通信网络。在底层各电机控制节点上,采用日本安川公司模块化SGMAH04型交流伺服电机和相应SGDM04ADA型伺服驱动器。该伺服驱动器可通过自带的RS-232串口(CN3)与数字操作器或者PC联接,通过编码器接头(CN2)联接编码器至伺服电机,同时它还提供一个实时I/O端口(CN1)可与运动模块MP910等或其它上级装置联接。向其I/O端口发送脉冲序列可以对电机进行速度和位置控制,向其串口发送命令指令可以获取电机当前的速度和位置信息。这样,我们可以跳过最底层与电机接口部分的软硬件开发,而通过单片机直接对伺服驱动器进行控制。在各个电机控制节点上,研制相应的CAN智能节点以实现与弹载上位机PC/104的通信。

波动仿生推进器中CAN网络必须具备波形控制和状态监控两大功能。对于该多电机系统,各个节点相互独立,通过在PC/104中对这若干个节点进行合理的调配来实现波动仿生推进器的波形控制功能。另外,各CAN节点实时监测本控制节点对应电机的工作状态,并将其返回给上位机;同时,各CAN节点定时监测节点本身的工作状态,利用CAN总线协议强大的错误处理功能对各种可能出现的错误进行分析处理。

2、 CAN网络的硬件方案

由图1可知,各个CAN节点直接挂接于同一个CAN网络。它们的软硬件组成结构完全一致,硬件组成框图见图2。

实现水下波动仿生推进器的多电机独立控制设计方案

系统中的各CAN节点采用的都是智能节点,即都由微控制器和可编程的CAN控制芯片组成。从图2可以看出,各CAN节点电路主要由微控制器AT89C51、独立CAN控制器SJA1000、CAN收发器82C250、高速光耦6N137、拨码开关地址输入电路、电源监测与看门狗电路以及面向伺服电机的部分电路组成。

由于采用了模块化的伺服电机驱动器,各控制节点只需实现简单的伺服控制功能,故采用Atmel公司的8位单片机AT89C51作为微控制器。CAN控制芯片完成CAN的通信协议,主要由实现CAN总线协议的部分与实现与微控制器接口部分的电路组成,这里采用的是PHILIPS公司的SJA1000。它是一种独立CAN控制器,具有BasicCAN和PeliCAN两种工作模式,其中PeliCAN模式支持具有很多新特性的CAN2.0B协议。82C250是高性能的CAN总线收发器,是CAN协议控制器和物理总线的接口,它对总线提供差动发送能力,对CAN控制器提供差动接收能力。通过对82C250的8号管脚的不同设置,可使其工作于高速、待机、斜率等三种模式。

拨码开关地址输入电路用于对各个CAN节点的标识。上电后,单片机首先读取拨码开关的数值,并在CAN初始化中将其写入SJA1000的接收代码寄存器,作为该节点的标识码。电源监测与看门狗电路采用的是MAX813,它在系统上电时刻提供上电复位功能,在程序运行时提供看门狗监测和电源监测功能,并能够实现手动复位。

为进一步提高CAN总线的可靠性,在系统设计中采取了一系列的抗干扰措施。一方面将SJA1000与82C250通过高速光耦6N137相连,从而实现了CAN总线上各CAN节点的电气隔离。另一方面,在82C250与CAN物理总线的接口部分也采用一定的安全和抗干扰措施。比如,82C250 的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,可起到一定的限流作用,保护82C250免受过流的冲击;CANH和CANL与地之间分别并联一个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力;CANH和CANL与地之间分别反接了一个保护二极管,这样,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。

另外,为了保护各CAN节点控制端不受电机端的影响,在单片机与电机接口处均采用了基于6N137的光电隔离方案。这样,当伺服电机端有大电压电流产生时,由于光耦的保护作用,不会对控制端产生较大影响。

在应用光电隔离方案时要注意的一个重要问题是要必须确保光耦两端的两个电源完全隔离,否则光电隔离将起不到其应有的保护作用。在本系统中,通过采用广州金升阳公司的小功率电源隔离模块B0505S-1W很好地实现了各电源之间的完全隔离。

3、 CAN网络的软件设计

CAN网络的软件主要包括三部分:初始化设计、通信设计、电机协调控制设计。下面从CAN控制节点的角度对它们进行说明。

3.1 初始化设计

CAN网络的初始化包括对微控制器内部资源的初始化和CAN控制器SJA1000的初始化。微控制器的内部资源包括程序中使用的各控制变量、定时器、外部中断、串口等,需要在程序进入正常工作前对它们进行合理的设置。这里重点对SJA1000的初始化进行说明。

SJA1000的初始化只能在复位模式下进行。其主要内容包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率参数的设置、中断允许寄存器的设置等等。在完成SJA1000的初始化设置之后,应使SJA1000回到工作模式,进行正常的通信任务。图3是SJA1000的初始化流程图。需要特别引起注意的是,在同一个CAN网络中,各个CAN节点必须设置成相同的波特率,否则无法进行CAN通信。

实现水下波动仿生推进器的多电机独立控制设计方案

3.2 通信设计

CAN网络能否正常工作很大程度上取决于基于CAN总线的发送和接收程序能否正确设计。跟大多数的通信过程一样,CAN的发送和接收也分为查询和中断两种方式。在本系统中,发送采用查询方式,接收采用中断方式。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000的发送缓存区中,然后启动SJA1000发送即可。其间需要对CAN总线的发送缓存区状态进行判断。发送流程如图4。

在PeliCAN模式中,SJA1000有8个不同的中断,接收中断是其中的一个。一旦CAN产生中断,SJA1000就将中断输出设为低电平,直到主控制器通过读SJA1000的中断寄存器对中断采取相应措施,或释放接收缓存器后产生接收中断。在主控制器完成该动作后,SJA1000将输出中断跳到高电平。处理中断请求的握手信号或两个中断之间的高电平脉冲要求主控制器的中断由电平触发。中断接收的流程如图5所示。相比发送子程序而言,它除了进行单纯的数据帧接收之外,还要对中断运行寄存器中允许引起中断的各种错误(比如总线脱落、错误报警、接收溢出等)进行判断并作相应处理。在波动仿生推进器的应用里,设置了接收中断和数据溢出中断,并在主程序里定时检测总线状态,如果发现总线脱离,则对SJA1000进行复位处理。

3.3 电机协调控制设计

实现水下波动仿生推进器的多电机独立控制设计方案

波动仿生推进器单柔性长鳍的波动控制要求其多电机系统按照设定的波动参数带动多个鳍条形成相应的波形。由于采用了高性能的伺服电机及驱动器,我们可以很精确的控制电机的运行速度,故在形成了各电机之间按设定波长要求的相位差之后,只要保持各个电机之间速度的严格同步,就可以实现多个电机之间的协调运转。为此,需要在各个电机控制节点里预先设置一些相关的控制原语,如电机原点定位、相位调整、速度设定、方向设定以及停机等基本电机控制指令。主控模块PC/104通过对这些控制原语的合理调用,便可实现各种类型的波形。

另一种更合理可靠的方法是,各电机控制节点采集伺服电机上增量编码器的角度脉冲信号,经过解析将角度数字信号送往PC/104。在每个控制周期内,PC/104对这些角度信号进行综合处理,通过一定的协调机制来实时修改对电机的控制量。由于CAN总线在一定条件下其最高通信速率可达1Mbps,通过设定适当的控制周期,可以满足本系统的需要。

4、 结论

本文设计的CAN总线系统在波动仿生推进器的波动控制中得到了成功应用。与基于RS-232总线的控制系统相比,本系统在通信的可靠性和快速性上体现出了较大优势。在通信速率为250Kbps以及13个底层节点的情况下,通过实际反复的静水和航行试验表明其通信效果完全可以满足系统的需要,同时该CAN总线系统也具备良好的波形控制和状态监测功能。

本文作者创新点:基于CAN总线技术设计了新型的波动仿生推进器控制系统,给出了详细的软硬件设计方案,并对多个电机的协调控制作了相应分析。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

CAN-bus的基本原理、主要特性及在门禁系统中...

CAN-bus(ControllerAreaNetwork)即控制器局域网,是国际上应用最广泛的现场....
发表于 2020-04-01 09:49 19次阅读
CAN-bus的基本原理、主要特性及在门禁系统中...

基于CANopen协议在车载设备中的应用研究

在现代战争中,随着武器装备系统的机动化、自动化和信息化程度的不断提高,军用车辆上的车载设备也不断增多....
发表于 2020-04-01 09:14 14次阅读
基于CANopen协议在车载设备中的应用研究

用于便携式的12位4mA至20mA过程控制器

4mA至20mA过程控制器具有3.3V最小环路电压LTC1453,完整的单电源,轨到轨电压输出12位DAC...
发表于 2020-04-01 06:22 20次阅读
用于便携式的12位4mA至20mA过程控制器

请问行走控制器怎么接a1a2d1d2?

请问美国科蒂思的行走控制器怎么接a1a2d1d2.讲解一下谢谢...
发表于 2020-03-31 22:14 5次阅读
请问行走控制器怎么接a1a2d1d2?

电机行业的漆包线制作工艺流程及技术规格

用于电气设备的绕组线通常称为磁线,简单地换句话说,“磁线是用来交换电能和磁能的”。
发表于 2020-03-31 20:46 228次阅读
电机行业的漆包线制作工艺流程及技术规格

减速电机是什么?

减速电机是指减速机和电机(马达)的集成体。这种集成体通常也可称为齿轮马达或齿轮电机。...
发表于 2020-03-31 09:02 42次阅读
减速电机是什么?

stm32CAN通信差分电平,高低信号引脚之间没有电压差

当一个stm32发送CAN帧的时候,它的另一边没有连入另一个stm32时,它的高低信号引脚之间有电压差。但是当我将另一个...
发表于 2020-03-31 00:38 14次阅读
stm32CAN通信差分电平,高低信号引脚之间没有电压差

一种新型反凸极永磁同步电机的弱磁特性分析

永磁同步电机(Permanent Magnet Synchronous Motor, PMSM)具有....
发表于 2020-03-30 16:50 127次阅读
一种新型反凸极永磁同步电机的弱磁特性分析

明基Zowie XL2746S电竞显示器,两侧拥...

值得一提的是Zowie XL2746S在显示器左右两侧还拥有两个“盾牌”,能让玩家屏蔽掉显示器背后的....
发表于 2020-03-30 16:41 153次阅读
明基Zowie XL2746S电竞显示器,两侧拥...

针对奥迪e-tron的电控部分进行详细讲解

奥迪e-tron的动力总成分为前驱和后驱,前驱功率:125KW,后驱功率140KW,这个在视频中有标....
发表于 2020-03-30 14:37 119次阅读
针对奥迪e-tron的电控部分进行详细讲解

电动汽车的控制器和整车控制器的功能分析

较好的汽车电动机控制器(MCU)将微电子器件和功率器件集成到同一芯片上,变成了功率集成电路(PIC)....
发表于 2020-03-30 10:25 130次阅读
电动汽车的控制器和整车控制器的功能分析

采用netTAP系列通用网关实现现场总线从站到串...

智能控制仪表是工业控制中最常用的控制器之一,其主要是针对某一特定的参数(如压力、温度、流量等),采用....
发表于 2020-03-30 10:14 765次阅读
采用netTAP系列通用网关实现现场总线从站到串...

你所知道的DCS系统都有哪些,它有哪些作用?

首先什么是dcs系统?DCS是分散控制系统(Distributed Control System)的....
发表于 2020-03-30 10:13 81次阅读
你所知道的DCS系统都有哪些,它有哪些作用?

由CAN-bus网络和以太网构建远程监控/数据传...

CAN(Controller Area Network——控制器局域网)是一种由CAN控制器组成的高....
发表于 2020-03-30 09:55 67次阅读
由CAN-bus网络和以太网构建远程监控/数据传...

软启动器的使用场合

第四从整套配用投入来说能用软启动器的最好用软启动器控制,不适宜用软启动器的再采用变频控制,这样通过用....
发表于 2020-03-30 09:34 34次阅读
软启动器的使用场合

运用CAN232B转换器实现RS232/CAN网...

由于RS232通讯距离短(根据EAT/TAI-232标准,仅为15米),而且,只能进行点到点通讯,不....
发表于 2020-03-30 09:33 62次阅读
运用CAN232B转换器实现RS232/CAN网...

artix-7的SD卡怎么处理?

大家好, 我目前正在开发一个项目,其中包含一个将输入视频流写入asd卡的组件。 我希望有人能指出我实施解决方案的方...
发表于 2020-03-30 06:31 15次阅读
artix-7的SD卡怎么处理?

电动汽车双电机的原因是什么

电动汽车续航的重要性我也不用多说了,续航短了不仅大家不会买,同时国家的补贴也更少,所以各大厂商都在拼....
发表于 2020-03-29 17:10 215次阅读
电动汽车双电机的原因是什么

CAN总线标准及它是如何解决多点竞争的问题

嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对....
发表于 2020-03-29 11:14 203次阅读
CAN总线标准及它是如何解决多点竞争的问题

新松机器人的轴孔装配工业机器人系统专利

集微网消息,数控加工在制造业已被广泛应用,随着加工零件的复杂度增加和精度的提高,一些精细零件的加工与....
发表于 2020-03-28 16:14 353次阅读
新松机器人的轴孔装配工业机器人系统专利

请教PWM控制泵运行问题

用PWM控制10个泵进行周期运行(运行10min,暂停2min),每一路有LED运行指示。 电源供电采用外部12V输入,3.3V...
发表于 2020-03-28 14:57 315次阅读
请教PWM控制泵运行问题

可编程控制器的结构组成以及工作原理

可编程逻辑控制器,其英文全称为Programmable Logic Controller,简称PLC....
发表于 2020-03-28 14:52 106次阅读
可编程控制器的结构组成以及工作原理

微软研究院展示类似拐杖的VR控制器

为帮助身体障碍人士享受科技带来的乐趣,微软研究院已经开发出多种解决方案,比如本文要为大家介绍的类似拐....
发表于 2020-03-28 14:15 434次阅读
微软研究院展示类似拐杖的VR控制器

中小型电机行业景气度上升,未来下游需求依然很旺盛

电机是工业领域的动力之源。通过电和磁的相互作用,实现电能和动能之间的相互转换。狭义的电机主要是指电动....
发表于 2020-03-27 17:17 457次阅读
中小型电机行业景气度上升,未来下游需求依然很旺盛

CAN协议和CAN驱动区别?

[table] [tr][td] CAN驱动就是底层协议 原理都一样 CAN协议是每家主机厂定义,可以不同 是不是这样理解...
发表于 2020-03-27 16:10 130次阅读
CAN协议和CAN驱动区别?

可编程控制器的结构组成以及原理分析

可编程逻辑控制器,其英文全称为Programmable Logic Controller,简称PLC....
发表于 2020-03-27 14:12 75次阅读
可编程控制器的结构组成以及原理分析

LonWorks现场总线的特点及在应用中的两种通...

本文介绍了利用LonWorks现场总线代替原有的现场工业控制总线。利用LonWorks底层的显形报文....
发表于 2020-03-27 10:36 66次阅读
LonWorks现场总线的特点及在应用中的两种通...

关于MCC Lin驱动程序库V2.3的问题

MCC LIN LIABARARY V2.3修正了2.2.2i在PIC16F1718上在LIN驱动程序V2.3上的中断字段检测失败,...
发表于 2020-03-27 10:30 30次阅读
关于MCC Lin驱动程序库V2.3的问题

编程DDR内存控制器

在Xilinx TRM中,他们已经提供了这个示例程序......这是实际的写入方式还是仅供参考......如果有人知道他的请告诉...
发表于 2020-03-27 09:56 24次阅读
编程DDR内存控制器

基于CAN智能模块和网络服务器实现DNC集成制造...

过去的十几年中,人们在对自动化机械加工车间的研究中,将大量的精力投向FMS(Flexible Man....
发表于 2020-03-27 09:54 60次阅读
基于CAN智能模块和网络服务器实现DNC集成制造...

应用CAN总线为烟气脱硫工艺设计微机监控系统

锅炉烟气经除尘后,温度约为150℃,然后经热交换器将其送入湿式反应器系统,气相的SO2在有NH3存在....
发表于 2020-03-27 09:43 71次阅读
应用CAN总线为烟气脱硫工艺设计微机监控系统

采用CAN总线实现宝莱车驱动系统的设计应用

随着人们对汽车动力性、操纵稳定性、安全性和舒适性的不断追求,现代汽车上安装了很多电子控制设备、电子部....
发表于 2020-03-27 09:37 62次阅读
采用CAN总线实现宝莱车驱动系统的设计应用

采用现场总线技术的NETWORK-6000+控制...

NETWORK-6000+分散控制系统,其分散处理单元(DPU)T940X的CPU采用Pentium....
发表于 2020-03-27 09:29 56次阅读
采用现场总线技术的NETWORK-6000+控制...

c8051f060内置CAN通信程序为什么能将消息对象清0?

void clear_msg_objects(void) {      char old_sfrpage=SFRPAGE;    &nbs...
发表于 2020-03-27 00:40 24次阅读
c8051f060内置CAN通信程序为什么能将消息对象清0?

SD6863典型应用电路图

SD6863是杭州士兰微电子出品的一款用于开关电源的内置高压MOSFET电流模式PWM+PFM控制器....
发表于 2020-03-26 16:19 125次阅读
SD6863典型应用电路图

如何降低电机的EMI干扰提高系统的EMC性能

电磁兼容性(EMC)是监控和减少不需要的EMI的实践。根据系统的用途以及使用或销售的国家/地区,通常....
发表于 2020-03-26 15:56 135次阅读
如何降低电机的EMI干扰提高系统的EMC性能

日本推出兼容5G移动网络的Wi-Fi路由器,支持...

Speed Wi-Fi 5G X01可同时支持“Sub6”和“毫米波”两种主流的5G信号频段,也避免....
发表于 2020-03-26 15:27 532次阅读
日本推出兼容5G移动网络的Wi-Fi路由器,支持...

意法半导体推出USB-C控制器IC产品系列产品,...

中国,2020年3月25日——STUSB4500L是意法半导体USB-C控制器IC产品系列新推出的一....
发表于 2020-03-26 13:46 976次阅读
意法半导体推出USB-C控制器IC产品系列产品,...

可编程逻辑控制器的主要系统模块及其功能介绍

数十年以来,可编程逻辑控制器(PLC)始终是工厂自动化和工业过程控制有机组成的一部分。
发表于 2020-03-26 11:47 110次阅读
可编程逻辑控制器的主要系统模块及其功能介绍

使用WAGO总线和世纪星组态软件实现污水处理监控...

大型污水处理厂各个反应池之间距离较远,而工程师要及时了解各个环节的电机运行情况和阀门的开关情况、处理....
发表于 2020-03-26 09:58 77次阅读
使用WAGO总线和世纪星组态软件实现污水处理监控...

投石科技室内模拟阳光装置

阳光作为自然元素的一种,满足人内心亲近自然的基本心理需求,缓解紧张、压抑情绪,获得温暖、安全感。 欧....
发表于 2020-03-26 09:42 47次阅读
投石科技室内模拟阳光装置

电子标签在煤矿井下人员监控定位中的应用

目前,煤矿井下普遍存在入井人员管理困难,管理人员难以及时掌握井下人员的动态分布及作业情况,一旦事故发....
发表于 2020-03-25 09:28 179次阅读
电子标签在煤矿井下人员监控定位中的应用