基于單片機(jī)的電動(dòng)模型汽車自動(dòng)控制系統(tǒng)設(shè)計(jì)
全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽中的C題,要求設(shè)計(jì)一個(gè)以單片機(jī)為核心器件實(shí)現(xiàn)對(duì)行駛中的電動(dòng)模型汽車自動(dòng)控制系統(tǒng),控制過(guò)程是利用反射式光電檢測(cè)器采集數(shù)據(jù),通過(guò)軟件完成對(duì)電動(dòng)模型汽車在不同路段的行駛速度實(shí)時(shí)控制,用數(shù)碼管對(duì)指定行程和所用的時(shí)間進(jìn)行顯示,同時(shí)利用紅外數(shù)傳方式將在限速區(qū)、終點(diǎn)區(qū)和返回到起點(diǎn)區(qū)后的時(shí)間和距離數(shù)據(jù)向手持顯示裝置單向傳送。系統(tǒng)將鍵盤設(shè)在小汽車中對(duì)其速度的控制調(diào)整更加方便、更加精確。
方案論證
根據(jù)題目的基本要求,設(shè)計(jì)任務(wù)主要是完成電動(dòng)小汽車在規(guī)定行駛路線中的速度控制,根據(jù)不同的行駛路段采用變速行進(jìn),對(duì)行程中的有關(guān)數(shù)據(jù)進(jìn)行處理顯示。為了使汽車與固定點(diǎn)保持聯(lián)絡(luò),本系統(tǒng)加裝了紅外數(shù)碼傳感器裝置,以實(shí)現(xiàn)對(duì)汽車的行駛過(guò)程定位。下面對(duì)系統(tǒng)的實(shí)現(xiàn)方案進(jìn)行論證。
1.數(shù)據(jù)采集方案的選擇數(shù)據(jù)采集一般可采用以下幾種方案:(1)使用發(fā)光二極管和光敏三極管組合;(2)使用紅外發(fā)光二極管和接收管組合;(3)利用激光。
通過(guò)對(duì)比,在本設(shè)計(jì)中由于是近距離探測(cè),我們采用方案二來(lái)完成數(shù)據(jù)的采集。由于紅外光的波長(zhǎng)比可見光長(zhǎng),因此受可見光的影響較小。同時(shí)紅外系統(tǒng)還具有尺寸小、重量輕、能有效防止可見光波的干擾、對(duì)輔助裝置要求最少、對(duì)人眼無(wú)傷害等優(yōu)點(diǎn)。當(dāng)然紅外光也有一定的缺點(diǎn),如在潮濕的大氣、霧和云中傳播時(shí)會(huì)衰減,所以只適合于室內(nèi)通信。我們選用的反射式光電檢測(cè)器具有體積小、靈敏度高、線性好等特點(diǎn),外圍電路及電路設(shè)計(jì)簡(jiǎn)單、安裝方便、電源要求不高、性能穩(wěn)定可靠,用它作為近距離傳感器是較理想的選擇。
2.顯示裝置的選擇車載顯示我們采用了數(shù)碼管,對(duì)時(shí)間和路程通過(guò)按鍵選擇顯示內(nèi)容。
3.通信方式的選擇可用無(wú)線電或紅外光方式,無(wú)線電方式通信距離較遠(yuǎn),但電路較復(fù)雜;而紅外光方式適合于近距離通信,電路較簡(jiǎn)單。目前只考慮單向傳輸,所以我們選擇了紅外光作為載波來(lái)傳送信息。
4.電源供電及車載重量的選擇考慮電動(dòng)車馬力和車載重量及摩擦阻力等問題,電路器件應(yīng)從功耗小、體積小和重量輕三方面進(jìn)行選擇,所以電源采用6節(jié)5號(hào)電池組成9伏直流電源。
系統(tǒng)框圖及工作原理
上圖給出系統(tǒng)組成框圖,數(shù)據(jù)采集通過(guò)光電傳感器完成對(duì)不同標(biāo)志的檢測(cè),并以電信號(hào)脈沖的形式送人單片機(jī)的INTO和Tl口。單片機(jī)對(duì)送來(lái)的信號(hào)進(jìn)行分析、運(yùn)算、處理,從Pl.1口輸出信號(hào)控制馬達(dá)的轉(zhuǎn)速,使電動(dòng)車的行駛速度得以調(diào)整;電動(dòng)車返回起點(diǎn)后,立即從單片機(jī)的串行通信口輸出數(shù)據(jù)顯示已行駛的距離和所用時(shí)間。另外,單片機(jī)從Pl.7口輸出數(shù)據(jù)通過(guò)紅外方式在指定位置向手持接收系統(tǒng)發(fā)送,手持接收系統(tǒng)也是由一單片機(jī)進(jìn)行數(shù)據(jù)處理,這樣我們可以隨時(shí)知道電動(dòng)車運(yùn)行的時(shí)間和位置情況。鍵盤是便于在調(diào)試時(shí)參數(shù)的設(shè)置,使小車的速度和位置更精確。
硬件原理分析及設(shè)計(jì)
由于跑道是白色的,在某些規(guī)定區(qū)域貼有黑色線條標(biāo)志,根據(jù)顏色對(duì)光的吸收和反射特性,光接收管在黑白區(qū)域的導(dǎo)通狀態(tài)不相同。當(dāng)小車在規(guī)定的跑道行駛時(shí),貼在小車底部的反射式光電檢測(cè)器就會(huì)作出不同的反應(yīng)。小車前端貼有一片光電傳感器,對(duì)線區(qū)的數(shù)據(jù)進(jìn)行采集,把變化的光信號(hào)轉(zhuǎn)換為電信號(hào),此信號(hào)經(jīng)施密特觸發(fā)電路整形后,送入單片機(jī)的中斷端(INTO)。在小車的后輪上貼一白紙及輪框上也貼有一片光電傳感器,對(duì)車輪的轉(zhuǎn)數(shù)進(jìn)行采集,送進(jìn)計(jì)數(shù)器端口(Tl)。經(jīng)單片機(jī)處理以后,用P1.0、P1.1分別控制電機(jī)的轉(zhuǎn)向以及脈寬,車載顯示器在運(yùn)行過(guò)程中顯示通過(guò)地面標(biāo)志的數(shù)量。在車停止后,顯示小車通過(guò)全程的時(shí)間及里程,顯示部分設(shè)置兩個(gè)按鍵,一個(gè)用來(lái)重啟單片機(jī),另一個(gè)用來(lái)翻頁(yè)查看小車運(yùn)行過(guò)程中的各種參數(shù)。手持顯示部分是由一體化紅外接收頭將發(fā)送過(guò)來(lái)的串行數(shù)據(jù)送入單片機(jī),采取軟件上的模擬串行通信的手法,對(duì)指定位置的里程和運(yùn)行時(shí)間進(jìn)行顯示。
1.數(shù)據(jù)采集部分利用紅外反射式檢測(cè)器對(duì)黑色或白色有敏感反應(yīng)的特性,可完成數(shù)據(jù)的采集,上圖為數(shù)據(jù)采集電路原理圖。圖中1、2端為光發(fā)射,3、4端為光接收。當(dāng)光電反射器在黑白面上移動(dòng)時(shí),4端便得到一個(gè)變化的脈沖電壓。在對(duì)不同介質(zhì)材料進(jìn)行綜合比較后,我們選擇光電反射器離地面為0.5cm的數(shù)據(jù)為基準(zhǔn),此電壓經(jīng)過(guò)一個(gè)施密特電路整形后得到一TTL電平送單片機(jī)。
我們利用NE555定時(shí)器來(lái)構(gòu)成施密特電路,輸入輸出之間的遲滯回線特性關(guān)系如上圖所示。當(dāng)電壓由低向高變化時(shí):02/3Vcc,Vo翻轉(zhuǎn)為“0”。當(dāng)電壓由高向低變化時(shí):2/3Vcc
2.電機(jī)轉(zhuǎn)速控制小車運(yùn)行速度的測(cè)量是通過(guò)在后輪加上反光片,當(dāng)輪子轉(zhuǎn)動(dòng)時(shí),光電反射器會(huì)檢測(cè)到脈沖,利用單片機(jī)的一個(gè)計(jì)數(shù)器對(duì)車輪所轉(zhuǎn)的圈數(shù)進(jìn)行計(jì)數(shù),同時(shí)通過(guò)另一個(gè)計(jì)數(shù)器對(duì)時(shí)間進(jìn)行測(cè)量,結(jié)合兩個(gè)計(jì)數(shù)器的值,由單片機(jī)計(jì)算出小車運(yùn)行的速度,而里程則是由車輪的周長(zhǎng)和所轉(zhuǎn)的圈數(shù)計(jì)算得出。
本系統(tǒng)在小車電機(jī)的控制部分利用8050、8550等不同三極管的組合,構(gòu)造一座“橋”,實(shí)現(xiàn)了對(duì)驅(qū)動(dòng)電機(jī)的輕松控制,電機(jī)驅(qū)動(dòng)電路如下圖,其控制過(guò)程如下:Pl.0為正反轉(zhuǎn)控制端,Pl.1為啟??刂贫恕?/p>
(1)Pl.1為高電平時(shí):當(dāng)Pl.0為低電平時(shí),則“向后”端為低電平,由Q51構(gòu)成的反相器使向前端為高電平。于是,Q52、Q53、Q54導(dǎo)通,Q55、Q56、Q57截止。其中Q52為激勵(lì)級(jí),Q53、Q54為功放級(jí)。電流從+9V經(jīng)Q53到電機(jī)“+”端再到“-”端最后經(jīng)Q54人地端,電機(jī)正轉(zhuǎn);當(dāng)Pl.0為高電平時(shí),則反之,Q55、Q56、Q57導(dǎo)通,Q52、Q53、Q54截止,電機(jī)反轉(zhuǎn)。
(2)Pl.1為低電平時(shí),“向前”和“向后”端均為低電平,電機(jī)停轉(zhuǎn)。
該“橋”的優(yōu)點(diǎn)是原理簡(jiǎn)單、易控制、帶負(fù)載能力強(qiáng)。在單片機(jī)的配合下,通過(guò)調(diào)脈寬的方法,實(shí)現(xiàn)了對(duì)驅(qū)動(dòng)電機(jī)的輕松調(diào)速,通過(guò)鍵盤對(duì)具體參數(shù)的修改,可以使小車適應(yīng)各種不同的電源。正因?yàn)椴扇×嗽擁?xiàng)技術(shù),使我們完成基本要求的過(guò)程變得簡(jiǎn)單易行。
在速度控制方面,一般是通過(guò)改變加在電機(jī)兩端的電壓來(lái)實(shí)現(xiàn)的,可以是連續(xù)改變(加直流電壓),也可以是斷續(xù)改變(加脈沖電壓)。為了簡(jiǎn)單實(shí)用我們采用了脈寬調(diào)速,脈沖寬度的變化可以通過(guò)硬件或軟件來(lái)實(shí)現(xiàn)。硬件實(shí)現(xiàn)是通過(guò)改變振蕩電路中RC參數(shù)來(lái)調(diào)整充放電時(shí)間;而軟件的做法是通過(guò)設(shè)置高電平及低電平的保持時(shí)間來(lái)達(dá)到。比較而言,軟件調(diào)整量化指標(biāo)更高、調(diào)整更可靠、更方便、更準(zhǔn)確。于是,鍵盤成了人機(jī)交流必不可少的器件。
脈沖頻率對(duì)電機(jī)轉(zhuǎn)速也有影響,脈沖頻率高連續(xù)性好,但帶負(fù)載能力差,頻率低則反之。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),脈沖頻率在15~20Hz效果最佳。
脈寬調(diào)速實(shí)質(zhì)上是調(diào)節(jié)加在電機(jī)兩端的平均功率,通過(guò)計(jì)算可發(fā)現(xiàn)汽車的速度與脈寬成正比。
軟件編程時(shí)的考慮是設(shè)置脈寬這個(gè)變量,在P1.1的啟停控制端產(chǎn)生20Hz可調(diào)脈寬方波。
3.顯示與鍵盤顯示部分采取獨(dú)具創(chuàng)新的軟件技術(shù),僅使用三根線完成,即數(shù)據(jù)線、時(shí)鐘線及輸入輸出控制線,通過(guò)對(duì)單片機(jī)串口的編程,創(chuàng)造性地實(shí)現(xiàn)了鍵盤顯示與單片機(jī)之間的串行接口技術(shù)。外部硬件只使用兩片74LS164和一片74LS166完成,通過(guò)該接口,我們使用了8個(gè)LED管,可繼續(xù)擴(kuò)展,也可以與鍵盤接口,其原理圖見下圖。
同時(shí)我們還有另一套方案,就是當(dāng)單片機(jī)的串口被其他硬件占用時(shí),我們同樣可以僅使用一個(gè)I/O口,實(shí)現(xiàn)模擬串口功能,使硬件的應(yīng)用更靈活、更方便。我們已在本系統(tǒng)中使用了模擬串口技術(shù),實(shí)現(xiàn)了車載系統(tǒng)與手持顯示系統(tǒng)的數(shù)據(jù)傳遞。這正符合了當(dāng)今時(shí)代所追求的“盡量使用軟件實(shí)現(xiàn)硬件”的原則,大大降低了外設(shè)硬件的成本。
三線串行顯示/鍵盤原理:三線為DAT(P3.O)——串行輸入/輸出數(shù)據(jù)線、CLK(P3.1)——移位時(shí)鐘線、RD(P3.7)——輸入/輸出控制線。
RD為低電平時(shí)為顯示模式,數(shù)據(jù)線(DAT)輸出位碼和段碼,一共16位。數(shù)據(jù)送完后,在U2(74LS164)存放的是位碼,在Ul(74LS164)存放了段碼,這樣便可在指定的一位顯示一個(gè)數(shù)碼。利用人的視覺暫留效應(yīng),便可動(dòng)態(tài)顯示出一個(gè)數(shù)據(jù);RD為高電平時(shí)為鍵盤模式,由9014構(gòu)成的反相器屏蔽UI、U2的時(shí)鐘信號(hào),但位碼和段碼仍存儲(chǔ)在Ul、U2中故仍能正常顯示,而時(shí)鐘對(duì)U3(74LS166)仍有效。由于顯示時(shí)保留的位碼仍在U2,可作為行列鍵盤的行碼使用,當(dāng)有鍵按下時(shí),列碼通過(guò)U3送到數(shù)據(jù)線(DAT)。這樣,單片機(jī)便可通過(guò)行列碼確定按鍵。
正常工作時(shí)每顯一位數(shù)碼就讀一下列碼,由于顯示和鍵盤都為動(dòng)態(tài)掃描,看起來(lái)是連續(xù)的。通過(guò)RD協(xié)調(diào)鍵盤和顯示,在顯示的同時(shí)又可讀入按鍵,充分利用了串口資源。
4.紅外數(shù)據(jù)傳輸部分紅外傳輸部分采取了簡(jiǎn)單易行的調(diào)制方案,使用了CD4069和38kHz晶振完成了載波的產(chǎn)生。同時(shí)利用三極管8050實(shí)現(xiàn)了數(shù)據(jù)信號(hào)對(duì)載波的調(diào)制,采用鍵控方式,調(diào)制后的信號(hào)直接驅(qū)動(dòng)紅外發(fā)光管。在接收端,信號(hào)經(jīng)一體化接收頭內(nèi)部的前放、限幅放大、帶通濾波、檢波、積分及施密特比較等單元電路后,在輸出端輸出標(biāo)準(zhǔn)的TTL電平信號(hào),直接送單片機(jī)的Pl.7口,利用軟件模擬串口的形式,對(duì)收到的數(shù)據(jù)進(jìn)行解調(diào)并送到顯示部分顯示。室內(nèi)紅外通信是利用視線光或反射光來(lái)完成通信的,在室內(nèi)環(huán)境下可以不考慮大氣和氣象條件引起的衰減,信道衰減主要由系統(tǒng)的幾何結(jié)構(gòu)和接收機(jī)的聚光器增益所決定。
本系統(tǒng)在室內(nèi)是采用視線光來(lái)完成通信的,實(shí)驗(yàn)測(cè)試紅外發(fā)射功率為63μW,接收機(jī)正常接收數(shù)據(jù)時(shí)光功率為-27dBm,基本達(dá)到了近距離傳輸數(shù)據(jù)的要求。