張曉亮, 姜濤, 張桂林
(長春理工大學(xué) 機(jī)電工程學(xué)院,長春 130022)
伴隨自動化技術(shù)的產(chǎn)生,設(shè)備和檢測技術(shù)得到了飛速的發(fā)展并且已經(jīng)成為推動現(xiàn)代化生產(chǎn)和管理的主要環(huán)節(jié),想要實(shí)現(xiàn)高水平的自動化,必須具有高精度、高性能、高質(zhì)量的儀器來檢測各種相關(guān)信息,同時還需要有智能式、嵌入式和網(wǎng)絡(luò)式的檢測技術(shù)。
虛擬圖形化編程軟件LabVIEW致力于解決工業(yè)生產(chǎn)中的檢測與控制難題。LabVIEW可按照應(yīng)用需求定制檢測系統(tǒng)。手工測試速度慢,價格昂貴且容易出錯,而基于軟件設(shè)計的系統(tǒng)能夠迅速地執(zhí)行,并且軟件編程時無需考慮如內(nèi)存分配、語法等問題,通過專注數(shù)據(jù)分析與數(shù)據(jù)執(zhí)行加快程序運(yùn)行速度。本文在LabVIEW環(huán)境下設(shè)計了直流電機(jī)轉(zhuǎn)向調(diào)速系統(tǒng),實(shí)現(xiàn)對轉(zhuǎn)速的采集與控制。系統(tǒng)有較好的人機(jī)交互界面,可以實(shí)現(xiàn)對轉(zhuǎn)速的實(shí)時檢測與控制。
系統(tǒng)是用脈沖計數(shù)方式來實(shí)現(xiàn)對轉(zhuǎn)速的測量。該方式主要有測周法和測頻法,這里選擇測周法。由于轉(zhuǎn)速是單位時間內(nèi)的轉(zhuǎn)動次數(shù),根據(jù)霍爾感應(yīng)原理,在電機(jī)轉(zhuǎn)軸上的轉(zhuǎn)盤邊緣放置一塊永久磁鋼,磁鋼將隨測軸同步旋轉(zhuǎn)而產(chǎn)生感生磁場。在此磁場的影響下,霍爾轉(zhuǎn)速傳感器會產(chǎn)生脈沖輸出信號,其頻率與轉(zhuǎn)速成正比。脈沖信號周期與電機(jī)轉(zhuǎn)速之間的關(guān)系為
式中:n為電機(jī)轉(zhuǎn)速;P為電機(jī)每轉(zhuǎn)脈沖數(shù);T為輸出脈沖信號周期。
系統(tǒng)使用NI的PCI-6221(37-Pin)數(shù)據(jù)采集卡的計數(shù)器對脈沖周期進(jìn)行測量。PCI-6221(37-Pin)的參數(shù)有16路16位模擬輸入,采樣率250kS/s;2路16位模擬輸出通道,更新速率83kS/s;10條數(shù)字I/O線,2路32位80MHz計數(shù)器;關(guān)聯(lián) DIO(2 條時鐘線,1MHz);包含 NIDAQmx驅(qū)動軟件。選擇計數(shù)器CTR0對脈沖周期測量。計數(shù)器是由4部分組成:計數(shù)寄存器(Count register)、信號源端(Source)、信號門控端(Gate)、信號輸出端(Output)。其中計數(shù)寄存器(Count register)用于存儲當(dāng)前的計數(shù)值,它的存儲范圍跟計數(shù)器的分辨率有關(guān);Source端用于接入被計數(shù)的信號;Gate端用于接入開始計數(shù)的門控信號;Output端用于輸出單個脈沖或脈沖序列。脈沖周期測量是使用頻率已知的時基信號對未知信號進(jìn)行測量,在物理連接上,Source端接入較高頻的時基信號,而Gate端接入較低頻的待測信號。圖1為脈沖周期測量原理圖。
使用離散PID控制算法控制電機(jī)轉(zhuǎn)速,離散PID控制算法分成3種,第一種為位置算法,直接輸出u(k);第二種為增量算法,輸出 Δu(k)=u(k)-u(k-1);第三種為速度算法,輸出 v(k)=Δu(k)/Δt,式中 Δt為采樣周期。系統(tǒng)控制程序采用位置算法輸出。
圖1 脈沖周期測量原理圖
如果算法不改變,ΔuI(k)全部由e(k)確定,當(dāng)測量值發(fā)生跳變,ΔuI(k)會產(chǎn)生較大變化。修改后,可使ΔuI(k)受噪聲的影響較小,改變的PI算法如下改變?yōu)椋撍惴ǚQ為梯形積分。
對于具有微分環(huán)節(jié)的控制器,如果瞬間改變設(shè)定值偏差e(k)會發(fā)生階躍變化,從而使輸出u(k)產(chǎn)生大范圍突變,給控制過程帶來不利效果。改進(jìn)辦法是只對輸出量u(k)進(jìn)行微分,而對設(shè)定值不做微分,改進(jìn)的微分算法如下,KD[e(k)-e(k-1)]改進(jìn)為-KD[pv(k)-pv(k-1)],稱為微分先行。這樣,改進(jìn)后的位置算法[4]為
式?中:k 為采樣序號,k=0,1,2,3……;u(k)為第 k 次采樣時刻的計算機(jī)輸出值;e(k)為第k次采樣時刻輸入的偏差值;Kc為PID比例放大系數(shù);Ti為PID積分時間參數(shù);Td為PID微分時間參數(shù);pv(k)為第k次采樣時刻控制器的回饋值。
圖2為位置式PID控制系統(tǒng)框圖,對e(k)進(jìn)行PID運(yùn)算輸出控制電壓,其中輸入量為電機(jī)設(shè)定轉(zhuǎn)速與測量轉(zhuǎn)速的差值,輸出量為驅(qū)動電機(jī)電壓。
圖2 位置式PID控制系統(tǒng)框圖
圖3為直流電機(jī)場效應(yīng)管驅(qū)動電路。其中數(shù)據(jù)采集卡模擬輸出AO0口輸出電壓經(jīng)三極管驅(qū)動后導(dǎo)通場效應(yīng)管Q4與Q6,直流電機(jī)實(shí)現(xiàn)正轉(zhuǎn);模擬輸出AO1口輸出電壓經(jīng)三極管驅(qū)動后導(dǎo)通場效應(yīng)管Q3與Q7,直流電機(jī)實(shí)現(xiàn)反轉(zhuǎn)[5]。該電路能控制額定電壓12V、最大電流不超過5A的直流電機(jī),其它規(guī)格的電機(jī)可對電機(jī)驅(qū)動控制部分電壓、場效應(yīng)管型號進(jìn)行調(diào)整。
圖3 直流電機(jī)場效應(yīng)管驅(qū)動電路
圖4 為系統(tǒng)結(jié)構(gòu)框圖。轉(zhuǎn)速傳感器測量電機(jī)轉(zhuǎn)速,利用數(shù)據(jù)采集卡的計數(shù)器CTR0將采集信息反饋到計算機(jī),計算機(jī)中的LabVIEW軟件對其進(jìn)行計算處理,利用數(shù)據(jù)采集卡模擬輸出AO0與AO1口產(chǎn)生模擬電壓經(jīng)過驅(qū)動電路驅(qū)動較大功率電機(jī)。
圖4 系統(tǒng)結(jié)構(gòu)框圖
使用LabVIEW實(shí)現(xiàn)系統(tǒng)軟件設(shè)計。系統(tǒng)軟件程序由2部分組成:前面板、程序框圖。在前面板上可以進(jìn)行PID以及參數(shù)設(shè)置,波形圖表能實(shí)時監(jiān)控顯示設(shè)定轉(zhuǎn)速與測量轉(zhuǎn)速的具體值與變化趨勢。轉(zhuǎn)速傳感器測量電機(jī)轉(zhuǎn)速,將轉(zhuǎn)速模擬量轉(zhuǎn)化為數(shù)字脈沖,通過PCI-6221(37-Pin)的計數(shù)器將脈沖信號的周期傳遞到計算機(jī)中,通過編寫公式(1)程序即可得到電機(jī)轉(zhuǎn)速。圖5為直流電機(jī)控制系統(tǒng)前面板。圖中波形圖曲線中顯示設(shè)定轉(zhuǎn)速(由轉(zhuǎn)速旋鈕設(shè)定)和檢測到的電機(jī)實(shí)時轉(zhuǎn)速。
圖5 直流電機(jī)控制系統(tǒng)前面板
軟件程序框圖由以下3部分構(gòu)成:數(shù)據(jù)采集部分、PID控制部分和模擬信號輸出部分。數(shù)據(jù)采集部分采用PCI-6221(37-Pin)的計數(shù)器來實(shí)現(xiàn),在NIDAQmx驅(qū)動軟件的DAQmx函數(shù)中主要需要配置DAQmx創(chuàng)建虛擬通道函數(shù)、定時函數(shù)與讀取函數(shù)。配置創(chuàng)建虛擬通道函數(shù)時,在測量方法節(jié)點(diǎn)上選擇帶1個計數(shù)器的低頻,根據(jù)待測周期的大致范圍,可設(shè)定最大值與最小值,這樣驅(qū)動底層會按照這個范圍選取適合的時基信號進(jìn)行準(zhǔn)確測量,在計數(shù)器節(jié)點(diǎn)上選擇CTR0,在開始邊沿節(jié)點(diǎn)上選擇上升沿,表示在信號的上升沿開始計數(shù),選擇PFI0引腳為周期輸入接線端;配置定時函數(shù)時,選擇隱式(計數(shù)器),在采樣模式節(jié)點(diǎn)選擇連續(xù)采樣;配置讀取函數(shù)時,選擇計數(shù)器DBL1采樣,在超時節(jié)點(diǎn)上配置延遲時間常數(shù)。
圖7 直流電機(jī)控制系統(tǒng)框圖程序
PID控制部分使用LabVIEW PID控制工具包(PID Toolkit)中的 PID(SubVI).vi[6],圖 6 為 PID(SubVI).vi算法程序。該算法程序主要由積分算法程序與微分算法程序構(gòu)成。積分算法程序首先計算積分算法累加部分;然后計算積分算法與比例算法的和;最后是積分算法、比例算法與微分算法的和。最后的和作為整個算法的輸出。微分算法程序計算的是程序?qū)y量轉(zhuǎn)速數(shù)據(jù)輸入到系統(tǒng)回饋值(process variable)節(jié)點(diǎn),將設(shè)定轉(zhuǎn)速數(shù)據(jù)輸入到實(shí)際期望值(setpoint)節(jié)點(diǎn),在PID增益節(jié)點(diǎn)(PID gains)通過調(diào)整比例放大系數(shù)(Kc)、積分時間參數(shù)(Ti)和微分時間參數(shù)(Td)實(shí)現(xiàn)穩(wěn)定控制,在輸出范圍節(jié)點(diǎn)控制輸出值的范圍。
圖 6 PID(SubVI).vi算法程序
模擬信號輸出部分使用DAQ Assistant,通過配置DAQ Assistant選擇模擬輸出通道AO0與AO1輸出0~5V模擬電壓信號。程序中使用了while循環(huán)確保數(shù)據(jù)的連續(xù)采集與處理,以及等待下一個整數(shù)倍毫秒函數(shù)用于控制循環(huán)執(zhí)行速率。圖7為直流電機(jī)控制系統(tǒng)框圖程序。
本文主要介紹了在圖形化編程軟件LabVIEW下進(jìn)行數(shù)據(jù)采集與處理方法。選擇相應(yīng)傳感器采集待測信號連接到數(shù)據(jù)采集卡的模擬/數(shù)字輸入通道或計數(shù)器通道,使用NI-DAQmx函數(shù)或者DAQ Assistant將待測信號送入LabVIEW軟件中通過編程進(jìn)行運(yùn)算處理,之后通過數(shù)據(jù)采集卡的模擬/數(shù)字輸出通道或計數(shù)器輸出通道輸出控制信號?;谏鲜鱿到y(tǒng)構(gòu)建方法,設(shè)計了基于LabVIEW的直流電機(jī)轉(zhuǎn)向調(diào)速系統(tǒng),設(shè)計結(jié)果表明系統(tǒng)實(shí)現(xiàn)了對轉(zhuǎn)速的監(jiān)控顯示,具有一定的應(yīng)用價值。
[1] 周路平.虛擬儀器實(shí)現(xiàn)直流馬達(dá)轉(zhuǎn)速檢測的研究與開發(fā)[D].上海:上海交通大學(xué),2007.
[2] 田漢波,趙英俊.一種基于線性霍爾傳感器的直流電機(jī)轉(zhuǎn)速測量方法[J].機(jī)械與電子,2007(1):31-33.
[3] Travis J,Kring J.LabVIEW for Everyone:Graphical Programming Made Easy and Fun,Third Edition[M].New Jersey:Prentice Hall,2006.
[4] 陶永華.新型PID控制及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2000.
[5] 楊欣,張廷強(qiáng),張鎧麟,等.實(shí)例解讀51單片機(jī)完全學(xué)習(xí)與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[6] 金志強(qiáng),包啟亮.一種基于LabVIEW的PID控制器設(shè)計的方法[J].微計算機(jī)信息,2005,21(6):1-2,71.