夏天+++楊斌
摘 要:針對智能搬運車的控制問題,提出了采用STM32F103控制器構建控制系統的方法,應用于智能搬運車的尋跡及運動控制。首先進行了智能搬運車的總體控制方案設計;然后設計了STM32最小系統、機械手控制、舵機控制和驅動電機的速度控制算法;最后進行了系統整體調試。實驗表明,該控制系統實現了智能搬運車的全向運動、精確定位和智能避障。
關鍵詞:全向移動平臺;智能控制;STM32F103
1 概述
1980年代初期,為了提升公司生產的效率,美國一家生產公司從其他地方學習了智能搬運車的關鍵技術,在此技術上又做進一步的改進,整體提升了智能搬運車的實用性及穩定性[1]。此后,許多的公司都進行了研究與創新,智能搬運車技術有了長足發展。比較典型的例子包括:瑞典的一家制造企業開發了激光智能尋線車,利用激光引導小車尋線;荷蘭發明了以磁體技術導引的智能尋線車[2]。隨著網絡技術和信息技術的高速發展,智能搬運車充分利用了網絡資源、電子技術、傳感技術等一系列新技術的優勢,大大提高了運動控制、智能尋跡和精確定位的性能,使得智能搬運車的應用越來越廣泛,比如汽車、餐飲、航天、醫院、工廠、農業等[3]。隨著智能搬運車應用領域越來越廣泛,推進了該技術不斷地完善與發展。本文提出了采用STM32F103控制器構建控制系統的方法,采用白光傳感器實現自動尋跡,超聲波傳感器對移動方向的障礙進行檢測,對障礙的位置進行判斷從而選擇最優的路線移動;設計了STM32F103主控電路、超聲波處理電路、電機驅動電路、舵機控制電路和機械手控制電路,實現了搬運車全向運動、精確定位和智能避障。
2 總體方案設計
智能搬運車共有STM32F103微控處理器、電機驅動、機械手、尋跡模塊、避障模塊、電源模塊和穩壓模塊等七個部分組成。智能搬運車控制系統以微控制器為核心,接收外圍傳感器的信號,經過相關算法的分析、判斷,輸出控制信號到電機驅動模塊,實現智能搬運車的運動控制;輸出控制信號到機械手控制模塊,實現抓取物體和放下的操作。在運動控制中,一方面要實現智能車的精確定位,另一方面要實現智能避障控制。在抓取與放下控制中,要實現精確定位和機械手的柔性控制。
2.1 搬運車尋線方案
智能搬運車有多種尋線方式,比如紅外傳感器尋跡、白光傳感器尋跡、電磁感應尋跡和激光導引等,電磁感應需要龐大的運行軌道,激光導引需要大量的計算和嚴格位置要求,根據用戶需要,本設計選擇白光傳感器尋線[4]。
該傳感器把發射裝置和接收裝置作為一體,這樣減少了安裝時不必要的誤差。接收裝置檢測被反射回來的光強的大小,傳感器上面的轉換芯片把模擬量轉換為數字量上傳到主控芯片。提前預設好的軌道為白線軌道,把白光傳感器安裝在智能搬運車的前端,從左到右分別標記為1-15號傳感器。若7號傳感器感應到白線,智能搬運車將會跟著白線直走;若1-6號傳感器感應到白線,說明智能搬運車發生偏離并且是左邊車輪靠近白線。此時控制器會接收到白光傳感器微控芯片傳來的八位二進制信號,將會立即調整左右電機的速度使其產生速度偏差,讓右電機速度大于左電機速度,從而使智能搬運車發生左轉彎,實現智能搬運車對其行駛方向的矯正。同理,若此時8-15號傳感器感應到白線,智能搬運車放生偏離并且車身發生右偏,控制器會調整左右電機速度,讓左電機的速度高于右電機的轉速,從而使智能搬運車發生右轉彎。
2.2 機械手控制方案
本設計的智能搬運車車身采用四輪模型車,車身重量比較輕,為了整個設計安全性,采用簡單的機械手設計。就是通過STMF103微控制器產生PWM方波,通過控制舵機的轉動,讓機械手可以抓取貨物和放下物體。整個機械手使用兩個舵機,兩個舵機相互配合完成操作,一個舵機控制角度的轉向,另一個舵機控制物品的抓取與放下。
2.3 電源方案
在智能搬運車的控制中,需要較大的輸出電流和電壓,選用四塊基于LM2596來提供穩定的電壓。該穩壓模塊能夠輸出3A的驅動電流,而且該模塊對電源的高頻率的干擾具有抗干擾的能力,減少對設計的影響。在輸入電壓最高為40V的情況下,它可以調節出最高為37V的各種電壓。該器件內部集成頻率補償和固定頻率放生器,LM2596的內部振蕩頻率為150KHz,具有功耗小,效率高的特性。相對于低頻開關,它的濾波元件規模更小,該電壓調節器添加幾個外部元件就可以使用,通常該模塊只需要四個外接元件,它可以使用通用的標準電感,這使開關電源電路的設計非常的簡單,但是又具有自我保護的功能。
2.4 避障方案
避障傳感器采用E18-D80NK,是一種紅外傳感器,這種紅外傳感器是集接受和發射于一體,該傳感器擁有較遠的探測距離,可以不受可見光干擾,而且操作起來比較方便。該紅外傳感器對黑色綠色等比較敏感,對白色紅色不敏感,而且在粗糙的面比光滑的面效果更好,紅外傳感器的實質并不是通過檢測顏色來判斷,而是通過檢測紅外對光的反射或吸收量與周圍材料相比的不同而實現檢測的。
3 硬件系統設計
智能搬運車控制系統包括控制器最小系統、電機驅動電路、穩壓電路、機械手系統等。
主控芯片采用STM32F103,是STM32系列單片機的一種,符合AMR公司Cortex-M3內核標準。它的最高工作頻率為72MHz,是一款性能非常高的產品,STM32微處理器的工作電壓為3.3V,在工作時能耗非常低。自帶電源監控,看門狗定時器,復位電路檢測,擁有非常精確的振蕩電路,該振蕩電路頻率為8MHz,可以作為時鐘源使用[5]。
電機驅動電路選用BTS7970芯片,BTS7970可結合其他的BTS7970形成全橋和三相驅動結構。每一個芯片有7個引腳,IN是一個輸入引腳,它決定著高低電位的開啟,當設置為低電平的時候,INH會控制進入休眠狀態。SR引腳為速率轉化,其速率的調節為SR和地線之間的電阻R5控制。OUT1、OUT2兩個輸出接口連接左電機的兩個控制端。同理,OUT3、OUT4接右電機的兩個控制端。Vs可接邏輯電平信號,這里直接連接12V邏輯電壓。
電源通過LM2596芯片實現DC-DC變換,經過一系列變換,整合電流,過濾掉雜波以后生成直流電。它可以自己進行調節電壓,并且能夠達到穩定電壓的效果。LM2596穩壓最高可以輸入40V電壓,選擇接入一個12V的輸入電壓,開關電源經過降電壓,濾波以后輸出一個電壓為5V的穩定電壓。
機械手的動作靠舵機控制,STM32的定時器輸出兩路PWM波控制相對應的舵機來工作,每一路PWM控制一個舵機。每一個PWM波的周期是二十毫秒,通過在占空比百分之五到百分之十之間調節來控制舵機的轉向。上電以后,舵機輸出一個0.5ms-2.5ms的高電平脈沖,舵機也會轉動相對應的角度,舵機的轉動角度為0度到180度,LD-2015在斷電的時候可以手動轉動360度。兩個舵機組成的機械手結構,通過調節每一個關節處舵機轉動的角度即可實現機械手在兩維度間的動作,同時實現一定限度的機械手的升降。
4 軟件系統設計
編程軟件選擇Keil uVision4,對STM32F103芯片進行C語言程序編寫,采用的是STM32F103標準的庫函數編寫。包括主程序、巡線子程序、PWM產生子程序、避障子程序等。
程序初始化以后,智能搬運車首先通過STM32微控制器控制機械手搬運物品,然后智能搬運車會利用尋線模塊進行尋線。尋線傳感器會根據白線所在位置進行位置的調整,最終經過不斷地位置調整,智能搬運車可以尋著白線向正確方向前進。當到達位置時,機械手放下物體,即為完成工作。
尋線程序是設計的重點,當白光傳感器檢測白線并發送信號,判斷智能搬運車是否發生跑偏現象。如果沒有檢測到偏離白線,智能搬運車會沿著預設好的軌跡直行。如果小車發生向左偏離,小車會自動向右轉,并且不斷地判斷小車是否還偏離,直到小車不發生偏離;同理,若果小車發生右偏移的,它也能夠向左轉調整方向,直到小車可以沿著軌跡直走為止。
通過改變PWM波的脈沖寬度,來改變舵機的轉軸角度,STM32微控制器通過數字輸出對模擬電路來進行調節,通過調節脈沖的寬度來達到整體的控制。STM32F103一共有八個定時器,而一般通用的定時器如TIM2,3,4,5都可以產生四路的PWM,但是TIM6和TIM7不能產生PWM方波。
5 結束語
本文設計的控制系統實現了智能搬運車的自動尋跡、自動避障、物體精確的抓取和放置等功能,制作出了智能車模型,通過實驗和測試,結果表明達到了預期的設計目標,具有很好的推廣應用價值。
參考文獻
[1]梁僑,趙宏才,趙曉杰,等.自動避障避險小車的研究[J].遼寧科技學院學報,2015,02:4-6.
[2]王秀星.電子商務環境下智能倉儲系統的應用[J].信息技術與信息化,2015,04:73-74.
[3]黃麗莉,張智勇.物聯網技術在物流倉儲管理體系中的應用[J].中國集體經濟,2012,31:67-69.
[4]高云華.基于AT89S52的多功能智能小車設計[J].山西電子技術,2012,05:26-27.
[5]張鍇,李世光,朱曉莉,等.基于STM32的智能巡線小車[J].電子測量技術,2012,02:105-107.