王剛 吳鐘鳴
摘要:本文介紹了一種采用STC89C52RC單片機(jī)、L298N電機(jī)驅(qū)動(dòng)模塊、ST178P紅外光電傳感器、SM0038一體化紅外接收頭、HC-SR04超聲波模塊和12864液晶顯示等模塊設(shè)計(jì)的多功能電動(dòng)玩具小車。手動(dòng)遙控時(shí),玩具小車?yán)肧M0038一體化紅外接收頭接收紅外線遙控器的指令控制,具有四向行駛、多檔調(diào)速、剎停防抱死、S型運(yùn)動(dòng)等功能;自動(dòng)循跡時(shí),玩具小車?yán)昧稴T178P紅外光電傳感器和HC-SR04超聲波模塊檢測路況信息,傳遞給STC89CA2RC單片機(jī)自動(dòng)處理,通過輸出PWM信號和命令指令控制L298N電機(jī)驅(qū)動(dòng)模塊使玩具小車按預(yù)定軌道平穩(wěn)、快速行駛并具避障功能。同時(shí)使用12864液晶顯示模塊,使操作更加簡單和人性化。實(shí)驗(yàn)表明,該玩具小車能夠克服市場上玩具小車的成本較高、剎車不安全等缺陷,且具有更多的功能。本設(shè)計(jì)已推廣至工業(yè)領(lǐng)域的智能無人車輛的運(yùn)動(dòng)系統(tǒng)研究。
關(guān)鍵詞:多功能小車;SM0038;多檔調(diào)速;剎停防抱死;ST178P
中圖分類號;TP368 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)07-0158-04
隨著科技的發(fā)展和人們生活水平的不斷提高,高科技電子玩具越來越受歡迎,其中又以電動(dòng)玩具小車廣為人們的喜愛。目前,市場上多數(shù)的玩具小車大多無法自動(dòng)避障,且功能單一。遙控小車在室內(nèi)光滑地面高速行駛,緊急剎停的時(shí)候會出現(xiàn)車輪抱死,導(dǎo)致玩具小車撞上障礙物并損壞玩具小車的情況發(fā)生。因此,本文研究電動(dòng)小車控制技術(shù),創(chuàng)新性地設(shè)計(jì)出功能多樣,操控性能良好的電動(dòng)玩具小車。此外,開展了防抱死制動(dòng)在電動(dòng)玩具小車上的應(yīng)用研究,以解決遙控電動(dòng)玩具小車運(yùn)行的不安全等問題。
1系統(tǒng)整體設(shè)計(jì)
本文基于單片機(jī)技術(shù)的應(yīng)用背景,采用模塊化的設(shè)計(jì),方便電動(dòng)玩具小車的組裝與調(diào)試,也便于日后電動(dòng)玩具小車的硬件升級以及實(shí)際應(yīng)用。未來,可依據(jù)產(chǎn)品的定位選擇合適的模塊,以取得良好的經(jīng)濟(jì)效益。為實(shí)現(xiàn)小車的低成本、多功能特性,該系統(tǒng)由STC89C52RC單片機(jī)主控制器、紅外光電傳感器循跡模塊、紅外遙控模塊、光電開關(guān)測速模塊、超聲波避障模塊、電機(jī)驅(qū)動(dòng)模塊、12864液晶顯示模塊和相應(yīng)電源模塊等組成。多功能電動(dòng)玩具小車整體設(shè)計(jì)如圖1所示。
多功能電動(dòng)玩具小車通過12864液晶顯示模塊提示用戶使用各種功能。用帶有自鎖功能的按鍵進(jìn)行手動(dòng)遙控模式和自動(dòng)循跡模式切換。
當(dāng)玩具小車處于手動(dòng)遙控模式時(shí),用戶通過操縱紅外遙控器發(fā)出控制命令,一體化紅外接收頭模塊接收命令信號,并經(jīng)STC89C52RC單片機(jī)主控制器解碼出控制命令??刂破鹘Y(jié)合超聲波傳感器和測速光電開關(guān)所提供的路況、車況信息,綜合分析運(yùn)算,給電機(jī)驅(qū)動(dòng)模塊和蜂鳴器報(bào)警模塊發(fā)出相應(yīng)控制命令,使得直流電機(jī)和蜂鳴器做出相應(yīng)的動(dòng)作。
當(dāng)玩具小車處于自動(dòng)循跡模式時(shí),由六路紅外光電傳感器所采集的路面信息會更加準(zhǔn)確。采用自動(dòng)循跡算法運(yùn)算采集的信息可以使得玩具小車循跡時(shí)更加平穩(wěn)、快速。同時(shí),結(jié)合超聲波傳感器反饋的路況信息,能夠進(jìn)行避障。
2硬件設(shè)計(jì)
2.1主控制器設(shè)計(jì)
主控制器負(fù)責(zé)各個(gè)模塊的管理,并根據(jù)設(shè)計(jì)的軟件算法對采集的信號進(jìn)行處理,控制執(zhí)行機(jī)構(gòu)的動(dòng)作。本文選用STC89C52RC單片機(jī)作為主控制器,該單片機(jī)兼容8051內(nèi)核的低電壓。STC89C52RC單片機(jī)是一種低成本、低功耗、高性能的微控制器,廣泛應(yīng)用于嵌入式控制系統(tǒng),其內(nèi)部包括:8k字節(jié)的Flash、S12字節(jié)的RAM,32位I/O端口,看門狗定時(shí)器,內(nèi)置4KB的EEPROM,MAXS10復(fù)位電路,3個(gè)16位的定時(shí)器/計(jì)數(shù)器,全雙工串行口。該控制器還支持ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器。下圖2是單片機(jī)的最小系統(tǒng)。如表1所示為單片機(jī)部分I/O端口分配表。
2.2紅外光電傳感器循跡模塊設(shè)計(jì)
紅外光電傳感器循跡模塊利用黑線檢測原理,即紅外發(fā)射管發(fā)射紅外光到路面,紅外光遇到白底則發(fā)生反射,接收管接收到反射光并輸出信號,信號經(jīng)反相斯密特觸發(fā)器74HC14整形后輸出低電平;當(dāng)紅外光遇到黑線時(shí),光線被吸收,則接收管不能接收到反射光,反相斯密特觸發(fā)器74HC14整形后輸出高電平,原理圖如圖3所示。
同時(shí),紅外光電傳感器循跡模塊使用6個(gè)紅外反射式光電傳感器STl78P以“T”字型布局(如圖4所示)安裝在玩具小車前端底部,與地面的垂直距離8mm左右。在玩具小車循跡過程中,當(dāng)②號傳感器檢測到黑線時(shí),小車向左拐。當(dāng)①號傳感器檢測到黑線時(shí),小車以較大力量向左拐;當(dāng)④號傳感器檢測到黑線時(shí),小車向右拐。當(dāng)⑤號傳感器檢測到黑線時(shí)小車以較大力量向右拐}當(dāng)③號傳感器檢測到黑線時(shí),小車前進(jìn)。而當(dāng)③⑥傳感器同時(shí)檢測到黑線時(shí)小車以較快速度前進(jìn),其中⑥傳感器可以根據(jù)不同的循跡路徑進(jìn)行適當(dāng)調(diào)整,以達(dá)到更好的循跡效果。
2.3紅外遙控模塊設(shè)計(jì)
紅外遙控模塊主要由基于WD1622芯片的通用紅外遙控器和接收頻率為38KHz的SM0038一體化紅外接收頭兩部分組成。紅外遙控器產(chǎn)生遙控編碼脈沖,驅(qū)動(dòng)紅外發(fā)射管輸出紅外遙控信號,SM0038一體化紅外接收頭接收遙控器發(fā)出的紅外信號,輸入到單片機(jī),完成對遙控指令解碼,并執(zhí)行相應(yīng)的遙控功能。圖5是通用紅外遙控器的鍵位碼,在手動(dòng)模式下,紅外遙控器可根據(jù)鍵位碼控制小車的動(dòng)作,具體包括前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、多檔調(diào)速、S型運(yùn)動(dòng)、Z型運(yùn)動(dòng)、搖擺運(yùn)動(dòng)和剎停防抱死等功能。
2.4光電開關(guān)測速模塊設(shè)計(jì)
光電開關(guān)測速模塊用來檢測與車輪相連的碼盤的運(yùn)動(dòng),將檢測出的信息送到STC89CS2RC單片機(jī),可以計(jì)算出多功能玩具小車的車輪轉(zhuǎn)速,間接反映多功能玩具小車的車速。其電路原理如下圖所示。
2.S超聲波避障和蜂鳴器報(bào)警設(shè)計(jì)
本設(shè)計(jì)采用HC--SR04超聲波傳感器(其測量距離為2~300cm,測量精度為3ram),其電路原理如圖7所示。通過超聲波發(fā)射裝置發(fā)出超聲波,發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在傳播途中碰到障礙物則立即返回,超聲波接收器收到反射波立即停止計(jì)時(shí)。根據(jù)時(shí)間差可以計(jì)算出距離。利用超聲波的頻率高、波長短、定向性好、能量集中、不易受干擾等特性,既可以檢測障礙物的位置,又提高了系統(tǒng)的可靠性。
多功能玩具小車使用超聲波傳感器檢測行駛過程中的障礙物。如果處于遙控模式下,當(dāng)檢測出玩具小車距離障礙物小于等于5cm時(shí),多功能玩具小車能夠自動(dòng)停車并由蜂鳴器報(bào)警。如果處于自動(dòng)循跡模式下,當(dāng)檢測出玩具小車矩障礙物小于等于10cm時(shí),多功能玩具小車能夠進(jìn)行避障。
2.6電機(jī)驅(qū)動(dòng)模塊
多功能玩具小車由STC89C52RC單片機(jī)控制直流減速電機(jī)驅(qū)動(dòng)模塊來實(shí)現(xiàn)運(yùn)動(dòng)狀態(tài)的改變。STC89CA2RC單片機(jī)通過軟件模擬出PWM波,結(jié)合相應(yīng)控制命令來控制電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)直流減速電機(jī),完成直流減速電機(jī)的速度和轉(zhuǎn)向控制,從而使多功能玩具小車平穩(wěn)、快速地完成各項(xiàng)功能。
L298N驅(qū)動(dòng)模塊電路如圖8所示,為保證驅(qū)動(dòng)芯片正常工作,在直流電機(jī)與其之間串聯(lián)四對續(xù)流二極管,以免反向電動(dòng)勢對L298N產(chǎn)生損害。電容C6和0是濾波電容,可減少外界干擾,使電機(jī)穩(wěn)定工作。C4和C5是電源去耦電容。
L298N輸入和輸出引腳的邏輯關(guān)系如表2所示,在實(shí)際硬件電路中,控制器通過改變L298N的INI~I(xiàn)N4上的高低電平以控制小車的運(yùn)動(dòng),通過改變ENA和ENB的高低電平占空比以控制電機(jī)的轉(zhuǎn)速。
2.712864液晶顯示模塊和電源模塊
本設(shè)計(jì)選用具有中文字庫的12864液晶顯示器提示用戶使用各種功能,并顯示多功能玩具小車的車速、剎車防抱死功能是否開啟、功能模式等車況信息。
多功能玩具小車供電系統(tǒng)由兩部分組成:一部分是由12V容量3000mAh的鋰電池,直接為直流減速電機(jī)提供電源;另一部分是由12V容量3000mAh的鋰電池,經(jīng)穩(wěn)壓芯片LM2575輸出5V的電壓,為控制板和各個(gè)模塊供電。
3軟件設(shè)計(jì)
3.1系統(tǒng)程序
系統(tǒng)程序流程圖如圖9所示,軟件系統(tǒng)主要包括主程序、紅外遙控控制子程序和自動(dòng)循跡避障子程序,紅外遙控控制子程序由防撞報(bào)警、S型運(yùn)動(dòng)、檔位選擇、測速、剎停防抱死和顯示等部分構(gòu)成。自動(dòng)循跡避障子程序僅包括避障部分和循跡部分,可使多功能玩具小車快速、平穩(wěn)地進(jìn)行自動(dòng)控制。主程序循環(huán)進(jìn)行標(biāo)志判斷,并決定是否調(diào)用紅外遙控控制程序和自動(dòng)循跡避障程序,可提高系統(tǒng)的實(shí)時(shí)性。
3.2剎停防抱死于程序
防抱死制動(dòng)系統(tǒng)是一種主動(dòng)安全裝置,它在制動(dòng)過程中根據(jù)“車輛—路面”狀況,采用自動(dòng)調(diào)節(jié)車輪的制動(dòng)力矩來達(dá)到防止車輪抱死的目的。依據(jù)防抱死制動(dòng)系統(tǒng)原理,設(shè)計(jì)了剎停防抱死系統(tǒng)。
經(jīng)大量實(shí)驗(yàn)表明,玩具小車在室內(nèi)光滑地面高速行駛,緊急剎停容易出現(xiàn)車輪抱死。因此,當(dāng)小車在較高速度行駛,速度突然降為零時(shí),自動(dòng)調(diào)用剎停防抱死子程序,可實(shí)現(xiàn)玩具小車的安全停車。剎停防抱死程序如下所示:
4結(jié)語
本文設(shè)計(jì)的電動(dòng)玩具小車支持四向行駛、多檔調(diào)速、S型運(yùn)動(dòng)、Z型運(yùn)動(dòng)、搖擺運(yùn)動(dòng)、超聲波防撞報(bào)警和行駛速度顯示等功能,且操控性能優(yōu)良。小車可根據(jù)路況自動(dòng)控制,具有剎停防抱死功能,可平穩(wěn)、快速并避障移動(dòng)。本設(shè)計(jì)采用12864液晶顯示功能,使該玩具小車具有良好的人機(jī)交互性。此外,本設(shè)計(jì)已推廣至工業(yè)生產(chǎn)中的無人智能小車控制,應(yīng)用于智能倉儲、自動(dòng)化制造等領(lǐng)域。