陳東強(qiáng),彭亞濤,金戈
(廈門理工學(xué)院 電氣工程與自動(dòng)化學(xué)院,福建 廈門 361024)
印刷電路板作為電子產(chǎn)品制造的基礎(chǔ)產(chǎn)業(yè),廣泛應(yīng)用于各種電子產(chǎn)品中。隨著PCB板的需求量增大,需要提高PCB板的生產(chǎn)效率。在PCB板生產(chǎn)過(guò)程中,需要人工對(duì)PCB板加工,這種操作雖然對(duì)生產(chǎn)設(shè)備要求簡(jiǎn)單,但缺點(diǎn)明顯,即勞動(dòng)強(qiáng)度大、工作效率低,且人工操作的出錯(cuò)率很高。隨著市場(chǎng)對(duì)于產(chǎn)品質(zhì)量的不斷提高,這種人工加工PCB板的方法越來(lái)越不適應(yīng)現(xiàn)代化大規(guī)模生產(chǎn)。因此,設(shè)計(jì)一種能夠替代人工加工的自動(dòng)PCB板打孔機(jī)勢(shì)在必行。
本文通過(guò)數(shù)字圖像處理技術(shù)采集PCB板圖像上的孔位坐標(biāo),由圖像的孔位坐標(biāo)計(jì)算實(shí)際孔位坐標(biāo),完成PCB板定位要求。在運(yùn)動(dòng)控制模塊設(shè)計(jì)方面,使用上位機(jī)將實(shí)際孔位坐標(biāo)轉(zhuǎn)換成一定規(guī)律的格式并傳輸給下位機(jī),通過(guò)STM32單片機(jī)控制步進(jìn)電機(jī)的運(yùn)動(dòng),控制其鉆頭移動(dòng),從而完成自動(dòng)PCB板打孔工作。
在自動(dòng)PCB打孔機(jī)工作時(shí),要先將預(yù)先采集的PCB圖像進(jìn)行處理后得到一系列需要打孔的位置信息,再通過(guò)串口通信將這一系列的位置信息發(fā)送給由三軸步進(jìn)電機(jī)以及STM32單片機(jī)所組成的下位機(jī),STM32單片機(jī)在得到位置信息后執(zhí)行指令,控制步進(jìn)電機(jī)移動(dòng)到指定位置,再啟動(dòng)鉆頭進(jìn)行打孔動(dòng)作,其原理圖如圖1所示。
圖1 基于STM32的印刷板打孔機(jī)工作原理
文章按照下述部分展開(kāi)論述:
⑴通過(guò)使用高精度的CCD攝像頭采集需要加工的PCB線路板的圖像,在獲取清晰度足夠的圖像后,對(duì)圖像采用圖像去噪、圖像二值化、興趣域提取等方法處理,獲取待加工的PCB線路板上需要打孔的位置信息。
⑵通過(guò)上位機(jī)對(duì)得到的位置信息進(jìn)行處理,將簡(jiǎn)單的X、Y坐標(biāo)形式的位置信息轉(zhuǎn)換為增量坐標(biāo),并且使用一定規(guī)律的通行格式,將移動(dòng)、停止、打孔等命令用簡(jiǎn)單的字母或者符號(hào)代替,發(fā)送給下位機(jī)。減少發(fā)送數(shù)據(jù)的長(zhǎng)度,使得收發(fā)數(shù)據(jù)的速度更加快捷,處理起來(lái)更加方便。
⑶對(duì)下位機(jī)進(jìn)行編程,以與上位機(jī)同樣的通行格式對(duì)收到的指令進(jìn)行解讀,并進(jìn)行該指令所包含的所有命令。通過(guò)控制步進(jìn)電機(jī)的運(yùn)動(dòng),控制鉆頭在印刷機(jī)X軸、Y軸上快速移動(dòng)到打孔位置,再控制Z軸,使鉆頭可以上下移動(dòng)進(jìn)行打孔操作。
通過(guò)使用高精度的CCD攝像頭對(duì)圖像進(jìn)行采集,可以得到清晰度高,光照均勻,像素精度高的圖像(圖2)。
圖2 正常PCB板圖像
正常的PCB板圖像傳輸?shù)缴衔粰C(jī)后,在圖像分析處理時(shí),有利于后期的圖像處理中漏孔的概率,以及減少圖像運(yùn)算的數(shù)據(jù)的大小。
在圖像處理方面采用MATLAB的圖像處理工具箱,利用其強(qiáng)大的功能與完善的支持庫(kù),實(shí)現(xiàn)了利用軟件對(duì)PCB過(guò)孔點(diǎn)自動(dòng)識(shí)別的功能。
2.2.1 圖像預(yù)處理
彩色圖像是由三個(gè)不同的分量組成,對(duì)彩色圖像處理時(shí),我們往往需要對(duì)三個(gè)通道依次處理,時(shí)間消耗會(huì)很大,為了減少系統(tǒng)處理圖像的時(shí)間,需要減少所需處理的數(shù)據(jù)量,因此,我們將圖像灰度化,將三通道的數(shù)據(jù)轉(zhuǎn)化為單通道的數(shù)據(jù)(圖3)。
圖3 灰度處理后的PCB圖像
MATLAB中使用的是加權(quán)平均值法對(duì)圖像進(jìn)行灰度處理,該函數(shù)的調(diào)用格式為:
2.2.2 使用OTSU(大津法)處理圖像
OTSU法用于對(duì)圖像進(jìn)行二值化處理[1]。其原理是利用閾值將圖像分割位2個(gè)部分,即前景與背景,并且通過(guò)閾值的取值使得前景與背景的類間方差最大,保證了圖像的分離性最大。
假設(shè)i為分離圖像前后景的閾值。將圖像分離后后可得到被分離的前、后景與整圖像的面積以及整幅圖像。先通過(guò)計(jì)算得到前景、后景的面積比θ1、θ2為:
式中G為圖像的灰度級(jí)。通過(guò)計(jì)算出面積比可以進(jìn)一步計(jì)算出整幅圖像、前景、后景的平均灰度為:
整幅圖像與前、后景的平均灰度值的關(guān)系為:
當(dāng)整幅圖像被根據(jù)閾值i分隔開(kāi)之后,前后景與整體圖像之間的平均灰度也相差較大,這種差異可以通過(guò)區(qū)域間的方差有效地描述出來(lái),其表達(dá)式為:
將其改寫為與閾值i相關(guān)的函數(shù),可寫成:
圖4 二值化后的圖像
通過(guò)圖像的二值化,使得圖像變得簡(jiǎn)單,而且數(shù)據(jù)量減小,能凸顯出PCB板所需打孔的輪廓(圖4)。
2.2.3 使用形態(tài)學(xué)運(yùn)算剔除孤立點(diǎn)
圖像上的孤立點(diǎn)可能在圖像采集、量化等過(guò)程中產(chǎn)生,也可能在傳輸過(guò)程中產(chǎn)生。噪聲的存在極大地干擾了圖像的信息。對(duì)于圖像的后繼處理和分析都有影響。因此,需要對(duì)二值化后的圖像進(jìn)行剔除孤立點(diǎn),避免其對(duì)圖像識(shí)別產(chǎn)生干擾,以及促進(jìn)其他處理環(huán)節(jié)性能的提升。
采用的MATLAB軟件中提供的形態(tài)學(xué)運(yùn)算消除圖像的孤立點(diǎn)有2種方式。第1種是腐蝕濾波,在去除圖像孤立點(diǎn)的同時(shí),同時(shí)會(huì)對(duì)圖像形狀產(chǎn)生影響;第2種是開(kāi)運(yùn)算,與前者相比,速度上多了一個(gè)膨脹運(yùn)算時(shí)間,但對(duì)圖像形狀影響不大。根據(jù)設(shè)計(jì)要求,需要對(duì)圖像形狀進(jìn)行識(shí)別,本文采用形態(tài)學(xué)運(yùn)算中的開(kāi)運(yùn)算去除圖像孤立點(diǎn)(圖5)。
圖5 形態(tài)學(xué)運(yùn)算流程圖[3]
⑴構(gòu)造結(jié)構(gòu)元素
首先需要通過(guò)使用strel指令構(gòu)造一個(gè)結(jié)構(gòu)元素,在本文中構(gòu)造的是一個(gè)由結(jié)構(gòu)原點(diǎn)到最遠(yuǎn)距離為7的菱形結(jié)構(gòu),對(duì)應(yīng)程序?yàn)椋篠E1=strel('diamond',7),所得到的結(jié)構(gòu)元素為(圖6):
圖6 構(gòu)造所得結(jié)構(gòu)元素
⑵膨脹運(yùn)算
從本質(zhì)上來(lái)說(shuō),形態(tài)學(xué)運(yùn)算為兩個(gè)函數(shù)之間的邏輯運(yùn)算。假設(shè)此時(shí)待運(yùn)算圖像的函數(shù)為f(x,y),結(jié)構(gòu)元素的函數(shù)為b(x,y),膨脹運(yùn)算的算法即f b。其運(yùn)算公式為:
使用膨脹進(jìn)行形態(tài)學(xué)運(yùn)算,會(huì)將結(jié)構(gòu)元素與圖像中的所有像素進(jìn)行對(duì)比,以填補(bǔ)圖像中的微小空洞,使有圖像部分的面積更大(圖7)。
圖7 膨脹運(yùn)算前后圖像對(duì)比
2.3.1 規(guī)定PCB板邊界
由于通過(guò)CCD攝像頭所采取到的圖像包含一部分拍照背景,在處理過(guò)程中,如果拍照背景也被規(guī)定在處理范圍內(nèi)會(huì)造成2點(diǎn)影響:一是圖像信息更多,運(yùn)算量更大;二是背景中可能存在干擾,會(huì)影響后期圖像篩選識(shí)別的過(guò)程。同時(shí),在采集圖像中因?yàn)橛泄庹盏挠绊懀瑔渭兺ㄟ^(guò)OTSU法采集到的圖像會(huì)出現(xiàn)部分內(nèi)容缺失的情況。所以在此時(shí),為了能夠準(zhǔn)確地找出所有需要處理的圖像信息,需要通過(guò)找出圖像的邊界,來(lái)規(guī)定后期處理中需要處理的圖像的全部范圍。
將其4個(gè)邊角的坐標(biāo)記錄下來(lái),如圖8所示,方便在進(jìn)一步對(duì)線路板上的打孔點(diǎn)定位時(shí)縮小查找范圍,提高運(yùn)算速度和精度。
圖8 對(duì)PCB線路板的邊角進(jìn)行標(biāo)記
為了實(shí)現(xiàn)通過(guò)圖像定位得到PCB線路板上的所有打孔點(diǎn)坐標(biāo),需要在圖像上建立一個(gè)由X、Y構(gòu)成的兩軸坐標(biāo)系?;谶@個(gè)兩軸坐標(biāo)系將所有的打孔點(diǎn)的定位坐標(biāo)以(x,y)的形式標(biāo)記出來(lái),如圖9。通過(guò)在PCB線路板上預(yù)設(shè)了四個(gè)孔徑為5.0mm的八角形孔作為建立X、Y坐標(biāo)的基準(zhǔn)點(diǎn)。
圖9 通過(guò)標(biāo)記點(diǎn)構(gòu)建坐標(biāo)系
2.3.2 打孔點(diǎn)定位及坐標(biāo)提取
為了提取到所有打孔點(diǎn)的坐標(biāo),需要對(duì)圖像進(jìn)行邊緣檢測(cè),以方便確定所有打孔點(diǎn)的位置以及形狀,便于與其他線路板上的元件以及標(biāo)識(shí)進(jìn)行區(qū)別,提高了篩選的精確度,確保能夠?qū)崿F(xiàn)盡量多的篩選出統(tǒng)一規(guī)格的打孔點(diǎn)。
2.3.2.1 使用Canny算子進(jìn)行邊緣檢測(cè)
Canny邊緣檢測(cè)算子主要應(yīng)用于多級(jí)的邊緣檢測(cè)。其算法的目的是找到一個(gè)邊緣檢測(cè)算法的最優(yōu)情況,具體體現(xiàn)在:⑴算法要求實(shí)現(xiàn)對(duì)圖像中的邊緣的標(biāo)識(shí)最大化;⑵算法要求識(shí)別出的圖像邊緣與原圖像中的圖像邊緣要盡可能接近;⑶對(duì)同一圖像的邊緣只標(biāo)識(shí)一次,避免重復(fù)響應(yīng)[5]。相對(duì)于其他在邊緣檢測(cè)中用到的微分算子來(lái)言,Canny算子的優(yōu)化程度是相當(dāng)高的,其應(yīng)用程度也十分廣泛。
首先先對(duì)圖像進(jìn)性平滑處理。Canny算子使用的濾波器為一維的高斯函數(shù)G(x),通過(guò)分別從行與列上對(duì)原始圖像f(x,y)進(jìn)行卷積運(yùn)算,以此平滑圖像,得到平滑后的圖像函數(shù)I(x,y)[6]。
其中τ為高斯函數(shù)的標(biāo)準(zhǔn)差,通過(guò)它來(lái)控制圖像平滑程度。
接著通過(guò)使用2×2 鄰域的一階偏導(dǎo)的有限差分計(jì)算平滑圖像I(x,y)的梯度的幅值以及方向。
即
其中M(x,y)梯度幅值,H(x,y)為梯度方向,kx和ky分別為I(x,y)被行濾波器fx和列濾波器fy作用后的結(jié)果[7]。
接著使用一個(gè)3×3的鄰域?qū)μ荻确礛(x,y)的點(diǎn)進(jìn)行運(yùn)算,如果該鄰域中心點(diǎn)的梯度幅值大于其他點(diǎn),則判斷當(dāng)前鄰域中心為邊緣點(diǎn),反之則為非邊緣點(diǎn)。
圖10 Canny算子進(jìn)行邊緣檢測(cè)(反色圖)
最后通過(guò)使用雙閾值法處理圖像,采用高、低兩個(gè)閾值對(duì)圖像進(jìn)行分割。其中高閾值分割得出的圖像T1(i,j)應(yīng)當(dāng)不含有假邊緣,但輪廓可能有間斷。通過(guò)雙閾值法,可以將T1(i,j)的邊緣連接起來(lái),形成輪廓。同時(shí),該算法還可以在低閾值分割出的圖像T2(i,j)的8鄰域位置上尋找可以連接圖像T1(i,j)輪廓的邊緣。通遞歸跟蹤的算法,不斷完善圖像T1(i,j)的輪廓,最終得到期望的結(jié)果[8](圖10)。
2.3.2.2 遍歷圖像得到打孔點(diǎn)坐標(biāo)
在得到PCB線路板的輪廓圖之后,使用閾值分割的方法,通過(guò)對(duì)閾值進(jìn)行設(shè)定,可以篩選出圖像上高亮的部分,即電路部分。接著對(duì)圖像進(jìn)行直方圖均衡化去除噪聲,優(yōu)化圖像的質(zhì)量。得到圖像后,將PCB線路板部分設(shè)置成為感興趣域(ROI)[9],定義一個(gè)打孔點(diǎn)的模型,通過(guò)設(shè)定其的形狀以及大小,在感興趣域中將模型與圖像中的連通域進(jìn)行比對(duì),篩選出所有符合標(biāo)準(zhǔn)的區(qū)域,并提取出所有符合標(biāo)準(zhǔn)的對(duì)象的圓心坐標(biāo)。該坐標(biāo)即為PCB線路板像素上打孔點(diǎn)的圓心坐標(biāo)[10]。
2.3.2.3 像素坐標(biāo)轉(zhuǎn)換實(shí)際坐標(biāo)
根據(jù)標(biāo)定PCB線路板上四個(gè)邊角處的標(biāo)記孔,得到左上角以及右下角的標(biāo)記孔中心坐標(biāo) (x1,y1),(x2,y2),這兩個(gè)標(biāo)記孔在實(shí)際PCB線路板上的坐標(biāo)為(x3,y3),(x4,y4),可以得到像素坐標(biāo)轉(zhuǎn)換到實(shí)際坐標(biāo)的轉(zhuǎn)換系數(shù) k1,k2。
假設(shè)此時(shí)得到打孔點(diǎn)的像素坐標(biāo)為(xa,ya),可以得到實(shí)際坐標(biāo)為(xb,yb)。
圖像處理結(jié)果如圖11。
最后,通過(guò)調(diào)用保存所有點(diǎn)位置信息的數(shù)組,在指定目錄下創(chuàng)建一個(gè)“.txt”格式的文本文檔,將所有的位置信息以規(guī)定的格式寫入該文本文檔中。
圖11 圖像處理結(jié)果
在本文中,需要構(gòu)造一個(gè)上位機(jī)操作軟件,通過(guò)在上位機(jī)對(duì)操作軟件進(jìn)行操作主要實(shí)現(xiàn)以下幾點(diǎn)功能:一是實(shí)現(xiàn)上位機(jī)與下位機(jī)的串口通信功能;二是實(shí)現(xiàn)通過(guò)上位機(jī)手動(dòng)發(fā)送命令控制下位機(jī)動(dòng)作;三是將處理得到的坐標(biāo)點(diǎn)信息進(jìn)行編碼,生成一系列指令,依次發(fā)送給下位機(jī),控制下位機(jī)根據(jù)指令完整地執(zhí)行一系列的運(yùn)動(dòng),使鉆頭可以依次移動(dòng)到圖像處理后所得到的所有打孔點(diǎn)并進(jìn)行打孔動(dòng)作,其原理如下(圖12)∶
圖12 上位機(jī)設(shè)計(jì)思路
在實(shí)現(xiàn)鉆頭移動(dòng)的功能上選擇使用絲桿步進(jìn)電機(jī)搭配滑臺(tái)實(shí)現(xiàn)該功能,絲桿步進(jìn)電機(jī)主要是由步進(jìn)電機(jī)、絲桿與滾珠滑臺(tái)三個(gè)部分組成的。
絲桿步進(jìn)電機(jī)將電機(jī)與帶有螺紋的絲桿相咬合,通過(guò)驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行旋轉(zhuǎn),可以帶動(dòng)整根絲桿跟著進(jìn)行同步旋轉(zhuǎn),而滑臺(tái)內(nèi)部則刻有與絲桿搭配使用的內(nèi)螺紋,當(dāng)絲桿進(jìn)行旋轉(zhuǎn)時(shí),滑臺(tái)就會(huì)根據(jù)絲桿旋轉(zhuǎn)的方向進(jìn)行前后移動(dòng)。通過(guò)這種方式,絲桿步進(jìn)電機(jī)可以將旋轉(zhuǎn)式的轉(zhuǎn)動(dòng)改為滑臺(tái)的前后運(yùn)動(dòng)。
同時(shí)這種運(yùn)動(dòng)方式可以通過(guò)控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度對(duì)滑臺(tái)位移進(jìn)行較為精確地控制,可以控制滑臺(tái)可移動(dòng)的最小位移。
其中 x為滑臺(tái)位移,θ為步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度大小,l為絲桿每轉(zhuǎn)動(dòng)一圈滑臺(tái)前進(jìn)的距離。
根據(jù)需求,下位機(jī)需要完成的主要任務(wù)有:
① 可靠地接收到上位機(jī)的程序;
② 可以根據(jù)上位機(jī)發(fā)送的命令指令執(zhí)行相應(yīng)的命令;
③ 可以根據(jù)上位機(jī)發(fā)送的位移指令控制步進(jìn)電機(jī)運(yùn)動(dòng)到相應(yīng)位置。
2.6.1 初始化單片機(jī)
在編寫單片機(jī)的程序時(shí),首先需要做的事就是初始化單片機(jī)。在此,需要對(duì)STM32單片機(jī)進(jìn)行初始化的操作[11]。首先需要定義單片機(jī)的串口,規(guī)定串口的相應(yīng)參數(shù)例如波特率,同時(shí)因?yàn)楫?dāng)有信息通過(guò)串口通信時(shí)需要單片機(jī)立即做出反應(yīng),所以需要對(duì)串口通信進(jìn)行開(kāi)中斷設(shè)置。同時(shí)還需要定義硬件需要使用到的I/O口,為了方便程序?qū)/O口的操作,將I/O口的地址賦值給變量,通過(guò)對(duì)該變量進(jìn)行操作來(lái)改變相應(yīng)I/O口的狀態(tài)。
通過(guò)對(duì)串口定義后,可以通過(guò)定義一個(gè)數(shù)組來(lái)接收上位機(jī)發(fā)送過(guò)來(lái)的信息,將其按位存儲(chǔ)到數(shù)組的相應(yīng)位置中。
2.6.2 執(zhí)行命令指令
為了能夠區(qū)分命令指令和位移指令,避免兩者混淆,使用了判斷語(yǔ)句。
其流程圖(圖13)∶
圖13 執(zhí)行命令指令流程圖
為了防止上位機(jī)連續(xù)不斷的發(fā)送信息導(dǎo)致信息傳遞出現(xiàn)錯(cuò)誤的情況的發(fā)生,上位機(jī)一次只發(fā)送一行指令,如果有多行命令指令需要發(fā)送,需要下位機(jī)先執(zhí)行完當(dāng)前的指令,發(fā)送特殊的指令告訴上位機(jī)自己已經(jīng)執(zhí)行完當(dāng)前命令,此時(shí)上位機(jī)才會(huì)繼續(xù)向下位機(jī)發(fā)送下一條指令。
2.6.3 執(zhí)行位移指令
在執(zhí)行位移指令前,也需通過(guò)判斷的方式判斷出是否為位移指令。若當(dāng)前指令為位移指令,就需要根據(jù)位移指令的格式來(lái)對(duì)當(dāng)前指令進(jìn)行解讀。對(duì)上位機(jī)已經(jīng)生成的位置信息的格式進(jìn)行了解釋,其格式為“X/Y+增量位移+命令符”。下位機(jī)通過(guò)對(duì)數(shù)組第一位進(jìn)行判斷可以得出該位移指令是對(duì)應(yīng)哪一個(gè)坐標(biāo)軸,接著對(duì)4位位移信息進(jìn)行讀取,通過(guò)公式:
可以計(jì)算出此時(shí)應(yīng)該移動(dòng)的距離。
通過(guò)對(duì)PCB加工的整個(gè)操作流程進(jìn)行拆解,將其分成圖像定位與電機(jī)控制2個(gè)部分。
在圖像定位部分,選擇了使用高精度CCD攝像頭,為后續(xù)研究的進(jìn)行打下了良好的基礎(chǔ)。接著在處理圖像時(shí)選擇了MATLAB的圖像處理工具箱,利用其強(qiáng)大的功能與完善的支持庫(kù),實(shí)現(xiàn)了利用軟件對(duì)PCB過(guò)孔點(diǎn)自動(dòng)識(shí)別的功能。
在運(yùn)動(dòng)控制部分,本研究使用了STM32F103ZET6單片機(jī)作為控制器,通過(guò)判斷上位機(jī)發(fā)送的指令,結(jié)合延時(shí)語(yǔ)句,驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行平面定位,接著通過(guò)驅(qū)動(dòng)Z軸步進(jìn)電機(jī)進(jìn)行往返運(yùn)動(dòng),完成打孔動(dòng)作。同時(shí)在信息收發(fā)的過(guò)程中,加入了校驗(yàn)功能,避免了信息的誤傳和錯(cuò)傳。
具體完成的工作有以下幾點(diǎn):
⑴擁有相當(dāng)快捷的速度
CCD攝像頭反應(yīng)時(shí)間在400 ms左右,圖形一找到即可控制圖形位置沖孔。
⑵擁有相當(dāng)高的精確度
能夠在識(shí)別范圍內(nèi),攝像頭輸入PCB板圖像,通過(guò)上位機(jī)分析,控制運(yùn)動(dòng);下位機(jī)中采用的步進(jìn)電機(jī)精度為0.04 mm,最小步長(zhǎng)為0.02 mm。
⑶有一定的可靠性
通過(guò)一萬(wàn)次實(shí)驗(yàn),135孔位的PCB板圖像區(qū)分的準(zhǔn)確率為97%,位置精確度維持在0.07 mm。
本文研究中仍有一部分還有待改進(jìn)。其中有以下幾處:
⑴在通過(guò)MATLAB進(jìn)行圖像分析時(shí),設(shè)置的小孔模型較單一,只有一種模型,這樣在識(shí)別過(guò)程中無(wú)法自動(dòng)識(shí)別特殊形孔例如長(zhǎng)方形、橢圓形孔。如果需要識(shí)別多個(gè)尺寸的孔徑需要對(duì)程序進(jìn)行多次修改,十分不方便。如果能夠提前采樣多種形孔,進(jìn)行圖像分析,能改善目前的缺陷。
⑵在下位機(jī)使用步進(jìn)電機(jī),精度沒(méi)能達(dá)到要求,且在Z軸過(guò)孔時(shí)沒(méi)有能夠再次進(jìn)行校準(zhǔn),打孔的精度不高。如果能夠采用高精度的直線電機(jī),并采用角度傳感器或者光柵傳感器進(jìn)行反饋,可以提升控制精度。