登錄  |  注冊
english
河北华利机械配件有限公司

基于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總線控制手柄運行良好,完全可以達到預期的功能。

华利膠木手轮