閆莉莉 王啟明
關鍵字智能小車系統;51 單片機;RPR220 模塊;超聲波模塊
隨著時代的進步,工業領域正一步一步朝著智能化的控制方向發展,工廠也不斷推進無人化進程,但是當前國內很多中小型企業車間依然人工比居多,因此智能載貨小車的設計就很好地符合這一潮流,不僅可以大大地減少工廠對人工的投入,而且在很大程度上,也保護了一些危險場地人工的安全。因此設計開發一款工廠智能載貨小車系統是很有必要的。
在本設計的工廠智能載貨小車系統中,人工首先在道路上貼上“黑線”信息,智能載貨小車通過反射式紅外光電傳感器RPR220 來對道路上預設的“黑線”信息進行采集,之后利用電壓比較器LM324 將采集來的信息以高低電壓的形式發給STC89C51 單片機主控芯片進行信息處理;與單片機相連的HC-SR04 超聲波測距模塊可以測量出小車與障礙物之間的距離,然后以一個高電平發送給STC89C51 單片機;單片機對這些信息進行分析,發出指令。當智能小車要行駛時,單片機發出信號,L293D 電機驅動芯片帶動兩個直流電機轉動,同時產生PWM 波控制兩個車輪轉速,調整行駛方向,按預設道路“黑線”行駛,實現尋跡。當出現障礙物時,超聲波模塊會對單片機發送信息,之后單片機會對電機發出停止信號進行避障,同時蜂鳴器報警,當障礙物消失之后小車繼續沿預設道路行駛,到達目的地之后,由工人卸貨,之后再沿預設道路返回等一系列操作。
智能循跡小車主要由STC89C51 單片機電路、循跡模塊、LM324 驅動模塊、直流電機、小車底板、電源模塊、超聲波測距模塊等組成。
(1)單片機電路:采用STC89C51 單片機芯片作為控制單元。STC89C51 單片機具有低成本、高性能、抗干擾能力強、超低功耗、低電磁干擾、并且與傳統8051 單片機程序兼容、無須改變硬件、支持在系統編程技術等。使用ISP 可不用編程器直接在PCB 板上燒錄程序,修改、調速都方便。
(2)循跡模塊:采用脈沖調制反射式紅外發射接收器作為循跡傳感器,調制信號帶有交流分量,可減少外界的大量干擾。信號采集部分就相當于智能循跡小車的眼睛,有它完成黑線識別并產生高、低平信號傳送到控制單元,然后單片機生成指令來控制驅動模塊來控制兩個直流電機的工作狀態,完成自動循跡。
(2)L293D 驅動模塊:采用L293D 作為電機驅動芯片。L293D 具有高電壓,大電流,響應頻率高的全橋驅動芯片,一片L293D 可以分別控制兩個直流電機,并且帶有控制使能端。該電機驅動芯片驅動能力強,操作方便,穩定性好,性能優良。L293D 的使能端可以外接電平控制,也可以利用單片機進行軟件控制,滿足各種復雜電路的需要。另外,L293D 的驅動功率較大,能夠根據輸入電壓的大小輸出不同的電壓和功率,解決了負載能力不夠的問題。如圖1 所示。
本系統采用的核心芯片是STC89C51 單片機,采用STC89C51RC 的理由是因為它的特點,首先該系統擁有著可編程芯片ISP,工作時鐘頻率最高可達到80MHz,還采用了Flash只讀程序存儲器片,它的內存容量為4K Bytes,基本上可反復擦寫大約1 000 次,STC89C51 芯片內部集成的還有通用8 位中央處理器和三級加密程序存儲器,她擁有著32 個可編程I/O口,為系統的開發提供了很大的便利性,在該51 單片機中有三個16 位定時器/計數器八個中斷源,他們可以為系統提供了必不可少的中斷,它的全雙工UART 串行通道也是任何一個系統開發必不可少的一部分,智能的首要就是通信,而該芯片也完全滿足,低功耗空閑和掉電模式可以為用戶提供更好的滿意度,看門狗定時器是我們設計系統的重中之重,它相當于一個總開關。在選用了該芯片之后,再繼續配合PC 端的控制程序使用,就可以將用戶的源程序燒錄到單片機內部,不僅可以讓該系統的開發成本變得更低,而且還更高效,因為他的速度更快。
反射式紅外光電傳感器模塊是一種利用反射式紅外光電傳感器制成的在傳感器的有效范圍檢測距離內對物體的存在性進行檢測的電路裝置。模塊由紅外光發射接收器、電壓變化檢測電路、檢測靈敏度調節電路器和檢測狀態指示LED 燈等四個主要部分組成,由于RPR220 傳感器各方面都符合設計的要求,并且容易焊接,價格合適,因此我選用RPR220 傳感器作為路面黑色軌跡線的檢測設備。

