步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì)_第1頁(yè)
步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì)_第2頁(yè)
步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì)_第3頁(yè)
步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì)_第4頁(yè)
步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上步進(jìn)電動(dòng)機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計(jì) 摘要:從整體上簡(jiǎn)要介紹了步進(jìn)電動(dòng)機(jī)控制系統(tǒng)的結(jié)構(gòu)及功能特點(diǎn);詳細(xì)介紹了上位機(jī)軟的功能及實(shí)現(xiàn)方法。所設(shè)計(jì)的控制程序具有友好的人機(jī)交互特性,可設(shè)定多種運(yùn)行模式,可實(shí)時(shí)顯示系統(tǒng)運(yùn)行狀態(tài),且可應(yīng)用于需要復(fù)雜控制算法及控制功能的使用場(chǎng)合。關(guān)鍵詞:混合式步進(jìn)電動(dòng)機(jī);微型計(jì)算機(jī);MCS一51單片機(jī);Visual Basic;MSComm控件Abstract:The structure and functional characteristics of the stepper control system were introduced integr

2、ally,and the functions and implementation methods of the microcomputer programme were also introducedThis method had a friendly user interfaceThe several operation modes were set,the operation states of the system were displayed in real timeKey words:hybrid stepper motor;microcomputer;MCS一5 1 single

3、 chip;Visual Basic;MSComm widget0前言 隨著工業(yè)生產(chǎn)和計(jì)算機(jī)技術(shù)的日新月異,微型計(jì)算機(jī)在工業(yè)控制領(lǐng)域的應(yīng)用越來(lái)越廣泛。利用微型計(jì)算機(jī)可以存儲(chǔ)更多的數(shù)據(jù),進(jìn)行復(fù)雜的運(yùn)算,還可以通過(guò)多種形式對(duì)信息進(jìn)行顯示。另外,還可以設(shè)計(jì)高效、友好的用戶界面,對(duì)系統(tǒng)進(jìn)行控制。本系統(tǒng)以單片機(jī)作為下位機(jī)而微機(jī)作為上位機(jī),兩者通過(guò)RS一232串行接口進(jìn)行通信。上位機(jī)設(shè)計(jì)了友好的用戶界面,以便對(duì)系統(tǒng)進(jìn)行控制,下位機(jī)在得到控制命令之后,具體實(shí)施控制,并將系統(tǒng)的工作狀態(tài)信息傳給上位機(jī)進(jìn)行顯示處單片機(jī)采用8051,而上位機(jī)是在Windows XP操作系統(tǒng)下,用Visual Basic 60開(kāi)發(fā)的

4、監(jiān)控軟件。在Windows監(jiān)控軟件開(kāi)發(fā)中,如何實(shí)現(xiàn)微機(jī)與單片機(jī)之間的串行通信是一個(gè)較大的障礙,而且是設(shè)計(jì)的關(guān)鍵之一。系統(tǒng)利用了VB提供的特別便于串行口操作的電話機(jī)控件-MSComm,通過(guò)編寫(xiě)較簡(jiǎn)單的程序,完成了微機(jī)與單片機(jī)之間的串行通信。本文主要介紹了該系統(tǒng)上微位及軟件的實(shí)現(xiàn)過(guò)程。1系統(tǒng)特點(diǎn)簡(jiǎn)述系統(tǒng)的控制對(duì)象是混合式步進(jìn)電動(dòng)機(jī),通過(guò)上位機(jī)軟件和下位機(jī)軟硬件的良好配合,系統(tǒng)具有以下特點(diǎn)(1) 可以通過(guò)上位機(jī)控制界面進(jìn)行控制,操作直觀、方便;(2) 可以驅(qū)動(dòng)包括兩相、三相和五相混合式步進(jìn)電動(dòng)機(jī)在內(nèi)的多種步進(jìn)電動(dòng)機(jī),增強(qiáng)了系統(tǒng)的適用性;(3) 具有包括細(xì)分、升降頻、正反轉(zhuǎn)、預(yù)置頻率以及預(yù)置步等多種控

