本文同時也介紹了ITR8104的紅外光電測速管,光電對管安裝在光電測速盤上小圓孔經過的圓弧上,通過專門的檢測電路將輸入信號輸入到單片機內的行處理,處理后進行顯示處理。
隨著科學技術的發展,對智能小車的要求也越來越高,其中各種傳感器的應用是實現智能小車“智能”的關鍵因素。伴隨著智能小車技術的發展,該項技術可廣泛應用于自動巡邏、無人生產線、自動循跡等。
[關 鍵 詞] 循跡 直流減速電機 光敏電阻傳感器、紅外傳感器、光電傳感器。
自第一臺工業機器人誕生以來,機器人的發展已經遍及機械、電子、冶金、交通、宇航、國防等領域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不斷探討、改造、認識自然的過程中,制造能替代人勞動的機器一直是人類的夢想。
隨著科學技術的發展,機器人的感覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應用領域為自主式智能導航系統,對于視覺的各種技術而言圖像處理技術已相當發達,而基于圖像的理解技術還很落后,機器視覺需要通過大量的運算也只能識別一些結構化環境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優勢,因此在不要求清晰圖像只需要粗略感覺的系統中考慮使用接近覺傳感器是一種實用有效的方法。
在歷屆全國大學生電子設計競賽中多次出現了集光、機、電于一體的簡易智能小車題目,比較有影響力的有飛思卡爾智能車大賽。循跡是智能小車的基本功能,單片機通過安裝在小車底部的光敏電阻傳感器將信號反饋給單片機進行處理,從而控制小車在白色路面上循黑線行走。
智能小車要實現自動導循跡功能就必須要感知導引線,感知導引線相當給機器人一個視覺功能,選擇正確的行進路線,使用傳感器感知路線并作出判斷和相應的執行動作。
該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執行部分、CPU。機器人要實現自動循跡功能,還可以擴展測速等功能,感知導引線和車速。可以實現小車自動識別路線,選擇正確的行進路線。基于上述要求,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的光敏電阻傳感器來充當。智能小車的執行部分,是由直流電機來充當的,主要控制小車的行進方向和速度。單片機驅動直流電機一般有兩種方案:第一,勿需占用單片機資源,直接選擇有PWM功能的單片機,這樣可以實現精確調速;第二,可以由軟件模擬PWM輸出調制,采用專業的電機驅動芯片進行控制,可以實現精確調速、轉向,同時單片機型號的選擇余地較大。考慮到實際情況,本文選擇第二種方案。CPU使用STC89C52單片機,配合軟件編程實現。
現智能小車發展很快,從智能玩具到其它各行業都有實質成果。其基本可實現循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,這幾節的電子設計大賽智能小車又在向聲控系統發展,比較出名的飛思卡爾智能小車更是走在前列。未來的智能小車的發展方向主要是面向自動行駛與導航,小車也進一步更加智能化。
根據要求,確定如下方案:在現有玩具電動車的基礎上,加裝紅外傳感器、光電檢測器,實現對小車的行駛路線、速度狀況的實時測量,并將測量數據傳送至單片機進行相應處理,單片機采用目前應用比較廣泛的AT89C52單片機。然后由單片機根據所檢測的各種數據實現對小車的智能控制。這種方案能實現對小車運動狀態進行實時控制,控制靈活、可靠,精度高,可滿足系統的各項要求。
2.1主控系統根據設計要求,我認為此設計屬于多輸入量的復雜程序控制問題。據此,擬定了以下兩種方案并進行了綜合的比較論證,具體如下:
方案一:
選用一片CPLD(如EPM7128LC84-15)作為系統的核心部件,實現控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發周期短等優點,可利用VHDL語言進行編寫開發。但CPLD在控制上較單片機有較大的劣勢。同時,CPLD的處理速度非常快而小車的行進速度不可能太高,那么對系統處理信息的要求也就不會太高,在這一點上MCU就已經可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題
方案二:
采用單片機作為整個系統的核心,用其控制行進中的小車,以實現其既定的性能指標。充分分析我們的系統,其關鍵在于實現小車的自動控制,而在這一點上,單片機就顯現出來它的優勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優點。因此,這種方案是一種較為理想的方案。
針對本設計特點——多開關量輸入的復雜程序控制系統,需要擅長處理多開關量的標準單片機,而不能用精簡I/O口和程序存儲器的小體積單片機,D/A、A/D功能也不必選用。根據這些分析我們選用了MCS-51單片機。51單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達8K,對于本設計也綽綽有余,更可貴的是51單片機價格非常低廉。在綜合考慮了傳感器、兩部電機的驅動等諸多因素后,我們決定采用一片單片機,充分利用STC89C52單片機的資源。
對比以上兩種方案,我們選用方案二。
方案一:
采用干電池提供5V的電壓進行電路供電,考慮到整個系統的正常工作時的額定電壓,我們選用了方案二;
方案二:
系統整體上采用DC+9V干電池經LM7805三端穩壓管穩壓后輸出DC+5V電壓供電。電機驅動模塊電源采用4節干電池輸出DC+6V電壓供電。
2.3 電機驅動模塊設計方案一:
采用繼電器對電動機的開或關進行控制,通過開關的切換對小車的速度進行調整。此方案的優點是電路較為簡單,缺點是繼電器的響應時間慢,易損壞,壽命較短,可靠性不高。
方案二:
主要采用L298N,通過單片機的I/O輸入改變芯片控制端的電平,即可以對直流電機進行正反轉,停止的操作,輸入引腳與輸出引腳的邏輯關系圖如圖1所示:
EnA | In1 | In2 | 運轉狀態 |
0 1 1 1 1 | Ⅹ 1 0 1 0 | Ⅹ 0 1 1 0 | 停止 正轉 反轉 剎停 停止 |
電機驅動采用一片集成電機驅動芯片L298N。L298N是SGS公司的產品,內部包含4通道邏輯驅動電路,是一種二相和四相電機的專用驅動器,即內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。其引腳排列圖如圖2所示。
OUT1、OUT2和OUT3、OUT4之間分別接兩個電動機MG1、MG2。IN1、IN2、IN3、IN4引腳從單片機輸入控制電平,控制電機正飯轉。ENA、ENB接控制使能端,通過pwm波形控制電機的轉速。L298N的邏輯功能表如下圖所示,

