陶玉貴,章 杰 (蕪湖職業技術學院電子信息系,安徽 蕪湖 241003)
汪金寶 (安徽師范大學數學與計算機科學學院,安徽 蕪湖 241003)
智能小車既可以進行無線控制執行命令,也可以在設定的環境中自動循跡和避障,是一種綜合了控制策略和障礙物探測于一體的智能系統[1]。下面,筆者設計了一種基于STC89C52RC的智能小車。
智能小車分為車體和遙控器2個部分 (見圖1)。主控制器主要由單片機STC89C52RC、振蕩器和復位電路組成。車體部分以STC89C52RC單片機為主控,其工作流程如下:無線收發模塊接收遙控器發出的信號,送入單片機,單片機對信號解碼后,控制相應的模塊電路;遙控器部分也是以STC89C52RC為主控,其工作流程如下:單片機通過查詢方式檢測各個按鍵是否按下,若按下,則單片機在按鍵的上升沿或下降沿控制無線收發模塊發出相應的遙控數據。

圖1 無線遙控智能小車原理框圖
單片機選用超低功耗、抗干擾能力強、低電磁輻射和超低價的8位單片機STC89C52RC[2]。該單片機與8051單片機兼容,正常工作模式下典型功耗為4~7mA,內置8K的Flash程序存儲器、512B的RAM和2K的E2PROM,內部有3個定時器/計數器,可進行8、13、16位的定時/計數。寬工作電壓 (3.4~6V),內部看門狗電路打開后無法關閉,可省去外部看門狗,支持匯編語言和C語言編程。
將單片機片選引腳 (31腳)接高電平,使單片機只訪問片內程序存儲器。單片機的時鐘電路由1個12MHz的晶振和2個30pF的小電容組成,它們決定了單片機的工作時間精度為1ms。復位電路用10μF的電容、10kΩ的電阻和1個復位開關組成,能夠實現上電復位以及通過復位按鈕實現手動復位。單片機控制模塊最小系統如圖2所示。

圖2 單片機最小系統電路圖
無線收發模塊采用Nordic公司的微功率nRF24L01芯片,最高工作速率達2Mbps,高效GFSK調制,抗干擾能力強,125頻道滿足多點通信和跳頻通信需要,內置硬件CRC檢錯和點對多點通信地址控制,低功耗1.9~3.6V工作,待機模式下狀態為22μA;掉電模式下為900nA,體積小巧 (31mm×17mm),具有可選的內置包應答機制,極大地降低了丟包率。
采用L293D模塊控制電機驅動,L293D內部集成2個了雙極型H-橋電路,可以同時控制2個電機[3]。這種雙極型脈沖調寬方式具有電流連續、電機可四角限運行等優點。L293D通過內部邏輯生成使能信號。H-橋電路的輸入量可以用來設置馬達轉動方向,使能信號可以用于脈寬調整 (PWM)。每個電機需要3個控制信號EN12、IN1和IN2,其中EN12是使能信號,IN1、IN2為電機轉動方向控制信號。IN1、IN2分別為1、0時,電機正轉;反之,電機反轉。選用一路PWM連接EN12引腳,通過調整PWM的占空比可以調整電機的轉速。電機驅動控制電路如圖3所示。
L293D工作電壓5V,驅動電壓輸入可達36V,輸出電流正負600mA。2塊L293D可同時驅動四路直流電機。動力部分采用TT直流減速電機,其扭矩大,電磁干擾小。

圖3 電機驅動控制電路圖
避障電路采用光電傳感器,利用被檢測物體對紅外光束的遮光或反射檢測有無障礙物[4]。采用型號為E18-D80NK的NPN常開型反射式光電傳感器,其主要技術參數如下:工作電壓5V,工作電流10~25mA,響應時間小于2ms,指向角小于等于15°,有效距離為3~80cm可調,工作環境溫度為-25~70℃。該傳感器為開關量傳感器,輸出為1、0開關量信號。紅線接5V電源,綠線接地,黃線為信號輸出端,外接4.7kΩ上拉電阻接至單片機的INTl端。當無障礙物時輸出為高電平,遇障礙物時輸出低電平而觸發中斷,單片機發送指令驅動電機做出相應避障動作。
循跡模塊采用型號為HLSD-2010B的3個激光傳感器[5],分別置于小車底部的左、中、右方,通過P2.5、P2.6、P2.7控制。HLSD-2010B激光傳感器的工作電壓為5V,最大工作電流30mA,最遠距離達50cm,信號輸出方式為直接電平輸出。單片機通過3個傳感器的輸出來確定小車的運行狀態,從而執行不同的動作。HLSD-2010B傳感器檢測狀態表如表1所示。

表1 激光傳感器檢測狀態表
采用模塊化設計方法,在Keil uVersion3環境下采用C語言編寫程序[6]。相關程序主要包括主程序、鍵盤掃描程序、遙控控制程序、電機驅動程序、避障控制程序等。
在主程序運行時,首先要對STC單片機定時器進行初始化,初始化程序如下:

系統軟件總流程圖如圖4所示。
利用8位單片機STC89C52RC STC單片機高速、高可靠性、低功耗等特性,設計了集成化的遙控電路、電機驅動電路、避障電路和燈光控制電路等模塊,智能小車選用2組7.2V Ni-Mh充電電池組,采用2個由LM2596芯片構成的DC-DC穩壓模塊分別給各模塊電路和直流電機供電。在無障礙情況下遙控距離大于1000m,在前進、后退、轉向、變速等控制動作時電機運行平穩,前照燈、轉向燈、雙閃、剎車燈、警示燈、喇叭、倒車雷達等功能非常靈敏。整體設計思想新穎,操作簡便,功能齊全,具有一定實用價值。

圖4 智能小車軟件流程圖
[1]陳暉,張軍國,李默涵,等 .基于STC89C52和nRF24L01的智能小車設計 [J].現代電子技術,2013,35(17):12-15.
[2]王凱,胡杰 .無線射頻在智能公交系統中的應用 [J].長江大學學報 (自科版),2010,7 (3):616-618.
[3]周君芝 .基于NFR905的智能小車控制教學案例淺析 [J].長江大學學報 (自科版),2010,7 (3):402-403.
[4]雯雯 .基于多種傳感器的自動導航小車避障的研究 [D].西安:西安科技大學,2008.
[5]董濤,劉進英,蔣蘇 .基于單片機的智能小車的設計與制作 [J].計算機測量與控制,2009,17(2):380-382.
[6]馬忠梅 .單片機的C語言應用程序設計 [M].北京:北京航天航空大學出版社,2007.