張遠(yuǎn)平
摘 要 智能制造業(yè)的發(fā)展受到越來越廣泛的關(guān)注,作為智能制造業(yè)核心的工業(yè)機(jī)器人,它的發(fā)達(dá)程度不僅可以決定當(dāng)前制造業(yè)的水平,更是可以預(yù)見未來智能制造業(yè)的發(fā)展。因此,本文著眼于社會(huì)熱點(diǎn),提出一種基于AM3358的機(jī)器人控制系統(tǒng)設(shè)計(jì),該控制系統(tǒng)相比于傳統(tǒng)的控制系統(tǒng),具有控制精度高、可拓展性強(qiáng)、性能優(yōu)良等特點(diǎn)。
【關(guān)鍵詞】工業(yè)機(jī)器人 AM3358 機(jī)器人控制系統(tǒng)
1 工業(yè)機(jī)器人發(fā)展歷史及現(xiàn)狀
從機(jī)器人的發(fā)展歷史來看,機(jī)器人已經(jīng)經(jīng)過了兩代的發(fā)展。第一代機(jī)器人通過讀取文件或者示教的方式工作;第二代機(jī)器人在此基礎(chǔ)上增加了傳感器來達(dá)到對(duì)工作環(huán)境的感知,它能夠在工作的時(shí)候獲得工作環(huán)境和作業(yè)對(duì)象的部分相關(guān)信息,進(jìn)行一定的處理之后,引導(dǎo)機(jī)器人進(jìn)行作業(yè)。第二代機(jī)器人已進(jìn)入了實(shí)用化,在工業(yè)生產(chǎn)中得到廣泛應(yīng)用。我國目前使用的機(jī)器人大部分屬于第二代機(jī)器人。
2 系統(tǒng)設(shè)計(jì)流程
系統(tǒng)設(shè)計(jì)總共分為四個(gè)部分,分別是:原理圖的設(shè)計(jì)、電路板的繪制、底層驅(qū)動(dòng)的編寫、應(yīng)用程序的編寫。
3 系統(tǒng)硬件設(shè)計(jì)
整個(gè)系統(tǒng)基于ARMA8進(jìn)行開發(fā),AM3358核心部分電路設(shè)計(jì)參考TI公司提供的評(píng)估板。
3.1 電源電路設(shè)計(jì)
電源電路部分參考tps65217c以及AM3358的數(shù)據(jù)手冊(cè)設(shè)計(jì)而成,充分考慮了電源部分的濾波和高頻干擾的處理。除此之外,保險(xiǎn)管也能有效的防止因?yàn)楦鞣N原因造成的電流過大而會(huì)引起的安全隱患。供電方面,可以采用USB供電和交流供電兩種方式。AM3358的電源部分,爭取每個(gè)電源引腳都有一個(gè)去耦電容,保證電源干凈的同時(shí)濾除雜波。不同的模塊需要不同的電壓,這一點(diǎn)TPS65217C可以完美的匹配。
3.2 時(shí)鐘及復(fù)位電路設(shè)計(jì)
晶振方面采用24MHz的無源晶振,實(shí)時(shí)時(shí)鐘(RTC)采用32.768KHz的無源晶振。如圖1所示。
復(fù)位電路我們采用如下圖2所示電路圖,除了可以軟復(fù)位,我們也可以按下SW1開關(guān)進(jìn)行復(fù)位。
3.3 DDR3電路設(shè)計(jì)
由于DDR3是一個(gè)高速設(shè)備,所以我們更要保證其每個(gè)電源腳都要有一個(gè)電容,注意其參考電壓是由AM3358引過來的。由于此處只有一個(gè)DDR3,所以不需要考慮增加上拉電阻來增強(qiáng)其驅(qū)動(dòng)能力。
3.4 PCB電路板的設(shè)計(jì)
整個(gè)系統(tǒng)由于AM3358和DDR3的頻率較高,并且封裝都是BGA,為了減少高速線之間的串?dāng)_和板子的穩(wěn)定性、增加一次制版的成功率,因此采用8層線路板布局。電路板采用模塊化的布局方式,減少系統(tǒng)的干擾,同時(shí)方便PCB板的繪制。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)首先進(jìn)行U-boot燒錄,在此基礎(chǔ)上進(jìn)行開發(fā)。在整個(gè)開發(fā)過程中,采用TI公司提供的CCS V6.0作為編程工具。
4.1 串口輸入輸出
串口功能的實(shí)現(xiàn)非常重要,在移植U-BOOT或者調(diào)試過程當(dāng)中我們可以通過查看串口的打印信息來判斷程序運(yùn)行的狀態(tài)。串口調(diào)用AM335X_StarterWare內(nèi)部的函數(shù),對(duì)串口進(jìn)行操作,能成功打印出字符串或者能輸入字符則說明調(diào)試成功。
4.2 示教流程
當(dāng)通過示教器進(jìn)行示教的時(shí)候,示教器通過串口把數(shù)據(jù)發(fā)送給AM3358,AM3358處理后發(fā)送給機(jī)械臂,于是機(jī)械臂便朝著我們指定的方向移動(dòng),在此過程中,機(jī)器人控制系統(tǒng)對(duì)機(jī)械臂的位置進(jìn)行采樣并保存在板上的eMMC中。在示教完成之后,控制器控制機(jī)械臂回到原點(diǎn),AM3358開始讀取之前存儲(chǔ)的數(shù)據(jù)并將數(shù)據(jù)發(fā)送給機(jī)械臂控制器,完成示教。
4.3 插補(bǔ)算法
模擬信號(hào)和數(shù)字信號(hào)最大的區(qū)別就是模擬信號(hào)是連續(xù)的而數(shù)字信號(hào)是離散的。機(jī)械臂的運(yùn)動(dòng)可以看作是連續(xù)的,但是AM3358對(duì)機(jī)械臂位置的采樣卻是離散的,因此,當(dāng)機(jī)器人重現(xiàn)我們示教動(dòng)作的時(shí)候,會(huì)因?yàn)橹安蓸拥拿芗潭榷尸F(xiàn)出不同程度的抖動(dòng),由此可能造成機(jī)械損壞或者次品率增加等一系列問題。為了解決這一問題,采用到插補(bǔ)算法。所謂插補(bǔ),通俗的說,就是在機(jī)器人在重現(xiàn)我們教導(dǎo)的動(dòng)作的過程當(dāng)中,對(duì)讀取到的兩個(gè)點(diǎn)進(jìn)行計(jì)算,使得原來只有兩個(gè)點(diǎn)的路徑增加更多的點(diǎn)。當(dāng)這些點(diǎn)的數(shù)量達(dá)到一定數(shù)量,機(jī)器人再現(xiàn)我們教授的動(dòng)作會(huì)變得很平滑,趨于一條直線。
5 系統(tǒng)測試
系統(tǒng)設(shè)計(jì)制作完畢后,進(jìn)行系統(tǒng)測試,主要分為硬件測試和軟件測試。
5.1 硬件測試
印制電路板制作完成、焊接完成之后,首先嚴(yán)格按照原理圖檢查是否有短路、虛焊等情況。確定無誤后上電。
電源:系統(tǒng)上電后,檢測輸入以及各個(gè)輸出是否正常合理。
晶振:上電后用示波器探頭打晶振的引腳查看信號(hào),確保晶振起震。
5.2 軟件調(diào)試
JTAG:使用仿真器連接電腦和目標(biāo)版,確保JTAG口能正常工作(通過JTAG口可以查看內(nèi)部寄存器,是其他軟件硬件調(diào)試的基礎(chǔ))。
UART:測試串口能否正常的輸入輸出數(shù)據(jù),此串口非常重要,之后測試U-BOOT以及其他軟件的時(shí)候可以查看打印信息以確定程序的運(yùn)行狀態(tài)以及實(shí)現(xiàn)簡單的人機(jī)交互。
eMMC:eMMC是存儲(chǔ)u-boot和應(yīng)用程序以及相關(guān)數(shù)據(jù)的地方。確保eMMC能正確的讀寫。
IO口:調(diào)試過程中最直接,最基本的體現(xiàn)是在IO,通過控制IO的高低電平或者占空比來達(dá)到驅(qū)動(dòng)LED或者電機(jī)的目的。也是通過IO高低電平的輸入來進(jìn)行示教的過程。
6 總結(jié)
在工業(yè)4.0和物聯(lián)網(wǎng)的新興概念的沖擊下,此套系統(tǒng)雖然只是簡單的完成了示教機(jī)器人控制系統(tǒng)的功能,實(shí)現(xiàn)了最簡單的功能和原理。但是所采用的AM3358多達(dá)4組*31個(gè)GPIO,板載的256M DDR3和eMMC也提供更強(qiáng)更快的程序處理能力和數(shù)據(jù)存儲(chǔ)能力。此外,AM3358還具有2個(gè)千兆工業(yè)以太網(wǎng)接口、6個(gè)串口、2個(gè)I2C接口以及一個(gè)SPI接口,在今后的開發(fā)中可拓展性極強(qiáng)。
參考文獻(xiàn)
[1]克來格.機(jī)器人學(xué)導(dǎo)論(原書第3版)[M].北京:機(jī)械工業(yè)出版社,2006:5-7.
[2]郭彤穎.機(jī)器人學(xué)及其智能控制[M].北京:人民郵電出版社,2014:101-108.
[3]顧海洲.PCB電磁兼容技術(shù)--設(shè)計(jì)實(shí)踐[M].北京:清華大學(xué)出版社,2004(29).
作者單位
成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院 四川省成都市 610059