圖1 系統硬件體系設計圖
電壓比較器LM324 是帶有真差動輸入的四路運算放大器,有真正的差分輸入功能,可以作為模擬和數字電路的接口,還可以用作波形產生和變化電路等。該四路放大器的工作電壓可以在3.0 V~32 V 范圍內,而每個放大器工作的靜態電流只有MC1741 的五分之一。在我們開發系統的許多應用中,我們不需要加外部偏置元器件,因為共模輸入的范圍已經包括負電源,而且輸出電壓的范圍也包括了負電源電壓。它采用的是14 腳雙列直插塑料封裝,應用領域包括傳感器放大器、直流增益模塊等,驅動功耗較低,符合設計要求。所以我選用了LM324 電壓比較器作為本設計的電壓比較器。
超聲波避障模塊是要實現對小車行駛軌跡前方障物的檢測,把檢測的道路信息以高電平輸送給單片機,讓單片機分析判斷,決定蜂鳴器是否報警。完成此功能主要靠測距模塊HCSR04 和蜂鳴器。超聲波測距模塊包括超聲波發射器、接收器與控制電路三部分,2 cm~400 cm 是它的實時測量范圍,而且測量的準確度極高,可以達到3 mm,最后就是盲區小。把超聲波測距模塊的VCC 端接到開發板的5 V 電源,GND 端接地,因為該模塊可以發出超聲波,因此免不了接收觸發控制信號,這個時候我們可以采用TRIG 端,ECHO 端主要是為了輸出回響信號。由于HC-SR04 模塊,使用起來十分簡單方便、而且價格便宜、安裝也很容易,因此選用了HC-SR04 測距模塊作為測量小車前方是否有障礙物的設備。
單片機直接輸出的電壓電流無法驅動直流電機,為了完成小車的驅動,本設計采用了L293D 芯片。L293D 電機驅動芯片是由SGS 公司的研發的一款電機驅動芯片,采用16 引腳DIP封裝。L293D 芯片內部集成了2 個雙極性H 橋電路,同時實現對2 個直流電機轉動的控制。EN1、IN1、IN2 可以控制一個直流電機,EN2、IN3、IN4 可以控制一個直流電機。其中EN1 為使能信號,并且起到了一個可以控制小車停止的一個功能;IN1、IN2為控制信號,可以根據輸入的信號讓電機正轉和反轉。在IN1為1,IN2 為0 的情況下,電機正向轉動,反之,電機反向轉動,另個電機控制同理。把單片機產生的PWM 連接在EN1 上,可以通過改變PWM 的占空比實現電機轉速的調節。PWM 就是脈沖寬度調制,即占空比可以改變的脈沖波形,即想要輸出不同的PWM 波,只要改變單片機輸出電壓的占空比即可完成。單片機的端口可以直接與L293D 的端口連接,作為信號源,電路容易連接。
工廠智能載貨小車采用STC89C51 單片機為中央處理器,以紅外光電傳感器RPR220,電機驅動芯片L293D,電壓比較器LM324,蜂鳴器等為輻主器件進行設計的。本設計是由紅外光電傳感器RPR220 采集預設道路上面的黑線信息并出產生電壓信息。利用電壓比較器LM324,對產生的電壓進行比較,傳送到單片機內。單片機對這些高低電壓進行分析處理,產生PWM波來控制左右流電機轉速。直流電機驅動芯片L293D 驅動兩個安裝有直流電機的車輪,實現控制小車行駛方向的目標,實現尋跡功能。同時超聲波測距模塊HC-SR04 探測小車正前方障礙物的距小車的距離,當障礙物出現在程序設置的范圍內時,小車停止,并且蜂鳴器報警,當障礙物消失時小車繼續沿預設道路行駛。當左右兩邊光電開關都接收到檢車信號時,兩光電開關都輸出低電平,小車直行;當左右光電開關分別為接收不到信號、接收到信號時,左右光電開關分別輸出高、低電平,小車右拐;當左右光電開關分別為接收到信號、接收不到信號時,左右光電開關分別輸出低、高電平,小車左拐。當檢測到拐彎標志時,輸出為高電平,并實現對標志線計數功能,作為小車起始、拐彎、超車標志,實現小車的起始、拐彎與超車。系統流程圖如圖2 所示。

