目錄 1. 主題要研究內容....... 2 2. 工作原理及總體設計....... 2 2-1.工作原理... 2 3. 硬件設計....... 3 3-1.小車車體設計... 3 3-2.電源模塊... 4 3-3.電機驅動模塊... 4 3-4.檢測模塊... 5 3-5.最終方案... 6 4. 硬件實現及單元電路設計....... 6 4-1.主控制模塊... 6 4-2.電源設計... 8 4-3.驅動電路... 9 4-4.小車車體總體設計... 11
智能避障小車 1. 主題要研究內容 系統采用STC89C52單片機作為核心控制單元,小車車體前方的紅外線傳感器檢測前方障礙物,用于判斷是否需要轉彎,防止小車碰到障礙物。 本設計題目為基于單片機的自動避障小車設計,主要研究小車的避障功能,小車遇到障礙物時,當距離障礙物大于25cm,PWM信號自增,驅動電機加速,小車加速前進,當小于15cm時,PWM信號自減,驅動電機減速,小車減速前進,并且小車采取相應的避障措施。這里探測裝置必不可少,因為紅外在距離檢測方面的準確定位。所以采用紅外線傳感器作為探測裝置。運用單片機搭建控制電路,把紅外信號接到單片機上,通過單片機對信號的檢測和處理,控制外圍電路使小車轉向,來避開障礙物。通過H橋驅動電路來控制電機的轉向和前進。 2. 工作原理及總體設計 2-1.工作原理 在這里我們采用STC89C52作為控制電路,把兩個紅外信號接到單片機上,通過單片機對信號的接收和處理,控制外圍電路使小車轉向,來避開障礙物。通過H橋驅動電路來控制電機的轉向和前進。通過為微控制芯片對數據進行處理,處理速度遠遠滿足小車的運行和避障的需求。也可以通過編寫不同的程序,增加模塊來增加小車的功能。 本小車使用STC89C52單片機作為主控芯片,它通過紅外線傳感器獲知前方的障礙物情況,若不存在障礙物,小車直線前進;若左前方發現障礙物,左前放的紅外傳感器將信號傳給單片機,單片機作出處理后控制小車向右轉彎以躲開障礙物;若右前方發現障礙物,右前放的紅外傳感器將信號傳給單片機,單片機作出處理后控制小車向左轉彎以躲開障礙物;若正前方發現障礙物,則兩個紅外傳感器將信號傳給單片機,單片機作出處理后控制小車倒車至合適距離后,通過傳感器傳來的信號決定轉彎方向,以躲開障礙物。 2-1.總體設計 通過學習相關技術資料可了解到,紅外檢測模塊是系統的關鍵模塊之一,紅外檢測方案的好壞直接關系到整體性能的優劣,因此確定紅外檢測方案是總體方案的關鍵。 檢測使用的紅外傳感器是專業的紅外避障傳感器,當有障礙物時,它能夠反映出電平高低的變化,而且更加廉價易得,適合簡單的避障。系統總體設計方框圖如圖所示。
系統總體設計
根據系統方案設計,系統包括以下模塊:STC89C52主控模塊、L298N電機驅動模塊、電源模塊、紅外檢測模塊等。 各模塊作用如下: 1. STC89C52主控模塊,作為整個智能小車的“大腦”,將根據傳感器的信號,控制算法做出控制決策,驅動直流電機等完成對智能小車的控制。 2. 電源模塊,為整個系統提供合適而又穩定的電源。 3. 紅外檢測模塊,檢測障礙信號,為單片機提供前方道路信息。 電機驅動模塊,驅動直流電機完成智能車的加減速和轉向控制。
3. 硬件設計 3-1.小車車體設計 小車的車體是整個智能小車的載體,在這個載體上,添加合適的控制單元以實現智能化,因此這個小車車體需要符合相關的設計要求。我們有以下兩種方案可以考慮: 方案1: 市場上存在很多不同型號的電動玩具小車,這種小車都有完整的車體和車輪以及電機和驅動電路。但是這種小車存在很多的缺點,由于是成品電動玩具車,一般都是裝配緊湊,要想在其才車體上安裝用于檢測的傳感器十分困難。還有就是這種小車一般采用的都是前輪轉向后輪驅動的模式,不能方便迅速的進行原地90度或180度旋轉。而且這種電動玩具車多為直流電機,力矩小,負載性能差,且不易調速,因此我們放棄了此方案。 方案2: 買現成的車模。經過反復考慮論證,我們制定了買左右兩輪分別驅動,后萬向輪轉向的車模方案。即左右輪分別用兩個轉速和力矩基本完全相同的直流減速電機進行驅動,后裝一個萬向輪。這樣,當兩個直流電機轉向相反同時轉速相同時就可以實現電動車的原地旋轉,由此可以輕松的實現小車坐標不變的90度和180度的轉彎。 綜上考慮,本設計選擇方案2. 3-2.電源模塊 本設計為避障小車的設計,由于小車需要獨立運行進行避障,因此系統采用電池供電,我們考慮了如下幾種方案為系統供電。 方案1: 采用12V蓄電池為系統供電。蓄電池具有較強的電流驅動能力以及穩定的電壓輸出性能。但是蓄電池的體積過于龐大,在小型電動車上使用極為不方便。因此我們放棄了此方案。 方案2: 采用6節1.5 V干電池共9V做電源,經過7805的電壓變換后為單片機,傳感器供電。經過實驗驗證小車工作時,單片機、傳感器的工作電壓穩定能夠滿足系統的要求,而且電池更換方便。 綜上所述,本設計采用方案2。 3-3.電機驅動模塊 電機的驅動模塊是小車運行的基礎,也是小車實現自動避障的實現方法,因此合適的電機驅動模塊就顯得尤為重要。我們有以下幾種方案可以考慮。 方案1: 利用繼電器控制電機,通過繼電器的開關來切換小車的速度,此方案電路簡單,但是其有嚴重缺點,就是繼電器的響應時間較長,不利于小車較為精準的躲避障礙,且易損壞,壽命較短,可靠性不高。 方案2: 利用電阻或者電位器控制電機,電阻或電位器控制電機的電壓,進而達到控制電機速度的目的。但是,數字電阻元器件成本較高,且電機的電流較大,采用分壓的方法會降低效率,而且是指操作困難。 方案3: 利用三極管控制電機,三極管控制電機的電路原理簡單,而且加速性能強,利用功率三極管組成的H型橋式電路。如下圖所示:
H型橋式電路
用單片機控制功率三極管在占空比可調的狀態下工作,精準的對電動機的轉速進行調整。H型橋式電路工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現電機轉速大小和運行方向的控制,由于電子三極管的開關速度很快,其穩定性也極強,是被廣泛采用的 PWM調速技術。現市面上有很多此種芯片,我選用了L298N,L298N是一個具有高電壓大電流的全橋驅動芯片,該驅動芯片的工作頻率較高,而且一枚芯片可以控制兩個直流電機的運行,還具有控制使能端。利用該芯片作為電機驅動,操作方便,穩定性好,性能可靠優良。 因此本設計選用方案3。 電機模塊 本系統為智能自動巡航電動車,對于電動車來說,其驅動輪電機的選擇就顯得十分重要。我們綜合考慮了一下兩種方案。 方案1: 采用步進電機,步進電機不能直接接到工頻交流或直流電源上工作,而必須使用專用的步進電動機驅動器,它由脈沖發生控制單元、功率驅動單元、保護單元等組成。驅動單元與步進電動機直接耦合,也可理解成步進電動機微機控制器的功率接口。雖然步進電機已被廣泛地應用,但用好步進電機實非易事,它涉及到機械、電機、電子及計算機等許多專業知識。且步進電機輸出力矩低,轉速升高力矩會下降,在較高轉速時會急劇下降,其轉速較低,不適用于有特定速度要求的系統。綜合比較考慮,我們放棄了此方案。 方案2: 采用直流減速電機。直流減速電機轉動力矩大,體積小,重量輕,裝配簡單,使用方便。由于其內部由高速電動機提供原始動力,帶動變速(減速)齒輪組,可以產生大扭力。能夠較好的滿足系統的要求,因此本設計選擇此方案。 3-4.檢測模塊 檢測模塊,是小車自動避障的“眼睛”,它的存在至關重要,它為單片機提供障礙信號,為小車的運行提供參考數據。檢測的方法很多,比如超聲波檢測、紅外線檢測等,綜合考慮,紅外線線檢測更加實用,因此我們采用紅外線檢測,市場上有現成的紅外E18-D50NK光電開關,完全符合我們本次設計的要求,且使用簡單,因此我們采用這種紅外避障傳感器作為檢測模塊。 3-5.最終方案 經過反復論證,最終確定如下方案。 1、車模用兩驅車模。 2、采用STC89C52單片機作為主控制器。 用6節干電池供電。 4、用紅外E18-D50NK光電開關進行避障巡航。 L298N作為直流電機的驅動芯片。 4. 硬件實現及單元電路設計 4-1.主控制模塊 主控制最小系統電路圖。如圖所示: :
主控制最小系統電路圖
單片機的復位電路與振蕩電路設計 : 本系統采用STC系統列單片機,相比其他系列單片機具有很多優點。一般STC單片機資源比其他單片機要多,而且執行速度快;STC系列單片機使用串口對單片機進行燒寫,下載程序較為方便;STC51單片機內部集成了看門狗電路;且具有很強抗干擾能力。 單片機的置位和復位,都是為了把電路初始化到一個確定的狀態,一般來說,單片機復位電路作用是把一個例如狀態機初始化到空狀態,而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。 單片機復位電路原理是在單片機的復位引腳RST上外接電阻和電容,實現上電復位。當復位電平持續兩個機器周期以上時復位有效。復位電平的持續時間必須大于單片機的兩個機器周期。具體數值可以由RC電路計算出時間常數。 復位電路由上電復位和上電與按鍵均有效的復位兩種基本形式。 上電復位要求接通電源后,單片機自動實現復位操作。上電瞬間RST引腳獲得高電平,隨著電容器的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。 上電與按鍵均有效復位其原理和上電復位基本相同,另外在單片機運行期間,還可以利用按鍵完成復位操作。 本系統采用上電與按鍵均有效的復位電路,如下圖所示:
復位電路圖
單片機系統里都有晶振,在單片機系統里晶振作用非常大,全程叫晶體振蕩器,他結合單片機內部電路產生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,單片機的運行速度也就越快,單片機執行的所有指令都要依賴于這種時鐘頻率。 一般工作條件下,普通晶振頻率絕對精度一般可達百萬分之五十。高級晶振頻率的精度更高。壓控振蕩器(VCO)可以在外加電壓的作用下于一定范圍內調整頻率。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。 單片機晶振是為了給系統提供基本的時鐘信號。一般情況下一個系統共用一個晶振,以便于各部分保持同步。在部分特殊情況下使用不同的晶振,但是要通過電子調整頻率的方法保持同步。 晶振通常與鎖相環電路配合使用,以提供系統所需的時鐘頻率。如果不同子系統需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環來提供。 STC89C52使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機內部帶有振蕩電路,所以外部只要連接一個晶振和兩個容量在15pF至50pF之間的電容即可,如圖所示。 振蕩電路
由于單片機P0口內部不含上拉電阻,為高阻態,不能正常地輸出高/低電平,因而該組I/O口在使用時必須外接上拉電阻。
4-2.電源設計 電源部分的設計主要采用7805芯片,使用7805芯片搭建的電路的優點是簡單、實用,7805三端穩壓IC內部電路具有過壓保護、過流保護、過熱保護功能,這使它的性能很穩定。能夠實現1A以上的輸出電流。器件具有良好的溫度系數,因此產品的應用范圍很廣泛,而且價格便宜。并且完全能夠滿足壁障小車單片機控制系統和L298N芯片的邏輯供電的供電需要。 7805芯片有3個引腳,分別為輸入IN端、輸出OUT端和接地GND端,通常情況下可以提供1.5A的電流,在散熱足夠的情況下可以提供大于1.5A的電流。7805芯片的輸入電壓可以為9V、12V、15V不等,輸出電壓穩定在5V,正負誤差不超過0.2V。 基于這樣的情況再結合電機的工作電壓,選取了6節干電池9V作為7805的輸入電源,搭建的電源部分電路如下圖所示:
系統電源模塊電路圖 4-3.驅動電路 電機驅動一般采用H橋式驅動電路,L298N內部集成了H橋式驅動電路,從而可以采用L298N電路來驅動電機。通過單片機給予L298N電路PWM信號來控制小車的速度,起停。其引腳圖如圖所示,驅動電路原理圖如圖所示:
L298N芯片引腳圖
驅動電路原理圖
E18-D50NK光電開關避障模塊 本系統對障礙物的檢測采用E18-D50NK型號的紅外傳感器,E18-D50NK傳感器是一種紅外線反射式接近開關傳感器,用于物體的反射式檢測,該傳感器具有體積小,功耗低,應用方便,穩定可靠等優點。輸出信號為數字量,不需要進行A/D轉換,可直接與單片機的I/O口相連,檢測到目標時信號線輸出是低電平,正常狀態時為高電平,為能讓單片機正常檢測,在信號輸出端需外接一個1KΩ上拉電阻。檢測距離可達50cm,距離可通過可調電位器調節。
E18-D50NK光電開關 光電開關E18-D50NK的技術參數: 1、 輸出電流 DC/SCR/繼電器 Control output:100mA/5V供電 2、 消耗電流 DC<25mA 3、 響應時間 <2ms 4、 指向角:≤15°,有效距離3-50CM可調 5、 檢測物體:透明或不透明體 6、 工作環境溫度:-25℃~+55℃ 7、 標準檢測物體:太陽光10000LX以下 白熾燈3000LX以下 8、 外殼材料:塑料 電氣特性: U:5VDC I:100mA Sn:3-50CM 尺寸: 直徑:17MM 傳感器長度:45MM 引線長度:45CM
光電開關工作原理圖
E18-D50NK紅外光電開關發射出紅外線,被物體阻斷或部分反射,E18-D50NK內部紅外接收管接收到反射回來的紅外線,然后有一個由高到低的電壓變化,E18-D50NK內部電壓比較器根據這個電壓的變化輸出數電信號給單機處理。當有光線反射回來時E18-D50NK信號腳輸出低電平。
紅外光電傳感器安裝圖
4-4.小車車體總體設計 本系統共設計兩個減速電機,分別置于車體兩端控制左右車輪;后輪使用萬向輪,維持車身平衡;E18-D50NK紅外光電開關置于車體前方左右兩邊;電池盒置于主板下方。小車車體設計如圖所示:
|