基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真_第1頁
基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真_第2頁
基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真_第3頁
基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真_第4頁
基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真1 引言步進(jìn)電機(jī)在簡單的開環(huán)工作方式下能夠達(dá)到相當(dāng)高的定位精度,且低速運(yùn)行時又可輸出很大的轉(zhuǎn)矩,因此在運(yùn)動控制中得到了廣泛的應(yīng)用1.PC 機(jī)步進(jìn)電機(jī)控制系統(tǒng),應(yīng)用于多個領(lǐng)域如數(shù)控機(jī)床、機(jī)器人、激光加工設(shè)備等各種儀器設(shè)備。一個完整的PC 機(jī)步進(jìn)電機(jī)控制系統(tǒng),下位機(jī)與PC 機(jī)構(gòu)成主從式控制結(jié)構(gòu):PC 機(jī)負(fù)責(zé)人機(jī)交互界面的管理,包括鍵盤和鼠標(biāo)的管理、系統(tǒng)狀態(tài)的顯示、控制指令的發(fā)送等部分工作;下位機(jī)完成運(yùn)動控制的所有細(xì)節(jié),包括脈沖和方向信號的輸出、自動升降速的處理等部分工作。實(shí)際下位機(jī)開發(fā)過程復(fù)雜,主體包含硬件電路設(shè)計(jì)和控制程序設(shè)計(jì)兩方面。控制程序設(shè)計(jì)過

2、程需要軟件調(diào)試、硬件調(diào)試、系統(tǒng)調(diào)試3 個過程。軟件調(diào)試一般比較容易進(jìn)行,但如果要進(jìn)行牽涉硬件的硬件調(diào)試或系統(tǒng)調(diào)試,包括元器件選用、PCB 板制作、元器件焊接、程序燒錄環(huán)節(jié),其中任一環(huán)節(jié)的疏漏都可能造成程序調(diào)試失真。通過Proteus 中各虛擬儀器所構(gòu)建硬件電路,調(diào)試所設(shè)計(jì)程序的控制效果,達(dá)到虛擬硬件調(diào)試、虛擬系統(tǒng)調(diào)試程序的目的,為PC 機(jī)步進(jìn)電機(jī)系統(tǒng)開發(fā)提供有效的理論實(shí)踐依據(jù),避免因硬件電路設(shè)計(jì)過程錯誤引起的程序異?;蛴布?shí)驗(yàn)條件限制影響開發(fā)。Proteus 是英國Labcenter 公司開發(fā)的電路分析與實(shí)物仿真軟件實(shí)現(xiàn)了單片機(jī)仿真和SPICE 電路仿真相結(jié)合,具有模擬電路仿真、數(shù)字電路仿真、

3、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232 動態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤、LCD、虛擬儀器、示波器、邏輯分析儀系統(tǒng)仿真的功能;支持主流單片機(jī)系統(tǒng)的仿真功能;在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài);支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil uVision2、MTLAB 等軟件。由于Proteus 軟件本身的優(yōu)良仿真特性,所設(shè)計(jì)程序能于Proteus 中完成仿真過程的同時,即基本證明了所設(shè)計(jì)程序的準(zhǔn)確性,從而基本完成了系統(tǒng)開發(fā)中的控制程序設(shè)計(jì)部分,并為系統(tǒng)硬件電路設(shè)計(jì)提供指導(dǎo)意義。2 設(shè)計(jì)要求以構(gòu)建基于Proteus 的

4、PC 機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真系統(tǒng)為例,上位機(jī)人機(jī)交互界面由VB 開發(fā)完成;下位機(jī)硬件電路由Proteus 中各虛擬儀器所構(gòu)建完成;下位機(jī)控制程序由Keil uVision2開發(fā)完成;期間還要采用虛擬串口(VSPD),用于模擬一根串口通信線,實(shí)現(xiàn)上位機(jī)與下位機(jī)的串口通信,最終實(shí)現(xiàn)上位機(jī)(VB)對下位機(jī)(Proteus)中步進(jìn)電機(jī)的實(shí)時控制過程。2.1 系統(tǒng)總體框圖上位機(jī)通過RS232C 串口通信方式實(shí)現(xiàn)對下位機(jī)下達(dá)指令,下位機(jī)AT89C51 單片機(jī)根據(jù)接受到的指令,按一定的時序產(chǎn)生A、B、C、D 四相控制信號,分別實(shí)現(xiàn)單拍、雙拍、單雙拍的三種步進(jìn)電機(jī)驅(qū)動方式。在實(shí)際運(yùn)用中,單片機(jī)與步進(jìn)電機(jī)之間