5、制功能,拓寬了被控步進(jìn)電動(dòng)機(jī)的適用場(chǎng)合。使用者可以通過(guò)上位機(jī)控制界面實(shí)時(shí)地觀測(cè)運(yùn)行中的驅(qū)動(dòng)系統(tǒng)的運(yùn)行狀態(tài),同時(shí)還可以通過(guò)上機(jī)控制界面對(duì)系統(tǒng)進(jìn)行控制,為了實(shí)現(xiàn)微機(jī)和單片機(jī)之間的數(shù)據(jù)交換,該系統(tǒng)使用了串行通訊方式。整個(gè)步進(jìn)電動(dòng)機(jī)控制系統(tǒng)如圖1所示。2上位機(jī)程序總體流程在上位機(jī)軟件編程語(yǔ)言的選擇上,著重考慮的是便于界面的編寫(xiě)及可進(jìn)行方便的串行通訊。為此,系統(tǒng)上位機(jī)使用了Visual Basic高級(jí)語(yǔ)言編程環(huán)境,這種語(yǔ)言特別便于界面編寫(xiě),更重要的是,它具有一個(gè)特別方便的通信控件MSComm。MSComm控件的目的是為了讓用戶設(shè)計(jì)一個(gè)系統(tǒng)可以和串行端口進(jìn)行溝通及傳送數(shù)據(jù)。如上所述,上位機(jī)主要完成用戶的交

6、互控制以及電機(jī)運(yùn)行狀態(tài)的實(shí)時(shí)顯示,所以,上位機(jī)軟件首先要能夠根據(jù)用戶輸入的運(yùn)行模式設(shè)定相應(yīng)的變量及標(biāo)志量;其次,還需要將下位機(jī)反饋的實(shí)時(shí)運(yùn)行狀態(tài)以圖形化的方式顯示出來(lái)。圖2為其程序總體框架。下面,將以窗口的設(shè)計(jì)為順序?qū)ι衔粰C(jī)軟件的總體流程進(jìn)行較詳細(xì)的闡述:用戶設(shè)定輸入窗口同時(shí)也是主界面窗口,其窗口設(shè)置如圖3所示。它包括了程序運(yùn)行的所有控制功能,具體表現(xiàn)為:(1)在電機(jī)運(yùn)行方式設(shè)定區(qū),用戶可以通過(guò)選擇各個(gè)列表框中列出的選項(xiàng)設(shè)定被控電機(jī)的運(yùn)行方式。其中,電機(jī)類(lèi)型選擇包括:兩相、三相及五相混合式步進(jìn)電動(dòng)機(jī);細(xì)分模式選擇包括:整步、二細(xì)分及四細(xì)分;正反轉(zhuǎn)選擇包括:正轉(zhuǎn)及反轉(zhuǎn);預(yù)置模式選擇包括:預(yù)置頻率

7、及預(yù)置步。(2)在電機(jī)預(yù)置參數(shù)設(shè)定區(qū),如果選擇的是預(yù)置頻率運(yùn)行方式,用戶便可以在第一個(gè)文本框中輸入電機(jī)的運(yùn)行頻率,這樣在啟動(dòng)運(yùn)行時(shí),系統(tǒng)便會(huì)控制電機(jī)從突跳頻率逐漸加速到運(yùn)行頻率。在停止運(yùn)行時(shí),系統(tǒng)會(huì)控制電機(jī)逐漸減速直到停機(jī)為止;如果選擇的是預(yù)置步運(yùn)行方式,用戶便可以在第二個(gè)文本框中輸入電機(jī)運(yùn)行的總步數(shù),這樣在啟動(dòng)運(yùn)行后,每走一步系統(tǒng)便會(huì)在總步數(shù)上減去一步,直到減為零時(shí)停機(jī)。在該上位機(jī)軟件中,為了便于用戶及時(shí)了解系統(tǒng)的運(yùn)行狀態(tài),電機(jī)的剩余步數(shù)以及實(shí)時(shí)運(yùn)行頻率均有圖形化的顯示,這些將在介紹相關(guān)窗口時(shí)一并介紹。(3)為能對(duì)程序隨時(shí)發(fā)出各種命令,從而實(shí)現(xiàn)對(duì)電動(dòng)機(jī)的實(shí)時(shí)控制,在操作區(qū)設(shè)置了包括啟動(dòng)運(yùn)行、

