摘要:本文給出了基于LabVIEW 控制步進(jìn)電機(jī)的方法, 講述了控制系統(tǒng)的構(gòu)成, 通過(guò)和其它控制步進(jìn)電機(jī)方法的對(duì)比, 可以看出并口通訊的優(yōu)勢(shì)。系統(tǒng)具有良好的軟件交互界面, 編程簡(jiǎn)單, 運(yùn)行高效, 有實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞:LabVIEW;步進(jìn)電機(jī);并口通訊
1 前言
在步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)中, 傳統(tǒng)的設(shè)計(jì)方法是用邏輯電路或單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)控制, 但由于線路復(fù)雜而且制成后不易調(diào)整, 所以存在一定的局限性。后來(lái)采用虛擬儀器圖形化編程軟件壓來(lái)控制步進(jìn)電機(jī), 硬件結(jié)構(gòu)上變得十分簡(jiǎn)潔, 軟件上編程簡(jiǎn)單, 而且有較好的人機(jī)交互界面, 根據(jù)不同的要求可隨時(shí)調(diào)整控制方式。
與現(xiàn)在國(guó)內(nèi)普遍采用的控制電機(jī)方式一用通過(guò)運(yùn)動(dòng)采集卡來(lái)控制步進(jìn)電機(jī)相比, 本文采用的計(jì)算機(jī)并口作為連接機(jī)和步進(jìn)電機(jī)驅(qū)動(dòng)器的通訊媒介來(lái)傳輸脈沖信號(hào)的方式, 不僅價(jià)格低廉, 而且更加容易推廣。
2.系統(tǒng)控制的研究方案
2.1系統(tǒng)總體的電氣控制結(jié)構(gòu)圖
步進(jìn)電機(jī)是整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)的動(dòng)力機(jī)構(gòu), 驅(qū)動(dòng)控制系統(tǒng)包括兩大部分, 一個(gè)是步進(jìn)電機(jī)驅(qū)動(dòng)部分,即硬件的驅(qū)動(dòng)部分, 還有一個(gè)是機(jī)的軟件驅(qū)動(dòng)部分, 即用發(fā)的軟件系統(tǒng)。
這兩大部分用計(jì)算機(jī)并口線打印線接。并口通訊在整個(gè)系統(tǒng)中完成軟件和硬件的銜接的工作, 主要用作數(shù)據(jù)傳輸、控制以及數(shù)據(jù)采集等。控制系統(tǒng)結(jié)構(gòu)圖如圖所示

