楊維祎,郭穎,欒哲江,付玉祥,劉浩文
(1.遼寧石油化工大學信息與控制工程學院,遼寧撫順113001;2.撫順石化公司遼寧撫順113001)
基于STC98C52的智能玩具小車設計
楊維祎1,郭穎1,欒哲江2,付玉祥2,劉浩文1
(1.遼寧石油化工大學信息與控制工程學院,遼寧撫順113001;2.撫順石化公司遼寧撫順113001)
現在,玩具正向智能化方向發展,本文所設計的智能玩具小車主要由STC89C52單片機控制系統模塊、L298N電機驅動模塊、紅外對管避障模塊、LED和LCD顯示模塊、蜂鳴器報警模塊以及CC1101無線接收發射模塊組成,集驅動、控制、傳感和能源等于一體,實現了玩具車的遙控前進、后退、左轉、右轉、自主避障、狀態顯示和報警等功能。測試結果表明,小車結構簡單,性能優良,易于操作,實現了玩具小車的智能化。
智能玩具小車;STC89C52單片機;電機驅動;CC1101
近年來,隨著計算機技術和自動控制技術的不斷快速發展,消費電子產品行業也迅速發展起來。全球玩具市場的內在結構正在發生巨大改變:傳統玩具占據的市場比重在逐漸減少,高科技含量電子玩具市場比重逐漸增加。中國玩具協會近期的一份報告指出,隨著我國經濟的發展,玩具類支出在城鄉居民的消費支出中所占比重將越來越大。我國的玩具發展已經達到了一個頂峰,隨著IT業的發展,玩具與IT行業緊密結合、電子化、智能化程度得到提高,但與世界其他國家仍有一定差距。所以,盡早投入精力進行玩具智能化的研究,對于技術的創新應用和社會的經濟發展,都具有十分重大的意義。
1.1系統原理框圖
該系統主要由以下5個基本功能模塊組成:STC89C52單片機最小系統模塊、無線遙控模塊、顯示模塊、電機驅動模塊、避障及報警模塊等,系統設計原理總框圖如圖1所示。
1.2STC89C52單片機的最小系統模塊
STC89C52是STC公司生產的低電壓、高性能CMOS的微處理器。它采用40引腳雙列直插封裝方式,片內集成512字節RAM,32個通用I/O口,8 K字節可編程、可擦除ROM,看門狗定時器,內置4 KB E2PROM,MAX810復位電路。它的最高運作頻率為35 MHz,6T/12T可選。

圖1 系統原理總框圖

圖2 單片機最小系統
1.3無線遙控模塊
無線遙控模塊主要由發射部分、接收部分、顯示部分3部分組成[2]。
無線收發模塊采用德州儀器公司的CC1101無線通信芯片,它的內部組成包括:發射電路、接收電路、控制接口電路等部分,方便用戶調試和降低成本。CC1101擁有6根I/O接口與MCU相連,它們分別負責數據通訊、通訊參數配置、工作模式選擇等。本設計中CC1101電路設定為433 MHz的 ISM頻率波段并采用串口通訊方式[3]。
CC1101的I/O接口定義及與MCU的連接方式見表1:
將一個CC1101與第1片STC89C52(1)的P3.0和P3.1口相連即可作為發送端來使用。將另一個CC1101與第2片STC89C52(2)的P3.0和P3.1口相連即可作為接收端來使用,具體連接如圖3所示。

表1 CC1101 I/0口定義及連接方法(模塊正面從左到右順序)

圖3 發送(接收)端連接圖
1.4顯示模塊
顯示部分采用LCD12864。LCD12864具有128×64個液晶顯示點,每個顯示點對應一位二進制數,0表示滅,1表示亮。其內置有8192個16×16點漢字和128個16×8點ASCII字符集,可以顯示8×4行16×16點陣的漢字,也可完成圖形的顯示。利用其靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互界面。本設計中主要用在遙控發送端顯示遙控信號是否正常以及小車的行進狀態[4]。
發送部分連接圖如圖4所示。

