課程設計任務書
設計題目:微機步進電機控制系統設計
設計目的:
1.鞏固和加深課堂所學知識;
2.學習掌握一般的軟硬體的設計方法和查閱、運用資料的能力;
3.通過步進電機控制系統設計與製作,深入了解與掌握步進電機的執行方式、方向、速度、啟/停的控制。
設計任務及要求:(在規定的時間內完成下列任務)
任務:控制四相步進電機按雙八拍的執行方式執行。按下開關sw1時啟動步進電機,按esc鍵停止工作。採用迴圈查表法,用軟體來實現脈衝迴圈分配器的功能對步進電機繞組輪流加電。
要求對題目進行功能分析(四項功能:快速順時針旋轉,慢速順時針旋轉,快速逆時針旋轉和慢速逆時針旋轉),進行步進電機遠端控制系統硬體電路設計,畫出電路原理圖、元器件佈線圖、實驗電路圖;繪製程式流程圖,進行步進電機控制程式設計(採用8086組合語言);系統除錯、執行,提交乙個滿足上述要求的步進電機控制系統設計。
時間安排:(部分時間,某些工作可以自己安排重疊進行)
具體要求:設計報告撰寫格式要求(按提供的設計報告統一格式撰寫),
具體內容如下:
①設計任務與要求②總體方案與說明
③硬體原理圖與說明④ 實驗電路圖與說明
⑤軟體主要模組流程圖
⑥源程式清單與注釋
⑦問題分析與解決方案(包括調式記錄、調式報告,即在調式過程中遇到的主要問題、解決方法及改進設想);
⑧ 小結與體會
附錄:① 源程式(必須有簡單注釋)② 使用說明 ③參考資料
指導教師簽名08年12月01日
教研室主任(或責任教師)簽名:年月日
微機步進電機控制系統設計
步進電機是一種將電脈衝訊號轉換成相應的角位移和線位移的電磁機械裝置,是一種輸出與輸入數字脈衝對應的增量驅動元件。
步進電機具有快速啟動和停止的能力,它的步矩角和轉速不受電壓波動和負載變化的影響,也不受環境條件如:溫度、氣壓、衝擊和振動等影響,僅與脈衝頻率有關。它每轉一周都有固定的步數,在不丟失步的情況下執行,其步矩誤差不會長期累積。
正因為步進電機具有快速啟動、精確步進以及能直接接收數字量的特點,所以在定位場合中得到了廣泛的應用。隨著微機的發展,步進電機的使用領域將更加廣闊。
任務:控制四相步進電機按雙八拍的執行方式執行。將開關k2置高電平時啟動步進電機,將k2鍵置低電平時,停止工作。
步進電機的加電採用迴圈查表法,用軟體來實現脈衝迴圈分配器的功能對步進電機繞組輪流加電。
要求:要使電機能通過控制實現四項功能:快速順時針旋轉,慢速順時針旋轉,快速逆時針旋轉和慢速逆時針旋轉,進行步進電機控制系統硬體電路設計,畫出電路原理圖、元器件佈線圖、實驗電路圖;繪製程式流程圖,進行步進電機控制程式設計(採用組合語言)。
硬體:唐都tdn86/88實驗平台、pc機一台
開發語言:組合語言
步進電機是將電脈衝訊號轉換成角位移的一種機電式數模轉換器。其旋轉的角位移與輸入脈衝的個數成正比;轉速與輸入脈衝的頻率成正比;轉動方向和輸入脈衝對繞組加電的順序有關。因此,步進電機旋轉的角度位移、轉速以及方向均受輸入脈衝的控制。
步進電機在系統中是一種執行元件,都要帶負載,因此需要功率驅動。在電子裝置中,一般所需功率較小,常採用達林復合管作功率驅動。驅動原理如圖2.1所示。
圖2.1 步進電機驅動原理圖
步進電機介面的硬體部分主要是提供輸送相序**的並行資料線(8根),以及保護電機繞組的器件,所以介面電路以8255a為主晶元,將pa口作資料口,傳送加電**,再加上鎖存器74ls373作繞組保護。另外,還有功率驅動管tip122,以及二極體、開關k0、k1、k2。
本實驗採用a口作為控制口,b口作為輸出口,pa0、pa1、pa2分別接開關的k0、k1、k2,pb0、pb1、pb2、pb3分別接motor unit的abcd。微機步進電機控制系統原理圖如圖2.2所示。
圖2.2 微機步進電機控制系統原理圖
步進電機的執行方式是指各相繞組迴圈輪流通電的方式。本次設計採用的是雙八拍,即ab→abc→bc→bcd→cd→cda→da→dab 步進電機的執行方式及方向控制採用
迴圈查表法。迴圈查表法是將各繞組加電順序的控制**編製成一張步進電機相序表(如表2.1所示),存放在記憶體區,在設定乙個位址指標。
表 2.1 步進電機相序表
k0——控制步進電機旋轉速度的快慢,k0=0 表示慢轉,k0=1表示快轉;
k1——控制步進電機旋轉方向,k1=0表示正轉,k1=1表示反轉;
k2——控制步進電機的啟/停,k2=0表示停,k2=1表示啟動。
圖2.3微機步進電機控制系統設計流程圖
本電路的設計是利用8255a的a口作為輸入口,b口作為輸出,c口沒有用到。pa0~~pa2分別用來控制步進電機的開啟/停止、正反向、快慢轉。pb0~~pb3作為輸出口,分別接步進電機的abcd埠,輸出相序表中的加電編碼,從而使步進電機可以開始運轉。
具體的接線如圖3.1所示:
圖3.1 微機步進電機控制系統連線圖
實現步進電機執行方式、方向和速度以及啟/停的控制,是介面軟體設計的主要任務。為此,在編寫程式之前,要建立乙個相序表。相序表的建立應根據步進電機執行方式的要求及各繞組與8255a埠連線情況來確定加電**。
根據上圖的連線情況,可以寫出相序表中雙八拍執行方式的加電**為:03h,07h,06h,0eh,0ch,0dh,09h,0bh。
在8259初始化完畢後,取出相序表的首位址,將其存如bx。當要求步行電機正轉時,首位址進行加1操作。在次過程中要檢查指標是否指到末位址。
若是,指標減7,回到首位址,如此迴圈。當要求反轉時,將首位址進行加7操作到達末位址,在進行減1操作,在次過程找要檢查指標是否到達首位址。如是,則將指標加7回到末位址。
根據設計流程圖,軟體設計部分將本系統分為6個子程式,分別是正向慢轉子程式、正向快轉子程式、反向慢轉子程式、反向快轉子程式、長延時子程式、短延時子程式。
zm:mov al,[bx]
cmp al,0bh檢查是不是最後乙個加電**
jnz xh1
sub bx,8
xh1:inc bx指標作加1運算,及實現向後移動
mov al,[bx]
out 61h,al從b口輸出
call delay1呼叫長延時
jmp a1
zk:mov al,[bx]
cmp al,0bh
jnz xh2
sub bx,8
xh2: inc bx
mov al,[bx]
out 61h,al
call delay2呼叫短延時
jmp a1
fm:mov al,[bx]
cmp al,03h檢查是不是第乙個加電碼
jnz fxh1
add bx,8 。若是第乙個加電碼,則指標加8跳到最後乙個加電碼
fxh1:dec bx指標減1,實現向前移動
mov al,[bx]
out 61h,al
call delay1呼叫長延時子程式
jmp a1
fm:mov al,[bx]
cmp al,03h檢查是不是第乙個加電碼
jnz fxh1
add bx,8 。若是第乙個加電碼,則指標加8跳到最後乙個加電碼
fxh1:dec bx指標減1,實現向前移動
mov al,[bx]
out 61h,al
call delay2呼叫短延時子程式
jmp a1
delay1:push cx
mov cx,0e300h 。通過修改cx的值來提高旋轉的速度
add1: push ax
pop ax
loop add1
pop cx
retdelay2:push cx
mov cx,06300h 。 cx的值就為迴圈的次數,通過迴圈來達到延時
add2: push ax
pop ax
loop add2
pop cx
ret 在剛開始,從網上找了乙個程式,執行之後,步進電機能夠按照需求運轉,但是後來同學提醒實現單步執行,這個時候就出現了問題,當要步進點選停止時, moto union 的指示燈總是停在相同的位置,而且單步執行時的燈的順序並不是按照相序表來變化的,僅僅電機能轉而已,所以最後捨棄了這個程式,開始自己寫。
首先就是要讓步進電機轉起來,轉起來的前提就是要讀去相序表,在這個過程中,我一直採用的是單步執行方式,在單步執行時,能夠順利的讀取相序表,但是當我執行時,就出現了問題,因為當讀到最後乙個時,不能返回來,每次只能順序讀一次。最後和同學討論,得到了解決方法,在正轉時,每次都判斷是不是到了最後乙個加電碼,如果是,則指標減8(因為正轉時,每次指標都要加1),這樣就又回到了首位址了。
PLC步進電機控制系統設計
蘇州市職業大學 實習 實訓 報告 課程名稱 plc應用技術專案實訓 專案名稱步進電機控制系統設計 2014年05月26日至2014年05月30日共 1 周 學院 部 電子資訊工程 班級 12電氣 3 姓名學號 學院 部 負責人 系主任指導教師 本次實訓的實訓任務是用plc控制步進電機的正反轉執行。自...
步進電機控制方案設計及實現
步進電機是一種將電脈衝訊號轉變為角位移或線位移的開環控制原件。電動機的轉速和停止的位置取決於脈衝訊號的頻率和脈衝數,即給電機加乙個脈衝訊號,電動機則轉過乙個步距角。這一線性關係的存在,加上步進電機只有週期性的誤差而無累積誤差等特點,使得速度 位置等控制領域用步進電機來控制變得非常方便。步進電機發展 ...
步進式加熱爐控制系統設計
班級 測控技術與儀器083班 姓名 高翔 學號 089064081 設計日期 2011年12月22至2012年1月2號 設計地點 安徽工業大學東校區 小組成員 安健高翔吳正偉張長帥嚴言 目錄第一部分 步進式加熱爐 1.步進式加熱爐簡介3 2.步進式加熱爐結構4 3.步進式加熱爐工藝流程5 第二部分 ...