整個(gè)的硬件控制系統(tǒng)是由幾個(gè)單一功能的模塊相互聯(lián)系而組成的。將系統(tǒng)模塊化, 便得到各個(gè)模塊在整個(gè)系統(tǒng)中所執(zhí)行的功能。其中電腦中安裝了應(yīng)用軟件, 起控制電機(jī)的作用, 將通過(guò)算法得出的相應(yīng)坐標(biāo)量轉(zhuǎn)換成電機(jī)轉(zhuǎn)動(dòng)量步進(jìn)電機(jī)驅(qū)動(dòng)器起將并口傳輸過(guò)來(lái)的脈沖信號(hào)進(jìn)行轉(zhuǎn)換、放大, 然后輸送到步進(jìn)電機(jī), 來(lái)最終達(dá)到控制步進(jìn)電機(jī)的作用。
2.2技術(shù)方案
本設(shè)計(jì)使用的步進(jìn)電機(jī)驅(qū)動(dòng)器的驅(qū)動(dòng)電路是經(jīng)典的集成塊組合電路, 雙極性驅(qū)動(dòng)二相永磁步進(jìn)電機(jī)及二相四相合式步進(jìn)電機(jī)。主控制器采用機(jī)控制, 軟件采用編寫(xiě)開(kāi)發(fā)。信號(hào)通訊媒介采用并口來(lái)實(shí)現(xiàn)。十步進(jìn)電機(jī)驅(qū)動(dòng)器技術(shù)參數(shù)為供電電源推動(dòng)電壓為一, 前置輸人為輸出電流為峰值相動(dòng)方式為恒相電流勵(lì)磁方式為整步、半步細(xì)分。
3.簡(jiǎn)介并口模塊程序設(shè)計(jì)
現(xiàn)簡(jiǎn)介美國(guó)出的虛擬儀器開(kāi)發(fā)平臺(tái), 它用圖標(biāo)代替文本代碼創(chuàng)建應(yīng)用程序, 擁有流程圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn), 執(zhí)行順序是依方塊圖間數(shù)據(jù)的流向來(lái)決定的, 而不像一般通用的編程語(yǔ)言逐行地執(zhí)行在編寫(xiě)方塊圖程序時(shí), 只需從功能模塊中選用不同的函數(shù)圖標(biāo), 然后
再以線條相互連接, 即可實(shí)現(xiàn)數(shù)據(jù)的傳輸。與一般的程序相比, 供了三個(gè)浮動(dòng)的圖形化工具模板, 分別是工具模板、控制模板和功能模板。這三個(gè)模板功能強(qiáng)大, 使用方便, 表示直觀, 是用戶編程的主要工具。
3.2并行接口簡(jiǎn)介
在整個(gè)系統(tǒng)中, 并口編程模塊的設(shè)計(jì)是連接電氣控制部分和機(jī)械系統(tǒng)的關(guān)鍵環(huán)節(jié)。并行接口有三大類(lèi), 一是標(biāo)準(zhǔn)并行接口, 二是增強(qiáng)型并行接口, 三是擴(kuò)展型并行端口。機(jī)幾一般都配有至個(gè)并行口, 其通過(guò)針插座與其它設(shè)備相連。該接口內(nèi)有個(gè)輸出鎖存輸入緩沖器。它們占用了個(gè)端口。第個(gè)地址是,為數(shù)據(jù)口。第個(gè)地址是, 為狀態(tài)輸入口。第個(gè)地址是, 為控制信號(hào)輸出口, 通常為了使程序具有通用性, 可以從注冊(cè)表中取得這個(gè)地址, 對(duì)于而言, 這個(gè)值被存儲(chǔ)在〕。然后就可以通過(guò)對(duì)這三個(gè)端口進(jìn)行控制達(dá)到簡(jiǎn)單的并口編程目的。整個(gè)并日有根可用信號(hào)線, 其它一號(hào)引線為接地線。
3.3并口線的設(shè)計(jì)連接方式與改裝
對(duì)于步進(jìn)電動(dòng)機(jī)控制系統(tǒng)的運(yùn)動(dòng), 只要能向驅(qū)動(dòng)器發(fā)出兩路信號(hào)就可滿足要求一路為控制脈沖方波信號(hào)另一路為正反轉(zhuǎn)控制方向電平信號(hào)。但步進(jìn)電機(jī)驅(qū)動(dòng)箱的接口不是按照并口的標(biāo)準(zhǔn)來(lái)設(shè)計(jì)和連接, 而電腦的并口管腳配置卻是按照并口的標(biāo)準(zhǔn)來(lái)分配的。因此為了跟步進(jìn)電機(jī)驅(qū)動(dòng)器的線路進(jìn)行匹配, 必須對(duì)并口線里面的接線進(jìn)行重新設(shè)計(jì), 讓機(jī)發(fā)出的信號(hào)能夠穩(wěn)定、高效地傳輸?shù)讲竭M(jìn)電機(jī)驅(qū)動(dòng)器上去。
并口線一共有根線, 控制步進(jìn)電機(jī)只需利用其中的根線。其中分脈沖信號(hào)控制線三根, 方向信號(hào)控制線三根, 行程開(kāi)關(guān)信號(hào)接收線三根, 以及一根地線。剩下的巧根線一律不接或者一端懸空, 主要的原因是不讓它產(chǎn)生干擾, 從而影響其它的數(shù)據(jù)線的正常數(shù)據(jù)發(fā)送和接收。可以不改動(dòng)電腦并口接線, 只需改接電機(jī)驅(qū)動(dòng)箱的接口線。
通過(guò)對(duì)程序和并口管腳的定義及特點(diǎn)的分析,確定步進(jìn)電機(jī)驅(qū)動(dòng)箱并口的第2、3、4、5、6、15、17、18、19分別對(duì)應(yīng)接機(jī)并口的第10、11、4、5、6、12、7、8、9管腳, 另外步進(jìn)電機(jī)驅(qū)動(dòng)箱并口的第管腳接機(jī)的第的任意一個(gè)管腳。其中, 步進(jìn)電機(jī)驅(qū)動(dòng)箱并口的第4、5、6和第7、8、9分別對(duì)應(yīng)的是電機(jī)X、Y、Z的脈沖信號(hào)控制線和正反轉(zhuǎn)控制線, 第2、3、15巧對(duì)應(yīng)的是行程開(kāi)關(guān)控制線, 另外第14管腳接的是系統(tǒng)地線。
3.4并口的編程方法和數(shù)據(jù)傳輸
在機(jī)上LabVIEW作為前臺(tái)的界面及數(shù)據(jù)處理工具的應(yīng)用大大簡(jiǎn)化了上位機(jī)的軟件開(kāi)發(fā), 并且方便了各種不同數(shù)據(jù)處理程序的調(diào)用和具有較好的人機(jī)交互界面。在中的子中LabVIEW, 并沒(méi)有對(duì)并口進(jìn)行反向傳輸?shù)墓δ? 只能進(jìn)行傳統(tǒng)的正向傳輸, 所以不能直接進(jìn)行調(diào)用。但是中有對(duì)寄存器直接讀寫(xiě)的個(gè)子,和??芍苯舆M(jìn)行寄存器的讀寫(xiě)操作, 從而改變并口端口的數(shù)值, 從而輸出相應(yīng)信號(hào)LabVIEW這樣就大大地保證了脈沖信號(hào)的精確發(fā)出和行程開(kāi)關(guān)信號(hào)的有效接收。圖為并口編程方法和數(shù)據(jù)傳輸方法

