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