劉 程
(六安職業技術學院 汽車與機電工程學院, 安徽 六安 237000)
隨著工業機器人技術的成熟和應用的普及,市場對于機器人的需求不斷擴大。工業機器人通常在已經熟知的固定環境中工作,而移動機器人更加強調環境的感知,它要通過傳感器獲取周邊環境,更新自己的位置,并根據環境信息作出動作調整[1-2]。移動機器人的研究關鍵就是如何能夠實時、精確獲取未知環境信息,并判斷障礙物位置和大小,傳感器采集到的信息經過轉換之后,輸入數學模型中,計算有效的躲避策略,指導機器人有效躲避障礙[3]。移動機器人的應用對提高工作效率、節約人工成本具有非常突出的作用。在機器人設計中,受到體積和價格限制,無法直接采用現有電機驅動器。所以,研究一套以ARM為控制核心的低成本移動機器人產品,對擴大移動機器人的應用范圍非常關鍵[4]。
移動機器人控制系統選用ARM控制器為底層控制核心,完成嵌入式控制系統的設計如圖1所示。ARM處理器同時支持16位和32位指令,它的耗電較少,功能突出,同時符合低成本要求。ARM處理器的指令執行速度比較快,多在寄存器中完成數據操作,尋址方式簡單靈活,運行效率高。芯片本身集成了高精度的ADC采集模塊和PWM模塊,提供多種通訊接口服務[5]。綜上所述,ARM芯片完全符合本文研究的需要。

圖1 移動機器人控制系統框圖Fig.1 Mobile robot control system block diagram
底層控制系統接收傳感器采集到的信號,利用RS232通信串口將采集到的數據傳送到上層控制器,同時接收上位機發送的命令,控制電機驅動電路。電機電路和單片機之間利用光耦合器件隔離,單片機接收霍爾傳感器傳遞的信號,并對數據進行初步處理,然后將其發送給ARM處理器,最后將信號反饋給上位機[6]。上位機根據收到的信息計算PWM波的占空比,反饋給ARM,繼而調整PWM波占空比。
電機驅動部分采用STC公司開發的15單片機為控制芯片,ARM和15單片機之間通過串口通信,ARM將上位機發送的控制命令傳遞給驅動電機的控制器15單片機。圖2所示為驅動電機的整體框架示意圖。

圖2 驅動器結構示意圖Fig.2 Schematic diagram of the drive structure
傳感器采集到的信號會通過光耦隔離,然后發送到電機驅動模塊的控制芯片,15單片機給驅動控制芯片發送控制信號,同時利用電機的霍爾傳感器反饋回來的信號完成三相橋電路的控制。通過三相橋電路能夠直接控制直流電機定子繞組中的電流進出,產生磁場帶動轉子轉動。霍爾傳感器反饋的信號傳遞到單片機中,單片機對數據進行一定的處理之后,利用串口將數據傳遞到ARM處理器,經過計算得出電機轉速。
驅動模塊控制芯片利用三相橋電路中的MOSFET管的接通和閉合來控制電機定子繞組電流,設計中要保證MOSFET管的最大漏源電壓、電流符合要求。JY01A驅動芯片中帶有過流保護電路,如果芯片的電壓采樣采集電壓,并與內部1.25 V的標準電壓進行比較,采樣電壓大于標準值時,即認為內部電流大,自動接通限流保護。直流電機選擇Z4BLD60直流電機,其最大額定工作電流和啟動電流分別為3.8 A和7 A。電機內部的繞組電流為6.25 A時,采樣電壓符合標準值要求;如果電流超過了6.25 A時,驅動芯片采取過流保護。驅動模塊的電路設計如圖3所示。

圖3 驅動電機電路連接圖Fig.3 Drive motor circuit connection diagram
在移動機器人的底層硬件設計過程中,傳感器包括紅外防撞傳感器、陀螺儀和電池電量檢測電路。陀螺
儀傳感器采用JY-901傳感器,它的精度優秀,利用插針的方式將陀螺儀傳感器與電路板連接,與ARM之間的通信用串口實現。防撞傳感器布置在機器人的四周,供電為5 V電源。如果在周圍沒有探測到障礙物,那么傳感器的輸出為高電平;如果監測到周圍有障礙物,那么防撞傳感器中的紅外接收管會接收到障礙物反饋回來的信號,進而輸出低電平。傳感器電力設計如圖4所示。

