, , ,,
(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
近年來現(xiàn)代電子技術(shù)發(fā)展迅速,電子設(shè)備的生產(chǎn)和制造正向著智能化、高速化、高精度等方向發(fā)展,電子組裝技術(shù)的快速發(fā)展是現(xiàn)代電子技術(shù)發(fā)展的重要體現(xiàn)[1-2]。表面貼裝技術(shù)(SMT)是目前電子組裝行業(yè)里最流行的一種技術(shù)和工藝,是一種涉及多項(xiàng)內(nèi)容,將電子元器件貼裝到PCB電路板上的綜合技術(shù)[3]。人們對貼片機(jī)控制系統(tǒng)的研究取得了一些成果,如文獻(xiàn)[4-5]設(shè)計(jì)了一種由工控機(jī)、運(yùn)動控制卡和步進(jìn)電機(jī)驅(qū)動器組成的貼片機(jī)控制方法;文獻(xiàn)[6]設(shè)計(jì)了一種由PLC和步進(jìn)電機(jī)驅(qū)動器組成的貼片機(jī)控制系統(tǒng);文獻(xiàn)[7]設(shè)計(jì)了一種基于DSP微處理器的運(yùn)動控制板和伺服驅(qū)動系統(tǒng)組成的貼片機(jī)控制系統(tǒng);文獻(xiàn)[8]設(shè)計(jì)了一種緊湊型貼片機(jī)異構(gòu)多核可編程自動化控制器(PAC)[9-10];文獻(xiàn)[11]中設(shè)計(jì)了一種基于STM32F10X系列微處理器的控制系統(tǒng),但是都沒有設(shè)計(jì)良好的閉環(huán)控制器。
在位置精度控制研究中,傳統(tǒng)的PID控制算法以其結(jié)構(gòu)簡單、易實(shí)現(xiàn)等優(yōu)點(diǎn)仍被廣泛應(yīng)用,但是常規(guī)的PID控制算法對多變量、強(qiáng)耦合的非線性系統(tǒng)難以達(dá)到理想的控制效果。為此,人們探索了一些智能算法應(yīng)用于貼片機(jī)控制系統(tǒng)中的位置精度控制,如模糊邏輯控制[12]、自適應(yīng)模糊PID控制[13]、BP神經(jīng)網(wǎng)絡(luò)控制[14]、RBF神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制[15]。相比傳統(tǒng)的PID控制,智能算法的應(yīng)用在一定程度上提高了位置控制精度,但是以上算法中沒有很好的考慮了系統(tǒng)內(nèi)外干擾對貼片精度的影響。
根據(jù)以上所述,本文設(shè)計(jì)了基于STM32微處理器的貼片機(jī)運(yùn)動控制系統(tǒng),并且在位置精度控制中,考慮了內(nèi)外擾動對系統(tǒng)的影響,設(shè)計(jì)了基于ADRC的閉環(huán)位置跟蹤控制器[16],其線性擴(kuò)張狀態(tài)觀測器(LESO)能夠?qū)崟r估計(jì)系統(tǒng)內(nèi)外擾動,并通過設(shè)計(jì)的誤差補(bǔ)償控制律進(jìn)行補(bǔ)償,實(shí)現(xiàn)較高精度的位置跟蹤控制。在實(shí)際貼片機(jī)控制系統(tǒng)測試中,系統(tǒng)運(yùn)行穩(wěn)定,抗干擾性較好,位置精度較高,滿足了貼片機(jī)控制系統(tǒng)的要求,表明了所設(shè)計(jì)的控制算法的有效性及控制系統(tǒng)具有一定的應(yīng)用價值。
貼片機(jī)控制系統(tǒng)主要包括:貼片機(jī)架構(gòu)、上位機(jī)軟件、運(yùn)動控制器。系統(tǒng)的整體框圖如圖1所示。上位機(jī)部分主要完成PCB板數(shù)據(jù)信息的存儲和解析,并通過串口通信下發(fā)到運(yùn)動控制器,數(shù)據(jù)信息包括元器件的種類、對應(yīng)位置的坐標(biāo)、對應(yīng)取料的料站編號、速度等;運(yùn)動控制器接收并解析來自上位機(jī)軟件的數(shù)據(jù)信息,根據(jù)相應(yīng)的控制命令控制執(zhí)行機(jī)構(gòu)運(yùn)行,同時,運(yùn)動控制器實(shí)時接收來自執(zhí)行機(jī)構(gòu)反饋的位置信息,通過閉環(huán)控制器進(jìn)行位置跟蹤精度控制;595外擴(kuò)I/O模塊用于控制料站送料氣壓開關(guān)的電磁閥;五個步進(jìn)電機(jī)驅(qū)動器分別驅(qū)動X,Y軸、機(jī)頭上下移動的Z軸、吸嘴旋轉(zhuǎn)電機(jī)1和2;正負(fù)壓氣泵分別完成料站送料和吸嘴取放料。
圖1 系統(tǒng)整體框架圖
貼片機(jī)控制器硬件結(jié)構(gòu)如圖2所示,其控制核心是STM32F103C8T6微處理器,主要模塊有:串口通信模塊、USB接口模塊、步進(jìn)電機(jī)驅(qū)動模塊、Flash存儲模塊、編碼器數(shù)據(jù)采集模塊等。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
為了實(shí)現(xiàn)運(yùn)動控制器與工控PC機(jī)之間的數(shù)據(jù)信息快速交互,工控PC機(jī)與運(yùn)動控制器之間采用串口通信模式。根據(jù)實(shí)際控制要求設(shè)定上下位機(jī)的通信協(xié)議,根據(jù)通信協(xié)議,工控PC機(jī)將PCB版圖中相關(guān)的元器件數(shù)量、位置坐標(biāo)等信息以及控制命令等通過串口通信模塊下發(fā)到下位機(jī),控制器收到相應(yīng)數(shù)據(jù)信息和控制命令后執(zhí)行操作。
USB接口模塊的設(shè)計(jì)主要是用于下位機(jī)運(yùn)動控制系統(tǒng)的程序更新。為了方便日常生產(chǎn)中因需求改變需遠(yuǎn)程對程序進(jìn)行升級,進(jìn)而設(shè)計(jì)了可通過USB接口離線程序更新升級功能,該功能極大方便了系統(tǒng)的升級。
在整個控制系統(tǒng)中總共有5個步進(jìn)電機(jī),控制機(jī)頭縱向和橫向運(yùn)行的X,Y軸,選用型號為DM756D的步進(jìn)電機(jī)驅(qū)動器,機(jī)頭上下移動的Z軸電機(jī)和吸嘴角度旋轉(zhuǎn)電機(jī)1和電機(jī)2均使用型號為HB420驅(qū)動器,旋轉(zhuǎn)電機(jī)是為滿足PCB板上元器件不同角度的貼放??刂茩C(jī)頭縱向和橫向運(yùn)行的X,Y軸電機(jī)是需要高精度控制,因此在這兩個步進(jìn)電機(jī)控制中添加了閉環(huán)控制器來提高位置精度,每個步進(jìn)電機(jī)都安裝編碼器實(shí)時反饋信息,當(dāng)出現(xiàn)失步的現(xiàn)象時,閉環(huán)控制器會自動進(jìn)行補(bǔ)償來出現(xiàn)的控制偏差。
該存儲模塊主要用于存儲上位機(jī)下發(fā)的各類PCB版圖中元器件信息,包括數(shù)量、位置坐標(biāo)、角度、產(chǎn)量等數(shù)據(jù)信息;用于存儲運(yùn)動控制過程中系統(tǒng)采集反饋等相關(guān)數(shù)據(jù)信息。
系統(tǒng)位置信息的實(shí)時反饋由編碼器完成,為了能提高貼片機(jī)的位置跟蹤精度,設(shè)置了閉環(huán)控制,根據(jù)編碼器反饋的實(shí)時位置信息與系統(tǒng)設(shè)定的參考軌跡信息作差可得到位置的誤差信息,進(jìn)而根據(jù)誤差信息作反饋控制,進(jìn)一步提高位置的跟蹤精度,從而提高貼片機(jī)的貼片精度。
正壓氣泵直接由220 V電源供電,電機(jī)驅(qū)動器的供電電壓為24 V,芯片供電電壓為3.3 V,為了能夠使得電源處的電壓穩(wěn)定、波紋小,我們采用220 V的電源輸入經(jīng)開關(guān)電源調(diào)節(jié)分別輸出所需24 V和5 V的電壓,芯片所需的電壓由 SPX117-3.3轉(zhuǎn)化得到3.3 V電壓。
該系統(tǒng)中總共有48個獨(dú)立料盤,通過一個總的正壓氣泵來分別驅(qū)動對應(yīng)的料盤,由電磁閥來控制氣壓開關(guān),當(dāng)吸嘴在對應(yīng)的料盤完成一次取料后,電磁閥完成一次開閉,相應(yīng)的料盤送料一次。由于48個料盤對應(yīng)48個電磁閥,因此需要有48個對應(yīng)的I/O口,故通過6片595芯片級聯(lián)的形式擴(kuò)展成48個I/O口,正好滿足系統(tǒng)需求。吸嘴在取放元器件過程中需要有正負(fù)壓的氣泵協(xié)同工作,因此,系統(tǒng)設(shè)計(jì)了一個正壓和一個負(fù)壓氣泵來完成取放料。
貼片機(jī)X,Y軸運(yùn)動控制的工作狀態(tài)是高加速、高速的點(diǎn)到點(diǎn)之間的運(yùn)行,并且要實(shí)現(xiàn)高精度的位置跟蹤。為了達(dá)到運(yùn)動控制系統(tǒng)平穩(wěn)、快速、精確位置跟蹤的要求,關(guān)鍵在于設(shè)計(jì)有效的控制算法實(shí)現(xiàn)誤差補(bǔ)償控制,特別是針對系統(tǒng)位置的內(nèi)外干擾,這些干擾隨著系統(tǒng)工作狀態(tài)的變化而變化,具有很強(qiáng)的非線性,例如系統(tǒng)因步進(jìn)電機(jī)快速啟停,容易出現(xiàn)抖動,這就會對貼裝的精度產(chǎn)生影響,因此需要通過控制器設(shè)計(jì)有效的算法進(jìn)行補(bǔ)償。
2.8.1 傳統(tǒng)的PID控制算法
PID控制算法一直以來是工業(yè)控制中應(yīng)用最為廣泛的算法,其最大的優(yōu)點(diǎn)就是不需要被控對象精確的數(shù)學(xué)模型來進(jìn)行復(fù)雜的理論計(jì)算,只要在線根據(jù)被控量與給定值之間的偏差以及偏差的變化率等簡單的參數(shù),將偏差的比例(P)、積分(I)、微分(D)通過線性組合構(gòu)成新的控制量,對被控對象進(jìn)行控制,PID的控制結(jié)構(gòu)圖如圖3所示。
圖3 PID控制結(jié)構(gòu)圖
其控制算法表示如下:
(1)
2.8.2 自抗擾控制算法
ADRC是一種集經(jīng)典控制理論和現(xiàn)代控制理論的算法,該算法由經(jīng)典的PID算法演變而來,采用了PID誤差反饋控制的核心思想,ADRC的核心是將系統(tǒng)未建模動態(tài)和未知外界干擾都?xì)w結(jié)為對系統(tǒng)的“總擾動”,通過擴(kuò)張狀態(tài)觀測器進(jìn)行估計(jì),并設(shè)計(jì)相應(yīng)的誤差補(bǔ)償控制律進(jìn)行補(bǔ)償。
設(shè)計(jì)基于線性自抗擾控制(LADRC)的單軸位置跟蹤控制器,包括設(shè)計(jì)線性跟蹤微分器(LTD),線性擴(kuò)張狀態(tài)觀測器(LESO)和線性反饋控制律,其控制結(jié)構(gòu)如圖4所示。
圖4 自抗擾控制結(jié)構(gòu)圖
設(shè)計(jì)線性跟蹤微分器,安排過渡過程給定信號xi0作為參考輸入,經(jīng)過跟蹤微分器獲得參考位置的近似微分信號xvi(k),同時還可以獲得參考位置的過渡值xpi(k),將設(shè)定的參考信號平滑化,防止產(chǎn)生超調(diào),其形式如下:
(2)
其中:ri為跟蹤微分器的快速因子,fhi(k)為xvi(k)的微分值。
設(shè)計(jì)線性擴(kuò)張狀態(tài)觀測器,對系統(tǒng)的狀態(tài)和總和干擾(系統(tǒng)的內(nèi)外干擾)進(jìn)行實(shí)時估計(jì)與補(bǔ)償,其形式如下:
(3)
(4)
其中epi(k),evi(k)分別為第i軸系統(tǒng)的給定信號過渡值xpi(k)與位置估計(jì)值zpi(k)的誤差,給定信號的微分值xvi(k)與速度估計(jì)值zvi(k)的誤差,ui0(k)為誤差反饋控制量,ui(k)為最終的控制量。
整個貼片機(jī)軟件系統(tǒng)主要由上位機(jī)軟件和下位機(jī)軟件組成,如圖5所示。
圖5 系統(tǒng)軟件結(jié)構(gòu)圖
上位機(jī)軟件是在Windows7操作系統(tǒng)下,基于Visual Studio環(huán)境開發(fā)的。由圖5可以看出,上位機(jī)軟件包括人機(jī)交互界面設(shè)計(jì)以及上位機(jī)與下位機(jī)協(xié)調(diào)程序設(shè)計(jì)等,其主要負(fù)責(zé)系統(tǒng)的總體管理,由多個操作界面組成,包括:開機(jī)主界面、文件管理界面、手動調(diào)試界面、自動運(yùn)行界面、生產(chǎn)監(jiān)測界面等,相應(yīng)的PCB板數(shù)據(jù)信息通過串口依次發(fā)送到下位機(jī)。
下位機(jī)系統(tǒng)軟件編譯環(huán)境采用ARM公司推出的針對各種嵌入式處理器的軟件開發(fā)工具RealView MDK,它提供了完善的設(shè)備調(diào)試和軟件仿真功能,包含了眾多的案例模板和固件實(shí)例,支持多種調(diào)試接口(如UART、JTAG 及JLINK等),可大大減小開發(fā)難度,縮短開發(fā)周期[12]。下位機(jī)系統(tǒng)軟件主要包括:貼片機(jī)運(yùn)動控制系統(tǒng)、生產(chǎn)運(yùn)行監(jiān)測系統(tǒng)、PCB數(shù)據(jù)管理系統(tǒng)、安全保護(hù)系統(tǒng)等,其主要功能是用來實(shí)現(xiàn)各個軸的運(yùn)動控制、各種參數(shù)及生產(chǎn)數(shù)據(jù)管理、安全監(jiān)測等。
在系統(tǒng)上電運(yùn)行過程中,上位機(jī)負(fù)責(zé)整個系統(tǒng)的協(xié)調(diào)工作,完成整個系統(tǒng)的管理;下位機(jī)運(yùn)動控制器則負(fù)責(zé)對系統(tǒng)運(yùn)動的控制和協(xié)調(diào)。通過上位機(jī)和下位機(jī)的協(xié)同控制來完成整個貼片機(jī)控制系統(tǒng)的總控制,系統(tǒng)的控制流程圖如圖6所示。
圖6 系統(tǒng)控制流程圖
根據(jù)上文貼片機(jī)整體框架和軟硬技術(shù),本文所設(shè)計(jì)的貼片機(jī)實(shí)物測試平臺如圖7所示。
圖7 貼片機(jī)系統(tǒng)實(shí)物圖
通過該平臺進(jìn)行了手動測試和全自動貼片測試,基本已經(jīng)能達(dá)到貼片要求,與此同時,根據(jù)貼片機(jī)高精度的要求,分別測試了以傳統(tǒng)PID控制算法設(shè)計(jì)的閉環(huán)位置跟蹤控制器和以LADRC設(shè)計(jì)的閉環(huán)位置跟蹤控制器。系統(tǒng)的位置跟蹤精度測試過程如下:上位機(jī)完成期望軌跡的規(guī)劃,并將該軌跡分解生成對應(yīng)軸的參考軌跡,將數(shù)據(jù)信息通過串口通信發(fā)送到下位機(jī)控制器,下位機(jī)控制器接收來自上位機(jī)的數(shù)據(jù)信息,生成相應(yīng)的控制命令發(fā)送給執(zhí)行機(jī)構(gòu),同時,運(yùn)動控制器實(shí)時接收來自步進(jìn)電機(jī)編碼器反饋的信息,計(jì)算相應(yīng)的位置偏差,并通過控制算法生成新的控制量。位置跟蹤控制采用正弦函數(shù)作為參考曲線,通過多次調(diào)試選取相應(yīng)參數(shù),LADRC控制器參數(shù)為kpx=kpy=0.5,kdx=kdy=0.5,bx0=by0=20,rx=ry=120,ωx=ωy=110,PID控制器參數(shù)為kp=64、ki=3.5、kd=7,其實(shí)際實(shí)驗(yàn)測試結(jié)果如下圖所示,圖8是基于LADRC單軸位置跟蹤控制效果圖(包括參考曲線、實(shí)際曲線和LESO估計(jì)的曲線),圖9是基于LADRC和PID控制的單軸位置跟蹤誤差對比效果圖,圖10是兩種控制方法誤差累積對比圖,從圖9和圖10可看出相比傳統(tǒng)的PID控制LADRC控制的效果更好。表1是兩種位置跟蹤控制算法的實(shí)驗(yàn)數(shù)據(jù),由表中數(shù)據(jù)可知相比傳統(tǒng)PID控制,LADRC控制的累積誤差減少了56.78%。通過上述實(shí)際實(shí)驗(yàn)測試結(jié)果可知本文設(shè)計(jì)基于自抗擾控制器的控制系統(tǒng)具有更好的位置跟蹤控制效果。
圖8 單軸位置跟蹤效果圖
圖9 誤差變化對比圖
圖10 誤差累積對比圖
表1 位置跟蹤實(shí)驗(yàn)數(shù)據(jù)
本文設(shè)計(jì)了基于STM32的貼片機(jī)控制系統(tǒng),控制系統(tǒng)結(jié)構(gòu)簡單,運(yùn)行穩(wěn)定,相比市面上復(fù)雜的貼片機(jī)控制系統(tǒng)有著更好的操作性和可靠性。針對貼片機(jī)系統(tǒng)高速、高精度的要求,本文解決了X,Y軸高精度的位置跟蹤控制,該系統(tǒng)在運(yùn)動控制器的設(shè)計(jì)中采用了具有干擾估計(jì)補(bǔ)償?shù)淖钥箶_控制器,較好的處理了因系統(tǒng)快速啟停引起抖動等未知內(nèi)外干擾的影響,通過與傳統(tǒng)PID控制比較,表明了所設(shè)計(jì)控制器具有較好的控制性能。