摘? 要:本次設計一個具備紅外循跡、超聲波避障及紅外遙控智能小車。選擇四輪驅動方式,以STC89C52RC芯片為核心控制。采用L298D集成電路驅動直流電機,用單片機產(chǎn)生PWM信號控制電機轉速從而調速,通過超聲波實現(xiàn)避障,返回距離數(shù)據(jù),在此基礎上接入紅外控制,單片機解碼后,自動選擇小車功能。本設計結構簡單,較容易實現(xiàn),但具有高度的智能化、人性化,一定程度上體現(xiàn)了智能屬性。
關鍵詞:智能車;STC89C52RC;PWM控制;紅外循跡;超聲波避障;紅外遙控
中圖分類號:TP23;TP368.1? ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)23-0025-05
Discussion on Multifunctional Intelligent Car Based on 51 Single Chip Microcomputer
CHEN Wenxin
(Sichuan Agricultural University,Ya’an? 625014,China)
Abstract:An intelligent car with infrared tracking,ultrasonic obstacle avoidance and infrared remote control is designed. Four wheel drive mode is selected,and STC89C52RCchip is used as the core control. L298D integrated circuit is used to drive DC motor,PWM signal is generated by single chip microcomputer to control motor speed so as to adjust speed. Obstacle avoidance and distance data are realized by ultrasonic wave. On this basis,access infrared control. After decoding by single chip microcomputer,the car function is automatically selected. The structure of the design is simple and easy to realize,but it has a high degree of intelligence and humanization,reflecting intelligence to a certain extent.
Keywords:smart car;STC89C52RC;PWM control;infrared tracking;ultrasonic obstacle avoidance;infrared remote control
1? 硬件電路原理及設計
1.1? STC89C52RC最小系統(tǒng)
本文的設計中采用了一款十分常用的51系列單片機作為處理器,其特點是價格低廉、使用方便,且可與其他處理器進行通訊。
系統(tǒng)時鐘:晶振頻率/12,本設計采用11.0592M晶振,因此系統(tǒng)時鐘為0.9216us,約為1us。
I/O口資源:4個通用8位準雙向I/O口(P0、P1、P2、P3,其中P3為特殊功能口)。
通訊:一對全雙工串行通訊口(P3.0、P3.1),可與其他單片機或上位機進行通訊。
中斷:2個外部中斷(/INT0、/INT1),2個定時器中斷(T0、T1),1個串行通訊中斷,共5個中斷資源并有2級中斷優(yōu)先級可供配置。
程序存儲:該單片機提供8K的Flash程序存儲器供用戶編寫程序。
STC89C52RC最小系統(tǒng)電路圖如圖1所示。
1.2? 電源供電穩(wěn)壓模塊
1.2.1? 原理
7805三端穩(wěn)壓集成電路對先對輸入電壓進行采樣,之后反饋回調節(jié)電路調節(jié)輸出級的阻抗。當輸出電壓偏低時,調節(jié)輸出級的阻抗變小,從而減小輸出管壓降;當輸出電壓偏高時,調節(jié)輸出級的阻抗變大,從而增大調整管壓降,這樣就維持了輸出電壓的穩(wěn)定。在應用7805時最好是在旁邊增加一個散熱片進行散熱,因為在功率大的時候發(fā)熱量很大,容易燒壞芯片。
兩節(jié)18650充電電池串聯(lián)提供約7.4V的電壓,作為7805的輸入,穩(wěn)壓后輸出5V電壓給單片機最小系統(tǒng),L293D電機驅動模塊,超聲波模塊,舵機,紅外循跡模塊供電。
1.2.2? 電路圖
電源驅動電路如圖2所示。
1.3? 循跡模塊
1.3.1? 原理
反射式紅外發(fā)射-接收器采用了紅外發(fā)射管代替普通可見光管,排除了除紅外光以外的其他光源干擾,減小了環(huán)境光源導致的誤判的概率。應用時為避免其他光源的紅外線干擾,可以在接收管上纏繞黑膠布,從而保證接收的是反射回來的紅外線。
循跡電路是在小車前面從左至右安裝5個紅外發(fā)射接收器,循跡是通過辨別黑白色來行走。工作中紅外發(fā)射管發(fā)出紅外光,當遇到黑色時不反射紅外光,比較器輸出為低電平;當遇到白色時,反射紅外光,比較器為高電平。小車就根據(jù)各個比較器的高低電平改變車輪的轉向和轉速,實現(xiàn)循跡功能。
1.3.2? 電路圖
循跡電路圖如圖3所示。
1.3.3? 紅外遙控模塊
原理:采用HS-021紅外遙控器和1838一體化紅外接收頭,1838紅外接頭用于接收38KHz紅外信號,當接收到紅外編碼信號時,整流成高低電平的方波信號,單片機對應I/O口按照高低電平執(zhí)行相應的功能。發(fā)射部分包括鍵盤、調制、紅外發(fā)送器;接收部分包括光、電轉換放大器、解調、解碼電路。
紅外遙控器是將紅外遙控信號(二進制脈沖碼)調制在38KHz的載波上,經(jīng)緩沖放大后由紅外發(fā)光二極管轉化為紅外信號發(fā)射出去。二進制脈沖碼的形式有多種,其中最為常用的是PWM碼(脈沖寬度調制碼)和PPM碼(脈沖位置調制碼)。這里采用PPM碼作為遙控信號。解碼流程圖如圖4所示。
1.4? 避障模塊
1.4.1? 原理
采用超聲波傳感器和舵機配合實現(xiàn)前方180°避障。將超聲波傳感器和舵機安裝于小車正前方,超聲波發(fā)射后經(jīng)障礙物反射,由接收頭接收,判斷與障礙物的相對距離。同時舵機控制超聲波傳感器左右各旋轉90°,判斷小車左右兩邊與障礙物的相對距離,以此選擇最合適的行駛方向。
超聲波測距是借助超聲脈沖回波渡越時間法來實現(xiàn)的。設超聲波脈沖由發(fā)出到接收所經(jīng)歷的時間為t,超聲波在空氣中的傳播速度為v,則從傳感器到目標物體的距離D可用下式求出:
D=v*t/2
超聲波發(fā)射器發(fā)射出長約6mm,頻率為40Hz的超聲波信號,此信號被物體反射回來,由接收頭接收。接收頭實質上是一種壓電效應的換能器,它接收到信號后產(chǎn)生mV級的微弱電壓信號。
但超聲波在比較狹窄的柱狀障礙物(如:桌腳)或者凹凸不平的墻壁面前避障效果不理想,為適應更復雜的地形,使小車能更有效地避障,在車頭和車尾的左右兩側分別安裝兩個反射式紅外發(fā)射接收傳感器,輔助超聲波傳感器,完善小車的避障功能。超聲波工作流程如圖5所示。
1.4.2? 電路圖
超聲波電路圖如圖6所示。
1.5? 電機驅動控速模塊
將直流電壓通過一個可頻繁通斷的開關,輸出端將產(chǎn)生脈沖信號,改變開關通斷的頻率,則可改變脈沖信號的占空比。在PWM直流電機調速系統(tǒng)中,改變在始能端ENA和ENB上輸入方波的占空比就能改變加在電機兩端的電壓大小,從而達到控制電機轉速的目的。
單片機產(chǎn)生PWM信號是使用定時器T0控制PWM信號的頻率,定時器T1控制PWM信號的占空比。程序中,T0工作于方式1(16位定時器),因為方式1能夠通過修改定時器初值得到較寬頻率范圍的信號,T0定時器初值的計算公式如下:
X=65536-f/12*f
上式中為f單片機晶振頻率,f為PWM信號的頻率。
使用定時器T1控制PWM信號的占空比,采用查詢方式嵌套在T0定時器中斷服務子程序中,在T1定時器時段使輸出端口為高電平,其他時段輸出低電平。T1定時器初值的計算公式如下:
X=65536-f*D/12*f
上式中Dw為占空比。
輸出為高電平時,電機使能;輸出為低電平時,電機停止。根據(jù)此方式可以調整電機的轉速,從而實現(xiàn)控制小車的速度控制。
2? 系統(tǒng)軟件設計
2.1? 控速設計
本系統(tǒng)采用兩個定時器中斷,定時器T0用來控制PWM的周期,定時器T1用來控制高電平的持續(xù)時間。平時單片機執(zhí)行主程序,當T1中斷到來時,單片機輸出一個高電平給電機并持續(xù)一小段時間;其余時間單片機輸出一個低電平給電機,如此反復。由于定時器的引入,使PWM調速的頻率恒定,且節(jié)省CPU,使其能夠在有PWM控速的情況下仍能夠實現(xiàn)其他的功能,而不用采取雙CPU模式,節(jié)省了資源。
2.2? 循跡設計
2.2.1? 方向判別程序
采用計數(shù)方式給每一個紅外循跡傳感器定一個值,每掃描一次根據(jù)不同路況返回的數(shù)值不同,小車根據(jù)數(shù)值改變行駛速度和方向,實現(xiàn)對復雜路況的循跡。該方式相比起一般的循跡程序執(zhí)行更快更穩(wěn)定,能滿足十字、T字路口、直角等各種路況。5路循跡傳感器從左到右賦值依次為10,2,1,4,20。例如,當小車檢測到左直角時,左邊賦值為10和2的傳感器會收到信號,最后累加得到數(shù)值12,傳給單片機,控制小車90度左轉;同理,當檢測到右直角時,右邊賦值為20和4的傳感器會收到信號,累加得到數(shù)值24,傳給單片機,控制小車90度右轉。方向判別如表1和圖7所示。
由于37這種情況和36有時會重疊,導致十字和T字判斷錯誤,可以采用延時來進行判別。在36時延時一個線寬的時間,然后判斷燈1的情況,若1掃描到黑線,則為十字路;反之則為T字路。
2.2.2? 方向調節(jié)程序
PWM脈沖寬度調制的實現(xiàn):其中各種轉向方式的PWM占空比分配如表2所示(具體占空比和延遲時間應根據(jù)小車性能而定,占空比太小可能導致電壓過低不能驅動電機)。
2.3? 避障設計
紅外輔助避障??紤]到單一的超聲波避障存在局限性,因此在小車的車頭和車尾左右兩側安裝紅外傳感器,輔助避障。當紅外傳感器接收到反射回的紅外線時,表明此時超聲波對于障礙物沒有反應,不能即時避障,屬于緊急情況,進入外部中斷,立即執(zhí)行避障程序,直到紅外傳感器不能接收到反射回的紅外線時,退出中斷,繼續(xù)執(zhí)行超聲波避障。避障功能如表3所示。
2.4? 功能選擇設計
單片機解碼紅外信號,進入外部中斷,選擇執(zhí)行各功能。當對應方向鍵按下時,小車前進、后退、左轉、右轉。當遙控器上分檔按鍵按下時,電機轉速分檔加快或減慢,3個按鍵通過單片機來實現(xiàn)對電動機的3種速度控制。當按下功能選擇鍵時,小車執(zhí)行對應功能,直到按下其他功能為止。
為避免各功能沖突,導致小車失控,程序設計時應在主程序、中斷、定時器中分別設置獨立的功能選擇程序,并在每次選擇時清空之前的數(shù)據(jù),方能保證小車的功能切換穩(wěn)定可靠。
3? 程序框圖
按下啟動鍵后使用遙控器選擇模式,選擇速度,選擇完成后小車按照指定功能運行,為節(jié)約電量,LCD1602在行進時背光關,停止讀取參數(shù)時背光開,按停止鍵后小車停止進入模式選擇狀態(tài)。小車整體運行程序流程圖如圖8所示。
4? 結? 論
硬件方面利用STC89C52RC單片機能夠完整實現(xiàn)以上功能控制,在此基礎上仍保留有一些I/O用于功能擴展,但單個51單片機資源與其他單片機相比相對較少,不能實現(xiàn)更多更復雜的功能的集成,此時需考慮多CPU、多主機通信共同控制。軟件方面采用模塊化編程,其程序可讀性移植性強,便于進一步小車功能的開發(fā)和完善。
參考文獻:
[1] 游雨云,丁志勇.單片機PWM信號控制智能小車的實現(xiàn)方法 [J].技術與市場,2009,16(12):28-29.
[2] 王艷.基于51單片機的紅外遙控小車設計和制作 [J].電子制作,2010(6):11-13.
[3] 譚傳武,傅宗純.基于51單片機的WIFI無線控制系統(tǒng)設計與實現(xiàn) [J].電子設計工程,2018,26(8):178-182.
[4] 陳煒煒,詹躍東.基于單片機的直流電機PWM調速系統(tǒng) [J].化工自動化及儀表,2019,46(3):218-222.
[5] 張麗.基于單片機PWM控制技術的實現(xiàn)與設計研究 [J].無線互聯(lián)科技,2018,15(16):74-75.
[6] 張玉帥,楊婷婷.基于51單片機的智能循跡機器人系統(tǒng)設計 [J].電子世界,2016(10):102+105.
[7] 謝曉敏,閔銳.基于89C51單片機的智能循跡避障小車設計 [J].太原學院學報(自然科學版),2018,36(1):15-18.
作者簡介:陳文鑫(1998-),男,漢族,四川成都人,本科在讀,研究方向:單片機控制。