CAN总线在波动仿生推进器中的应用

发布者:电子设计探索者最新更新时间:2012-06-19 来源: 中国传动网 关键字:波动仿生推进器  波动控制  CAN总线  多电机系统  协调控制 手机看文章 扫描二维码
随时随地手机看文章

0 引言

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

  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。[page]

  系统中的各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。[page]

  在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总线技术设计了新型的波动仿生推进器控制系统,给出了详细的软硬件设计方案,并对多个电机的协调控制作了相应分析。

参考文献

  [1] 邬宽明.CAN总线原理和应用系统设计.北京:北京航空航天大学出版社,1996

  [2] 罗丁,刘建辉,张全贵.基于CAN总线的嵌入式监控系统中智能节点研究.微计算机信息, 2004, 20(7):78 - 79

  [3] 邹继军,饶运涛.基于SJA1000的CAN总线系统智能节点设计.单片机与嵌入式系统应用,2001(12):26 - 31

  [4] 林龙信,张代兵,等.基于RS-232总线的多电机波形控制研究.第24届中国控制会议论文集,2005

  [5] PHILIPS SJA1000 stand-alone CAN controller product specification, 2000 Jan 04

关键字:波动仿生推进器  波动控制  CAN总线  多电机系统  协调控制 引用地址:CAN总线在波动仿生推进器中的应用

上一篇:LIN及其在发动机风扇控制中的应用
下一篇:现场总线在石化企业中的应用

推荐阅读最新更新时间:2024-05-02 22:08

CAN总线名词术语解释
1、驱动线束: CAN驱动数据总线的另一种叫法。 2、CAN舒适数据总线: VW将CAN舒适数据总线称为“低速数据总线”。现在使用的CAN舒适数据总线的传输速率为100kBit/s,其显著特点是:在一条CAN-导线短路或断路时仍可工作(单线模式)以及可以进入节电的“休眠模式”。CAN舒适数据总线用于控制中央门锁、玻璃升降器等。 3、CAN Infotainment数据总线: 在电气方面与CAN舒适数据总线是相同的,但它用于控制收音机、电话、导航系统等。 4、CAN-High: CAN信号导线,其电压在显性状态时较高。例如对于CAN驱动数据总线来说:隐性状态电压为2.5V,显性状态电压为3.5V. 5、CAN-Low: CAN信号导线
[嵌入式]
基于CAN总线和MSP430的CO红外检测系统设计
   1 引言   一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。   目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围
[工业控制]
浅谈CAN总线在风力发电中的重要性
1  引言   CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。    2  系统结构与功能   本文基于分散控制系统理念,针对双馈型变速恒频风力发电
[嵌入式]
一种CAN总线—PROFIBUS-DP总线网关的实现方法
1  引言 在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术垄断范围。但每种现场总线都以一个或几个大型跨国公司为背景,公司的利益与总线的发展息息相关。这些公司竞争的结果是多种总线协调共存。据不完全统计,目前国际上有200多种现场总线,而其中占据市场主流的现场总线有十几种 。现场总线的多样性,为总线设备用户提供了更多产品选择的同时,也为总线用户带了总线设备间兼容性问题。工厂在扩建,改建等过程中很可能会选用与原先现场设备总线标准不同的产品,这些设备由于使用不同的现场总线,彼此间不能实现数据共享,于是就降低了设备间功能互补的优点。
[嵌入式]
基于CAN总线的模块化独立光伏发电控制系统
引言     随着能源日益紧缺和环保压力不断增大,光伏发电技术以其资源丰富、清洁环保、受地域限制小等优点,越来越受到人们的重视。根据对现有光伏发电系统的调查分析,储能蓄电池的使用寿命是导致系统故障和失效的重要因素之一。传统的独立光伏发电系统一般采用单个充电控制器控制太阳能电池板对蓄电池进行充电。该方法基本能够满足小容量蓄电池的要求,但不能胜任大容量蓄电池或蓄电池组。大容量的蓄电池或蓄电池组充电时需要的充电电流较大,充电过程中充电控制器投入/切出充电频繁,对蓄电池冲击较大,易损坏蓄电池。当前,大容量蓄电池和蓄电池组正被逐渐广泛使用,因此,需要更加有效、可靠的充电控制方案。CAN总线有组态灵活、结构简单、可靠性高、通信速度快等特点
[嵌入式]
基于MCS-51单片机和CAN总线控制器实现总线节点的设计
CAN(Controller Area Network)即控制器局域网络。由于其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场总线控制等领域。在CAN总线的节点设计中,目前应用较多的是通过单片机的控制来实现。有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。对于目前应用最为普及、价格也很便宜的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。下面就给出一种基于MCS-51单片机和SJA1000的CAN总线节点设计方法。 1、 CAN总线简介 CAN
[单片机]
基于MCS-51单片机和<font color='red'>CAN总线</font><font color='red'>控制</font>器实现总线节点的设计
CAN总线活动讲座一:写在CAN总线开发板助学之前
大家好:      很感谢cepark以及wangjin给我们这个舞台来共同学习CAN总线。如今的电子技术日新月异,技术种类和方案层出不穷,需要电子工程师掌握的东西越来越多,你是否有点迷惑呢?在我们的“演出”正式开始之前,我想带大家简要回顾或是总结一下现在的这个领域。      电子这个领域其实很广阔,涉及的东西很多,而且我自己的能力也有限,不可能一言盖尽,所以就凭自己的粗浅认识来谈一谈,欢迎大家讨论。仅从应用角度讲,电子偏工程,所以诸如电子系、自动控制、测控、导航、机械等与电子密切相关的专业最后都被授予工学学位,与理学学位不一样。这就表示着这一大类学生的培养目标是直接面对社会工程应用领域,所以学习的课程很多也都是重工程,比如数电,
[嵌入式]
ARM嵌入式开发系统CAN总线
  随着集成电路和嵌入式电脑在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念——汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线,因此称为CAN总线。CAN总线被设计作为汽车环境中的微
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved