霍春光,張嘉怡,劉 影
(1.遼寧工程技術大學電子與信息工程學院,遼寧葫蘆島 125000;2.西安電子科技大學通信工程學院,陜西 西安 710000)
隨著科技的進步,智能控制技術發展不斷加快,各種應用層次的機器人等大量出現,智能循跡小車在工業生產和搬運中得到了大量應用[1-2]。智能循跡小車[3-4](AGV)是指通過光學、電磁等自動導引模塊裝置,能夠按照要求沿著預先設定的路徑自動行駛的小車。關于智能小車循跡問題,受到許多學者關注,為此提出眾多設計方案和控制算法。胡徐勝[5]等人提出一種多路選擇的智能循跡小車,對轉向舵機進行優化控制,提高了控制效果;李全民[6]等人提出了一種比較理想的電感傳感器布置方案;杜云[7]等人實現了一種可以分別遙控和按鍵控制的智能小車系統;高振新[8]等人設計了一種可通過遙控或者紅外反射式傳感器巡線的運料小車;方正川[9]等人提出一種可識別雙邊引導線以及自主避開行駛路徑上障礙物的智能車系統。目前智能循跡小車主要關注巡線精準性,卻忽略了多種光線條件以及極小角度轉彎情況的影響。因此,為了提高循跡的穩定性和可靠性,提出一種在復雜環境下的自適應調速智能循跡小車系統設計。
該系統利用多組紅外避障傳感器實現精確計算巡線[10-11],在行駛過程中系統根據兩輪差速進行轉彎[12],通過轉彎角度自適應地調整車速,還加入了停止線功能,在啟動或停止都會有語音提示,并且通過按鍵調整初始速度,利用LCD 液晶屏顯示速度參數,通過E2PROM 存儲數據實現斷電記憶,最終達到可調速巡線的目的。
智能循跡小車系統的結構如圖1 所示,該系統將MSP430F149 單片機作為主控[13-14],利用紅外避障模塊檢測路徑,根據彎度情況自適應調節兩輪的轉向和速度進行轉彎;系統可通過按鍵調整、PWM 占空比LCD 顯示,以直觀調整小車兩輪轉速[15-18],并將其存儲在E2PROM 中,實現斷電記憶功能,在軌道上垂直放置一條長度大于4 cm、寬度大于1 cm 的黑線,巡線系統檢測后,小車即刻停止。

圖1 系統總體結構框圖
該系統采用了兩個規格完全相同的1∶90 直流減速電機,主要負責小車的動力,其最大轉矩可達1.0 N·m,使小車可以在較大斜坡上行駛;電機通過L298N 電機驅動模塊進行驅動,L298N 是專用驅動集成電路,屬于H 橋集成電路,其電路如圖2 所示。利用12 V 鋰電池為模塊供電,其VSS 角可以輸出5 V恒定直流電壓,共地后,配合開發板穩壓模塊,可作為5 V 直流電源直接為單片機進行供電。

圖2 L298N模塊驅動電路圖
L298N 可驅動兩個電動機,輸出B 端的OUT1、OUT2和輸出A端的OUT3、OUT4之間可分別接電機。邏輯輸入端IN1~IN4:其中IN1、IN2 控制一個電機;IN3、IN4 控制另一個電機。該驅動芯片驅動直流電機小車的邏輯表如表1 所示。

表1 L298N驅動邏輯表
巡線系統是利用一種輸出TTL 電平信號的反射式紅外光電傳感器,原理圖如圖3 所示。紅外避障的原理都是基于三角測距的方法,發射管會以一定的角度發射紅外線,遇到物體后會發生反射,接收管接收的光強隨反射物體距離的變化而變化。因為巡線系統采用的是黑線,黑色會吸收光,從而導致接收管接收光強變小,用該方法即可檢測出小車是否脫離預設軌跡。

圖3 紅外避障模塊原理圖
針對小車在轉小角度彎的情況,在布局小車時,將4個傳感器在小車前面進行一字型排布,左邊兩組,右邊兩組,中間為巡線區域;為了防止相鄰兩個傳感器之間相互干擾,采用了輪流掃描傳感器的方法,這樣既避免了相鄰傳感器之間的干擾又有利于調試。巡線系統的紅外傳感器位置參數如圖4所示。

圖4 紅外傳感器排布
由圖4 可知傳感器檢測的最大角度為:

將4 個傳感器從左到右依次記為左側2、左側1、右側1、右側2,設i=1,2,則每個傳感器到中軸線的距離為:

經計算可得到各個紅外循跡模塊擺放位置如表2 所示。

