




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上步進(jìn)電動機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計 摘要:從整體上簡要介紹了步進(jìn)電動機(jī)控制系統(tǒng)的結(jié)構(gòu)及功能特點(diǎn);詳細(xì)介紹了上位機(jī)軟的功能及實(shí)現(xiàn)方法。所設(shè)計的控制程序具有友好的人機(jī)交互特性,可設(shè)定多種運(yùn)行模式,可實(shí)時顯示系統(tǒng)運(yùn)行狀態(tài),且可應(yīng)用于需要復(fù)雜控制算法及控制功能的使用場合。關(guān)鍵詞:混合式步進(jìn)電動機(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ī)技術(shù)的日新月異,微型計算機(jī)在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛。利用微型計算機(jī)可以存儲更多的數(shù)據(jù),進(jìn)行復(fù)雜的運(yùn)算,還可以通過多種形式對信息進(jìn)行顯示。另外,還可以設(shè)計高效、友好的用戶界面,對系統(tǒng)進(jìn)行控制。本系統(tǒng)以單片機(jī)作為下位機(jī)而微機(jī)作為上位機(jī),兩者通過RS一232串行接口進(jìn)行通信。上位機(jī)設(shè)計了友好的用戶界面,以便對系統(tǒng)進(jìn)行控制,下位機(jī)在得到控制命令之后,具體實(shí)施控制,并將系統(tǒng)的工作狀態(tài)信息傳給上位機(jī)進(jìn)行顯示處單片機(jī)采用8051,而上位機(jī)是在Windows XP操作系統(tǒng)下,用Visual Basic 60開發(fā)的
4、監(jiān)控軟件。在Windows監(jiān)控軟件開發(fā)中,如何實(shí)現(xiàn)微機(jī)與單片機(jī)之間的串行通信是一個較大的障礙,而且是設(shè)計的關(guān)鍵之一。系統(tǒng)利用了VB提供的特別便于串行口操作的電話機(jī)控件-MSComm,通過編寫較簡單的程序,完成了微機(jī)與單片機(jī)之間的串行通信。本文主要介紹了該系統(tǒng)上微位及軟件的實(shí)現(xiàn)過程。1系統(tǒng)特點(diǎn)簡述系統(tǒng)的控制對象是混合式步進(jìn)電動機(jī),通過上位機(jī)軟件和下位機(jī)軟硬件的良好配合,系統(tǒng)具有以下特點(diǎn)(1) 可以通過上位機(jī)控制界面進(jìn)行控制,操作直觀、方便;(2) 可以驅(qū)動包括兩相、三相和五相混合式步進(jìn)電動機(jī)在內(nèi)的多種步進(jìn)電動機(jī),增強(qiáng)了系統(tǒng)的適用性;(3) 具有包括細(xì)分、升降頻、正反轉(zhuǎn)、預(yù)置頻率以及預(yù)置步等多種控
5、制功能,拓寬了被控步進(jìn)電動機(jī)的適用場合。使用者可以通過上位機(jī)控制界面實(shí)時地觀測運(yùn)行中的驅(qū)動系統(tǒng)的運(yùn)行狀態(tài),同時還可以通過上機(jī)控制界面對系統(tǒng)進(jìn)行控制,為了實(shí)現(xiàn)微機(jī)和單片機(jī)之間的數(shù)據(jù)交換,該系統(tǒng)使用了串行通訊方式。整個步進(jìn)電動機(jī)控制系統(tǒng)如圖1所示。2上位機(jī)程序總體流程在上位機(jī)軟件編程語言的選擇上,著重考慮的是便于界面的編寫及可進(jìn)行方便的串行通訊。為此,系統(tǒng)上位機(jī)使用了Visual Basic高級語言編程環(huán)境,這種語言特別便于界面編寫,更重要的是,它具有一個特別方便的通信控件MSComm。MSComm控件的目的是為了讓用戶設(shè)計一個系統(tǒng)可以和串行端口進(jìn)行溝通及傳送數(shù)據(jù)。如上所述,上位機(jī)主要完成用戶的交
6、互控制以及電機(jī)運(yùn)行狀態(tài)的實(shí)時顯示,所以,上位機(jī)軟件首先要能夠根據(jù)用戶輸入的運(yùn)行模式設(shè)定相應(yīng)的變量及標(biāo)志量;其次,還需要將下位機(jī)反饋的實(shí)時運(yùn)行狀態(tài)以圖形化的方式顯示出來。圖2為其程序總體框架。下面,將以窗口的設(shè)計為順序?qū)ι衔粰C(jī)軟件的總體流程進(jìn)行較詳細(xì)的闡述:用戶設(shè)定輸入窗口同時也是主界面窗口,其窗口設(shè)置如圖3所示。它包括了程序運(yùn)行的所有控制功能,具體表現(xiàn)為:(1)在電機(jī)運(yùn)行方式設(shè)定區(qū),用戶可以通過選擇各個列表框中列出的選項設(shè)定被控電機(jī)的運(yùn)行方式。其中,電機(jī)類型選擇包括:兩相、三相及五相混合式步進(jìn)電動機(jī);細(xì)分模式選擇包括:整步、二細(xì)分及四細(xì)分;正反轉(zhuǎn)選擇包括:正轉(zhuǎn)及反轉(zhuǎn);預(yù)置模式選擇包括:預(yù)置頻率
7、及預(yù)置步。(2)在電機(jī)預(yù)置參數(shù)設(shè)定區(qū),如果選擇的是預(yù)置頻率運(yùn)行方式,用戶便可以在第一個文本框中輸入電機(jī)的運(yùn)行頻率,這樣在啟動運(yùn)行時,系統(tǒng)便會控制電機(jī)從突跳頻率逐漸加速到運(yùn)行頻率。在停止運(yùn)行時,系統(tǒng)會控制電機(jī)逐漸減速直到停機(jī)為止;如果選擇的是預(yù)置步運(yùn)行方式,用戶便可以在第二個文本框中輸入電機(jī)運(yùn)行的總步數(shù),這樣在啟動運(yùn)行后,每走一步系統(tǒng)便會在總步數(shù)上減去一步,直到減為零時停機(jī)。在該上位機(jī)軟件中,為了便于用戶及時了解系統(tǒng)的運(yùn)行狀態(tài),電機(jī)的剩余步數(shù)以及實(shí)時運(yùn)行頻率均有圖形化的顯示,這些將在介紹相關(guān)窗口時一并介紹。(3)為能對程序隨時發(fā)出各種命令,從而實(shí)現(xiàn)對電動機(jī)的實(shí)時控制,在操作區(qū)設(shè)置了包括啟動運(yùn)行、
8、暫停運(yùn)行等六個按鈕,這六個按鈕基本上能夠滿足對程序流程的控制,從而達(dá)到對電動機(jī)的控制操作。為了能夠保證下位機(jī)得到正確的運(yùn)行參數(shù),下位機(jī)需要進(jìn)行必要的檢測,如果接收錯誤,下位機(jī)會通知上位機(jī)重新發(fā)送數(shù)據(jù),相應(yīng)的,上位機(jī)也會用對話框的形式通知用戶重新發(fā)送數(shù)據(jù),出錯對話框如圖4a所示。反之,如果接收正確,下位機(jī)便會通知上位機(jī)可以開始運(yùn)行了,相應(yīng)的,上位機(jī)也會用對話框的形式通知用戶可以開始啟動運(yùn)行了,接收正常對話框如圖4b所示。當(dāng)用戶啟動運(yùn)行之后,便進(jìn)入了OnComm子程序,此子程序的功能是得到電機(jī)的運(yùn)行狀態(tài),并對其進(jìn)行實(shí)時顯示。據(jù)此,程序還包含了兩個用于實(shí)時顯示的窗口:剩余步數(shù)顯示窗口,如圖5所示;以
9、及頻率實(shí)時顯示窗口如圖6所示。其中,頻率實(shí)時顯示窗口可以顯示電機(jī)的升降頻過程。3上位機(jī)各子程序功能實(shí)現(xiàn)過程在介紹各子程序?qū)崿F(xiàn)方法之前,這里先要介紹一下對MSComm控件屬性的初始化過程:(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、供了兩種處理通信問題的方法,一是事件驅(qū)動方法,一是查詢法,本程序采用了事件驅(qū)動法來響應(yīng)串行口事件。(4)設(shè)置引發(fā)接收事件的字節(jié)數(shù)。本程序初始化其值為1,即一旦寄存器中有數(shù)據(jù)則立刻引發(fā)OnComm中的接收事件。(5)串行通訊格式選擇。進(jìn)行串行通信時有兩種傳輸方式:字符形式和二進(jìn)制形式本程序采用了二進(jìn)制方式,即MsCommlIputMode=1。最后,在初始化好上述各項屬性之后,我們需要將串口打開,即MSCommlPortOpen=True。31界面初始化子程序在本子程序的主要工作包括以下幾部分: (1)對電機(jī)運(yùn)行方式及預(yù)置參數(shù)設(shè)定窗口中的各控件進(jìn)行初始化。初始化運(yùn)行方式設(shè)定區(qū)的四個列表框,主要是
11、利用方法Addltem為各列表框添加內(nèi)容,另外,還要將預(yù)置參數(shù)設(shè)定區(qū)的兩個文本框的內(nèi)容清空。(2)初始化程序中用到的變量或標(biāo)志量比如,初始化畫頻率曲線時要用到的x軸起始點(diǎn)X為0等。(3)最后,要將串口打開,即MSCommlPortOpen=True。32運(yùn)行模式初始化子程序本子程序主要是根據(jù)用戶對運(yùn)行方式的選擇對數(shù)組State的相關(guān)位進(jìn)行初始化,由于列表框中的每一個成員都唯一對應(yīng)著一個數(shù)字,比如:圖3列表框中,成員“兩相混合式步進(jìn)電動機(jī)”對應(yīng)0,成員“三相混合式步進(jìn)電動機(jī)”對應(yīng)1,以此類推,所以我們根據(jù)各列表框反饋的數(shù)字便可以知道用戶的選擇,知道了用戶的選擇,接下來便是初始化State數(shù)組的對
12、應(yīng)位,比如,State(1)的值代表著用戶所選的電機(jī)類型,如果用戶選擇兩相混合式步進(jìn)電動機(jī),則將該位置為0。這樣,下位機(jī)在得到數(shù)組State后便可以通過元素State(1)來得到電機(jī)類型信息,從而進(jìn)行更進(jìn)一步的處理。33預(yù)置處理子程序本子程序主要是在用戶確定預(yù)置輸入之后,根據(jù)預(yù)置參數(shù)設(shè)定區(qū)中兩個文本框的內(nèi)容得到用戶的預(yù)置。并將其個位、十位及百位分別存入State(7)、State(6)及State(5)中,這樣,下位機(jī)在得到State數(shù)組后對其上述三位進(jìn)行簡單的處理便可以得到用戶通過上位機(jī)輸入的預(yù)置數(shù)。34 MSCommlOnComm子程序當(dāng)寄存器中有數(shù)據(jù)的時候便會進(jìn)入此子程序,所以,此子程序
13、的功能便是接收下位機(jī)通過串口傳上來的數(shù)據(jù),對其進(jìn)行簡單的處理后根據(jù)預(yù)置模式對其進(jìn)行實(shí)時顯示,預(yù)置步模式時便顯示剩余步數(shù);預(yù)置頻率模式時便在初始化圖形化顯示界面的基礎(chǔ)之上顯示實(shí)時運(yùn)行頻率。其流程圖如圖7所示。圖7 MSCommlOnComm子程序流程圖對該子程序需要解釋以下幾個處理過程的具體含義:接收數(shù)據(jù)并進(jìn)行處理:主要是得到下位機(jī)傳上來的數(shù)據(jù)并進(jìn)行相應(yīng)的處理,實(shí)現(xiàn)語句如下:Receive=MSCommlInput Y= 2(Receive(3)100+Receive(2)10+Receive(1)即Receive(1)一Receive(3)各代表實(shí)時數(shù)據(jù)的個位、十位和百位,經(jīng)以上處理,y便是要
14、顯示的實(shí)時數(shù)據(jù)。實(shí)時顯示剩余步數(shù):這一部分的程序較簡單,只有一句:Form3TextlText=“當(dāng)前剩余步數(shù)為:”+Str(Y)。其中,F(xiàn)orm3指的便是圖5所示的剩余步數(shù)顯示窗口。初始化圖形化顯示界面:這一部分主要包括以下內(nèi)容:(1)坐標(biāo)軸的生成;(2)網(wǎng)格的生成。這一部分的程序在有關(guān)使用VB畫圖的文獻(xiàn)中有詳細(xì)介紹,這里不作詳細(xì)的介紹。實(shí)時顯示運(yùn)行頻率:這一部分主要是在初始化好的圖形化顯示界面上以曲線的形式實(shí)時顯示運(yùn)行頻率,如圖6所示。這一部分的編程思想是:如果畫的是第一個頻率點(diǎn)則用命令PSet只畫一個點(diǎn);如果畫的不是第一個頻率點(diǎn),則從上一個頻率點(diǎn),畫線到現(xiàn)在這個頻率點(diǎn)。這樣便可以畫出完整的頻率曲線。該部分的語句如下:If X=0 ThenForm2PSet(X,y)ElseForm2Line一(X,y)End Tf4結(jié)語本文所提出的程序設(shè)計方法具有較大的通用性,且用戶界面友好。經(jīng)過測試,所設(shè)計的上位機(jī)監(jiān)控軟件與下位機(jī)軟硬件相配合,不但實(shí)現(xiàn)了文中提出的所有功能,滿足了控制要求,而且使得控制操作簡單易行。以本文提出的程序設(shè)計方法為基礎(chǔ),再結(jié)合步進(jìn)電動機(jī)的具體應(yīng)用環(huán)境,嵌入合適的控制算法,可完成各種需要復(fù)雜運(yùn)動的步進(jìn)電動機(jī)控制系統(tǒng)設(shè)計。3總結(jié)與展望將dSPACE實(shí)時仿真系統(tǒng)應(yīng)用于運(yùn)動控制系統(tǒng)的研究與開發(fā)當(dāng)中,充分利用該系統(tǒng)提供的強(qiáng)大的數(shù)據(jù)運(yùn)算能力及各種成熟的硬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025鹽城幼兒師范高等專科學(xué)校輔導(dǎo)員考試試題及答案
- 2025年廣東省深圳市十五校中考?xì)v史二模試卷
- 新生兒正常生理特征及護(hù)理要點(diǎn)
- 換牙期衛(wèi)生與保健
- 2025年游戲設(shè)計專業(yè)考試題及答案
- 環(huán)境科學(xué)與生態(tài)理論2025年考試試卷及答案
- 網(wǎng)絡(luò)工程師考試題及答案2025年
- 2025年物流與供應(yīng)鏈管理職業(yè)能力考核試題及答案
- 2025年網(wǎng)絡(luò)教育與在線學(xué)習(xí)考試試卷及答案
- 2025年圖書館學(xué)基礎(chǔ)知識考試試題及答案
- 《夏季養(yǎng)生保健常識》課件
- 2025年傳統(tǒng)建筑行業(yè)的智能門窗技術(shù)
- 2024年湖北高中學(xué)業(yè)水平合格性考試歷史試卷真題(含答案詳解)
- 2025版亞馬遜FBA物流倉儲及電商運(yùn)營服務(wù)合同6篇
- 幕墻工程施工方案及述標(biāo)文件
- 《腦淀粉樣變性》課件
- 《生鮮農(nóng)產(chǎn)品供應(yīng)鏈中雙渠道模式合作演化博弈實(shí)證研究》17000字
- 湖北省武漢市華師一附中2025屆中考生物押題試卷含解析
- 竣工結(jié)算審計服務(wù)投標(biāo)方案(2024修訂版)(技術(shù)方案)
- 某藥業(yè)公司管理制度匯編
- 北師大教育研究方法課件
評論
0/150
提交評論