登录  |  注册
河北华利机械配件有限公司

基于CANI总线的电动搬运车控制手柄设计

2013/7/11 15:43:36

 

  平,尚  伟,孙慧琪

(哈尔滨工业大学控制科学与工程系,哈尔滨1 50001

    摘要:目前大部分电动搬运车的各个控制信号传输都使用独自的信号线,线束复杂且可靠性低。针对这个缺点,该文采用内置CAN控制器的AT90CAN128单片机作为处理器,设计了一种基于CAN总线的控制手柄。该手柄具有运送速度快、升降货物减速缓冲的特性,并且增加了蜗行、紧急反向等保障搬运车安全行驶的功能。文中根据这些功能以及CAN总线的构成特点,制定了相应的通信协议,并对整个控制手柄的软硬件设计进行了详细描述j实验表明,该CAN总线控制手柄具有线束简单、安全性好、可靠性高等优点。

    关键词:电动搬运车;控制手柄;CAN总线:AT90CAN128

    中图分类号:TP336    文献标志码:A

    CAN-控制器局域网是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线最早是为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆、光导纤维,通信速率可达lMb/sCAN总线通信接口中集成了CAN协议的物理层、数据链路层功能,可宪成对通信数据的帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。

    搬运车在集装箱等货物的装卸过程中起到了非常重要的作用,先前的搬运车没有发动机引擎,完全靠人力推动,耗费劳动力且效率低,现如今出现了大量的电动搬运车,节约了大量的人力成本,但是目前市场上的控制手柄功能信号都是通过各自的信号线传输,可靠性差。CAN总线技术已在汽车电子中有了广泛的应用,可靠性高。本文将CAN总线技术应用到电动搬运车上,提出了高安全性、高可靠性的设计方法。本文的设计将所有控制信号通过CAN总线传输,并通过CAN测试卡测试了控制信号数据,连接电机控制器进行调式,并取得了非常好的效果,为工业生产创造了实践基础。

硬件设计

1.1  AT90CAN128ilt概述

    AT90CAN128是基于AVR RISC结构的8位高性能、低功耗CMOS微处理器。它采用了先进的指令集以及单周期指令执行时间,其数据吞吐率高达1MIPS/MHz,其内核具有丰富的指令集和32个通用工作寄存器。所有寄存器都直接与ALU相连接。通过将8RISC CPU与系统内可编程的Flash集成在一个芯片内,为许多嵌入式控制应用提供了灵活而低成本的方案。

    AT90CAN128内置10位精度的逐次逼近型AD转换模块。ADC与一个8通道的模拟多路复用器连接,能对来自端口F8路单端输入电压进行采样。单端电压输入以OV(GND)为基准。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。具有0.5LSB的非线性度,+2LSB的绝对精度,13260ys的转换时间,最高分辨率时采样率高达15kb/s

    AT90CAN128内量完全符合CAN2.OA2.OB标准协议的CAN控制器。采用MOb(消息对象)方式进行数据的发送和接收,共有15MOb,数目从014。每个MOb拥有各自独立的标识符和屏蔽码,8位数据缓冲,11位标识符(2.OA协议),也可扩展至29位(2.OB协议),有发送、接收、自动回复以及帧缓冲接收模式,在8MHz时最大传输速率可达lMb/s。一个MOb处理一个CAN消息帧的所有信息。每个MOb都被安置在一个页(CANPAGE)中来保存,页的序号就是MOb的序号。

1.2控制手柄功能设计

    本文设计的电动搬运车控制手柄能够实现搬运车的前进后退,货物举升降落,货叉前移后移等基本搬运货物的功能,另外还具有蜗行、喇叭、紧急反向等保障搬运车安全行驶的功能。

    前进后退是搬运车在地面上的正常行驶功能:货物举升降落是指将货物抬升的功能:货叉的前移后移是指在货物举升到合适的位置时将货物向前送出的功能:喇叭是在行驶过程中用来提醒前方人员注意:蜗行是指搬运车在快速行驶过程中遇到障碍物等情况需要紧急减速时以一个固定的慢速行驶:紧急反向是指搬运车在行驶过程中碰到障碍物需要紧急停车时的反向缓冲功能。紧急反向是由一个按键开关实观的,当碰到障碍物时,由于惯性这个开关就会顶在操作员的腹部,保障了行驶安全,因此又称肚皮开关。

1.3控制手柄硬件电路组成

    前进后退,举升降落、前移后移的模拟输入量由线性霍尔元件SS495A产生,蜗行、喇叭、紧急反向的数字量信号由按键开关产生,将这些信号输入到AT90CAN128处理器进行处理,并按照所设计的通信协议通过CAN总线与电机控制器通信来驱动相应的电机。

    搬运车的前进后退和货叉的前移后移为模拟量输入,而举升降落可选择为模拟量输入或者数字量输入。此设计可使得同一款控制手柄能够适用于不同类型的搬运车而节省模拟器件的成本,例如托盘车大约只有120mm的举升高度,一般用数字量输入,堆高车大约35m的举升高度,为减轻其承载重物降落时的缓冲,需采用模拟量输入。霍尔元件的差分电压基本上和霍尔元件与磁钢之间的距离成线性关系,并将此信号输入到AT90CAN128AD转换模块进行差分和线性化处理。

1.4通信协议制定

根据上一小节所设计的搬运车的功能信号未定义通信协议中各个字节的作用,如表1所示。   

表中,对于数字量输入信号:1表示按键已按下;0表示按键没有按下。对于模拟量输入信号:正值表示前进、举升、前移;负值表示反向;0表示停止。Bit6Bit7也可以接入霍尔线性开关,所给出的数字信号会根据内部定义的门限在ON/OFF间变化。

软件设计

2.1  输入信号检测处理流程

    考虑到机械安装的误差,为了使线性霍尔元件的机械零点与电气零点相吻合,在程序设计中,每一次上电都自动进行零点搜索,并且根据这一零点来设置一个死区,以取消零点附近的波动。

    在模拟输入的信号处理后一般采用线性输出,根据实际的实验效果,如果举升的重物质量较大,在降落时会产生较大的冲击,因此需要在降落的初始时刻有一个慢速的缓冲,相应的,需要将降落的模拟输入信号在输出时更改为前段变化较缓慢的指数曲线输出。

    举升降落的输入信号可通过跳线进行模拟量或者数字量的选择,数字量输入可采用按键形式,也可采用霍尔线性开芙加一个门限来设置,比较简单。下面以选择模拟量输入为例,介绍系统上电后信号循环检测处理的程序流程,流程图如图3所示。

2.2 CAN控制器初始化

    初始化前将CAN通用控制寄存器最高位置1即置为复位模式。主要的初始化工作包括装载标识符和屏蔽码,设置波特率。完成后,清零回到操作模式。消息标识符定义为OxlEO,采用CAN2.OA协议标准帧发送,波特率为125kb/s,发送间隔周期为15ms。下面给出了CAN控制器的初始化程序:2.3 CAN消息发送

    消息的发送采用直接发送方式实现。首先通过设置CANPAGE寄存器来指定被发送的MOb,将数据装载到CANMSG寄存器中,然后由CANCDMOB寄存器来控制发送动作,将消息发送出去,等待发送成功后,清发送成功标志位。将发送模块添加到15ms的定时中断中就可以周期发送,以实现手柄的控制功能,进而由电机控制器驱动相应的电机。下面给出了发送程序:

3结语

    与其他同类型的单片机相比较,AT90CAN128在数据采集等设计中都有其明显的优势,尤其是内置了CAN控制器,降低了设备成本、简化了硬件结构、提高了通信效率、安全性以及可靠性。软件设计上可通过对MOb的配置,实现消息队列的设定,这种方法更加的灵活、方便。

    该控制手柄增加了蜗行、紧急反向的功能后,使得搬运车运行更加安全高效。货物举升降落的指数曲线缓冲设计减小了对货物的破损,同时也将货物对货叉等各个部件的损伤降到了最低,延长了搬运车的使用寿命。该手柄通过CAN总线与Zapi Spa生产的COMBI AC1电机控制器相连接,实验表明,本文设计的CAN总线控制手柄运行良好,完全可以达到预期的功能。

华利胶木手轮