劉 晨,崔 斌
(河南工學院,河南 新鄉 453000)
在當今時代智能化機器人越來越成為國家發展的焦點。智能化機器人在各行各業都開始普及應用。許多國家把智能化機器人作為創新教育,科技發展的競爭手段。智能化小車也快速發展,以單片機為核心,融合了計算機技術、自控技術、機械制造等多個學科。智能化小車可以用在工業控制、家庭玩具、救災排爆等多個領域。本文就討論智能化小車的設計思路與設計原理,著重于智能化的實現與控制,小車可以通過傳感器來獲取采集信息,通過串口傳到單片機進行控制,實現循跡與躲避障礙的功能,也支持紅外遙控。
系統以單片機為核心控制器件,分成不同的模塊,包括小車驅動模塊、紅外遙控模塊及循跡模塊。通過不同的傳感器采集數據傳遞給單片機處理執行相應的命令實現相應的功能。

圖1 L293D芯片外接示意圖
小車的驅動模塊是由專門的電機驅動芯L293D片來進行驅動的,該芯片屬于雙H橋集成電路,該電路的輸出端與單片機相連。通過單片機的輸出信號控制該芯片的輸出端的高低電平即可控制電機的正轉反轉。其中IN1和IN2控制左電機,IN4和IN5控制右電機。
2.1.1 單個電機進行測試


2.1.2 小車前進與后退實驗

2.1.3 小車的轉向與停止實驗




2.1.4 智能小車的按鍵啟動
通過獨立按鍵來啟動智能小車

2.1.5 小車電機速度控制
對于電機的轉速調整,采用脈寬調制(PWM)辦法,控制電機的時候,電源并非連續地向電機供電,而是在一個特定的頻率下以方波脈沖的形式提供電能。不同占空比的方波信號能對電機起到調速作用,這是因為電機實際上是一個大電感,它有阻礙輸入電流和電壓突變的能力,因此脈沖輸入信號被平均分配到作用時間上,這樣,改變在始能端EN1和EN2上輸入方波的占空比就能改變加在電機兩端的電壓大小,從而改變了轉速。
舵機是一種位置伺服的驅動器,主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構成。其工作原理是由接收機或者單片機發出信號給舵機,其內部有一個基準電路,產生周期為20 ms,寬度為1.5 ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。經由電路板上的IC判斷轉動方向,再驅動無核心馬達開始轉動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回信號,判斷是否已經到達定位。適用于那些需要角度不斷變化并可以保持的控制系統。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。一般舵機旋轉的角度范圍是0~180度。
舵機的轉動的角度是通過調節PWM(脈沖寬度調制)信號的占空比來實現的,標準PWM(脈沖寬度調制)信號的周期固定為20ms(50 Hz),理論上脈寬分布應在1~2ms,但是,事實上脈寬可由0.5~2.5 ms,脈寬和舵機的轉角0°~180°相對應。有一點值得注意的地方,由于舵機牌子不同,對于同一信號,不同牌子的舵機旋轉的角度也會有所不同。


循跡是指小車沿著賽道進行循跡運動。比如餐廳中的送餐機器人,規定軌道上運行的都是循跡機器人。循跡小車比賽的賽道底色一般為白色,用黑色表示賽道。常用的循跡方法有紅外對管循跡法,攝像頭循跡法,激光管循跡法。本系統采用的是紅外對管循跡法。紅外對管循跡方法是利用紅外線照射后,黑,白線對紅外線吸收作用不同為原理的循跡方法。相對于攝像頭循跡法和激光管循跡法造價便宜。使用三個紅外線發射器與接收器,一個傳感器放在黑色循跡路線上,剩下兩個傳感器發在中間傳感器的兩側。正常情況下,智能小車朝著黑色循跡路線行駛,中間的紅外線發射反射回的光基本都被黑色吸收,而兩邊的紅外線發射器發射出的紅外線經過白板大部分被反射回來。一旦小車出現偏離,這時候就會有一邊的紅外線發射器發射出的紅外線被黑色吸收,返回的光被吸收很多,返回信號變弱,通過比較器LM324采集高電平與低電平。這樣就可以檢測到智能小車偏離了軌道,通過單片機的控制自動回歸正常的軌道。
以最簡單的兩個紅外探測頭為例兩個傳感器放在小車兩端,黑色循跡線的兩邊。當左邊的傳感器檢測到沒有信號返回則說明小車向右偏離軌道,此時需要小車向左轉回歸軌道。當右邊的傳感器檢測到沒有信號返回則說明小車向左偏離軌道,此時小車需要向右轉回歸軌道。編程如下:


2.4.1 紅外線避障
用紅外光電傳感器,探測到物體即輸出脈沖,輸入到單片機中處理一下,再對電機驅動模塊進行控制,實現壁障的功能,這樣的避障小車又稱為簡單的避障機器人。
小車避障的原理:
(1)利用障礙物對光線的反射率大這個特點,當前面的有障礙物時,傳感器發射出去的紅外光被大部分反射回來。于是傳感器輸出低電平0,點亮L3、L4燈。
(2)當前面中沒有障礙物時,傳感器在小車上方,因傳感器反射能力很弱,反射回來的紅外光很少,達不到傳感器動作的水平,所以傳感器輸出1。
(3)只要用單片機判斷傳感器的輸出端是0或者是1,就能檢測到避障礙。
編程如下:


2.4.2 超聲波避障
超聲波是一種頻率比較高的聲波,通過傳感器發送超聲波然后遇到障礙物返回所用的時間乘以聲波波速除以二得到距離。智能小車采用超聲波模塊HC-SR04。一個控制口發一個10US以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離。如此不斷的周期測,就可達到移動測量值。

//此時time的時間單位決定于晶振的速度,外接晶振為11.0592MHz時,
//time的值為0.54 us*time,單位為微秒

//但是,現在計算的是從超聲波發射到反射接收的雙路程,
//所以將計算的結果除以2才是實際的路程
S=time*2;//先算出一共的時間是多少微秒。
S=S*0.17;//此時計算到的結果為毫米,并且是
精確到毫米的后兩位了,有兩個小數點

Delay1ms(5);//發現小車自動復位的時候,可以稍微延長一點這個延時,減少電機反向電壓對電路板的沖擊。


通用紅外遙控系統由發射和接收兩大部分組成,應用編/解碼專用集成電路芯片來進行控制操作,如圖2所示。

圖2 紅外遙控器系統結構圖
智能小車采用模塊化設計,對各個模塊進行編程實現,最后將所有模塊合在一起,實現智能小車運動功能、循跡功能、避障功能、紅外遙控功能。通過電機控制智能小車的前進、后退、轉彎、停止的基本功能;通過紅外傳感器完成了在黑色軌道上循跡的功能;通過紅外傳感器和超聲波實現避障功能;通過紅外遙控系統完成紅外遙控的功能。所有功能綜合在一起完成了一個完整的智能小車的功能。