表2 紅外循跡模塊擺放位置表
主控芯片是以MSP430F149 單片機為主控核心,它實時接收傳感器數據,并進行邏輯運算,從而對各個模塊進行操控。最重要的是MSP430F149 具有4 路PWM 輸出,工作穩定,極其適用于電池供電的智能小車。其中微控制器的I/O口具體分配:P6.0~P6.3,引腳連接4 個紅外避障傳感器信號輸出端;P1.6、P1.7 連接L298N 電機驅動的ENA、ENB 端,向電機驅動輸出PWM 信號;P5.0~P5.3 設置為輸出模式連接L298N 的IN1、IN2、IN3、IN4,給電機驅動發出電平信號指令控制兩個電機的停轉;P2.0~P2.4 輸出模式接入語音模塊A4、A5、A6、A7、A8,負責驅動語音模塊;P2.5~P2.6 分別連接E2PROM 的SCL、SDA;P1.0~P1.4負責驅動4 個按鍵,外部電路已接上拉電阻,連接4個按鍵,負責調控左右電機占空比;LCD 液晶顯示屏,P4.0~P4.7 設置為輸出模式接入D0~D7,P3.0~3.2接入使能管腳RS、RW、E。
為了顯示小車的速度,該系統采用了LCD液晶顯示屏對兩個電機的PWM 值進行顯示(接線圖如圖5所示)。其工作電壓為4.5~5 V,工作電流為2.0 mA。它可以同時顯示16×2 個字符,并且可以根據電壓和需求調節對比度及屏幕亮度。

圖5 1602液晶屏接線圖
為了使該系統變得更人性化,選擇在起始和停止設置語音提示。語音模塊主要采用了ISD2560 為核心的器件,用戶可以錄制好語音,儲存在ISD2560的儲存單元中,單片機可對其進行分段尋址,然后發送語音地址和語音指令,通過儲存在ISD2560 內的地址數據進行匹配,然后語音信號經過電路放大從揚聲器中發出。其中需要把模塊的地址碼接口A4、A5、A6、A7、A8 接在單片機的引腳上。
為了讓系統操作簡便,避免頻繁調節小車初始速度,該系統加入了斷電記憶功能。系統采用了IIC總線協議的EEPROM 存儲器24C02 芯片,其具有接口方便、體積小、數據斷電不丟失的特點。當小車使用完畢后,斷電后下次重啟,會重新讀取數據,恢復設置值。其中需要把單片機引腳的P2.5、P2.6 接入芯片的SCL、SDA 引腳。
系統的開發環境為IAR Embedded Workbench,可以直接仿真調試,然后通過MSP430F14x 系列專用燒錄軟件進行燒錄。
針對在多種彎路上行駛時所出現的拐彎角度過小會沖出軌道,以及在停止線卻停不住車的問題,程序專門設置了自適應的校正方法,使小車在不同大小的彎度下進行自適應調整速度的轉彎策略。如表3 所示,從左到右為OUT1、OUT2、OUT3、OUT44 個避障傳感器,為了避免小車在停止線處由于慣性沖出的情況,該系統設計了4 種狀態讓其停車;在左轉問題上,當左側第一個傳感器和第二個傳感器OUT1和OUT2 同時檢測黑線或者最左側OUT1 檢測到黑線就會縮小轉彎半徑,從而轉彎過程速度減慢,大幅度調整轉向,使小車回歸正軌,實現彎度自適應調速功能;右轉也是同理。

表3 小車運行邏輯圖表
其在轉彎時,小轉彎外側輪轉向轉速不變,以內側輪不動進行旋轉,大轉彎兩輪轉向相反,兩輪PWM 值恒定相差為20%。
在巡線時,隨著語音模塊的指令發出,小車開始走動,單片機通過掃描紅外避障傳感器的返回信號,產生不同策略,從而進行精準圓滑的轉彎尋跡。該系統還加入了停止線功能,當在軌道上垂直放一條停止線,中間兩個或3 個以上傳感器檢測到了黑線,會給單片機發信號,單片機會發出停止指令使其停止,并且語音模塊會發出測試結束指令。智能巡線小車程序流程如圖6 所示。
針對在復雜光源下傳感器靈敏度不佳的問題,系統在不同光照環境、相同傳感器靈敏度下,分別在不同軌道對巡線系統的巡線偏離誤差進行測試(測試次數大于50次),測試采用Devcheck 調用手機的環境光傳感器,結果如表4 所示。

表4 光照強度與巡線系統誤差的關系表
為了增強系統在復雜環境下的適應性,需要在巡線系統上方安裝遮光裝置。根據小車的運行路況不同,在上下坡巡線時都需要對巡線系統遮光,為此選擇了一些材質較軟的材料進行遮光,其中,具有代表性的有黑色的塑料、綢子、海綿。對其遮光效果進行對比研究,結果如表5 所示。

