鐘明珠,賀雪峰
國網福建省電力有限公司惠安縣供電公司,福建 泉州 362100
電力線路在輸電、配電、供電過程中起著重要的作用,電線桿對電力線路起著支持、承載作用。日常巡檢或檢修電力線路時,人工攀爬電線桿不但費時費力,而且容易受傷,因此,文章研究設計了一種單片機控制的爬桿機器人,對于電力線路的維護及發展很有意義。
系統采用STC12單片機作為控制芯片,主要由STC12單片機最小系統模塊、藍牙傳輸模塊、電機驅動模塊、液晶顯示模塊、超聲波傳感器模塊組裝成具有爬桿功能的機器人,最終實現對桿上線路情況的分析及維護。在給機器人上電時,單片機發出方波信號來啟動超聲波,這時超聲波發射出信號,直到聲波反射回來超聲波接收次反射信號,應用相關公式轉換成距離顯示出來[1-2]。單片機控制OLED液晶屏顯示距離,保證了時刻記錄爬桿機器人的行程。使用HC-05藍牙通信模塊將機器人的爬行及停止通過地面的指令進行控制,讓機器人自由地向上、向下及停止行走,實現機器人自由行程的功能。
單片機是主要的控制芯片,可以讀取外部輸入進來的信號,通過一系列處理,從而輸出對應的電平來實現相關控制,綜合考慮各方面條件和因素,文章在設計時選擇了性價比較高的STC12單片機。
方案一:使用HC-05藍牙模塊。該藍牙模塊價格合適,雖檢測范圍小,但是足夠此次設計使用。方案二:使用NRF24L01無線通信模塊。此模塊可以在200 m的范圍內精確傳輸,一次性可以傳輸32字節的數據。使用時,將其內部寄存器配置好地面手機藍牙串口,寫入相應的指令就可以控制單片機,然后驅動相應的元器件工作,使用方便簡單。
綜上,藍牙模塊可以滿足此次機器人爬桿,定點及向上、向下爬行的控制,而且這個模塊價格適當,可以用手機下載串口,與之建立通信模式。故選擇方案一。
方案一:采用LCD1602。用此液晶顯示屏來顯示機器人對地的距離。該款液晶屏具有體積小、操作簡單、能耗低、價格相對便宜等優點,其缺點是由于體積不大,可以顯示的內容不多,分辨率也不夠高,顯示出來的字體是固定不變的,不可以調整。方案二:采用TFTLCD。用此液晶顯示屏來顯示機器人對地的距離。這個液晶顯示屏的優點是分辨率高,顯示的內容非常清晰,而且它反應靈敏,顯示速度快,還可以顯示彩色的內容;缺點是因為分辨率高,耗電快,價格也相對高昂。
對比以上兩種方案,結合經濟情況,綜合考慮后選擇了第一種方案。
方案一:采用紅外傳感器。用此傳感器對爬桿機器人對地的距離進行測量時,傳感器對信號回應速度很快,在沒有干擾的情況下所測量的結果比較準確。但是它抗干擾的能力較差,容易受到周圍光線的影響,如果機器人所測地點光線太強或者在測量過程中有其他光線照進來,都會造成很大影響。而且其價格也相對較高。方案二:采用超聲波傳感器。用此傳感器對爬桿機器人對地的距離進行測量時,可測距離更遠,測量結果準確性較高,價格也比較合適,測量時幾乎不受外界環境的干擾。但是,如果距離較近,發射和接收也會受到較大影響。
對比以上兩種方案,結合經濟情況,綜合考慮后選擇了第二種方案。
主要控制芯片選用STC12C5A60S2,單片機的最小系統就是以此芯片作為基礎。該控制電路主要由以下三個部分構成[3]。(1)電源部分:電源部分為整個系統提供能量,第40腳接電源+5 V是VCC腳,第20腳是GND,通常接地。(2)復位電路部分:單片機的初始化任務都由此來完成。它由第9腳引出,接一個10 uF的電容和一個10 K的電阻即可。(3)晶振電路部分:分別由第18腳XTAL2和第19腳XTAL1引出,晶振采用頻率為11.059 2 MHz的,保證了單片機的工作節拍。
此次設計使用最常見到的超聲波傳感器HC-SR04模塊,整個模塊使用簡單,擴展出來就四個引腳,分別是電源引腳VCC和GND,需要提供5 V的直流電,TRIG腳和ECHO腳分別為控制腳和信號接收腳。TRIG腳是觸發引腳,當單片機控制HC-SR04模塊開始工作時,此腳被激活。其工作原理是兩個孔通過發射和接收聲波然后使用公式(s=340t/2)來測量距離。聲波信號由于空氣阻力等干擾在傳播過程中可能會被慢慢削弱,為了避免削弱較多,設計了放大電路,安裝在超聲波的接收電路上,用來放大信號。為了保證發射端口可以產生12 us的方波信號且每組有12個脈沖寬度,可以選擇一塊壓電晶片(也叫超聲波探頭)來完成這兩項工作,其超聲波特性較好,有理想的折反射性能,并產生多普勒效應,被廣泛應用于醫學方面。
測距儀采用OLED液晶屏,OLED有機發光二極管又被稱為有機電激光顯示。OLED顯示技術具有自發光的特性,采用非常薄的有機材料涂層和玻璃基板,當有電流通過時,這些有機材料就會發光。而且OLED顯示屏幕可視角度大,功耗低,相比于LCD屏的功耗大、需要背光,OLED屏的顯示效果更佳,更加適合小系統。其模塊供電電壓可以是3.3 V,也可以是5 V,不需要修改模塊電路,包含控制OLED的亮度及對比度、開關升壓電路等多種指令,操作方便,功能豐富,可顯示漢字、ASCII、圖案等。
系統一旦啟動,首先要完成程序初始化,包括定時器和液晶顯示器的初始化。定時器0工作時,將ET0設置為低電平,TR設置為高電平。初始化LCD1602時,首先將指令寫入1602,顯示模式為2行32位,端口輸出設置為8位。同時,還要做一些基本設置,包括光標不顯示、整屏不移動等。初始化完成后,系統開始執行主循環,它是被中斷控制的。中斷控制一共有3個時間標志位,具體的實施方案是當初始值被定時器0設置好后,每次中斷大概間隔為10 us,一次中斷就讓其值加1。
工作原理:先控制單片機發送一個10 us的高電平給HC-SR04的TRIG引腳,超聲波模塊被啟動后,其發射端發射出8個40 kHz的聲波信號,一旦定時器開始工作,接收頭就開始尋找回波,此時電平從低電平轉向高電平的Echo引腳開始工作。如果發射的聲波信號碰到地面,且接收頭檢測到返回波,Echo引腳的電平發生相反的轉化。從發出到接收的時間都會被定時器記錄,單片機會記錄此時間并換成具體時間數值。
在I2C總線傳輸過程中,將兩種特定的情況定義為開始和停止條件。當SCL保持“高”時,SDA由“高”變為“低”為開始條件;當SCL保持“高”且SDA由“低”變為“高”時為停止條件。開始和停止條件均由主控制器產生。使用硬件接口可以很容易地檢測到開始和停止條件,沒有這種接口的微機必須以每時鐘周期至少2次對SDA取樣,以檢測這種變化。
開始和停止條件SDA線上的數據在時鐘“高”期間必須是穩定的,只有當SCL線上的時鐘信號為低時,數據線上的“高”或“低”狀態才可以改變。輸出到SDA線上的每個字節必須是8位,每次傳輸的字節不受限制,但每個字節必須有一個應答ACK。如果一接收器件在完成其他功能(如一內部中斷)前不能接收另一數據的完整字節時,它可以保持時鐘線SCL為“低”,以促使發送器進入等待狀態;當接收器準備好接收數據的其他字節并釋放時鐘SCL后,數據傳輸繼續進行。
數據傳送必須具有應答。與應答對應的時鐘脈沖由主控制器產生,發送器在應答期間必須下拉SDA線。當尋址的被控器件不能應答時,數據保持為“高”并使主控器產生停止條件而終止傳輸。在傳輸的過程中,在用到主控接收器的情況下,主控接收器必須發出一數據結束信號給被控發送器,從而使被控發送器釋放數據線,以允許主控器產生停止條件。
基于單片機控制的爬桿機器人設計中實現了預期的功能,包括超聲波準確測距,LCD1602液晶顯示機器人爬桿距離,以及無線通信模塊控制機器人的移動與定位等。設計還待實現另外的功能:增加攝像頭模塊,可以隨時隨地拍照,檢測桿上的各個細節,并立即返回手機,這樣可以清晰地看到線路損壞程度;設計自己的手機App,應用功能強大的Wi-Fi模塊與手機建立通信,其目的是實現遠程操控;設置多個按鍵來控制機器人爬行速度,速度可以任意調控,既可以更加清楚地了解線路的損壞情況,又能節省時間。