5、一般還需要信號隔離、放大集成電路。下位機(jī)部分增設(shè)顯示功能,由LCD1602 來完成實(shí)時地顯示步進(jìn)電機(jī)運(yùn)動狀態(tài)。Proteus 的仿真電路與實(shí)際電路可以有一定的區(qū)別,考慮到仿真的實(shí)踐性驗(yàn)證,設(shè)計(jì)出實(shí)際仿真適用的整個控制模塊,如圖1 所示。2.2 下位機(jī)仿真系統(tǒng)結(jié)構(gòu)設(shè)計(jì)在實(shí)際運(yùn)用中,單片機(jī)控制步進(jìn)電機(jī)需要隔離、放大模塊。在仿真時該控制模塊可省略,直接將步進(jìn)電機(jī)與AT89C51 相連接,也可在仿真電路中使用,因這里主要是為了檢測脈沖的控制效果,所以省去隔離、放大電路。串口通信部分3,非仿真控制中,上位機(jī)電平是RS232C 電平,而下位機(jī)是TTL 電平,不能直接通信的,所以增加一個電平轉(zhuǎn)換芯片MAX2

6、32.在實(shí)際仿真中,由于上下位機(jī)都是在PC 中進(jìn)行,所以無需電平轉(zhuǎn)換芯片,否則會發(fā)生錯誤。實(shí)際仿真時,串口的2、3 位直接與AT89C51 的RXD、TXD 直接對接就可以了。LCD 部分顯示電路,當(dāng)單片機(jī)驅(qū)動LCD 時,由于信號的傳輸過程會有損耗,所以在實(shí)際應(yīng)用驅(qū)動LCD 時,常采用信號增益模塊加以驅(qū)動。仿真過程無信號損耗,系統(tǒng)外部晶振電路,復(fù)位電路等在仿真過程可以省略。綜上所述,在搭建Proteus 下位機(jī)系統(tǒng)時,隔離放大模塊、LCD 驅(qū)動模塊、外部晶振電路和復(fù)位電路可有可無,而RS232 電平與TTL 電平轉(zhuǎn)換模塊必需省去。3 軟件設(shè)計(jì)3.1 下位機(jī)軟件設(shè)計(jì)下位機(jī)軟件由Keil uVis

7、ion2 開發(fā)完成。程序本身通用于仿真Proteus、實(shí)際步進(jìn)電機(jī)控制系統(tǒng)。下位機(jī)程序包括:初始化程序,串行中斷程序,定時器T0 中斷程序,LCD 顯示函數(shù)(含幾條控制命令子函數(shù))及程序主函數(shù)體五部分構(gòu)成。程序設(shè)計(jì)流程,如圖2 所示。程序設(shè)計(jì)中要注意設(shè)置串行中斷的優(yōu)先級應(yīng)高于T0 中斷,因?yàn)槟J(rèn)的ET0 中斷優(yōu)先級是高于串行中斷ES 的6,使用語句PT0=0;/低優(yōu)先級,PS=1;/高優(yōu)先級即可,因?yàn)橹灰?dāng)串行通信優(yōu)先級最高時,才能實(shí)現(xiàn)上位機(jī)對下位機(jī)的實(shí)時控制,十分重要。串行中斷中需應(yīng)用字符型數(shù)據(jù)與ASCII 碼轉(zhuǎn)化的算法。因?yàn)镸SComm1.Output 中送出去的是字符型數(shù)據(jù),而AT89C

8、51 會把接收到的字符數(shù)據(jù)轉(zhuǎn)化成ASCII 碼,這樣如果上位機(jī)發(fā)送一個數(shù)據(jù)“0”,而下位機(jī)轉(zhuǎn)化成ASCII 碼后即變成了“48”,顯然這不是事先跟下位機(jī)約定的控制指令,所以需要對接收到的指令數(shù)據(jù)做一定的計(jì)算處理,然后再交給CPU 進(jìn)行判斷。因?yàn)樯衔粰C(jī)的控制指令數(shù)據(jù)只有七個,使用語句if(temp<=57 & temp>=48)temp=temp-0x30;即可實(shí)現(xiàn)。整個串行中斷程序設(shè)計(jì)如下:static void com_isr(void)interrupt SIO_VECTOR using 1if(RI)/RI=0 申請串行中斷temp=SBUF;/從接收寄存器中讀取指令

