引言
挖掘機的出現使人類從繁重的體力勞動中解脫出來,然而傳統的挖掘機操作復雜,對操作者的技能要求很高。人們一直謀求更省力、更高效率和更能實現精確軌跡的挖掘作業模式。隨著微電子技術的進一步發展,集成電路的集成度和性能提高、價格下降,以微處理器為基礎,實現挖掘機的機電一體化、機器人化、智能化進程,已經成為工程項目施工管理的一個重要研究課題與發展方向。本文以挖掘機器人為例,設計一種基于AVR單片機的挖掘機器人控制系統。
1 總體方案設計
挖掘機器人由挖掘機器人本體機械系統、紅外傳感器組成的傳感器系統、直流電機驅動系統、以AVR單片機為核心的控制系統等四部分組成,其基本結構如圖1所示。
圖1 挖掘機器人的基本結構
挖掘機器人的工作過程主要如下:傳感系統采用紅外線距離傳感器,來實現對周圍環境中障礙物的實時檢測,測量信號送入以AVR單片機為核心的控制系統,單片機根據測量情況在內部進行決策,輸出控制信號通過驅動系統控制伺服電動機,帶動挖掘機器人各個關節運動實現直行、后退、左轉、右轉、自主挖掘等功能。
2 控制系統的硬件設計
本設計以ATMEL公司的ATmega128微控制器為核心,通過紅外線距離傳感器采集外部數據,通過功率驅動帶動電機實現自動控制。傳感器通過后向反饋通道將信息不斷傳遞給微控制器,微控制器通過前向控制通道實時調整小車的行車狀態,從而構成閉環控制系統,如圖2所示。
圖2 挖掘機器人控制系統硬件設計框圖
根據控制系統硬件框圖,結合自身的特點,硬件平臺的設計包括主控制器的設計、傳感器的設計、直流電機驅動電路的設計。
2.1 主控制器的設計
采用ATMEL公司的ATmega128型帶128K字節FLASH的在線可編程8位高性能、高效率的RISC結構單片機作為整個控制系統的核心,完成傳感器的檢測信號采集與伺服電機的運動控制。ATmega128單片機共有64個引腳,單片機資源如下:PortA-PortE、PortG作為一個8位雙向I/O口,PortF作為A/D轉換器的模擬輸入口或一個8位雙向I/O口,RESET是復位輸入引腳,XTAL1、XTAL2是晶振接入引腳,AVCC是是PortF和A/D轉換器的電源端,AREF是A/D轉換器的參考電源,PEN是串行下載的編程使能信號。
2.2傳感器電路的設計
挖掘機器人控制系統采用了紅外發射管D1和一只紅外接收模塊U1構成紅外線距離傳感器系統,其中紅外接收模塊采用韓國Kodenshi公司的KSM-603LM,其內部集成了紅外接收管,前置放大管,限幅放大管,帶通濾波器峰值檢波器,整流電路和輸出放大電路,靈敏度很高,如圖3所示。它的功能是主要用來檢測前方、左側、右側的障礙物。紅外線距離傳感器的測距基本原理為發光管發出紅外光,光敏接收管接收前方物體反射光,據此判斷前方是否有障礙物。根據發射光的強弱可以判斷物體的實際距離,它的原理是接收管接收的光強隨反射物體的距離而變化的,距離近則反射光強,距離遠則反射光弱。
圖3 紅外線傳感器系統原理圖
2.3 直流電機驅動電路的設計
驅動電路的選擇也是非常重要的,通常選用的驅動電路是由晶體管控制繼電器來改變電機的轉向和進退。這種方法適用于大功率電機的驅動,但對于中小功率的電機則極不經濟,因為每個繼電器要消耗20~100mA的電流。還可以使用組合三極管/MOSFET管的方法,但比較麻煩,電路也比較復雜,本設計采用集成電路的驅動方法,極大增強了電路可靠性和簡明性。選用SGS公司的恒壓恒流橋式驅動芯片L293,其內部包含4通道邏輯驅動電路,額定工作電流為1A,最大可達1.5A,Vss為集成芯片工作電壓,電壓最小為4.5V,Vs為輸出給電機的電壓,最大可達36V,Vs電壓必須比Vss電壓高。由L293構成的電機驅動電路如圖4所示。
直流電機轉速采用ATmega128兩路PWM控制輸出電壓,通過編程使占空比以1/16的最小間隔在1/16-14/16間變化,以實現速度的調節。
圖4 L293電機驅動電路
3 控制系統的軟件設計
控制系統軟件與硬件電路緊密結合共同實現對挖掘機器人的控制,基本設計思想是挖掘機器人在動作過程中,由自身的紅外檢測裝置即時從外界采集信號。其中,紅外線距離傳感器分別安裝在傳感器系統的前方、左側、右側。當按下挖掘機器人啟動按鈕時,挖掘機器人進入初始化的狀態,然后挖掘機器人向前行進。當紅外線距離傳感器檢測到前方有障礙物時,將信號傳給控制系統,當控制系統判定前方有障礙物,挖掘機器人做挖掘的動作并且向右旋轉90度,然后繼續前進。反之,挖掘機器人繼續前進;當傳感器檢測到左邊位置有障礙物時,挖掘機器人的機械臂向左旋轉90度后回到初始位置,然后繼續前進,反之挖掘機器人繼續前進;當傳感器檢測到右邊有障礙物,挖掘機器人的機械臂向右旋轉90度后回到初始位置,然后繼續前進,反之挖掘機器人繼續前進。挖掘機器人的運動控制流程圖如圖5所示。
圖3 紅外線傳感器系統原理圖
2.3 直流電機驅動電路的設計
驅動電路的選擇也是非常重要的,通常選用的驅動電路是由晶體管控制繼電器來改變電機的轉向和進退。這種方法適用于大功率電機的驅動,但對于中小功率的電機則極不經濟,因為每個繼電器要消耗20~100mA的電流。還可以使用組合三極管/MOSFET管的方法,但比較麻煩,電路也比較復雜,本設計采用集成電路的驅動方法,極大增強了電路可靠性和簡明性。選用SGS公司的恒壓恒流橋式驅動芯片L293,其內部包含4通道邏輯驅動電路,額定工作電流為1A,最大可達1.5A,Vss為集成芯片工作電壓,電壓最小為4.5V,Vs為輸出給電機的電壓,最大可達36V,Vs電壓必須比Vss電壓高。由L293構成的電機驅動電路如圖4所示。
直流電機轉速采用ATmega128兩路PWM控制輸出電壓,通過編程使占空比以1/16的最小間隔在1/16-14/16間變化,以實現速度的調節。
圖4 L293電機驅動電路
3 控制系統的軟件設計
控制系統軟件與硬件電路緊密結合共同實現對挖掘機器人的控制,基本設計思想是挖掘機器人在動作過程中,由自身的紅外檢測裝置即時從外界采集信號。其中,紅外線距離傳感器分別安裝在傳感器系統的前方、左側、右側。當按下挖掘機器人啟動按鈕時,挖掘機器人進入初始化的狀態,然后挖掘機器人向前行進。當紅外線距離傳感器檢測到前方有障礙物時,將信號傳給控制系統,當控制系統判定前方有障礙物,挖掘機器人做挖掘的動作并且向右旋轉90度,然后繼續前進。反之,挖掘機器人繼續前進;當傳感器檢測到左邊位置有障礙物時,挖掘機器人的機械臂向左旋轉90度后回到初始位置,然后繼續前進,反之挖掘機器人繼續前進;當傳感器檢測到右邊有障礙物,挖掘機器人的機械臂向右旋轉90度后回到初始位置,然后繼續前進,反之挖掘機器人繼續前進。挖掘機器人的運動控制流程圖如圖5所示。