對于電機的速度,我們采用pwm調速的方法。其原理就是開關管在一個周期內的導通時間為t,周期為T,則電機兩端的平均電壓U=VCC*(t/T)=a*VCC。其中,a=t/T(占空比),VCC是電源電壓。電機的轉速與電機兩端的電壓成比例,而電機兩端的電壓與控制波形的占空比成正比,因此電機的速度與占空比成比例。
占空比越大,電機轉速越快。在硬件電路上,我們將單片機的P1^0~P1^3口分別連接到L289N芯片的IN1~IN4上,通過改變P1^0~P1^3口的高低電平變換以控制小車的前進方向與停轉,通過改變P1^0~P1^3口上的高低電平的占空比以控制電機的轉速。
Pwm配合橋是驅動電路L298N,實現直流電機調速,簡單且調速范圍大。因此,我們選用了方案二。
另外,我們特別在直流電機的電樞兩端并聯一個瓷片電容104,以穩定電機的電壓不至于對單片機造成干擾。
本模塊分為兩個部分,分別為檢測循跡模塊和測速模塊。
第一部分,檢測循跡模塊
方案一:
尋跡模塊我們可以用光敏電阻組成,光敏電阻的阻值可以跟隨周圍環境光線的變化而變化。當光線照射到黑線上面時,光線反射較弱,光線照射到白色地面上時,光線反射較強。因此當光敏電阻在白色路面和黑線上方時,阻值會發生明顯的變化 將阻值的變化值轉化為高低電平的變化。但是這種方式受環境光影響較大,實際測試中采用三路光敏檢測循跡模塊,為了減少可見光的干擾,在信號的輸出端加上了一個非門輸出信號(減小環境光的干擾)。但在實際測試中發現該電路輸出并不穩定,電路圖如圖六所示,其中發光二極管D1在電路中只是作為電路的輔助光源補充器件,以便于小車在夜間循跡。
方案二:
在這里我們實際采用的是 RPR220 型反射式傳感器制作的尋跡模塊 RPR220是一種一體化反射型光電探測器,其發射器是一個砷化鎵紅外發光二極管,而接收器是一個高靈敏度,硅平面光電三極管 當發光二極管發出的光反射回來時,三極管導通并輸出低電平。
對比以上兩種方案,我們選用方案二。
該器件有如下特點:
1.塑料透鏡以提高靈敏度;
2.內置的可見光過濾器以減少離散光的影響;
3.體積小,結構緊湊。
第二部分,測速模塊
方案一:
采用目前技術比較先進的霍爾傳感器作為測速的核心元件。該器件的優點是體積小,測速精準,誤差小,芯片集成度高。但,由于成本較高,因此,未選用該器件。
方案二:
采用目前技術比較成熟的紅外光電對射管作為本模塊測速核心元件。此處我們選用型號為ITR8104的光電對管。光電對管安裝在光電測速盤上小圓孔經過的圓弧上。該傳感器具有測速精準、受可見光干擾小、價格便宜、易于裝配、使用方便等特點。
將紅外對射管安裝在光電盤上圓孔的圓弧上,電機每旋轉一 周,安裝在光電盤上的光電傳感器檢測4次信號,并將檢測的信號送到單片機的外部中斷I/O,對外部中斷進行中斷次數的計數,進而通過程序算法將小車的行駛速度顯示在數碼管上。
方案一:
采用LCD1602液晶顯示器作為顯示模塊電路顯示器件。此方案的優點是可以對小車的行使信息,包括行駛速度、路程、狀態等的顯示,功能強大。但,考慮到該器件成本較高,且體積較大,因此沒有采用。
方案二:
采用四位共陽極數碼管作為模塊電路的顯示器件。通過外部安裝在單片機上的光電對射管對光電盤(安裝在直流電機轉子上)進行單片機的外部中斷計速,進而送數碼管顯示,其中,數碼管的高兩位顯示小車行駛的路程,低兩位顯示小車的行駛速度。該電路結構簡單,成本較低,并且基本滿足設計的要求。
對比以上兩種方案以及實際設計要求,我們選擇方案二
整個系統基于玩具小車的機械結構,并利用了小車的底盤、轉向控制電機、行駛狀態控制電機,能夠平穩跟蹤路面黑色軌跡運行,并能實時的根據小車的行駛情況對小車的狀態進行調整,此部分通過專業的電機驅動芯片L298N控制。
小車控制系統總體結構如下圖所示。以AT89C52單片機為控制核心,主要由電源模塊、尋跡檢測模塊、紅外對射測速模塊、直流電機驅動模塊、數碼管顯示模塊等功能模塊組成。首先利用光電傳感器對路面信號進行檢測,經過比較器處理后,送給單片機進行實時控制,單片機輸出相應的信號給驅動芯片驅動電機轉動,從而控制整個小車的運動。與此同時,紅外對射管傳感器開始對小車的行駛速度進行檢測,并通過程序算法將小車的行駛速度與行駛距離實時的顯示在數碼管上。

