楊麗新, 馬 迎
(華南理工大學 機械與汽車工程學院,廣州 510640)
智能小車由于其成本優勢,常作為教學機器人,受到眾多高校的重視[1-4]。機電控制系統是智能小車的核心,集成了機械與微電子等共性關鍵技術。對智能小車機電控制系統進行編程,實現一定程度的自動、智能操作,這也是國內機械電子競賽的常見項目之一[5-7]。Proteus是目前最流行的電路設計仿真和程序調試軟件之一,提供了從分立元件到集成元件、從無源器件到有源器件的仿真調試[8-15]。本文通過Proteus編程設計仿真,設計了一款基于8051內核(STC89C52)單片機的智能小車,實現尋跡、避障、測速等功能。
如圖1所示,智能小車以通用的STC89C52單片機作為控制核心,以常見的模型車底板所搭建的智能小車底盤為平臺,通過裝配直流電機、光電檢測器、紅外傳感器、超聲波傳感器等,利用傳感器和機電一體化系統設計控制技術實現智能小車的位置、速度、運行等狀況的實時測量,再將測量數據傳送至單片機,單片機根據所檢測的各種數據對智能小車進行驅動、尋跡、避障、速度等控制。

圖1 智能小車系統框圖
對小車功能的不同要求采用模塊化設計方案,分別進行電路設計。設計側重于對單片機STC89C52的控制以實現小車自動根據地面黑色線路前進、轉向,對前方障礙能做出躲避反應,同時能對實時的車行速度進行檢測、顯示等功能。另外,設計力求改善智能小車對方向判斷的穩定性、準確性,盡量克服小車在十字型黑色路線上轉向出錯率偏高的不足。
智能小車的控制核心選用STC89C52單片機,其具有8 KByte ROM,512 KByte RAM,32位I/O口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16位定時器/計數器,4個外部中斷,一個全雙工串行口。智能小車的系統電路可按不同的功能分為驅動模塊電路、尋跡模塊電路、避障模塊電路、速度顯示模塊電路等,這些模塊由不同的傳感器檢測各種信號,并將信號傳送到單片機,再由單片機輸出程序指令控制小車做出各種響應動作。圖2所示為智能小車控制系統的電路。

圖2 系統電路原理圖
為減小電動機的差異性,利于小車直線行走,選用4個130直流電動機驅動智能小車。利用左右兩邊輪子的速度差實現轉彎,利用時間或是碼盤來控制轉向角度。電機的工作電壓在3~9 V的范圍內,一般控制在6 V左右。由于頻率過高電動機會發出較大的聲音,頻率過低電機會發生振動,故PWM調節電動機速度時一般用1 kHz左右的頻率。選用L293D驅動芯片,其有穩定性高的特點,2片配合使用可以驅動4個直流電機。
直流電機驅動電路原理圖設計如圖3所示。其中L293D(U2)的IN1、IN2對應直流電動機1的邏輯輸入,IN3、IN4對應直流電機2的邏輯輸入,EN1為直流電動機1的PWM輸入,EN2為直流電動機2的PWM輸入。+5 V、GND為電源輸出,用于給控制系統供電。OUT1、OUT2對應直流電動機1驅動輸出,OUT3、OUT4對應直流電機2驅動輸出。
同理L293D(U3)的IN1、IN2對應直流電機3的邏輯輸入,IN3、IN4對應直流電動機4的邏輯輸入,OUT1、OUT2對應直流電動機3驅動輸出,OUT3、OUT4對應直流電動機4驅動輸出。穩壓器AMS1117-5(U1)可以將輸入電源轉變成穩定的5 V輸出。對直流電動機1的邏輯控制如表1。

表1 直流電動機1邏輯控制表
同理可得其他直流電動機的邏輯控制方式。
尋跡模塊使用紅外線發射和接收傳感器,并使用LM339電壓比較器以防止輸出抖動,檢測地面黑色帶路線,如圖4所示。該電路包括一個紅外發光二極管、一個紅外光敏三極管及其上拉電阻。發光二極管發射一定強度的紅外線照射物體,光敏三極管在接收到反射回來的紅外線后導通,產生一個電平跳變信號。光電傳感器固定在小車底盤前沿,貼近地面。正常行駛時,發射管發射紅外光照射地面,光線經白紙反射后被接收管接收,輸出高電平信號;電動車經過黑線時,發射端發射的光線被黑線吸收,接收端接收不到反射光線,傳感器輸出低電平信號后送89C52單片機處理,執行相應程序來控制小車的行進。

圖3 直流電機驅動電路原理圖

