摘 要: 步進(jìn)電機(jī)的遠(yuǎn)程多點(diǎn)位置控制系統(tǒng),利用TCP協(xié)議將服務(wù)器端控制中心和客戶端控制器接入因特網(wǎng),可實(shí)現(xiàn)控制數(shù)據(jù)和位置監(jiān)控?cái)?shù)據(jù)的遠(yuǎn)程同步傳輸。系統(tǒng)采用NI公司的CompactRIO作為核心控制器;通過(guò)LabVIEW編寫改進(jìn)專家PID控制算法,可根據(jù)設(shè)定位置與實(shí)時(shí)位置的偏差動(dòng)態(tài)設(shè)定輸出控制器參數(shù),有效防止過(guò)沖現(xiàn)象,實(shí)現(xiàn)步進(jìn)電機(jī)的精確位置控制。步進(jìn)電機(jī)的驅(qū)動(dòng)控制電路由單片機(jī)和LM298構(gòu)成,結(jié)合多級(jí)細(xì)分控制方法可有效抑制步進(jìn)電機(jī)的震動(dòng)和失步。
關(guān)鍵詞: 遠(yuǎn)程位置控制; CompactRIO; 改進(jìn)專家PID算法; TCP協(xié)議
中圖分類號(hào): TN820.3?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)13?0142?05
Remote position control system of multipoint stepper motor
LIU Yun?hong, LI Shi?yu
(Dalian University of Technology, Dalian 116024, China)
Abstract: By using transmission control protocol (TCP) to connect the sever control centre and client controller to Internet, the remote multipoint position control system of the stepper motor could realize the remote synchronous transmission of control data and position monitoring data. CompactRIO of National Instrument Company is taken as the core controller of the system. By writing the modified expert PID control algorithm in LabVIEW, the parameters of the output controller can be dynamically set according to the deviation between setting position and real?time position, the overshoot phenomenon can be prevented efficiently, and the precise position control of stepper motor can be realized. The drive control circuit of the stepper motor is consist of singlechip and LM298, which can effectively restrain the vibration and out?of?step of the stepper motor in combination with with multilevel subdivided control method.
Keywords: remote position control; CompactRIO; modified expert PID control algorithm; TCP
0 引 言
精確位置控制是精密儀器制造業(yè)、航天業(yè)以及軍事領(lǐng)域中不可缺少的重要環(huán)節(jié)[1],這些領(lǐng)域中常常會(huì)遇到控制現(xiàn)場(chǎng)不便接近或存在危險(xiǎn)性的問(wèn)題,因此遠(yuǎn)程位置控制就具有非常重要的研究意義。已經(jīng)廣泛覆蓋的因特網(wǎng)為實(shí)現(xiàn)遠(yuǎn)程控制提供了可能,并且具有通信速率高、可靠性高和成本低等諸多優(yōu)勢(shì)。本設(shè)計(jì)中的遠(yuǎn)程位置控制系統(tǒng)將因特網(wǎng)作為通信介質(zhì),同時(shí)應(yīng)用TCP(Transmission Control Protocol)協(xié)議保證數(shù)據(jù)準(zhǔn)確傳輸,能實(shí)現(xiàn)控制中心同時(shí)對(duì)多臺(tái)步進(jìn)電機(jī)的遠(yuǎn)程位置控制。
步進(jìn)電機(jī)的開(kāi)環(huán)位置控制雖然易于實(shí)現(xiàn),但隨著工業(yè)應(yīng)用的不斷深入和相關(guān)技術(shù)的發(fā)展,開(kāi)環(huán)控制尚不能滿足精密位置控制系統(tǒng)不斷提高的精度要求,因此需要使用更為精確的閉環(huán)控制。還考慮到步進(jìn)電機(jī)的擾動(dòng)扭矩以及機(jī)械系統(tǒng)的阻尼、剛度慣量等因素,傳統(tǒng)的PID控制方法無(wú)法提供最佳的PID參數(shù)[2],因此本文將專家經(jīng)驗(yàn)與數(shù)字PID控制方法相結(jié)合設(shè)計(jì)出改進(jìn)專家PID算法,并應(yīng)用到位置控制系統(tǒng)中,有效抑制了步進(jìn)電機(jī)定位過(guò)程中的過(guò)沖現(xiàn)象,大大提高了系統(tǒng)的控制精度,很好的解決了以上問(wèn)題。
系統(tǒng)的核心控制器CompactRIO是NI公司生產(chǎn)的一款堅(jiān)固耐用、可重新配置的嵌入式測(cè)控系統(tǒng),包括實(shí)時(shí)控制器、可重配置的FPGA(現(xiàn)場(chǎng)可編程門陣列)和工業(yè)級(jí)I/O模塊。內(nèi)嵌FPGA的可重配置機(jī)箱是CompactRIO的核心,機(jī)箱中的FPGA直接和每個(gè)I/O模塊相連,控制器可高速訪問(wèn)I/O電路與步進(jìn)電機(jī)的驅(qū)動(dòng)電路,無(wú)論在數(shù)據(jù)運(yùn)算還是數(shù)據(jù)通信都十分快速,保證了系統(tǒng)的實(shí)時(shí)性。
本文將介紹系統(tǒng)的硬件結(jié)構(gòu),重點(diǎn)研究改進(jìn)專家PID算法在精確位置控制中的實(shí)現(xiàn)方法,并分析了TCP協(xié)議在系統(tǒng)遠(yuǎn)程控制中的應(yīng)用。
1 系統(tǒng)硬件結(jié)構(gòu)
1.1 系統(tǒng)整體硬件結(jié)構(gòu)
系統(tǒng)硬件的核心是cRIO?9014嵌入式實(shí)時(shí)控制器,該控制器帶有10/100 BaseT以太網(wǎng)端口,可通過(guò)PC接入因特網(wǎng)。配合cRIO?9014選用了8槽cRIO?9112可重新配置的嵌入式機(jī)箱,支持所有CompactRIO I/O模塊,使用Xilinx Virtex?5系列FPGA 核心,具有超強(qiáng)的處理能力。選用了8通道、5 V/TTL高速雙向數(shù)字I/O模塊NI?9401為步進(jìn)電機(jī)驅(qū)動(dòng)模塊提供控制時(shí)序信號(hào),由于NI?9401具有100 ns超高速數(shù)字輸入/輸出功能,基本消除了系統(tǒng)響應(yīng)延遲。還選用了16位模擬輸入模塊NI?9215來(lái)實(shí)時(shí)采樣步進(jìn)電機(jī)的位置電壓信號(hào),NI?9215具有四通道100 KS/s的同步采樣速率,可以滿足對(duì)多點(diǎn)控制的要求。I/O模塊的選擇充分考慮了遠(yuǎn)程定位系統(tǒng)控制信號(hào)的頻率以及采樣信號(hào)的分辨率和采樣率的要求。控制器結(jié)構(gòu)如圖1所示。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\29t1.tif>
圖1 核心控制器結(jié)構(gòu)圖
系統(tǒng)硬件除了核心控制器CompactRIO外還包括上位機(jī)、由單片機(jī)和電機(jī)驅(qū)動(dòng)芯片LM298構(gòu)成步進(jìn)電機(jī)驅(qū)動(dòng)電路、步進(jìn)電機(jī)位置信號(hào)采集電路和多臺(tái)步進(jìn)電機(jī)。系統(tǒng)整體結(jié)構(gòu)如圖2所示。
<\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\29t2.tif>
圖2 系統(tǒng)整體硬件結(jié)構(gòu)圖
安裝了LabVIEW應(yīng)用程序的PC作為系統(tǒng)的控制中心,與在控制現(xiàn)場(chǎng)載入了LabVIEW應(yīng)用程序的CompactRIO控制器進(jìn)行遠(yuǎn)程通信。通過(guò)接入網(wǎng)絡(luò),控制中心將各臺(tái)步進(jìn)電機(jī)的目標(biāo)位置信息發(fā)送到控制現(xiàn)場(chǎng)的控制器,同時(shí)控制器將采集到的各臺(tái)步進(jìn)電機(jī)的實(shí)時(shí)位置反饋到控制中心。
CompactRIO將從控制中心接收到包含各臺(tái)電機(jī)控制信息的數(shù)據(jù)報(bào)譯碼,得到十進(jìn)制的位置角度值和控制器初始參數(shù)值,然后將各電機(jī)目標(biāo)位置角度值與電機(jī)的實(shí)時(shí)位置角度值送入改進(jìn)專家PID控制器進(jìn)行比較分析。根據(jù)分析結(jié)果,數(shù)字量I/O模塊NI?9401向電機(jī)的驅(qū)動(dòng)控制模塊中的單片機(jī)的I/O口發(fā)送控制信號(hào),實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的位置控制。
1.2 步進(jìn)電機(jī)驅(qū)動(dòng)控制電路結(jié)構(gòu)
步進(jìn)電機(jī)的驅(qū)動(dòng)控制電路主要包括Atmel公司的ATmega8單片機(jī)和SGS公司的雙全橋式電機(jī)驅(qū)動(dòng)芯片LM298,LM298作為驅(qū)動(dòng)電機(jī)的電力輸出器件,單片機(jī)作為驅(qū)動(dòng)控制器,電路結(jié)構(gòu)如圖3所示。LM298內(nèi)含兩個(gè)H橋的高電壓大電流雙向橋式驅(qū)動(dòng)器,接受標(biāo)準(zhǔn)TTL電平信號(hào),可驅(qū)動(dòng)電壓46 V、每相2.5 A及以下的步進(jìn)電機(jī)[3]。由于采用雙極性驅(qū)動(dòng),因此電機(jī)線圈完全利用,使驅(qū)動(dòng)步進(jìn)電機(jī)的效果最佳。NI?9401的DIO0、DIO1、DIO2、DIO3四路數(shù)字?jǐn)?shù)字輸出口分別接單片機(jī)的PC0~PC3口,向單片機(jī)發(fā)送時(shí)序信號(hào)控制指令。單片機(jī)的PD4~PD7口分別接到LM298的四路輸入,LM298的四路輸出則接到步進(jìn)電機(jī)的A、B、C、D的四個(gè)控制端。為避免控制信號(hào)受到干擾,單片機(jī)I/O輸出腳與LM298輸入腳之間采用光耦TIL117進(jìn)行信號(hào)隔離。
被控電機(jī)選擇兩相混合式42BYGH型步進(jìn)電機(jī),采用四相八拍制的多級(jí)細(xì)分通電方式,即對(duì)步進(jìn)電機(jī)定子的A、B、C、D四相以A?AB?B?BC? C?CD?D?DA或A?AD?D?DC?C?CB?B?BA的順序單相與兩相間隔通電,步進(jìn)電機(jī)步距角為[θb=0.9°。]多級(jí)細(xì)分控制,通過(guò)把原有最小步距角再進(jìn)行細(xì)分,可以把步進(jìn)電機(jī)的步距角進(jìn)一步減小(減小到幾個(gè)角分)[4]。本設(shè)計(jì)利用單片機(jī)軟件編程實(shí)現(xiàn)細(xì)分控制,可簡(jiǎn)化硬件電路。原理是將原有的八個(gè)通電狀態(tài)中每組相鄰狀態(tài)的變化過(guò)程(單相通電到兩相通電或兩相通電到單相通電)分為四個(gè)階梯狀的階段。以從A相通電到AB兩相通電的過(guò)程為例,此過(guò)程中,A相保持通電狀態(tài),B相則處于通電與斷電的交替過(guò)程中,但通電時(shí)間呈階梯狀上升,從1/4時(shí)間通電到1/2時(shí)間通電,再到3/4時(shí)間通電,最后到達(dá)B相完全通電即AB兩相同時(shí)通電狀態(tài)。AB兩相通電到B相單相通電過(guò)程中A相的斷電過(guò)程同樣呈階梯狀,只是趨勢(shì)相反。步進(jìn)電機(jī)的相繞組中電流也成四層階梯狀變化,因此運(yùn)行的每一步變?yōu)樵瓉?lái)的[14],即[θb]=0.225°。這樣步進(jìn)電機(jī)運(yùn)行更近似勻速運(yùn)動(dòng),震動(dòng)變小了,發(fā)生失步的概率也降低了。
1.3 位置信號(hào)采集電路結(jié)構(gòu)
采用總阻值為10 kΩ的精密多圈旋轉(zhuǎn)電位器(共10圈,每圈1 kΩ)替代絕對(duì)值式旋轉(zhuǎn)編碼器采集步進(jìn)電機(jī)的位置信號(hào),此設(shè)計(jì)可簡(jiǎn)化硬件、降低成本。電位器兩固定端接10 V直流穩(wěn)壓電源的+10 V端和COM端,滑動(dòng)端接NI?9215模擬量輸入模塊AI+端,穩(wěn)壓電源的COM端接NI?9215模塊的AI-端和COM 端。
步進(jìn)電機(jī)的起始位置為0°,對(duì)應(yīng)0.000 V電壓;終點(diǎn)位置為3 600°,對(duì)應(yīng)10.000 V電壓;步距角為0.9°,對(duì)應(yīng)0.025 V電壓。每個(gè)NI?9215模塊可以同時(shí)采集四個(gè)節(jié)點(diǎn)步進(jìn)電機(jī)的實(shí)時(shí)位置電壓信號(hào),為多路閉環(huán)位置控制提供了精確的實(shí)時(shí)位置反饋信號(hào)。
2 精確位置控制的算法設(shè)計(jì)
專家控制的實(shí)質(zhì)是基于受控對(duì)象和控制規(guī)律的各種知識(shí),以智能的方式利用這些知識(shí)來(lái)設(shè)計(jì)控制器。利用專家經(jīng)驗(yàn)來(lái)設(shè)計(jì)PID參數(shù)便構(gòu)成專家PID控制[5]。為使不同的被控步進(jìn)電機(jī)在起始位置與設(shè)定位置不同情況下都能快速精確到達(dá)設(shè)定位置,就需要智能的調(diào)節(jié)控制器參數(shù)。將整個(gè)位置控制過(guò)程分為幾個(gè)階段,需要控制器參數(shù)能夠適應(yīng)不同階段而進(jìn)行自行調(diào)節(jié),已達(dá)到最佳定位效果。本設(shè)計(jì)根據(jù)大量實(shí)驗(yàn)數(shù)據(jù)與前人經(jīng)驗(yàn)相結(jié)合,設(shè)計(jì)了適應(yīng)快速精確位置控制系統(tǒng)的改進(jìn)專家PID控制器,并通過(guò)LabVIEW編程實(shí)現(xiàn)。
令[e(k)]表示設(shè)定的步進(jìn)電機(jī)位置角度值[p0]與步進(jìn)電機(jī)實(shí)時(shí)位置角度采樣值[p(k)]之差,即當(dāng)前位置角度差值;令[Δe(k)]表示當(dāng)前位置角度差值與前次位置角度差值之差,反應(yīng)位置角度差值的變化趨勢(shì)。即有:
[e(k)=p0-p(k)] (1)
[Δe(k)=e(k)-e(k-1)] (2)
根據(jù)分析[e(k)]與[Δe(k)]將定位過(guò)程分成了4個(gè)階段,因此根據(jù)這四種情況來(lái)設(shè)計(jì)專家PID的控制器:
(1)當(dāng)[e(k)>M1]時(shí),說(shuō)明當(dāng)前位置與設(shè)定位置相差很大,無(wú)論位置差變化趨勢(shì)如何,都應(yīng)考慮控制器的輸出按最大(后最小),以迅速調(diào)整位置差,使位置差絕對(duì)值以最大速度減小。此時(shí),只采用比例控制,且為提高響應(yīng)速度比例系數(shù)應(yīng)取大些,而積分系數(shù)與微分系數(shù)則為0,相當(dāng)于實(shí)施開(kāi)環(huán)控制。控制器輸出可為:
[p(k)=p(k-1)+λp1?Kp[e(k)-e(k-1)]] (3)
(2)當(dāng)[M2 [p(k)=p(k-1)+Kp[e(k)-e(k-1)]+λi2*Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]] (4) (3)當(dāng)[ε 若[e(k)?Δe(k)>0],說(shuō)明位置差在向絕對(duì)值增大的方向變化,為抑制超調(diào),應(yīng)加強(qiáng)微分控制,選較大的微分系數(shù)。輸出控制器為: [p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+λd1*Kd[e(k)-2e(k-1)+e(k-2)]] (5) 若[e(k)?Δe(k)0,]說(shuō)明位置差的絕對(duì)值朝較小方向變化,或已經(jīng)達(dá)到平衡位置,應(yīng)減小微分系數(shù)。輸出控制器為: [p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+λd2*Kd[e(k)-2e(k-1)+e(k-2)]] (6) (4)當(dāng)[e(k)ε]時(shí),當(dāng)前位置已經(jīng)很接近設(shè)定位置了。為較小穩(wěn)態(tài)誤差,此時(shí)采用PI控制,選擇較大的積分系數(shù)并使微分系數(shù)為0。輸出控制器為: [p(k)=p(k-1)+λp2*Kp[e(k)-e(k-1)]+λi1*Kie(k)] (7) 以上式中[λp1,][λi1,][λd1]為增益系數(shù),大于1;而[λp2,][λi2,][λd2]為抑制系數(shù),大于0小于1。[M1,][M2]及[ε]的值是根據(jù)位置控制系統(tǒng)實(shí)際情況而定的,本設(shè)計(jì)中它們的取值分別為18°,9°和3.6°。 某次位置控制過(guò)程中的改進(jìn)專家PID控制器的參數(shù)變化如表1所示,其中設(shè)定的初始參數(shù)[Kp,][Ki,][Kd]分別為60,0.01,0.01。 表1 某位置控制過(guò)程中控制器參數(shù)設(shè)置 [\[e(k)>18]\[9 此次位置控制過(guò)程的起始位置為240.00°、設(shè)定位置為100.00°,過(guò)程采樣圖如圖4所示。可見(jiàn),在距設(shè)定位置較遠(yuǎn)時(shí)步進(jìn)電機(jī)快速運(yùn)行;而到接近設(shè)定位置時(shí),由于比例調(diào)節(jié)減弱了,位置曲線變緩,在微分調(diào)節(jié)和積分調(diào)節(jié)的共同作用,有效抑制了超調(diào)現(xiàn)象的發(fā)生,而且穩(wěn)態(tài)誤差也非常的小,僅為0.10°,遠(yuǎn)小于最小步距角。 <\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\29t4.tif> 圖4 某次位置控制過(guò)程采樣圖 3 TCP協(xié)議在系統(tǒng)中的應(yīng)用 系統(tǒng)遠(yuǎn)程通信部分是基于LabVIEW實(shí)現(xiàn)的。LabVIEW不僅在程序界面設(shè)計(jì)時(shí)采用了與其他高級(jí)語(yǔ)言類似的圖形化方式[6],更重要的是,它針對(duì)不同的應(yīng)用和不同的層次,提供了可以通過(guò)圖形化編程實(shí)現(xiàn)的共享變量、DataSocket、TCP和UDP等多種網(wǎng)絡(luò)通信方式。其中以TCP與UDP兩種網(wǎng)絡(luò)協(xié)議最基本、最流行。TCP是最常用的網(wǎng)絡(luò)協(xié)議,它也是很多互聯(lián)網(wǎng)協(xié)議(如HTTP 和FTP)的基礎(chǔ)[7],在提供良好工作性能的基礎(chǔ)上,具有編號(hào)系統(tǒng)、流量控制、差錯(cuò)控制、擁塞控制等機(jī)制[8]。可靠性(不丟失數(shù)據(jù))是TCP最重要的特性,能保證數(shù)據(jù)能夠最終到達(dá)設(shè)定的接收端,或者發(fā)送端能夠接收到失敗信息。在LabVIEW提供的所有通信標(biāo)準(zhǔn)中,TCP提供了最高的吞吐量和最好的可靠性,在傳輸大量數(shù)據(jù)的時(shí)候尤其能夠體現(xiàn)其高效的特性。而另一種常見(jiàn)的網(wǎng)絡(luò)協(xié)議是UDP和TCP不同,UDP可能會(huì)丟失數(shù)據(jù)。這意味著當(dāng)發(fā)送數(shù)據(jù)時(shí),不能保證數(shù)據(jù)能夠準(zhǔn)確到達(dá)目的地。如果網(wǎng)絡(luò)過(guò)于擁擠或者接收方未成功響應(yīng),一些數(shù)據(jù)將會(huì)丟失[9]。 為保證遠(yuǎn)程位置控制系統(tǒng)在數(shù)據(jù)傳輸過(guò)程中的可靠性與高效性,選擇TCP協(xié)議實(shí)現(xiàn)服務(wù)器端的控制中心和客戶端的控制器之間的數(shù)據(jù)通信。本設(shè)計(jì)中主要應(yīng)用到的幾個(gè)VI函數(shù)的功能如表2所示。 表2 TCP編程VI函數(shù)功能列表 [VI函數(shù)名稱\功能\TCP偵聽(tīng)\在指定端口創(chuàng)建一個(gè)監(jiān)聽(tīng)端,并等待客戶端的連接\打開(kāi)TCP連接\打開(kāi)指定的TCP連接\讀取TCP數(shù)據(jù)\從指定的TCP連接讀取數(shù)據(jù)\寫入TCP數(shù)據(jù)\向指定的TCP連接寫入數(shù)據(jù)\關(guān)閉TCP連接\關(guān)閉指定的TCP連接\] 所有TCP連接都由兩對(duì)IP地址和TCP端口惟一識(shí)別,每個(gè)主機(jī)都有一個(gè)地址/端口對(duì)[10]。因此為系統(tǒng)的服務(wù)器端和客戶端分別分配了獨(dú)立的IP地址,分別為202.118.73.26與202.118.73.25。將服務(wù)器端PC的2055端口專門用于定位系統(tǒng)的數(shù)據(jù)通信。在控制中心PC和CompactRIO可以交換數(shù)據(jù)之前,服務(wù)器端先對(duì)2055端口進(jìn)行監(jiān)聽(tīng),客戶端向服務(wù)器端的2055端口發(fā)送請(qǐng)求,服務(wù)器端接收到請(qǐng)求后便建立連接,然后就可以進(jìn)行通信了。 服務(wù)器端和客戶端的TCP通信程序都分為發(fā)送和接收兩部分。服務(wù)器端的發(fā)送部分采用雙層While循環(huán)結(jié)構(gòu),內(nèi)部循環(huán)監(jiān)視設(shè)定位置的變化,當(dāng)“輸入設(shè)定位置”欄中的位置值發(fā)生變化且單擊“發(fā)送鍵”時(shí),內(nèi)部循環(huán)將停止并把含有數(shù)據(jù)發(fā)至外部循環(huán)和“寫入TCP數(shù)據(jù)”函數(shù)。然后清除“輸入設(shè)定位置”欄,內(nèi)部循環(huán)將重新監(jiān)視設(shè)定位置的變化。服務(wù)器端的接收部分采用單While循環(huán),“讀取TCP數(shù)據(jù)”函數(shù)一直接收來(lái)自客戶端的數(shù)據(jù),可實(shí)時(shí)更新采樣位置數(shù)據(jù),并在實(shí)時(shí)位置采樣圖中顯示。客戶端的通信程序與服務(wù)器端的結(jié)構(gòu)相似,這里不再詳細(xì)介紹。服務(wù)器端和客戶端的LabVIEW程序如圖5所示。 系統(tǒng)運(yùn)行時(shí),服務(wù)器端的TCP偵聽(tīng)函數(shù)進(jìn)行60 s的監(jiān)聽(tīng),等待有客戶端發(fā)送通信請(qǐng)求,如果超過(guò)60 s沒(méi)有請(qǐng)求,本次監(jiān)聽(tīng)結(jié)束。若收到接聽(tīng)請(qǐng)求,與客戶端建立連接,開(kāi)始進(jìn)行包含控制信息和電機(jī)實(shí)時(shí)位置信息的數(shù)據(jù)報(bào)雙向傳輸。數(shù)據(jù)報(bào)為字符串格式的格式,包括電機(jī)號(hào)、位置信息、PID參數(shù)設(shè)定值和終止字符(“回車鍵”)。數(shù)據(jù)報(bào)的解析過(guò)程中,首先檢測(cè) “回車鍵”,以判斷一條數(shù)據(jù)報(bào)是否接收完成;其次查詢各臺(tái)電機(jī)對(duì)應(yīng)位置角度信息,將字符串格式的位置信息轉(zhuǎn)化為十進(jìn)制浮點(diǎn)型數(shù)據(jù)并記錄;最后查詢對(duì)應(yīng)各臺(tái)電機(jī)的PID控制器的初始參數(shù),將字符串格式的參數(shù)轉(zhuǎn)化為十進(jìn)制浮點(diǎn)型數(shù)據(jù)并輸入到控制器中。系統(tǒng)服務(wù)器端監(jiān)控界面如圖6所示。發(fā)出的控制信息“一號(hào)30Kp60Ki0.01Kd00.01二號(hào)60Kp60Ki0.01Kd00.01”,在客戶端被解析為一號(hào)電機(jī)設(shè)定位置為30°,二號(hào)電機(jī)設(shè)定位置為60°,兩電機(jī)控制器初始參數(shù)都為60,0.01,0.01。同時(shí),在服務(wù)器端的實(shí)時(shí)位置采樣圖中可以同步顯示出客戶端被控電機(jī)的位置變化。 <\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\29t5.tif> 圖5 服務(wù)器端和客戶端的通信程序 4 結(jié) 語(yǔ) 本設(shè)計(jì)對(duì)兩臺(tái)步進(jìn)電機(jī)實(shí)現(xiàn)了無(wú)距離限制的遠(yuǎn)程位置控制,經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證定位結(jié)果精確而且過(guò)程快速,成功解決了傳統(tǒng)位置控制系統(tǒng)因過(guò)沖現(xiàn)象導(dǎo)致系統(tǒng)不穩(wěn)定和效率低的問(wèn)題。此系統(tǒng)的可擴(kuò)展性很強(qiáng),只需增加CompactRIO控制器中數(shù)字I/O模塊與模擬量輸入模塊就可實(shí)現(xiàn)更多點(diǎn)電機(jī)的定位控制;而且只要服務(wù)器端可兼容多網(wǎng)卡,便可擴(kuò)展到不同IP的客戶端,實(shí)現(xiàn)分布式控制。 <\\192.168.0.25\$d\8月\8-2\補(bǔ)\補(bǔ)!現(xiàn)代電子技術(shù)201313\Image\29t6.tif> 圖6 系統(tǒng)通信部分監(jiān)控界面 參考文獻(xiàn) [1] 張莉松,胡祐德,徐立新.伺服系統(tǒng)原理與設(shè)計(jì)[M].北京:北京理工大學(xué)出版社,2006. [2] 孟英紅,齊婉玉.用297,298組成的步進(jìn)電機(jī)驅(qū)動(dòng)電路[J].儀器儀表學(xué)報(bào),2003,24(4):253?254. [3] 高文化,蘇宏志.模糊自適應(yīng)PID在數(shù)控進(jìn)給伺服系統(tǒng)的應(yīng)用[J].制造業(yè)自動(dòng)化,2009,31(7): 35?36. [4] 史步海,張選正.特種電動(dòng)機(jī)調(diào)速控制技術(shù)及應(yīng)用[M].廣州:華南理工大學(xué)出版社,2010. [5] 劉金琨.先進(jìn)PID控制Matlab仿真[M].2版.北京:電子工業(yè)出版社,2004. [6] 阮奇楨.我和LabVIEW[M].北京:北京航空航天大學(xué)出版社,2009. [7] 張東,施奇峰,王云波.基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)及應(yīng)用[J].冶金自動(dòng)化,2011,35(2):38?39. [8] 陳笑秋,徐小華.基于DataSocket技術(shù)的網(wǎng)絡(luò)化測(cè)控系統(tǒng)[J].儀器儀表用戶,2008,15(2):63?65. [9] 陳錫輝,張銀鴻. LabVIEW 8.20程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007. [10] 謝喆.基于FPGA的TCP/IP數(shù)據(jù)通信的設(shè)計(jì)與應(yīng)用[D].武漢:武漢科技大學(xué),2011.