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