表5 不同遮光裝置下巡線系統偏差
結果表明,在巡線系統的傳感器加入遮光裝置可以大幅度提高巡線的精準度,尤其是海綿的遮光性能最佳,而且可以根據小車傳感器形狀自由彎曲變化,滿足條件需求。
為了最終測試小車的性能,該系統設計了一條軌道(如圖7 所示)。在相同環境條件下,該小車需要按照規定在軌道完整跑完,在預設的軌道上,設計了直線區域、小右轉區域、大角度右轉區域以及一個停止線,小車最終應該停止在停止線區域。

圖7 測試軌道圖
為了讓小車在設定路徑下行駛,路徑為A→B→C→D→E→F,分別有不同大小的曲率部分和直線部分,為了測試巡線精準度,測試次數大于50 次。在各段路徑上的巡線誤差如表6 所示。
根據表6 測試表明,安裝遮光裝置后的小車,其精準度都控制在±4 mm 內,并且都能精準到達目的地停下來,大大提高了抗復雜光線干擾性能,并且在不同坡度下也能準確巡線。

表6 不同路徑下的巡線誤差
為了驗證大小轉彎設計與小車速度的關系,在采用了遮光裝置后,該系統在同一室內環境下進行測試。根據電機的性質,頻率過高同時占空比較低時,轉子會震動發出高頻噪聲。為此,程序采用了該芯片最低頻率時鐘LFXT1CLK,即使這樣設計,由于占空比在20%之前屬于較低狀態,電機轉速過慢甚至停轉,所以從實用意義上出發,該系統最低PWM占空比從40%開始測試,每增加5%,測試一次平均速度,測試次數大于20 次,取平均值,占空比從40%到100%,所對應走完全程的平均速率如圖8 所示。

圖8 小車全程平均速率隨占空比變化趨勢圖
根據圖8 所示,隨著高電平占空比的增加,走完全程時間也變短,在75%后曲線明顯變緩,這與電機自身的參數有一定關系。為證明自適應調速調度策略,測試了小車在正常負載狀態下兩輪的轉速。在測定好直線距離,關閉巡線傳感器,讓小車徑直走,根據測出平均速率,電機的負載轉速也就近似于直線行駛的平均速率(每增加5%占空比,測一次速度,測試次數大于20 次,取平均值),其隨占空比變化趨勢如圖9 所示。

圖9 小車電機負載時轉速隨占空比變化趨勢圖
因為該系統在轉彎時必須保障兩輪的差速,因此設計程序時,遇到小彎度,以前輪距為半徑,小車內側輪不動,外側輪繼續行駛,保持差速轉彎;遇到大彎度時,為使轉彎半徑縮小,進行大幅度轉彎,該系統兩電機進行反轉,兩輪轉差速占空比固定為20%。設在轉彎時,以小車輪距劃分,設小車輪距為L,小車外側半徑為R1,需要走的弧長為S1,小車外輪轉速為v1,內側半徑為R2,需要走的弧長為S2,速度為v2。
則:

由弧長公式、速度公式可知:

已知L不變,當n不變時,由式(2)、(3)可得到:當R1=R2時小車運動屬于原地轉彎,當R1>R2時小車才會相對前進,只有當R2?R1時才會使速度明顯變快。根據圖9 可知,電機的性質是導致全程平均速度曲線變緩的原因之一;另外,因為在大轉彎過程中,兩電機反轉,導致R2與R1的差值縮小,因此,圖9 相對于圖8 總體平均速度更慢,占空比越高,差距越明顯,當占空比達到80%時,轉彎中外輪達到速度上限,反而速度提升變得不明顯;又經多次調整轉彎角度進行測試,結果表示該小車轉彎角度最小可達25°,在大于90°的角度中,幾乎不觸發邊緣傳感器。最終得出結論:該系統會根據轉彎角度的大小自適應調整速度,轉彎角度大也是導致全程平均速度減慢的重要原因之一,因此只要小車不頻繁通過較大角度轉彎部分,對小車的循跡速度影響不會太大。
文中設計的智能循跡小車以MSP430F149 為核心,利用PWM 調速控制電機,可通過按鍵調整小車的初速度,且在角度不同的轉彎處自適應調整車速,保障了小車順利圓滑的轉彎;速度信息通過LCD 屏顯示,可方便檢查、操作;系統還加入了斷電記憶功能,避免了頻繁設置、調試小車初速度;為了適應復雜環境條件,該系統對多種材料測試后,創新地加入了遮光裝置,無需頻繁調節傳感器靈敏度,得出在多種光照復雜環境下系統仍然穩定運行。多方面測試表明,該系統可以在不同角度的上、下坡以及不同光照環境下穩定行駛。該系統采取了多種抗干擾方案,具有很強的實用性,可廣泛應用于循跡搬運車、智能機器人等系統中。