8、暫停運(yùn)行等六個(gè)按鈕,這六個(gè)按鈕基本上能夠滿足對(duì)程序流程的控制,從而達(dá)到對(duì)電動(dòng)機(jī)的控制操作。為了能夠保證下位機(jī)得到正確的運(yùn)行參數(shù),下位機(jī)需要進(jìn)行必要的檢測(cè),如果接收錯(cuò)誤,下位機(jī)會(huì)通知上位機(jī)重新發(fā)送數(shù)據(jù),相應(yīng)的,上位機(jī)也會(huì)用對(duì)話框的形式通知用戶重新發(fā)送數(shù)據(jù),出錯(cuò)對(duì)話框如圖4a所示。反之,如果接收正確,下位機(jī)便會(huì)通知上位機(jī)可以開(kāi)始運(yùn)行了,相應(yīng)的,上位機(jī)也會(huì)用對(duì)話框的形式通知用戶可以開(kāi)始啟動(dòng)運(yùn)行了,接收正常對(duì)話框如圖4b所示。當(dāng)用戶啟動(dòng)運(yùn)行之后,便進(jìn)入了OnComm子程序,此子程序的功能是得到電機(jī)的運(yùn)行狀態(tài),并對(duì)其進(jìn)行實(shí)時(shí)顯示。據(jù)此,程序還包含了兩個(gè)用于實(shí)時(shí)顯示的窗口:剩余步數(shù)顯示窗口,如圖5所示;以

9、及頻率實(shí)時(shí)顯示窗口如圖6所示。其中,頻率實(shí)時(shí)顯示窗口可以顯示電機(jī)的升降頻過(guò)程。3上位機(jī)各子程序功能實(shí)現(xiàn)過(guò)程在介紹各子程序?qū)崿F(xiàn)方法之前,這里先要介紹一下對(duì)MSComm控件屬性的初始化過(guò)程:(1)端口初始化。將端口初始化為COMI,即MsCommlCommPort=1 o(2)串行口參數(shù)初始化。設(shè)置初始化參數(shù)Settings的格式為“BBBB,P,D,S”,為了與下位機(jī)進(jìn)行匹配,程序中初始化Settings=“9 600,N,8,1”,其意為“所使用的通訊端口是以每秒9 600 bit的速度作傳輸,不作字符校驗(yàn),每幀數(shù)據(jù)為8 bit,而停止位為1 bit”。 (3)事件響應(yīng)方式選擇。MSComm提

10、供了兩種處理通信問(wèn)題的方法,一是事件驅(qū)動(dòng)方法,一是查詢法,本程序采用了事件驅(qū)動(dòng)法來(lái)響應(yīng)串行口事件。(4)設(shè)置引發(fā)接收事件的字節(jié)數(shù)。本程序初始化其值為1,即一旦寄存器中有數(shù)據(jù)則立刻引發(fā)OnComm中的接收事件。(5)串行通訊格式選擇。進(jìn)行串行通信時(shí)有兩種傳輸方式:字符形式和二進(jìn)制形式本程序采用了二進(jìn)制方式,即MsCommlIputMode=1。最后,在初始化好上述各項(xiàng)屬性之后,我們需要將串口打開(kāi),即MSCommlPortOpen=True。31界面初始化子程序在本子程序的主要工作包括以下幾部分: (1)對(duì)電機(jī)運(yùn)行方式及預(yù)置參數(shù)設(shè)定窗口中的各控件進(jìn)行初始化。初始化運(yùn)行方式設(shè)定區(qū)的四個(gè)列表框,主要是

11、利用方法Addltem為各列表框添加內(nèi)容,另外,還要將預(yù)置參數(shù)設(shè)定區(qū)的兩個(gè)文本框的內(nèi)容清空。(2)初始化程序中用到的變量或標(biāo)志量比如,初始化畫(huà)頻率曲線時(shí)要用到的x軸起始點(diǎn)X為0等。(3)最后,要將串口打開(kāi),即MSCommlPortOpen=True。32運(yùn)行模式初始化子程序本子程序主要是根據(jù)用戶對(duì)運(yùn)行方式的選擇對(duì)數(shù)組State的相關(guān)位進(jìn)行初始化,由于列表框中的每一個(gè)成員都唯一對(duì)應(yīng)著一個(gè)數(shù)字,比如:圖3列表框中,成員“兩相混合式步進(jìn)電動(dòng)機(jī)”對(duì)應(yīng)0,成員“三相混合式步進(jìn)電動(dòng)機(jī)”對(duì)應(yīng)1,以此類(lèi)推,所以我們根據(jù)各列表框反饋的數(shù)字便可以知道用戶的選擇,知道了用戶的選擇,接下來(lái)便是初始化State數(shù)組的對(duì)