本次設計的主控芯片選擇為STC89C52。STC89C52是一種低功耗高性能CMOS 8位微控制器,具有8K的系統可編程Flash存儲器使用高密度非易失性存儲器技術制造,與80C51產品指令和引腳完全兼容片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在線系統可編程Flash ,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。主控電路模塊采用AT89C52單片機作為主控芯,CPU采用外部經穩壓電路模塊輸出的+5V直流電源供電,可支持高打1000次以上數據擦寫。

電機驅動模塊電路是基于一片集成電機驅動芯片L298N,該芯片具有工作穩定,調速范圍廣且靈活,該部分采用獨立的DC+6V直流電源供電,實際調試過程中發現可以通過PWM對電機的的運轉速度進行調節。

第一部分,檢測循跡模塊
檢測循跡模塊主要采用的是 RPR220 型反射式傳感器制作的,RPR220是一種一體化反射型光電探測器,其發射器是一個砷化鎵紅外發光二極管,而接收器是一個高靈敏度,硅平面光電三極管 當發光二極管發出的光反射回來時,三極管導通并輸出低電平。
在此部分中,我們使用了雙電壓比較器LM393,下圖為其引腳功能排列表及電路圖。


如圖二十三所示,傳感器ITR8104在沒有外部中斷信號時,ITR8104接收管經R14電阻對外輸出高電平,此時PNP三極管Q8工作于截至狀態,INT0輸出高電平。
當傳感器接受到外部中斷信號(光電測速盤上的4個小孔),紅外傳感器接收管的集電極電平被拉低,經限流電阻R28導通三極管Q8,INT0此時電平被拉低,單片機I/O口P3.2產生中斷信號,單片機對中斷信號進行計數,進而對檢測到的數據進行程序算法處理輸出。