9、數(shù)據(jù)if(temp<=57 & temp>=48)/判斷指令寄存器數(shù)據(jù)temp=temp-0x30;/計(jì)算指令寄存器數(shù)據(jù)RI=0;/RI=0 為下一次串行中斷做準(zhǔn)備k=0;/為顯示函數(shù)執(zhí)行條件return;設(shè)計(jì)T0 中斷程序時,中段時間(它由定時計(jì)數(shù)器的初始值、工作方式共同決定)與中斷次數(shù)關(guān)鍵內(nèi)容,決定了驅(qū)動電機(jī)脈沖頻率的變化,即決定了步進(jìn)電機(jī)轉(zhuǎn)速,需要設(shè)計(jì)一個合理的轉(zhuǎn)速方便記錄采集步進(jìn)電機(jī)數(shù)據(jù),觀察單拍、雙拍、單雙拍驅(qū)動方式下電機(jī)的運(yùn)動狀態(tài)。LCD 顯示程序設(shè)計(jì)中因?yàn)椤癕ODE:”是始終顯示的,所以可以在程序初始化的時候就設(shè)計(jì)好LCD 的“MODE:”顯示,然后再根據(jù)數(shù)據(jù)

10、指令顯示對應(yīng)的步進(jìn)電機(jī)運(yùn)動狀態(tài),這樣能節(jié)省MCU的處理時間,提高仿真系統(tǒng)的實(shí)時控能力。主程序體中完成最終接受來的上位機(jī)指令的處理,進(jìn)而完成上位機(jī)控制步進(jìn)電機(jī)的整個過程。其中對應(yīng)控制指令N,各個器件的狀態(tài)。每一個N 值都意味著一條控制指令,不同N 值,步進(jìn)電機(jī)、LCD、上位機(jī)Text、P1 口脈沖5會有對應(yīng)的狀態(tài)內(nèi)容。具體如表1 所示。3.2 上位機(jī)軟件設(shè)計(jì)上位機(jī)軟件用VB 進(jìn)行開發(fā)。采用Microsoft 公司提供的MicrosoftCommunications Control 串行通信編程的ActiveX 控件,封裝了完整的所需的API 函數(shù),為應(yīng)用程序提供了通過串行口收發(fā)數(shù)據(jù)的簡便方法。只

11、要設(shè)置Settings 屬性包括返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位、對應(yīng)串口等參數(shù)。然后設(shè)計(jì)對應(yīng)的事件處理,以達(dá)到目標(biāo)通信控制效果。程序主要開發(fā)對下位機(jī)發(fā)送的七條指令及Text 電機(jī)狀態(tài)顯示,實(shí)現(xiàn)上位機(jī)控制。4 系統(tǒng)仿真運(yùn)行效果及仿真分析對應(yīng)的單拍正轉(zhuǎn)、雙拍正轉(zhuǎn)、單雙拍正轉(zhuǎn)種情況下由虛擬示波器(OSCILLOSCOPE)采集的脈沖驅(qū)動信號,如圖3 所示。結(jié)合表1 的P1 口脈沖,剔除正常存在的毛刺與抖動,與實(shí)際驅(qū)動所需的對應(yīng)脈沖信號是完全吻合的。下位機(jī)在接收到單拍正轉(zhuǎn)對應(yīng)圖3(a)指令后步進(jìn)電機(jī)的相應(yīng)運(yùn)動過程,如圖4 所示。此處,虛擬步進(jìn)電機(jī)的虛擬步距角為90 度,圖中A、B、C、D 四相紅

12、代表高電平,藍(lán)代表低電平。圖3 與圖4 仿真過程記錄的信息,與實(shí)際設(shè)計(jì)程序控制預(yù)期運(yùn)行結(jié)果完全吻合,仿真效果明顯可信。如圖5 所示,下位機(jī)在運(yùn)行的條件下,上位機(jī)Option 單拍,單擊正轉(zhuǎn)按鈕,即上位機(jī)向下位機(jī)發(fā)送指令“1”。其中的virtualTerminal(虛擬終端),是Proteus 軟件的輔助分析工具,每次串口通信的指令將會被記錄下來。步進(jìn)電機(jī)會根據(jù)P1 的脈沖形式做對應(yīng)的運(yùn)動,Proteus 中LCD、上位機(jī)Text 正確顯示步進(jìn)電機(jī)運(yùn)動狀態(tài)。5 結(jié)束語提出了一種基于Proteus 的PC 機(jī)對步進(jìn)電機(jī)運(yùn)動控制仿真方法。所構(gòu)建的仿真系統(tǒng)能很好的實(shí)現(xiàn)PC 機(jī)對步進(jìn)電機(jī)的同步控制與狀態(tài)顯示整體過程,通過程序設(shè)計(jì)開發(fā)與仿真系統(tǒng)無縫連接,實(shí)現(xiàn)了程序所預(yù)期要求的控制過程,并給出了豐富的實(shí)驗(yàn)觀察接口,仿真實(shí)現(xiàn)了程序硬件調(diào)試、系統(tǒng)調(diào)試過程。成都嵌入式培訓(xù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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論