計(jì)算機(jī)程序是通過(guò)改變并口寄存器的值來(lái)控制輸出并口線的數(shù)值, 寄存器一共有位32, 每一位對(duì)應(yīng)的值有兩個(gè), 0或1。通過(guò)不斷的探索實(shí)驗(yàn), 終于確定了寄存器的第26、27、28、29、30、31位分別對(duì)應(yīng)于并口的第4、5、6、7、8、9口。因此只要編寫(xiě)程序?qū)⒚}沖信號(hào)輸人并口的相應(yīng)寄存器上, 就可以達(dá)到控制并口相應(yīng)位輸出需要的脈沖。行程信號(hào)的采集是通過(guò)。這個(gè)子來(lái)實(shí)現(xiàn)。
4.系統(tǒng)控制程序?qū)崿F(xiàn)
本文采用模塊化程序設(shè)計(jì)思想, 設(shè)計(jì)系統(tǒng)的控制程序, 用設(shè)計(jì)的系統(tǒng)連接繪圖儀進(jìn)行繪圖試驗(yàn),來(lái)驗(yàn)證設(shè)計(jì)的合理性。
4.1繪圖系統(tǒng)總體程序流程圖
當(dāng)開(kāi)始繪圖之前, 首先需要將刀具復(fù)位到初始原點(diǎn), 以便在繪圖時(shí)準(zhǔn)確定位。所以首先讓電機(jī)轉(zhuǎn)動(dòng), 使繪圖筆向原點(diǎn)靠近, 待行程開(kāi)關(guān)觸發(fā)后將脈沖輸?shù)綑C(jī), 然后控制電機(jī)停止轉(zhuǎn)動(dòng), 此時(shí)刀具在起始位置。下一步, 輸人脈沖, 使電機(jī)轉(zhuǎn)動(dòng)到繪圖初始位置, 即讓刀具接近或者接觸被繪圖物。當(dāng)?shù)竭_(dá)初始位置后, 啟動(dòng)電機(jī), 開(kāi)始繪圖。當(dāng)繪圖結(jié)束后,電機(jī)停止轉(zhuǎn)動(dòng), 然后再返回刀具起始位置。圖為4系統(tǒng)總體程序流程圖