12、應(yīng)位,比如,State(1)的值代表著用戶所選的電機(jī)類(lèi)型,如果用戶選擇兩相混合式步進(jìn)電動(dòng)機(jī),則將該位置為0。這樣,下位機(jī)在得到數(shù)組State后便可以通過(guò)元素State(1)來(lái)得到電機(jī)類(lèi)型信息,從而進(jìn)行更進(jìn)一步的處理。33預(yù)置處理子程序本子程序主要是在用戶確定預(yù)置輸入之后,根據(jù)預(yù)置參數(shù)設(shè)定區(qū)中兩個(gè)文本框的內(nèi)容得到用戶的預(yù)置。并將其個(gè)位、十位及百位分別存入State(7)、State(6)及State(5)中,這樣,下位機(jī)在得到State數(shù)組后對(duì)其上述三位進(jìn)行簡(jiǎn)單的處理便可以得到用戶通過(guò)上位機(jī)輸入的預(yù)置數(shù)。34 MSCommlOnComm子程序當(dāng)寄存器中有數(shù)據(jù)的時(shí)候便會(huì)進(jìn)入此子程序,所以,此子程序

13、的功能便是接收下位機(jī)通過(guò)串口傳上來(lái)的數(shù)據(jù),對(duì)其進(jìn)行簡(jiǎn)單的處理后根據(jù)預(yù)置模式對(duì)其進(jìn)行實(shí)時(shí)顯示,預(yù)置步模式時(shí)便顯示剩余步數(shù);預(yù)置頻率模式時(shí)便在初始化圖形化顯示界面的基礎(chǔ)之上顯示實(shí)時(shí)運(yùn)行頻率。其流程圖如圖7所示。圖7 MSCommlOnComm子程序流程圖對(duì)該子程序需要解釋以下幾個(gè)處理過(guò)程的具體含義:接收數(shù)據(jù)并進(jìn)行處理:主要是得到下位機(jī)傳上來(lái)的數(shù)據(jù)并進(jìn)行相應(yīng)的處理,實(shí)現(xiàn)語(yǔ)句如下:Receive=MSCommlInput Y= 2(Receive(3)100+Receive(2)10+Receive(1)即Receive(1)一Receive(3)各代表實(shí)時(shí)數(shù)據(jù)的個(gè)位、十位和百位,經(jīng)以上處理,y便是要

14、顯示的實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)顯示剩余步數(shù):這一部分的程序較簡(jiǎn)單,只有一句:Form3TextlText=“當(dāng)前剩余步數(shù)為:”+Str(Y)。其中,F(xiàn)orm3指的便是圖5所示的剩余步數(shù)顯示窗口。初始化圖形化顯示界面:這一部分主要包括以下內(nèi)容:(1)坐標(biāo)軸的生成;(2)網(wǎng)格的生成。這一部分的程序在有關(guān)使用VB畫(huà)圖的文獻(xiàn)中有詳細(xì)介紹,這里不作詳細(xì)的介紹。實(shí)時(shí)顯示運(yùn)行頻率:這一部分主要是在初始化好的圖形化顯示界面上以曲線的形式實(shí)時(shí)顯示運(yùn)行頻率,如圖6所示。這一部分的編程思想是:如果畫(huà)的是第一個(gè)頻率點(diǎn)則用命令PSet只畫(huà)一個(gè)點(diǎn);如果畫(huà)的不是第一個(gè)頻率點(diǎn),則從上一個(gè)頻率點(diǎn),畫(huà)線到現(xiàn)在這個(gè)頻率點(diǎn)。這樣便可以畫(huà)出完整的頻率曲線。該部分的語(yǔ)句如下:If X=0 ThenForm2PSet(X,y)ElseForm2Line一(X,y)End Tf4結(jié)語(yǔ)本文所提出的程序設(shè)計(jì)方法具有較大的通用性,且用戶界面友好。經(jīng)過(guò)測(cè)試,所設(shè)計(jì)的上位機(jī)監(jiān)控軟件與下位機(jī)軟硬件相配合,不但實(shí)現(xiàn)了文中提出的所有功能,滿足了控制要求,而且使得控制操作簡(jiǎn)單易行。以本文提出的程序設(shè)計(jì)方法為基礎(chǔ),再結(jié)合步進(jìn)電動(dòng)機(jī)的具體應(yīng)用環(huán)境,嵌入合適的控制算法,可完成各種需要復(fù)雜運(yùn)動(dòng)的步進(jìn)電動(dòng)機(jī)控制系統(tǒng)設(shè)計(jì)。3總結(jié)與展望將dSPACE實(shí)時(shí)仿真系統(tǒng)應(yīng)用于運(yùn)動(dòng)控制系統(tǒng)的研究與開(kāi)發(fā)當(dāng)中,充分利用該系統(tǒng)提供的強(qiáng)大的數(shù)據(jù)運(yùn)算能力及各種成熟的硬

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論