新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于PIC單片機及圖像處理技術設計的智能臺球機器人

        基于PIC單片機及圖像處理技術設計的智能臺球機器人

        作者: 時間:2016-12-05 來源:網絡 收藏
        設計摘要

        臺球源于英國,它是一項在國際上廣泛流行的高雅室內體育運動。隨著各種運動的興起發展,臺球以其內涵高雅、放松身心的特點越來越受大家歡迎。依靠單片機技術的日益成熟,基于單片機的小型化高精度控制過程的廣泛應用,色度學、先進光電成像技術、計算機技術和圖像處理技術的飛速發展和電機驅動技術、傳感器技術以及控制技術的不斷發展,我們計劃設計可以與人對打的臺球智能機器人,使人們可以在即使一個人的情況之下也可以享受臺球帶來的娛樂、休閑。

        本文引用地址:http://www.104case.com/article/201612/326403.htm

        我們這次設計的智能臺球機器是以PIC單片機為核心的控制系統,結合了圖像處理技術,PIC單片機控制電機系統,以及機械機構設計技術等方面的知識,利用了各種芯片來實現對臺球系統的圖像采集處理技術,同時,使用各種電機來控制機器人的運動和球桿的揮灑角度和力度系統。在系統結構上本設計的系統可以分為兩個方面:圖像處理系統、智能運動系統。智能運動系統又包含兩個內容:運載系統和球桿系統。圖像處理系統采集桌面臺球的各種信息;智能運動系統通過各種電機實現機器人的運動和揮球運動。

        系統總體機構

        該智能臺球機器人由3部分構成:圖像采集處理系統、智能運載系統和智能球桿系統。

        (一)、系統總體布局與原理框圖

        通過microchip公司生產的32位PIC單片機對CMOS采集過來的圖像信息分析處理,然后向各個電機驅動電路發送相應的指令信息,控制電機的轉向和轉速,執行小車的運動,球桿瞄準,以及控制球桿擊球的力度各項操作,完成一個智能臺球機器人的自動捕捉和擊球全過程。其原理框圖如下所示:

        (二)、系統的技術特點

        該智能臺球機器人結合了圖像處理系統,PIC單片機控制電機系統,以及機械機構系統等方面的知識,是一個跨學科,多領域知識交叉的產品設計。智能臺球機器人主要是由圖像處理系統、電機驅動和測速系統,以及機械機構系統來協調完成智能擊球過程的。

        圖像采集上對比CCD攝像頭的特點CMOS攝像頭不需要用視頻采集卡就能輸出數字信號,內帶A/D轉換,系統體積較小。

        圖像處理上利用CPLD和DSP協調的模塊,大大減少需要傳輸的數據,加快了系統的傳輸速度,提高了上位機的工作效率。

        運載系統主要利用伺服電機驅動,伺服電動機機械特性和調節特性均為線性, 動態響應快, 控制精度高, 可靠性高, 是自動控制系統中一種很好的執行元件。

        球桿系統主要通過步進電機W1控制球桿的轉角來對擊球角度的瞄準,步進電機是數字控制電機,電機的轉速、停止的位置取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,非超載狀態下,根據上述線性關系,再加上步進電機只有周期性誤差而無累積誤差,因此步進電機適用于單片機控制。伺服電機W2控制球桿擊球的速度,利用伺服電機高精度、高可靠性的性能以實現準確擊球入袋的任務。

        (三)、系統硬件組成及工作原理

        1、 圖像處理系統

        1.1 圖像處理系統的原理框圖

        根據智能攝像機的工作原理,結合以前的數字圖像處理研究的成果,本圖像采集系統設計包括圖像采集、圖像存儲、數據處理三個部分。對比CCD與CMOS圖像傳感器的優缺點,決定采用CMOS數字圖像傳感器來構建系統的數字化采集單元。

        系統原理如圖1-1所示,通過攝像頭獲取桌面球的位置與顏色信息,通過CPLD采集控制器和FIFO幀處理器來進行圖像存儲,并將數字信號傳輸到DSP數字信號處理器進行處理,采集球的位置信息和距離信息。將其傳輸給單片機進行控制,來實現電機的運動。

        1.2 圖像處理系統的主要部件

        1.2.1 CMOS圖像傳感器

        我們采用的CMOS數字攝像頭是OV6620。

        OV6620采用PAL制式(國內的普通電視機制式),每秒25幀,分辨率為356*292,內部集成了AD轉換模塊和視頻分離模塊,省去了1881視頻分離芯片。當然,也可以當模擬攝像頭來使用,比如調焦時,這時可以將視頻信號端接至OV6620的VTO端即可。

        OV6620的優點:供電電壓低,簡化電路;內部集成AD和視頻分離模塊,簡化電路,并且使得采集程序簡單,采集質量高;視頻信號轉換在內部進行,減輕CPLD控制器負擔。

        OV6620共有32個引腳,但我們真正能用到的不多。我在做智能車時僅僅用到13個引腳,其他引腳并未使用。現在把常用的引腳列出來: Y0~Y7(數據輸出端,接單片機IO口)、VSYNC(場中斷信號端)、HREF(行中斷信號端)、VCC(接5V)、GND(接地)、VTO(接視頻采集卡調焦),其他可能會使用到的引腳:PCLK(像素同步信號端)、FODD(奇偶場信號端)。

        1.2.2 幀存儲器

        美國Averlogic公司的大容量FIFO AL422B作為采集-處理的共享數據RAM。AL422B的存儲容量為3MB。由于目前1幀圖像信息通暢包含640*480個像素,每個像素占用1~3B,而市面上很多視頻存儲器由于容量限制,無法存儲1幀圖像的完整信息,其工作頻率達50MHz。AL422B應用的要點如下:

        1、384k*8b FIFO,支持VGA/CCIR/NTSC/PAL和HDTV分片率

        2、獨立的讀/寫操作可接受不同的I/O數據率

        3、高速異步串行存取,讀寫時鐘周期為20ns

        4、輸出使能控制,自行刷新數據

        5、工作電壓可為5V或3.3V

        1.2.3 CPLD視頻采集器

        這一部分的核心控制是由可編程門陣列FPGA發展為圖像采集處理的高速化、小型化、智能化開辟了新的空間。核心控制CPLD選用Altera公司的EMP7128SL85-15,主要用它來完成FIFO寫控制,通知DSP讀數據信號的產生等功能。EPM7128SL85-15具有2500個可用邏輯門,128個宏單元,8個邏輯塊,讀寫速度為15ns,帶有67個可供用戶使用的I/O引腳,PLCC封裝,可通過JTAG接口實現在線片成。通過硬件描述語言(VHDL)在集成開發環境MAX PLUS Ⅱ下完成邏輯設計,提高了系統的可靠性,又降低了成本。CPLD的核心任務是是實現AL422B芯片的需要。

        1.2.4 DSP數字信號處理

        采用TI公司的TMS320VC5402 DSP讀取AL422B中的視頻數據,并經過軟件對其進行實時處理,處理后數據量將大大減少。TMS320VC5402 DSP主要特點如下:

        先進的改造型哈佛結構,操作速率可達100MI/S。先進的多總線結構,3條16b數據存儲總線和1條程序存儲總線;40b算術邏輯單元,包括1個40b桶形移位器和2個40b累加器;一個17*17乘法器和1個40b專用加法器,允許16b帶符號的懲罰;8個輔助寄存器及1個軟件棧,數據/程序尋址空間1Mb*16b,內置4k*16bROM和16k*16bRAM;內置可編程等待狀態發生器,鎖相環時鐘產生器,2個多通道緩沖串行口,1個8b并行于外部處理器通信的HPI口,2個16b定時器以及6個通道DMA控制器;低功耗,工作電源有3V和1.8V。

        2、 智能運動系統

        2.1 運載系統

        2.1.1 運載系統的原理框圖

        通過前面的圖像處理系統計算出的擊球點的位置,計算出小車的行進路線輸出給小車的驅動系統,使小車行駛到指定地點。

        2.1.2 運載實現系統的主要部件

        1、 機器人小車驅動系統機器人小車驅動系統由控制器、功率變換器及電動機三個主要部分組成。

        ( 1) 電機數量的選擇為了讓小車能靈活轉彎采用三輪小車, 前輪是拖動輪, 兩個后輪分別用兩臺電機驅動。當分別改變兩臺電機方向時, 可以使小車前進、后退和轉彎。

        ( 2) 電機種類的選擇電動小車采用伺服電動機驅動系統。伺服電動機機械特性和調節特性均為線性, 動態響應快, 控制精度高, 可靠性高, 是自動控制系統中一種很好的執行元件。加上合適的驅動系統, 完全可以完成機器人的各種功能。

        2、 車速及路程計算模塊的選擇

        采用開關型霍爾集成片, 在車輪上均勻地固定多個磁鐵, 車輪轉動時產生脈沖, 通過脈沖的計數,對速度進行測量。用轉速乘以車輪的周長, 就是小車行駛的路程。由于霍爾傳感器體積小, 靈敏度高,傳送過程中無抖動現象且檢測安裝簡單, 廣泛應用于電機測速系統。

        3、 電源選擇方案

        根據小車需要不停地運動, 采用單一電源供電方案, 電方式比較簡單,但由于電動機起動瞬間電流很大, 而且PWM 驅動的電動機電流波動較大, 會造成電源電壓不穩, 影響其他電路的正常工作。此方案將電機驅動利用光電耦合器進行連接。這樣可以解決由于PWM 驅動的電動機電流波動對系統穩定性的影響, 從而提高了系統的可靠性。2.2 球桿系統

        2.2.1 球桿系統的原理框圖

        根據圖像處理分析所得的桌面各球分布情況,和單片機編程語言中所設定選擇各球的順序,確定了目標球的位置。小車運行至球桿能夠擊到白球的距離范圍內,此小車移動過程中,球桿收至與球桌邊緣平行的方向,電機W1和W2均停止轉動。

        到達擊球范圍內時,小車停止運行,根據圖像處理結果,以小車所在邊緣為基線,分析球桿所應該旋轉的角度,把該信息賦予PIC32單片機,然后,通過單機片發送脈沖信號到步進電機驅動器M1,控制步進電機W1完成相應角度的旋轉。旋轉過程中,為了提高步進電機運行到位的,從起始到接近所需角度的過程中,可以用連續高頻脈沖縮短時間,然后在接近預定值的時候,則選用間斷低頻脈沖控制電機點動到位,中斷其運行。

        接著,根據圖像處理結果,分析其桌球運動的路徑長度,在單片機中預設相應的長度范圍,將其所需力度分為從高到低分為五檔;接著,通過單片機接收力度檔位信息,發送相應的脈沖到伺服電機驅動器M2,使伺服電機W2分別以不同的速度連續轉動一周,結束之后中斷其運行。

        由于電機W2的轉動,帶動曲柄滑塊機構的球桿做急回運動,快速擊球,然后較緩慢地返回原位置。

        擊球完畢,白球獲得預定方向的速度接著進行擊打彩球入袋,然后各球按照后續運動軌跡運行至動能為零靜止。

        等待桌面各球靜止,重新掃描桌面情況,進行新一輪的圖像處理分析,選擇下一個擊球目標,球桿旋轉收回到與球桌邊緣平行,小車運行至下一個目標的擊球距離范圍。

        2.2.1 球桿系統的主要部件

        步進電機W1

        W1用于旋轉調整球桿部分的角度。

        步進電機是數字控制電機,將脈沖信號轉換成角位移,電機的轉速、停止的位置取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,非超載狀態下,根據上述線性關系,再加上步進電機只有周期性誤差而無累積誤差,因此步進電機適用于單片機控制。步進電機通過輸入脈沖信號進行控制,即電機的總轉動角度由輸入脈沖總數決定,而電機的轉速由脈沖的信號頻率決定。

        直流伺服電機W2

        W2用于控制球桿擊球的速度。

        伺服電動機機械特性和調節特性均為線性, 動態響應快, 控制精度高, 可靠性高, 是自動控制系統中一種很好的執行元件。加上合適的驅動系統, 完全可以按照準確的轉速和轉向完成各種功能。

        步進電機驅動器L297芯片

        步進電機的驅動是根據單片機產生的控制信號進行工作。因此,通過向步進電機驅動電路發送信號就能實現對步進電機的控制。

        L297芯片是具有20管腳的雙列直插式塑膠封裝的步進電機驅動器。它最多可產生四相驅動信號,能用半步(八拍)和全步(四拍)等方式驅動單片機控制雙相兩極或四相單極步進電機。其核心是脈沖分配器,L297還設有兩個PWM斬波器來控制繞線組電流。是想愛你恒流斬波控制。適用于雙極性兩相步進電機或單極性四相步進電機的控制。L297只需從上位機接受方向(正、反轉),模式(半步、基本步距),時鐘(步進脈沖)3個輸入信號。其工作初始狀態是ABCD=0101

        L297驅動器M1的輸出控制步進電機W1。

        伺服電機驅動器BA6688L和BAL6686芯片

        由單片機產生的PWM信號經接收通道進入信號解調電路BA6688L的12腳進行解調, 獲得一個直流偏置電壓, 該直流偏置電壓與電位器的電壓比較, 由BA6688L 的3腳輸出,送入電機驅動集成電路BAL6686, BAL6686 的輸出信號驅動伺服電動機W2。改變PWM 信號的占空比,可以控制電動機的轉向和轉速。

        標準球桿

        球桿擊球端設置為圓球狀光滑表面結構;中間部分套在固定的小車基座上;在小車基座的兩固定端設計為一個曲柄滑塊機構,控制球桿擊打白球。

        3、單片機的選擇

        單片機選用microship公司的Cerebot 32MX4系列單片機。該Cerebot 32MX4的主要特點是具有一個全新Microchip® PIC32™微控制器。PIC32可提供工作頻率80MHz的32位MIPS處理器內核、512KB的編程FLASH、32KB的RAM內存以及眾多的外圍設備。這些設備包括USB控制器、定時器/計數器、串口控制器、A/D轉換器以及更多的設備。該板具有大量的I/O接口和電源選項,其中也包括USB電源。它同時還具有與Microchip MPLAB開發軟件相兼容的內置編程、調試電路。 Cerebot 32MX4擁有九個Digilent Pmod™外圍模塊連接器。可連接的Digilent Pmod包括H-bridge驅動、模數和數模轉換器、蜂鳴器、滑動開關、按鍵開關、LED指示燈、以及易于連接的轉換器。

        主要 用來實現對dsp數字信號處理器的部分數據進行處理,與單片機獲得的其他系統信息進行綜合分析,輸出系統所需的控制信號,對其他部分的運動進行分析和控制。

        三、軟件流程

        (一)系統軟件流程

        在每次工作之前都要對單片機進行初始化設置,然后再由單片機控制系統的運作,總流程如右圖所示:

        先啟動圖像處理系統,對采集到的信息進行分析和處理。得到擊打臺球的位置。根據圖像處理系統的結果,通過單片機啟動伺服電機,使小車運行到指定位置,然后控制步進電機調節球桿的角度,通過機械方式打擊出球。

        (二)、圖像處理系統的軟件流程

        在CMOS攝像機開始輸出信號之前,需要對OV6620的寄存器進行配置,使其輸出系統所需要的圖像格式。

        在每次系統設定工作都要對CMOS寄存器進行設置,我們通過單片機對其進行初始化設置,主要是設置表中的寄存器。系統流程圖如圖2。系統執行上電加載DSP程序,初始化程序后,單片機初始化OV6620和AL422B芯片。然后DSP即發送開始采集指令給CPLD,實現總線控制權交接,CPLD獲得總線控制權。通過CMOS采集一幀圖像解碼后存到FIFO存儲器中,當一幀數據寫入幀緩存后,CPLD關閉CMOS輸出,放棄總線控制權,并發送信號給DSP,進入圖像處理程序。DSP通過緩存器和CLPD獲得圖像數據,同時處理后數據傳輸到PIC進行電機控制部分。

        我們采取的是一種基于DSP和CLPD結構的圖像采集和處理系統設計方法。CPLD實質上起到總線控制器的作用,DSP制作圖形算法使用,圖像采集獨立自主進行,不參與采集過程,節省了DSP的時間,實時性好,實現了模塊化設計的思想。系統軟件對圖像進行灰度、邊緣提取、反色的算法。

        (三)、智能化系統的軟件流程

        1.、小車系統軟件流程

        1、1 伺服電機驅動電路

        下圖為伺服電動機驅動電路, 本系統有兩組驅動電路, 分別負責兩個后輪電動機的驅動, 控制電機的轉向及轉速(轉角)。首先由單片機產生的PWM信號經接收通道進入信號解調電路BA 6688L的12腳進行解調, 獲得一個直流偏置電壓, 該直流偏置電壓與電位器的電壓比較, 由BA6688L 的3腳輸出,送入電機驅動集成電路BAL6686, BAL6686 的輸出信號驅動伺服電動機。改變PWM 信號的占空比,可以控制電機的轉向和轉速。

        1、2 測速檢測電路的設計與實現

        霍爾集成傳感器是將霍爾元件、放大器、施密特觸發器以及輸出電路集成在一塊芯片上, 為用戶提供一種簡單化的和比較完善的磁敏傳感器。霍爾傳感器測速的原理: 傳感器的位置固定在靠近小車車輪的適當位置, 小車的輪上裝幾個磁鐵, 每當磁鐵轉過霍爾傳感器時, 引起磁場的變化。霍爾集成傳感器分為線性型和開關型兩大類, 本系統中選用的是開關型霍爾集成傳感器SS44E。SS44E 傳感器的信號放大器將霍爾元件產生的幅值隨磁場強度變化的霍爾電壓放大后再經信號變換器, 驅動器進行整形,放大后輸出幅度相等, 頻率變化的方波信號脈沖, 計算脈沖的個數, 即可確定旋轉物體的速度。如我們在小車的軸上安裝了4塊磁鐵, 則車輪旋轉一周霍爾傳感器計數4個脈沖。用1m in計量的脈沖數除以4就是小車的轉速。

        2、球桿系統軟件流程

        步進電機控制電路開始工作之前,需要對驅動器L297的主要參數進行初始化,然后對它進行將要運算控制的配置。

        當導路小車到達擊球距離范圍內靜止的時,單片機中斷,并跳轉到步進電機W1驅動電路,首先,單片機對步進電機驅動器M1進行初始化,然后驅動步進電機驅動器對步進電機W1進行初始化,單片機把相應頻率的脈沖信號傳送至驅動器M1,通過驅動器的緩存配置,控制電機W1按照要求的N個脈沖進行逆時針或者順時針步進運行,直到旋轉相應的α角后,電機W1驅動電路中斷;單片機中斷,跳出到伺服電機驅動電路W2,對伺服電機驅動器M2進行初始化,然后驅動伺服電機驅動器對伺服電機W2進行初始化,單片機把相應頻率的連續脈沖信號傳送至驅動器M2,通過驅動器的緩存配置,控制電機W2作順時針連續旋轉,直到旋轉滿一周后,電機W2驅動電路中斷,電機W2旋轉過程中帶動機械曲柄滑塊機構做急回運動,快速擊打白球,使得白球運動擊打彩球入袋。擊球完畢,再次驅動電機W1逆向旋轉α角,至原初始與球桌邊緣平行的位置。則一次單片機控制擊打制定目標球過程結束。

        該球桿系統中,通過對圖像處理后的目標結果進行定位,然后采用了高精度的單片機控制步進電機電子電路,伺服電機帶動球桿機械運動和機構傳動進行擊球,實現了一個較為智能化的智能桌球機器人。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 吉木乃县| 济南市| 蓝山县| 安溪县| 泽州县| 伽师县| 招远市| 湟源县| 亳州市| 新蔡县| 苍梧县| 晋州市| 松原市| 永和县| 万安县| 邹平县| 潮州市| 禄丰县| 松潘县| 民丰县| 云龙县| 南康市| 东光县| 昔阳县| 镇原县| 神农架林区| 浪卡子县| 康平县| 台北县| 焦作市| 任丘市| 安乡县| 察哈| 江阴市| 天全县| 新绛县| 通化市| 清镇市| 花莲县| 星座| 遂昌县|