關(guān)志艷,張振宇,何茂榮,楊曉蕾
(山西大學(xué)商務(wù)學(xué)院信息學(xué)院,山西 太原 030031)
依據(jù)2018年8月全國(guó)大學(xué)生電子設(shè)計(jì)大賽山西賽區(qū)題目—自動(dòng)循跡小車,2015年、2016年的全國(guó)大學(xué)生電子大賽均有智能小車題目,區(qū)別在于循跡的依據(jù)不同,如依據(jù)黑線循跡等,剛剛結(jié)束的2018年全國(guó)大學(xué)生電子大賽是以鐵絲為循跡依據(jù)。智能車控制是典型的軟硬件技術(shù)的結(jié)合體,對(duì)于電子專業(yè)和物聯(lián)網(wǎng)專業(yè)的學(xué)生而言,智能小車是一個(gè)很好的檢驗(yàn)單片機(jī)、模擬電子、C語言等課程的實(shí)際開發(fā)例子,對(duì)于提高學(xué)生的實(shí)際動(dòng)手能力有很大的促進(jìn)作用[1]。
設(shè)計(jì)制作一個(gè)自動(dòng)循跡小車,由一根直徑0.6~0.9 mm的細(xì)鐵絲圍成的跑道,小車能夠識(shí)別鐵絲并按時(shí)按方向跑完一圈,具體要求如下:
1) 在所規(guī)定區(qū)域小車所在的直線區(qū)任意指定一起點(diǎn)(終點(diǎn)),小車依據(jù)跑道上設(shè)置的鐵絲標(biāo)識(shí),自動(dòng)繞跑道跑完一圈。時(shí)間不得超過10 min。小車運(yùn)行時(shí)必須保證軌跡位于鐵絲垂直投影之下;
2) 實(shí)時(shí)顯示小車行駛的距離和運(yùn)行時(shí)間;
3) 在任意直線段鐵絲上放置4個(gè)第五套人民幣的1角硬幣,硬幣邊緣緊貼鐵絲,小車路過硬幣時(shí)能夠發(fā)現(xiàn)并發(fā)出聲音提示。
如圖1所示,當(dāng)LDC1000傳感器探測(cè)到金屬值實(shí)時(shí)傳給單片機(jī),多次測(cè)定彎道金屬值變化范圍,單片機(jī)判定金屬值變化區(qū)間來給予電機(jī)驅(qū)動(dòng)高低電平,進(jìn)行左右轉(zhuǎn)。隨后,從單片機(jī)通過改變輸出給驅(qū)動(dòng)模塊的PWM信號(hào)來對(duì)小車進(jìn)行前進(jìn)和轉(zhuǎn)向速度進(jìn)行控制。
圖1 整體框圖
總體思路:小車驅(qū)動(dòng)部分采用左右電機(jī)驅(qū)動(dòng),利用萬向輪的靈活性以及左右電機(jī)的轉(zhuǎn)速來控制小車的左右轉(zhuǎn)彎。利用LDC1000傳感器來檢測(cè)鐵絲方向、硬幣等,使小車不斷按著鐵絲路線進(jìn)行前進(jìn),同時(shí)在LCD1602液晶顯示器上進(jìn)行顯示行走距離與所用時(shí)間。
方案一:選用STC89C52RC單片機(jī)。采用宏晶公司的STC89C52RC單片機(jī)作為主控制器,價(jià)格便宜,控制簡(jiǎn)單,為我們平時(shí)實(shí)驗(yàn)所熟用;對(duì)于單片機(jī)初學(xué)者,STC89C52RC雖然內(nèi)部資源有限,但在短時(shí)間掌握其他型號(hào)單片機(jī)又不太可能[2]。
方案二:STM32單片機(jī)則是ST公司使用ARM公司的Cortex-M為核心生產(chǎn)的32bit系列的單片機(jī),他的內(nèi)部資源(寄存器和外設(shè)功能)較8051都要多的多,但是同學(xué)們現(xiàn)在的單片機(jī)掌握程度不易采用,且價(jià)格昂貴,難操作[2]。
綜合考慮,自動(dòng)循跡小車主控制器選方案一。
方案一:LDC1000可通過16位共振阻抗及24位電感值,在位置傳感應(yīng)用中實(shí)現(xiàn)亞微米級(jí)分辨率;提供非接觸傳感技術(shù)避免受油污塵土等非導(dǎo)電污染物的影響,可延長(zhǎng)設(shè)備使用壽命;采用低成本傳感器及傳導(dǎo)目標(biāo),無需磁體[4]。
方案二:LDC1314是4通道12位的電感傳感器,性能穩(wěn)定,但是價(jià)格比LDC1000貴。
鑒于以上分析,選用方案一。
方案一:選擇主要芯片型號(hào)為SM100K紅外對(duì)射計(jì)數(shù)器,其搭配D型孔碼盤,紅外對(duì)射計(jì)數(shù)器是否被遮擋光線,從而輸出脈沖信號(hào)觸發(fā)計(jì)數(shù)電路[5]。
方案二:采用測(cè)速發(fā)電機(jī)原理,但實(shí)現(xiàn)難度較大,需要將旋轉(zhuǎn)機(jī)械能轉(zhuǎn)換成電信號(hào),采用電磁感應(yīng)原理,對(duì)電機(jī)加以改動(dòng)。
綜合以上,選用方案一
方案一:采用直流電機(jī)。直流電機(jī)轉(zhuǎn)動(dòng)力矩大,響應(yīng)迅速,體積小,重量輕,具有優(yōu)良的調(diào)速特性;調(diào)速平滑、方便、調(diào)整范圍廣;能滿足各種不同的特殊運(yùn)行要求,價(jià)格便宜[6]。
方案二:采用步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器[6]。
綜上所述,采用方案一
方案一:采用LCD1602液晶顯示。LCD1602液晶是我們?cè)谏蠁纹瑱C(jī)課程中要求學(xué)生必須掌握的一種輸出設(shè)備,它可以顯示32個(gè)字符,對(duì)于本參賽題目要顯示的內(nèi)容能夠完全顯示[5]。
方案二:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,但顯示的位數(shù)有限。
因此,綜合考慮選用方案一。
該循跡小車用了兩個(gè)LDC1000與主單片機(jī)連接來進(jìn)行方向判斷,LDC1000的原理就是電磁感應(yīng),其只需要外接一個(gè)PCB線圈或者自制線圈就可以實(shí)現(xiàn)非接觸式電磁檢測(cè)。在PCB線圈或者自制線圈中加上交變電流,線圈周圍就會(huì)產(chǎn)生交變磁場(chǎng)。如果有金屬物體進(jìn)入磁場(chǎng),將會(huì)在金屬的表面產(chǎn)生渦流。所以當(dāng)有金屬物體接近時(shí),就會(huì)使傳感器的數(shù)值發(fā)生變化,對(duì)這一變化進(jìn)行判斷便可得知小車是否在正確的軌道上。
經(jīng)過實(shí)驗(yàn)測(cè)定,在線圈上并聯(lián)100Pf電容,再將并聯(lián)出來的線連接到LDC1000的INA和INB引腳上,左LDC1000的MISO、MOSI、CSN和SCK分別與主單片機(jī)的P2.0、P2.1、P1.6和P1.7連接;右LDC1000的MISO、MOSI、CSN和SCK分別與主單片機(jī)的P3.0、P3.1、P2.2和P3.2連接,如圖2所示。
圖2 LDC1000引腳
SM100K測(cè)速傳感器是一款寬電壓、高分辨率、短響應(yīng)速度、開關(guān)量輸出的測(cè)速模組,配合黑色碼盤可以測(cè)量電機(jī)轉(zhuǎn)速。在小車上,有兩路輪子是沒有加裝齒輪的,通過使用D型孔碼盤可以測(cè)速,如圖4所示;使用20線的碼盤,小車車輪直徑為6.68 cm,小車車輪轉(zhuǎn)動(dòng)帶動(dòng)碼盤轉(zhuǎn)動(dòng),每次碼盤空隙經(jīng)過傳感器就會(huì)輸出低電平,就會(huì)有一個(gè)下降沿,傳感器的OUT引腳連接主單片機(jī)的外部中斷1,每個(gè)下降沿就會(huì)觸發(fā)單片機(jī)的外部中斷,通過對(duì)外部中斷1次數(shù)計(jì)數(shù),每20次就是一圈,從而可以計(jì)算車輪轉(zhuǎn)動(dòng)的圈數(shù),進(jìn)而計(jì)算出行駛距離。
電機(jī)驅(qū)動(dòng)芯片選擇L293D。L293D采用16引腳DIP封裝,其內(nèi)部集成了雙極型H-橋電路,電機(jī)停止時(shí)有微振電流,起到“動(dòng)力潤(rùn)滑”作用,消除正反向時(shí)的靜摩擦死區(qū)。L293D通過內(nèi)部邏輯生成使能信號(hào)。每1個(gè)電機(jī)需要3個(gè)控制信號(hào)EN12、IN1、IN2,其中EN12是使能信號(hào),IN1、IN2為電機(jī)轉(zhuǎn)動(dòng)方向控制信號(hào),IN1、IN2分別為1,0時(shí),電機(jī)正轉(zhuǎn),反之,電機(jī)反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過調(diào)整PWM的占空比可以調(diào)整電機(jī)的轉(zhuǎn)速。選擇一路I/O口,經(jīng)反向器74HC14分別接IN1和IN2引腳,控制電機(jī)的正反轉(zhuǎn)。
圖3 整體電路
本小車編程主要采用C51語言來編譯程序。循跡小車最重要的功能是循跡,圖4是小車循跡的主要程序流程圖。
一根直徑0.6~0.9 mm的細(xì)鐵絲圍成的跑道,LCD1602液晶顯示器,自動(dòng)小車。
通過小車行駛路線,來觀察LCD1602液晶顯示器上的各類數(shù)值。
表1 LDC1000測(cè)試結(jié)果數(shù)據(jù)表
表2 循跡小車測(cè)量數(shù)據(jù)結(jié)果
圖4 循跡程序流程
問題分析:LDC1000檢測(cè)的數(shù)據(jù)不穩(wěn)定,應(yīng)該與線圈離地面位置、數(shù)據(jù)線接口處、電容焊接處、金屬絲擺放位置等有關(guān)系,需要盡可能地固定??;紅外
對(duì)射計(jì)數(shù)器測(cè)距時(shí)使用的格碼盤,可以處理剩一個(gè)小格,減小計(jì)算壓力。
總結(jié):從測(cè)試結(jié)果來看,該小車系統(tǒng)實(shí)現(xiàn)了題目基本部分的要求,PWM技術(shù)能夠極大地提高電動(dòng)機(jī)的驅(qū)動(dòng)效率,通過傳感器接收模塊解決了小車嚴(yán)格按照軌跡運(yùn)行的問題,而傳感器也能夠精確測(cè)量小車與硬幣之間的距離。從運(yùn)行情況看,采用本系統(tǒng)設(shè)計(jì)制作的自動(dòng)尋跡小車,系統(tǒng)可靠性較高,運(yùn)行穩(wěn)定,達(dá)到了設(shè)計(jì)要求;但是自動(dòng)循跡的功能還需要進(jìn)一步完善,使得系統(tǒng)更趨于智能化、人性化的特點(diǎn)。