圖4 傳感器電路連接圖Fig.4 Sensor circuit connection diagram
移動機器人的動力來源為無刷直流電機,它是一種永磁同步電動機,轉子就是永磁體,永磁體的對數根據直流電機的不同而不同。定子用作繞組,一般的電機繞組為三相,控制器根據電機反饋的信號確定轉子位置,控制電機繞組的接通和阻斷,產生的電磁場帶動轉子,產生的力矩帶動轉子轉動[7]。轉子到達固定位置后,繞組中的電流進出再次改變。直流電機的數學模型如下:
Te=2keIp
Tl=Lσ/Rs
式中,Um表示電機的輸入電壓,Te表示電磁轉矩,Tl表示時間常數,ω表示電機的角速度,Rs和Lσ分別表示單相繞組電阻和繞組電感,TL表示負載轉矩,J表示轉子的轉動慣量,ke為反電動勢系數。在電機驅動過程中,電源電壓保持不變,調整PWM波的占空比來控制電機輸出功率。如果PWM波的占空比為1,那么電機輸入電壓等于電源的電壓,輸出功率達到最大值。
PWM波的占空比和電機電源電壓的乘積即為電機輸入電壓,用下式表示:
Um=ρUd
Um表示電機的輸入電壓,ρ為占空比,Ud為電源電壓。
在電機驅動器中,單片機要采集其中的霍爾傳感器的脈沖信號,并通過串口將信號發送給ARM芯片。移動機器人的電機驅動的最高轉速為2 r/s,驅動輪轉動一周產生375個脈沖,那么可以計算出單片機能夠接收到的最高脈沖頻率是759 Hz。脈沖頻率比較小,所以可以采用T法測速的方式來測量脈沖頻率。驅動電路軟件流程如圖5所示。

圖5 驅動電路程序設計Fig.5 Driver circuit programming
T法測速就是通過計算兩個脈沖之間的時間完成周期計算,然后得到頻率。因為不可避免地存在半個時間單位,所以可能會存在一個時間單位的誤差。如果被測的速度比較高,計算周期小,會帶來比較大的計算誤差,所以T法測速通常用于計算速度比較低的場合。可以通過降低編碼器脈沖數目的方式來提升速度測量上限,或者可以適當的減小計時單位,能夠獲得更加精確的計算結果,確保以此測量的時間值盡量延長。
系統包括三層,第一層設置的是干擾較大和體積較大的器件,包括電池、直流電機、開關的電源模塊以及電機的驅動電路。這種布置方式能夠保證移動機器人的穩定性。第一層和二、三層之間要設置鋼板,能夠有效地避免電源、隔離電機、傳感器和控制電路之間的電磁干擾。第二層布置的是激光雷達,為了減少信號干擾,所以這一層盡量不放置傳感器和電路等。第三層放置工控機、調試電路以及ARM控制器,紅外接收器放置在頂層反面,盡可能地降低外部電源帶來的干擾。
移動機器人控制系統和上位機之間的通信借助RS232串口來實現,將通信信息錯誤的可能性降到最低。此次設計中的通信方案是16進制的,ARM和單片機反饋信息的格式如圖6所示。

圖6 系統通信信息格式Fig.6 System communication information format
通過通信測試驗證,當移動機器人所處環境有電磁干擾時,系統的通信系統沒有受到影響,上位機接收到的信息均有效。如果將系統的屏蔽層去除,那么上位機接收到的通信信號出現了較低程度的錯誤,上位機能通過數據校驗發現這些錯誤并丟棄。
通過PWM波來實現直流電機的轉速控制,而ARM控制PWM波的產生。在傳播過程中,PWM波的變形情況將會直接影響系統控制穩定性和精確性。在ARM控制器和電機之間,設置高速光耦合電路,取PWM占空比為75%和25%的兩段波形進行比較分析,結果驗證原信號和經過光耦后的波形一致,符合要求。
本文研究了基于單片機的移動機器人的運動控制系統,介紹了基于ARM控制核心的底層運動系統硬件,包括紅外防撞傳感器、陀螺儀傳感器、直流電機驅動電路和ARM控制電路。最后簡要給出了系統驅動控制模塊的實現過程,對系統設計方案進行驗證。