董雷剛,崔曉微,張 丹
(大慶師范學(xué)院 計(jì)算機(jī)科學(xué)與信息技術(shù)學(xué)院,黑龍江 大慶 163712)
本設(shè)計(jì)采用AT89C51單片機(jī)作為智能小車核心控制器[1-2],路面黑線檢測(cè)采用反射式紅外傳感器,為了使傳感信號(hào)更可靠,使用了LM324比較器對(duì)信號(hào)進(jìn)行判斷,電源供電由4節(jié)五號(hào)電池提供,我們?cè)谠O(shè)計(jì)時(shí)將后輪作為驅(qū)動(dòng)輪,由兩個(gè)電機(jī)分別驅(qū)動(dòng),前輪用一個(gè)萬向輪實(shí)現(xiàn),這樣可使控制電路更簡(jiǎn)潔。在實(shí)現(xiàn)可靠硬件設(shè)計(jì)的同時(shí),使用了一套獨(dú)特的算法,實(shí)現(xiàn)了小車在快速運(yùn)動(dòng)中根據(jù)檢測(cè)黑線的結(jié)果來控制前進(jìn)方向,取得了很好的效果。
整個(gè)系統(tǒng)的設(shè)計(jì)[3]分為線路檢測(cè)、信號(hào)比較、電機(jī)控制與驅(qū)動(dòng)三個(gè)模塊。首先利用光電傳感器對(duì)路面進(jìn)行檢測(cè),檢測(cè)到的信號(hào)經(jīng)過比較器處理之后,送給軟件控制模塊進(jìn)行實(shí)時(shí)控制,輸出相應(yīng)的信號(hào)給驅(qū)動(dòng)芯片驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),從而控制整個(gè)小車的運(yùn)動(dòng)及方向。小車的驅(qū)動(dòng)流程圖如圖1所示。
圖1 智能小車循跡系統(tǒng)框圖
文章的結(jié)構(gòu)如下:第1部分介紹系統(tǒng)的硬件電路設(shè)計(jì);第2部分介紹軟件部分的詳細(xì)設(shè)計(jì);第3部分介紹對(duì)系統(tǒng)的試驗(yàn)結(jié)果;第4部分對(duì)系統(tǒng)設(shè)計(jì)過程中的注意事項(xiàng)進(jìn)行說明;最后對(duì)文章的內(nèi)容進(jìn)行總結(jié)。
為了使整個(gè)系統(tǒng)穩(wěn)定工作,硬件電路包含線路檢測(cè)模塊、信號(hào)比較模塊、電機(jī)控制與驅(qū)動(dòng)模塊。整個(gè)系統(tǒng)結(jié)構(gòu)框圖如2 所示。
圖2 系統(tǒng)框圖
該智能小車在貼有黑線的白紙“路面”上行駛,因此本模塊設(shè)計(jì)需要檢測(cè)鋪在行駛區(qū)的黑膠帶,包括直線行駛區(qū)和沿弧線行駛區(qū)兩個(gè)區(qū)域。由于黑線和白紙對(duì)光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”——黑線。本文采用的是簡(jiǎn)單實(shí)用的檢測(cè)方法,即紅外探測(cè)法。
紅外探測(cè)法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時(shí)發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號(hào)。
圖3為循跡發(fā)射和接收電路,共有兩套,放在小車的前側(cè),分別檢測(cè)左側(cè)車輪和右側(cè)車輪的偏轉(zhuǎn)情況。采取的是反射取樣式,高亮度的發(fā)光二極管與光敏二極管呈V 字型放置。圖3的電路在+5V 電壓下工作,根據(jù)發(fā)射管和接收管所需的工作壓降和工作電流,選取的負(fù)載電阻如圖3所示。當(dāng)傳感器面對(duì)黑線時(shí),電路輸出端是高電平(用1表示),否則電路輸出端是低電平(用0表示)。因此由兩套傳感器即可實(shí)現(xiàn)路線方向的確定,兩個(gè)傳感器的位置放在黑線的兩個(gè)邊緣即可,如圖4所示,小車在行進(jìn)的過程中傳感器的輸出邏輯值及相應(yīng)的方向調(diào)整如表1所示。此部分電路的設(shè)計(jì)具有靈敏度高、可調(diào)節(jié)等特點(diǎn)。
圖3 循跡發(fā)射和接收電路 圖4 傳感器的位置示意圖
小車偏向 偏左 直行 偏右左右傳感器輸出值 0 1 0 0 1 0糾正方向 向右 不變 向左
此部分設(shè)計(jì)采用一個(gè)LM324比較器,對(duì)傳感器收到的信號(hào)進(jìn)行電壓比較與放大,并將比較后的結(jié)果輸送給單片機(jī),用于檢測(cè)傳感器的敏感性,電路圖如圖5所示。當(dāng)兩個(gè)傳感器同時(shí)檢測(cè)到光時(shí),直線前進(jìn)。當(dāng)傳感器檢測(cè)不到光時(shí),處于截止?fàn)顟B(tài),雙運(yùn)算放大器LM324 輸出低電平給單片機(jī),由程序處理;若左路未檢測(cè)到光,則向左糾正方向;若右路未檢測(cè)到光,則向右糾正方向。
由于采用的是雙驅(qū)動(dòng)的小車,這部分電路必須能夠輸出兩個(gè)不同的電壓值,分別去控制小車的左、右兩個(gè)驅(qū)動(dòng)電機(jī),使小車的兩個(gè)車輪的轉(zhuǎn)速和方向相同或不同,從而來控制它的前進(jìn)和轉(zhuǎn)彎。在系統(tǒng)的設(shè)計(jì)過程中,用兩個(gè)L9110芯片來分別連接單片機(jī)和直流電機(jī)。
L9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本降低,整機(jī)可靠性提高。該芯片有兩個(gè)TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反向運(yùn)動(dòng),它具有較大的電流驅(qū)動(dòng)能力,每通道能通過800mA的持續(xù)電流,峰值電流能力可達(dá)1.5~2.0A;同時(shí)它具有較低的輸出飽和壓降與靜態(tài)電流;內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動(dòng)繼電器、直流電機(jī)、步進(jìn)電機(jī)或開關(guān)功率管的使用上安全可靠。L9110和電機(jī)的連接電路圖如圖6所示。
圖5 LM324電路圖 圖6 L9110和直流電機(jī)連接圖
由于采用程序控制小車的行駛方向,因此軟件的設(shè)計(jì)也是整個(gè)系統(tǒng)設(shè)計(jì)中很重要的部分。程序整體
流程如圖7所示。
單片機(jī)控制小車方向的代碼如下:
org 0000H
MAIN:MOV P1,#00001010B ;初始狀態(tài),兩輪都正轉(zhuǎn)
JB P0.0,RIGH ;右傳感檢測(cè)到黑紙,說明小車向左偏,應(yīng)該給予糾正向右;
JB P0.1,LEFT ;左傳感檢測(cè)到黑紙,說明小車向右偏,應(yīng)該給予糾正向左;
LJMP MAIN
RIGH:MOV P1,#00001000B ;左輪轉(zhuǎn),右輪停,向右糾正
…
在作品完成之后,對(duì)作品進(jìn)行了測(cè)試。開關(guān)打開后,小車能按照預(yù)定路線平穩(wěn)行進(jìn),在行進(jìn)過程中,小車進(jìn)行了多個(gè)轉(zhuǎn)彎,沒有出現(xiàn)偏離路線的情況,而且行進(jìn)速度很快。根據(jù)檢測(cè),小車完成三圈的行進(jìn),共用時(shí)51.36秒。小車路線示意圖如圖8所示:
圖8 小車行駛線路圖
循跡小車系統(tǒng)以常見的AT89C51單片機(jī)為核心,輔以較簡(jiǎn)單的元器件和電路設(shè)計(jì),在順利完成循跡功能的前提下,又充分考慮到了外觀、成本等問題,因此小車的大部分電路由手工焊接完成。在設(shè)計(jì)中,我們沒有在電路中增加冗余的功能,但是保留了各種硬件接口和軟件子程序接口,方便以后的擴(kuò)展和開發(fā)。
[參考文獻(xiàn)]
[1] 胡錦,蔡谷明,梁先宇. 單片機(jī)技術(shù)實(shí)用教程[M].北京:高等教育出版社,2008:45-63.
[2] 劉海寬. 單片機(jī)試驗(yàn)與實(shí)訓(xùn)教程[M].南京:東南大學(xué)出版社,2009:72-104.
[3] 劉霞,侯傳教,孟濤. 電子設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2009:218-243