顯示模塊為數碼管驅動經典電路,電路中PNP三極管起到開關管的作用用來驅動共陽極數碼管。段選端通過1K的限流電阻接單片機的P0口,起到段選的作用,4個位選口接單片機的P2.0至P2.3口,當需要選中單個數碼管是,相應的位選口上輸出低電平,經PNP三極管后選中相應的位,達到控制的目的,其中R16至R19為限流電阻,防止電流過大,燒毀數碼管,起到保護數碼管的作用。

主程序默認單片機上電調用初始化程序以及判斷三路傳感器的狀態,輸入到單片機內進行處理后輸出,調用循跡子程序,同時單片機的定時器及外部中斷服務子程序對檢測到的外部中斷次數處理,實時刷新顯示在數碼管上。

根據實際情況,我們分析出了小車的7種行駛狀態,如下所示,
小車的7種行駛狀態
A B C 狀態
a 1 0 1 B路正照在黑線上,小車前進
b 0 0 1 AB找在黑線上,小車左轉彎
c 1 1 1 A在黑線上,小車左轉彎
d 1 0 0 BC在黑線上,小車右轉彎
e 1 1 0 C在黑線上,小車右轉彎
f 1 1 1 ABC都不在黑線上,小車保持上一次狀態不變
g 0 0 0 ABC都在黑線上,小車停止

采用Protel 99se繪制原理圖與PCB板,布線的過程中必須注意焊盤的大小與銅線的寬度。我選取的焊盤內徑為0.8mm,外徑2mm;正常布線線寬2.5mm,電源與地線寬5mm。從做板的情況來看基本達到制作得要求。
基于Protel 99se 軟件的硬件電路原理圖見附圖一,圖1為基于Protel 99se 軟件繪制的主板PCB印刷電路板,繪制電路圖以及制板整個過程是建立在硬件原理圖的成功繪制以及每個部分硬件電路的反復多次測試的基礎上完成的。特別是后期制作PCB板的的時候,為了考慮小車實際工作時的需要,三路RPR220紅外傳感器單獨繪制PCB電路板(副板)是根據傳感器實際安裝位置安裝在小車前底部,安裝示意圖如圖6所示。
圖2 基于Protel 99se 繪制的主板PCB圖(未加淚滴及覆銅前的電路板),圖3基于Protel 99se 繪制的主板PCB 3D 效果圖,圖4 基于Protel 99se 繪制的副板PCB圖,圖5 基于Protel 99se 繪制的副板PCB 3D效果圖。






整個系統的設計以單片機為核心,利用了多種傳感器,將軟件和硬件相結合。本系統能實現如下功能:
(1)自動沿預設軌道行駛小車在行駛過程中,能夠自動檢測預先設好的軌道循跡,若有偏離,能夠自動糾正,返回到預設軌道上來。
(2)通過安裝在主板上的數碼管能夠實時顯示小車當前行駛速度與行駛距離。
從運行情況來看循跡的效果比較好,顯示的效果不是很好,我認為是由于軟件部分的原因。另外就是小車的速度不好控制,雖然采用了專業的電機控制芯片,但pwm調速有待完善,這也是我這次設計的誤區。我相信如果實驗條件和時間的允許下我肯定能解決這一問題。
通過本次設計我掌握了很多以前不熟練的東西,認識了很多以前不熟悉得東西,使我在人生上又進了一步。也認識到很多的不足。
本設計能夠順利完成,還承蒙沈老師以及身邊的很多同學的指導和幫助。在設計過程中,沈老師給予了悉心的指導,最重要的是給了我解決問題的思路和方法,并且在設計環境和器材方面給予了大力的幫助和支持,在此,我對沈老師表示最真摯的感謝!同時感謝所有幫助過我的同學!感謝評閱老師百忙之中抽出時間對本論文進行了評閱!

基于單片機循跡小車的設計.doc
(806 KB, 下載次數: 29)
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |