鄒浩南,丁澤全,彭宜凱,楊森迪,許微
(東南大學 成賢學院,江蘇 南京 210088)
隨著全球電子智能行業(yè)方面的發(fā)展,智能控制技術在全世界取得了不小的成就,幾十年來市場容量飽和產(chǎn)品的智能化和小型化成為了同行競爭的重中之重。所以,對于可遙控的智能車的研發(fā)是十分有意義的,并有著巨大的市場價值。智能小車是一定意義上的機器人,而機器人科學技術的先進程度一定程度上衡量著一個國家科學技術水平和產(chǎn)業(yè)智能化程度。機器人也因為擁有著高度的靈活性、能夠協(xié)助人類提升社會生產(chǎn)力、提高日常生活服務質量以及改善人類勞動條件等技術優(yōu)勢,在各地的制造生活領域中獲得了普遍的運用。智能車就是模仿機器人的一個例子。我們在設計中,設計了固定的循跡軌道,使小車可以在軌道上自由行駛。在循跡過程中,通過紅外的信號可以準確判別一定范圍內是否有人,從而實現(xiàn)避障。投放飼料時通過紅外遙控實現(xiàn)飼料投放體現(xiàn)出智能化和人性化的一面。
在本系統(tǒng)中我們選用STC89C52 型號單片機作為主控芯片,主要功能模塊有:紅外循跡避障模塊,蜂鳴器模塊,L293D 電機驅動模塊,步進電機驅動模塊,按鍵模塊,紅外接發(fā)收模塊等。系統(tǒng)可以通過紅外循跡模塊在事先規(guī)劃好的黑線循跡軌道上行駛,當前方有障礙物時系統(tǒng)通過紅外避障模塊識別到障礙物并停止運作,蜂鳴器長叫。當前放無障礙物時,系統(tǒng)將繼續(xù)沿黑線進行循跡。當系統(tǒng)通過紅外避障模塊識別到事先設置的擋板時停止運作,并通過步進電機進行飼料投放,飼料投放完畢后可通過紅外遙控器(紅外發(fā)射)控制擋板抬升,此時紅外避障模塊未檢測到前方有障礙物繼續(xù)循跡至原點后停止運作。圖1 為該系統(tǒng)設計的總結構圖。
圖1 系統(tǒng)總結構圖
本設計使用兩個STC89C52 單片機作為整個系統(tǒng)的主控芯片,系統(tǒng)總原理圖設計如圖2所示。此芯片有性價比高,內存大,運算速度快,使用范圍廣,易上手等優(yōu)點,符合我們的設計需求。其是一款低電量、高效率的8 位CMOS 微控制器,內核為經(jīng)典的MCS-51 內核,并以此作為基礎進行了多次升級,使其芯片在實際應用時能夠更為有效地實現(xiàn)所設想的功能。圖3 為單片機最小系統(tǒng)原理圖。
圖2 系統(tǒng)總原理圖
圖3 單片機最小系統(tǒng)原理圖
本設計使用一個11.059 2 MHz 的晶振和兩個30 pF 的瓷片電容構成單片機的時鐘振蕩電路,為其提供時鐘信號。因P0 口輸出為弱電平,驅動能力弱,故加一個10 kΩ 的排阻作為上拉電阻,用來提高P0 口的驅動能力。復位電路設計原理為:當單片機通電時,電容短路,而后開路,形成一個低脈沖觸發(fā)信號使得單片機工作,KEY1 按鍵按下,RST 端口短路,端口變?yōu)榈碗娖?,松開后恢復高電平,形成一個復位信號,使得單片機復位。
本設計所使用的直流馬達型號為QX-A51,其規(guī)格參數(shù)如表1所示。直流電機驅動芯片為L293D 為雙H 橋驅動芯片,可同時驅動兩路直流電機,內部自帶ESD 保護。可通過輸入信號控制直流電機執(zhí)行正轉、反轉、停止。輸入控制如表2所示。
表1 QX-A51 直流馬達規(guī)格參數(shù)
表2 馬達狀態(tài)控制表
L293D 芯片內部使用經(jīng)典H 橋電路設計,輸入端口按照圖4 接入單片機的P12 至P17 口,輸出端分別接入直流電機的兩極。EN 為其使能端口,當EN 為高電平時,芯片工作,反之芯片停止工作,輸出Y 為低電平。1 A ~4 A 端口為其輸出控制端口,1 A ~2 A 控制左電機工作模式,2 A ~3 A控制右電機工作模式。1 A ~2 A 輸入分別為高、低電平時,1Y輸出低電平,2Y輸出高電平,由于電機正極接PIN腳2口,負極接PIN 腳1 口,故而電機反轉,反之電機正轉,當1 A ~2 A 輸入都為低電平時,輸出為低電平電機停轉;2 A ~3 A 端口控制同1 A ~2 A。
圖4 L293D 電機驅動模塊電路設計示意圖
電機的驅動速度由單片機控制,其使用PWM 占空比調節(jié)電機速度,使用單片機內部的定時器1 進行編譯,該設計占空比設置為255 為一個周期,電機正常行駛時占空比設置為110,后退時設置為80,左轉或右轉時設置為255,當占空比為0 時電機停止轉動。
本系統(tǒng)的循跡電路主要由2 個反射型光電探測器RPR220,電壓比較芯片LM358,狀態(tài)指 示燈以及電位器組成,其電路設計如圖5所示。PRP220 由紅外發(fā)射管和光電三極管構成,紅外發(fā)射管射出的紅外光被物體反射后,光電三極管通過判斷反射的光強度使得其內部的阻抗大小發(fā)生相應的變換,當反射的紅外光強度高時阻抗降低,指示燈點亮,反之指示燈熄滅。
圖5 循跡避障模塊電路示意圖
電路原理:在圖7 中LM358A 為右循跡電路,LM358B為左循跡電路。以右循跡為例,當U5 探測器處于黑線上方時,因黑線吸收紅外光,故探測器接受到紅外光強度變小,內部光電三極管電阻變大,電阻R9 電壓變小,電壓比較器LM358 的2 輸入電壓降低,電位低于3 腳輸入電壓,2 腳輸出為高電平,發(fā)光二極管LED2 截止;反之,當探測器位于黑線外時,探測器接受到紅外光強度變大,內部光電三極管電阻降低,電壓比較器LM358 的2 腳輸入電壓降低,電位高于3 腳輸入電壓時,2 腳輸出為低電平,發(fā)光二極管LED2 導通。可通過改變電位器R13 的阻值改變3 腳的比較電壓大小,實現(xiàn)對紅外循跡靈敏度的調節(jié)。單片機的P32 和P33 口根據(jù)輸出端口的電平高與低判斷小車的姿態(tài),進而控制小車在黑線上行駛。
本系統(tǒng)的避障電路工作原理與上述相似。我們將紅外避障探頭置于系統(tǒng)的前端兩側,在圖7 中LM358NA 為右避障電路,LM358B 為左避障電路。以右避障電路為例,LED5為紅外發(fā)射管,R12 用于設置紅外光強度,IR1 用于接受紅外光。當前方有障礙物時,有紅外光返回,IR1 接受到的紅外光強度變大,其阻抗降低,R9 分得電壓變大,電壓比較器2 腳電壓升高,2 腳電壓大于3 腳電壓時,比較器輸出低電平,LED4 導通;反之1 腳輸出高電平,LED4 截止。單片機的P34 和P35 口根據(jù)輸出端口的電平高與低判斷小車前方是否有障礙物。
本系統(tǒng)的飼料投放設計其主要由五線四相步進電機及其驅動板組成。使用步進電機型號為28BYJ-48,其工作電壓為5 V,繞組內阻為20.4 Ω,步進角度為15 度。其中驅動板主要由步進電機驅動芯片ULN2003 構成。該電路可廣泛應用于LED 驅動,步進電機驅動,邏輯緩沖器等。
電路原理:IN1 ~IN7 為輸入管腳,其IN1 ~IN4 依次接入單片機的P00 ~P03 引腳,OU1 ~OUT7 為輸出管腳,其OUT1 ~OUT4 依次接入步進電機的A,B,C,D 四相,GND 為公共地,COM 為續(xù)流二極管共陰極。當控制P00 至P03 輸入為低電平時,輸出為低電平,依次輸入邏輯電平為“1000,0100,0010,0001”時可控制步進電機內部轉子旋轉,調轉輸出邏輯電平的順序可控制電機的正反轉,控制頻率可間接控制電機轉動角度。本設計使用步進電機每2 048步轉動一周,由于使用為四相步進電機,故其周期為T=2 048/4=512,所以要將電機轉軸旋轉半周時,只需要依次輸入邏輯電平256 次即可,而后在反向輸出邏輯電平256 次,使得步進電機反向旋轉半周歸位。
圖6 步進電機驅動模塊電路示意圖
本系統(tǒng)的紅外接受模塊,使用HS0038 紅外接受管為主要器件,以NEC 紅外通信協(xié)議的遙控器來控制擋板的啟動與閉合。本系統(tǒng)的紅外接收頭的輸出端接入單片機的外部中斷口P32 口,其余兩端分別接地和5 V 電源。圖7 為紅外接受模塊的電路設計。
圖7 紅外接受模塊電路設計
本系統(tǒng)使用的紅外遙控器為車載MP3 遙控器,型號為HS-021,使用3 V 扣式鋰錳電池供電,發(fā)射紅外載波頻率為38 kHz,發(fā)射管紅外波長為940 nm,采用NEC 編碼格式。圖8 為系統(tǒng)使用紅外遙控器實物圖。
圖8 紅外遙控器實物圖
電路原理:HS0038 處于空閑狀態(tài)時,三極管導通,接收頭輸出高電平;當發(fā)射端紅外LED 以38 kHz 的頻率閃爍時,接受頭接收到紅外信號,三極管截止,輸出低電平。單片機的P32 口對接收頭的輸出進行判斷解碼,實現(xiàn)紅外遙控。
本項目采用C 語言程序設計,使用Keil5 編寫,STCISP 燒錄。其提供了涵蓋C 翻譯器、宏匯編、連接器、庫管理系統(tǒng),以及一個功能強大的仿真調試器。采用集成開發(fā)環(huán)境將其結合到一起,且使用界面比較簡潔,對具有程序設計基礎的人來說便于學習與掌握。
主系統(tǒng)流圖如圖9所示。
圖9 主系統(tǒng)流圖
擋板系統(tǒng)流圖如圖10所示。
圖10 擋板系統(tǒng)流圖
關鍵程序分析如圖11所示。
圖11 電機端口的定義
圖12 為電機端口的定義,根據(jù)表2 馬達狀態(tài)控制表,控制對個端口的高低電平,實現(xiàn)電機的正轉與反轉。
圖12 PWM 調速程序
圖13 為PWM 調速程序關鍵部分設計,使用單片機內部定時器1 資源進行編譯,設置PWM 占空比周期為255,低于255 時電機停轉,反之電機使能,進而控制電機的速度。
圖13 小車運行模式函數(shù)
圖14 為由電機驅動程序和PWM 調速程序組合成的控制小車運行模式的函數(shù),通過左右電機正、反轉的組合進而實現(xiàn)小車前、后、左、右、停等操作。
圖14 小車循跡程序
圖15 為小車循跡部分關鍵程序,當左循跡探頭未識別到黑線,控制左電機速度為255 最大,右電機速度為0 最小,實現(xiàn)右轉,反之實現(xiàn)左轉;當倆循跡探頭均識別到黑線,左右電機速度均為110(此程序未給出,需在主函數(shù)自行設置),反之左右電機倒轉,速度為80。
圖15 小車紅外避障程序
圖16 為紅外避障部分關鍵程序,當左右探頭有一個及以上識別到障礙物時,小車停止,打開蜂鳴器,反之小車正常循跡,蜂鳴器關閉。
圖16 步進電機模塊程序
圖17 為步進電機模塊關鍵部分程序設計,使用定時器2 時鐘資源進行計時,控制電機轉動速度與角度,定義兩個數(shù)組控制電機的正反轉。
圖17 紅外解碼過程
此為紅外解碼過程關鍵程序,定義紅外接受頭輸出端口為P3.2,使用定時器0 外加外部中斷0 接受紅外33 位數(shù)據(jù),并利用for 循環(huán)語句和NEC 編碼特點解碼32 位數(shù)據(jù)(丟棄引導碼),最終確定紅外遙控鍵碼值。
循跡PWM 參數(shù)設計,如表3所示。根據(jù)表3 的測試結果敲定前進循跡PWM 值為110;左轉循跡PWM 值225;右轉循跡PWM 值225;后退循跡PWM 值80 為最佳循跡速度,圖18 為系統(tǒng)實物圖。
圖18 系統(tǒng)實物圖
表3 循跡PWM 參數(shù)設計表
智能車投放飼料是一種智能化與人性化的飼喂流程的體現(xiàn),它是一種非傳統(tǒng)的、創(chuàng)新形式的投喂飼料的方式,其將飼料投放的紅外循跡避障模塊與步進電機相結合,控制小車進行飼料的定點投放。該系統(tǒng)通過進一步的改進可實現(xiàn)節(jié)省人力的效果,例如將紅外模塊接發(fā)收模塊換成藍牙模塊或者其他無線接發(fā)收模塊進而實現(xiàn)無人化或少人化控制,進一步實現(xiàn)節(jié)省人力的效果,符合未來智能化發(fā)展的趨勢,具有一定的潛力價值。