4.2從獲取的圖形數(shù)據(jù)數(shù)組來(lái)畫(huà)圖
LabVIEW作為圖形化編輯軟件, 不斷可以采集外界的信號(hào), 同時(shí)本身能夠產(chǎn)生各種規(guī)則信號(hào), 因此將采集的模擬信號(hào)數(shù)字化或者本身發(fā)生的信號(hào)的數(shù)據(jù)作為脈沖程序控制源, 只要控制好一定的時(shí)序, 就能使信號(hào)波形通過(guò)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的方式讓它畫(huà)出來(lái)。
編程時(shí)把正弦信號(hào)作為輸人信號(hào)進(jìn)行闡述。首先, 通過(guò)正弦信號(hào)發(fā)生器產(chǎn)生正弦信號(hào)數(shù)據(jù)數(shù)組,然后通過(guò)簇輸送到波形顯示器上去讓它顯示。同時(shí)從數(shù)據(jù)數(shù)組線中分出一根作為脈沖控制信號(hào)輸?shù)蕉〞r(shí)循環(huán)里面, 作為脈沖控制信號(hào)線。定時(shí)循環(huán)里面, 利用等長(zhǎng)時(shí)間長(zhǎng)度的方法對(duì)正弦信號(hào)進(jìn)行采樣, 然后將采樣得到的數(shù)值存入數(shù)組, 將數(shù)組數(shù)據(jù)對(duì)位操作, 然后轉(zhuǎn)換成相應(yīng)、軸電機(jī)驅(qū)動(dòng)器脈沖數(shù), 完成對(duì)、軸電機(jī)轉(zhuǎn)速以及方向的控制, 最后將正弦信號(hào)在繪圖平臺(tái)上用步進(jìn)電機(jī)相對(duì)應(yīng)運(yùn)動(dòng)的方式把它畫(huà)出來(lái)。正弦信號(hào)的波形可以畫(huà)出來(lái)之后, 其它的波形信號(hào)同理也可以輸入到循環(huán)里面,讓它按程序設(shè)定畫(huà)出來(lái)。圖5為系統(tǒng)畫(huà)正弦圖形的程序控制圖。
5.總結(jié)
該系統(tǒng)軟件部分采用美國(guó)公司的虛擬儀器開(kāi)發(fā)軟件進(jìn)行開(kāi)發(fā), 編寫(xiě)了相應(yīng)的軌跡控制程序, 設(shè)計(jì)了簡(jiǎn)單易于控制的控制面板, 同時(shí)根據(jù)并口通訊的特點(diǎn), 采用并口作為連接機(jī)和步進(jìn)電機(jī)驅(qū)動(dòng)器的通訊媒介來(lái)傳輸脈沖信號(hào), 克服了并口傳輸電壓與步進(jìn)電機(jī)驅(qū)動(dòng)器的脈沖驅(qū)動(dòng)電壓不匹配的問(wèn)題, 以及并口信號(hào)的傳輸速率與脈沖相應(yīng)的速率的匹配等諸多問(wèn)題。在調(diào)試過(guò)程中, 通過(guò)定時(shí)循環(huán)方法對(duì)其加以控制, 成功地解決了機(jī)發(fā)出信號(hào)頻率不穩(wěn)定的問(wèn)題, 并且找到了驅(qū)動(dòng)步進(jìn)電機(jī)的最佳脈沖控制頻率范圍。最終實(shí)現(xiàn)用LabVIEW圖形化編程軟件對(duì)步進(jìn)電機(jī)的控制和顯示。