圖4 智能小車檢測電路
尋跡傳感器的工作電壓在4~6 V,工作電流30~40 mA之間。當紅外光電傳感器檢測到黑色線時,傳感器輸出端的電壓為1 V左右,當地面(白色)有光反射時,傳感器輸出端的電壓約等于電源電壓。
避障模塊選用US-100超聲波傳感器(見圖5)配合舵機使用,可實現檢測小車前方障礙。超聲波發射器向小車前方發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回,超聲波接收器收到反射波就立即停止計時[10]。該傳感器可以實現0~4 m的非接觸測距功能,輸入電壓為2.5~5.5 V,工作方式有串口、電平觸發兩種(選用電平觸發模式),工作穩定性良好。另外,該傳感器模塊中自帶溫度傳感器,可對測距結果進行校正。超聲波在空氣中的傳播速度為340 m/s,根據計時器記錄的時間t,可算出發射點距障礙物的距離L,即:L=340t/2,在程序中設定小車與障礙物距離(或記錄時間)小于一定值則做出躲避反應。

圖5 US-100超聲波傳感器(正面、側面)
定義US-100超聲波傳感器正面圖中5pin排針從左到右依次為1~5號,則其連接方式如下:
1號連接VCC電源(2.5~5.5 V);
2號當為電平觸發模式時,接外部電路的Trig端;
3號當為電平觸發模式時,接外部電路的Echo端;
4、5號接地。
圖6所示為超聲波傳感器測距(電平觸發)時序圖。在Trig管腳輸入一個10US以上的高電平,系統便可發出8個40 kHZ的超聲波脈沖,然后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,根據當前溫度對測距結果進行校正,將校正后的結果通過Echo管腳輸出。在此模式下,模塊將距離值轉化為聲速的時間值的2倍,通過Echo端輸出一高電平,可根據此高電平的持續時間t′來計算距離值L′。即距離值為:L′=t′×340/2。

圖6 超聲波傳感器測距(電平觸發)時序圖
為使避障功能準確、平穩,智能小車加裝了一個舵機與超聲波傳感器配合使用。舵機是一種位置(角度)伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統。其原理是控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電壓。其內部有一個基準電路,產生周期為20 ms、寬度為1.5 ms的基準信號,將基準電路電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。在避障時可以通過舵機控制超聲波傳感器左右掃描,檢測小車除正前方外偏左、偏右兩邊的障礙。
速度顯示模塊中選用一體化對射紅外發射接收管WYC H206和帶施密特觸發器反向器74HC14,配合編碼盤使用,通過單片機計數可獲得小車行駛速度,再由4位8段共陽極LED數碼管構成的顯示器顯示小車速度。圖7所示為其電路原理圖。

圖7 測速模塊電路原理圖
工作電壓為4~6 V,工作電流為25 mA,檢查頻率為1 kHz,可以檢查大于2 mm的非透明物體。通電后指示燈D發光,當有遮擋物在檢查凹槽時,指示燈D熄滅。檢查智能小車速度時,碼盤配合測速模塊可以輸出電信號,提供單片機計數,獲得碼盤速度。
對于檢測到的速度,采用4位8段LED數碼管構成智能小車的顯示器顯示速度值,共陽極,即公共端接電源,其他端接地。顯示電路設計如圖7所示。
其中數碼管的管腳a、b、c、d、e、f、g、dp各串聯一個電阻后再與89C52單片機的P0.0~P0.7連接(連接上拉電阻),管腳1~4連接電阻和三極管后再接到89C52單片機的P2.0~P2.3端口。
智能小車的控制系統設計中,除了根據所要實現的功能選用硬件,大量的工作用于對連接起來的硬件進行應用程序的設計開發,軟件程序設計在基于單片機的控制系統設計中有著必不可少的重要作用。本研究的軟件程序利用模塊化設計,由驅動程序、尋跡程序、避障程序、測速和顯示程序等模塊組成完整的智能小車系統,其流程圖如圖8所示。

圖8 智能小車系統流程圖
基于單片機的智能小車設計完成了硬件選用和軟件程序設計后,然后采用軟件對電路和程序進行仿真,測試該設計是否合理、可否實現。本研究利用Proteus 7 professional軟件對小車的設計進行仿真。
在Proteus中繪制各模塊電路原理圖并連接單片機89C52,如圖9所示。
以驅動模塊的仿真為例,仿真電路如圖10所示。P1.0~P1.7接入兩片L293D驅動芯片的輸入端,其輸出段接到4個直流電機。將設計好的程序導入單片機后進行仿真。通過紅外傳感器檢測地面黑色路線實現尋跡功能,檢測到的結果通過信號0與1輸送到單片機進行處理。

圖9 仿真電路圖

圖10 驅動模塊仿真結果
本文對智能小車的機械控制系統進行了設計,并通過Proteus仿真,驗證了各模塊的尋跡、避障、速度顯示等響應動作。結果顯示,基于單片機的智能小車各模塊的電路設計合理,控制軟件程序精確穩定,可實現智能小車的各種功能,可作為教學機器人的演示與研發案例。