圖4 遙控發送端連接圖
1.5電機驅動模塊
小車動力的主要來源是兩個側輪驅動電機,控制電動機采用PWM調速,因此電機驅動模塊采用L298N。L298N可同時驅動兩個電機。單片機的P1.0、P1.1、P1.2、P1.3腳接L298N 的IN1~IN4管腳,通過控制單片機I/O口輸出高低電平控制電機的正反轉,L298N的OUT1、OUT2和OUT3、OUT4分別接兩個電動機。L298N的ENA、ENB為控制使能端,作用是輸入PWM信號控制電機調速。VSS接邏輯控制的電源。電機驅動電路如圖5所示[5]。
1.6避障及報警模塊
避障功能的實現是通過采用一只對管置于小車右側的方案。其原理是利用光線在不同物體表面反射光的性質不同。在小車行駛過程中不斷向前方發射光,當光遇到障礙時產生反射,反射光被裝在小車上的接收管接收,從而完成信號的檢測。小車在行進過程中如果遇到障礙物時需要完成轉彎和倒退動作,因此要對電機進行轉向控制。報警模塊采用蜂鳴器報警。當小車在行進過程中遇到障礙,蜂鳴器發出響聲[6]。
調試過程中,當小車行進過程中遇到障礙,檢測頭亮燈起,蜂鳴器響,左電機停轉,右電機正常,小車左轉避開障礙。

圖5 電機驅動電路
2.1發送端主程序
發送的程序主要包括初始參數設置、按鍵掃描、系統判斷是否有鍵按下,檢測到按鍵時程序會自動執行發送按鍵碼程序并在LCD顯示遙控信號正常,若沒有檢測到有鍵按下,程序則會跳到按鍵掃描部分繼續進行掃描[7]。

圖6 發送端主程序流程圖
接收端程序主要完成信號的接收、解碼、直流電動機的驅動和液晶屏的顯示。信號的接收和解碼可以通過外部中斷和定時中斷完成,直流電機驅動和液晶屏顯示可以在數據處理子程序中完成,主程序主要完成的工作是設置小車和液晶屏的初始狀態以及中斷和存儲器的初始參數。其接收端主程序流程圖如圖7所示[8]。
2.2數據處理子程序流程圖
數據處理子程序流程圖如圖8所示。

圖7 接收端主程序流程圖

圖8 數據處理子程序流程圖
本設計最終選用了體積小、功耗低、應用方便、穩定可靠、靈敏度高、響應速度快的紅外傳感器作為避障檢測裝置,控制核心采用低成本且穩定性好的STC89C52單片機。經過測試,該智能玩具小車出色的完成了遙控前進、后退、左轉、右轉、自主避障、狀態顯示及報警等功能。實現了玩具小車智能化。
[1]董濤,劉進英,蔣蘇,等.基于單片機的智能小車的設計與制作[J].計算機測量與控制,2009,17(2):380_382.
[2]段剛.基于51單片機的無線遙控技術[J].科技促進發展,2011,(4):24_24.
[3]李娟,唐小超,葛立峰,等.基于CC1101射頻技術的室內超聲定位系統[J].自動化與儀表,2009,24(6):1_4.
[4]樊永顯,許勇,張向文,等.基于STC89C54RC/RD+單片機的游戲機系統設計[J].湖南工業大學學報,2007,21(5):66_69.
[5]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2011.
[6]王淼.傳感檢測技術[M].天津:天津大學出版社,2008.
[7]韓毅,楊天.基于HCS12單片機的智能尋跡模型車的設計與實現[J].計算機工程與設計,2008,29(18):4736_4739.
[8]李光飛.單片機課程設計實例指導[M].北京:北京航空航天大學出版社,2004.
Deslgn of lntelllgent toy car based on STC98C52
YANG Wei_yi1,GUO Ying1,LUAN Zhe_jiang2,FU Yu_xiang2,LIU Hao_wen1
(1.College of Information and Control Engineering,Liaoning Shihua University,Fushun 113001,China;2.Fushun Petrochemical Company,Fushun 113001,China)
Now the toy is deve1oping towards inte11igence.The design of inte11igent toy car is composed of STC89C52 modu1e,L298N motor driver modu1e,infrared tube obstac1e avoidance modu1e,LED and LCD disp1ay modu1e,buzzer a1arm modu1e and CC1101 wire1ess receiving emission modu1e.It can be drived and contro11ed,which rea1izes the remote contro1.It has functions of going forward,going backward,turning 1eft,turning right,autonomous obstac1e avoidance,status disp1ay and a1arm,etc.Test resu1t shows that the sma11 car has simp1e structure,good performance,easy operation and it rea1izes inte11igence.
inte11igent toy car;STC89C52SCM;motor drive;CC1101
TN06
A
1674_6236(2016)10_0097_03
2015_06_18稿件編號:201506184
楊維祎(1993—),男,遼寧朝陽人。研究方向:電氣控制技術、儀器與測試技術等。