圖2 系統流程圖
首先,前面已經介紹過循跡功能所需要的模塊、原理以及硬件如何實現,本小節主要介紹軟件功能如何實現,就是通過硬件的連接,在Keil 軟件上對循跡功能進行設置。首先把硬件連接好,用兩根杜邦線把智能小車板的VCC 端跟開發板的VCC 相連,把智能小車板的GND 端跟開發板的GND 端相連;再用六根杜邦線來控制電機,把智能小車板的P1.2 至P1.7 端連到開發板的P1.2 至P1.7 端;接下來就是連接避障循跡模塊,用四根線把智能小車板上的P3.2 至P3.5 連到開發板的P3.2 至P3.5。在檢查過接線沒有問題后,開始編寫C 語言,連接小車并燒寫程序,燒錄成功之后打開電源開關S2,蜂鳴器會發出提示音滴聲,之后啟動小車,說明循跡功能軟件方面成功實現,即根據RPR220 對路面黑線的檢測信號來對控制小車的轉向,如果左側檢測到黑線,說明下車偏向右行駛,此時應該及時調整小車左轉,以此讓小車按照循跡來行使;右邊也類似。
超聲波模塊HC-SR04 檢測小車前方有障礙物,當障礙物出現在小車前方20 cm 內時,單片機就會驅動蜂鳴器報警,提醒障礙物,然后返回繼續檢測。
小車在循跡過程中,為了檢查小車前方是否有障礙物出現,我設置了單片機每20 ms 向HC-SR04 發送一份Trig 信號,無論處于哪種狀態,小車前方有障礙物或者沒有障礙物。當檢車到有障礙物時,單片機一邊開啟避障工作標志位一邊計算障礙物距離,如若發現距離大于20 cm 時,停止避讓障礙物,如若發現距離小于20 cm,小車繼續重復上述過程。
經過軟件調試,程序能夠順利運行。主程序圖如圖3 所示,程序燒錄界面如圖4 所示。

圖3 主程序運行界面

圖4 程序燒錄成功界面
經過反復的軟件硬件聯合調試,最終智能載貨小車系統順利執行。該系統的實物圖如圖5 所示。
在設計與實現本系統時遇到了很多自己不了解的知識,通過在知網上查看相關的參考文獻,并回顧了大學幾年學習的相關知識,對反射式紅外光電傳感器RPR、L293D 電機驅動芯片、LM324 電壓比較器等器件的使用與單片機的連接等這些知識,有了更深層次的理解和應用。學會了將各種傳感器與單片機硬件連接,并應用C 語言進行相應的控制。當然,本系統也有一些不成熟的地方,功能方面只設計了一部分,更多的功能有待后續的完善;例如,下一步可以增加藍牙、wifi 模塊,實現遙控控制;增加攝像頭,實時監控工廠;增加風扇,實現滅火;還可以為小車增加卸貨功能。以小車為基礎可以不斷延伸新的功能,將應用到更多的其他工作環境。

圖5 硬件實物圖