單片機(jī)驅(qū)動步進(jìn)電機(jī)電路及程序_第1頁
單片機(jī)驅(qū)動步進(jìn)電機(jī)電路及程序_第2頁
單片機(jī)驅(qū)動步進(jìn)電機(jī)電路及程序_第3頁
單片機(jī)驅(qū)動步進(jìn)電機(jī)電路及程序_第4頁
單片機(jī)驅(qū)動步進(jìn)電機(jī)電路及程序_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

9,1,第九章MCS-51單片機(jī)與步進(jìn)電機(jī)接口,特點:步進(jìn)電機(jī)能接受步進(jìn)脈沖的控制一步一步地旋轉(zhuǎn)。用途:步進(jìn)電機(jī)成了計算機(jī)應(yīng)用項目中的主要執(zhí)行元件之一,尤其在精確定位場合中得到了廣泛的應(yīng)用;內(nèi)容:簡述步進(jìn)電機(jī)的工作原理,討論它與單片機(jī)接口的電路以及應(yīng)用的方法。,9,2,91步進(jìn)電機(jī)簡述一、步進(jìn)電機(jī)原理步進(jìn)電機(jī)的轉(zhuǎn)子上均勻地分布著40個齒,齒間(齒距)夾角為9(360/40),定子上有6個大齒,相差180的兩個大齒組成一相,共有A、三相。每個大齒上有若干個與轉(zhuǎn)子上一樣的小齒。定子的每一相都有勵磁繞組。,9,3,二、步進(jìn)電機(jī)的運(yùn)行方式1三相三拍運(yùn)行方式(1)當(dāng)A相通電時,B相、相不通電:A相定子上的齒與轉(zhuǎn)子上的齒對齊(通電后磁場力作用的結(jié)果),迫使電機(jī)旋轉(zhuǎn)3B相定子上的齒順時針超前轉(zhuǎn)子上相應(yīng)的齒3C相定子上的齒順時針超前轉(zhuǎn)子上相應(yīng)的齒6,9,4,(2)當(dāng)B相接通電時,A相、C相不通電:B相齒對齊,電機(jī)旋轉(zhuǎn)3;C相超前3相超前(3)當(dāng)C相通電時,B相、A相不通電。C相齒對齊,電機(jī)旋轉(zhuǎn)3;A相超前3;相超前6,9,5,因此,如果定子A、B、C三相按ABCA的順序依次通電,則步進(jìn)電機(jī)將不斷地按順時針方向轉(zhuǎn)動。每一次通電轉(zhuǎn),每三次通電才走完一個齒距,因此叫三相三拍。每一次通電轉(zhuǎn)動的固定角叫步距角。顯然,三相三拍運(yùn)行時,步距角。,9,6,假如某次通電后,控制脈沖不再來,則電機(jī)轉(zhuǎn)子齒和某相對齊后就停止轉(zhuǎn)動,叫做位狀態(tài)。如果把順時針叫正轉(zhuǎn),那么當(dāng)通電順序按ACBA進(jìn)行時,則電機(jī)反時針旋轉(zhuǎn),叫反轉(zhuǎn)。可見控制步進(jìn)電機(jī)正轉(zhuǎn)反轉(zhuǎn)只是三相繞組通電順序不同而已。,9,7,2三相六拍運(yùn)行方式當(dāng)A相通電時,A相定子齒與轉(zhuǎn)子齒對齊,此后,如果讓A、B兩相同時通電,可以發(fā)現(xiàn)轉(zhuǎn)子轉(zhuǎn)動15。再讓A相斷電、B相通電,又可發(fā)現(xiàn)轉(zhuǎn)子再轉(zhuǎn)1.5。所以按照AABBBCCCAA的順序控制,電機(jī)將按順時針方向旋轉(zhuǎn),每步轉(zhuǎn)動15,即步距角=15,由于要經(jīng)過6步才走完一個齒距(615=9),所以叫三相六拍。,9,8,如果要使步進(jìn)電機(jī)反轉(zhuǎn),只要按AACCCBBBA順序通電就行了。結(jié)論:從上面兩種運(yùn)行方式可看出,錯齒是促使步進(jìn)電機(jī)旋轉(zhuǎn)的根本原因,當(dāng)某相通電,相應(yīng)的齒對齊,迫使電機(jī)旋轉(zhuǎn)一個步距角,未通電的各相的齒出現(xiàn)了新的錯位。改變通電的順序和通電的相數(shù),可組合出其它的運(yùn)行方式。討論:三項三拍和三項六拍運(yùn)行方式,哪種定位更精確?,9,9,三、步進(jìn)電機(jī)有如下特點:給步進(jìn)脈沖電機(jī)就轉(zhuǎn),不給步進(jìn)脈沖電機(jī)就不轉(zhuǎn);步進(jìn)脈沖頻率高,步進(jìn)電機(jī)轉(zhuǎn)得快;步進(jìn)脈沖頻率低,步進(jìn)電機(jī)轉(zhuǎn)得就慢;改變各相的通電方式(叫脈沖分配)可以改變步進(jìn)電機(jī)的運(yùn)行方式;改變通電順序,可以控制步進(jìn)電機(jī)的正、反轉(zhuǎn)。,9,10,92步進(jìn)電機(jī)與MCS-51單片機(jī)的接口步進(jìn)電機(jī)與單片機(jī)的連接一般有兩種形式一、由硬件完成脈沖分配的功能在這種形式里,脈沖分配器(CH250)、驅(qū)動電路由硬件完成。單片機(jī)只提供步進(jìn)脈沖和正、反轉(zhuǎn)控制信號,步進(jìn)脈沖的產(chǎn)生與停止、步進(jìn)脈沖的頻率和個數(shù)都可用軟件控制。,9,11,討論:單片機(jī)輸出步進(jìn)脈沖后,再由脈沖分配電路按事先確定的順序控制各相的通斷。一般來說,硬件一旦確定下來,不易更改,這種方案,硬設(shè)備成本高,它的應(yīng)用受到了限制。怎樣用軟件產(chǎn)生步進(jìn)脈沖呢?所謂軟件產(chǎn)生就是用軟件控制P30為1或為0的次序和長短。如果先令P30=1,延時一段時間,再令P3.00,再延時一段時間后,又令P30=1,如此循環(huán),就可構(gòu)成脈沖序列。延時時間的長短決定了脈沖序列的周期,而脈沖序列的周期又與步進(jìn)電機(jī)的步矩有關(guān)。下面提供了一個產(chǎn)生步進(jìn)脈沖的子程序。,9,12,SUB:SETBP30SETBP30;保證輸出高電平的時間5sSETBP30CLRP30;變?yōu)榈碗娖組OVR7,30HLOOP:NOP;軟件延時程序:NOP;基本延時(10s時間常數(shù))NOPDJNZR7,LOOPRET時間常數(shù)事先可裝入30H單元,改變30H單元的內(nèi)容就可改變延時長短P3.0輸出脈沖波形,9,13,2由軟件完成脈沖分配工作特點:由軟件完成脈沖分配工作,不僅使線路簡化,成本下降,而且可根據(jù)應(yīng)用系統(tǒng)的需要,靈活地改變步進(jìn)電機(jī)的控制方案。硬件的主要任務(wù)是完成驅(qū)動功能。如圖單片機(jī)直接帶動步進(jìn)電機(jī)的一種接口方案,接口并不復(fù)雜,單片機(jī)P1的低三位被設(shè)成輸出位,P10控制A相繞組通斷,P11控制B相,P12控制C相。,9,14,以A相控制為例:當(dāng)P10輸出為1,發(fā)光管不發(fā)光,因此光敏二極管截止,使擔(dān)負(fù)驅(qū)動任務(wù)的達(dá)林頓管導(dǎo)通。A相繞組通電。相反,當(dāng)P100發(fā)光管發(fā)光光敏管導(dǎo)通達(dá)林頓管截止A相繞組不通電。,9,15,為什么步進(jìn)電機(jī)功率驅(qū)動電路采用光電隔離?步進(jìn)電機(jī)功率驅(qū)動電路工作在較大脈沖電流狀態(tài),采用光電耦合器將單片機(jī)與步機(jī)電機(jī)隔離可以避免單片機(jī)與步進(jìn)電機(jī)功率回路的共地干擾,此外,萬一驅(qū)動電路發(fā)生故障。也不致讓功放中較高的電壓串入單片機(jī)而使其損壞。怎樣用軟件完成脈沖分配呢?所謂脈沖分配就是用軟件改變P1口低三位的輸出值,進(jìn)而達(dá)到控制三相繞組的通電順序和通電方式之目的。,9,16,1、軟件選擇單三拍的工作方式單三拍的通電方式為ABCA,要想達(dá)到這個目的,只需依次向P1口輸出如下控制字:P1.2P11P10編碼(C相)(B相)(A相)001(01H)A相通,B、C相斷010(02H)B相通,A、C相斷100(04H)C相通,A、B相斷,9,17,在控制字間也應(yīng)加入軟件延時來保證一定的時間間隔。假定要求時間間隔為1ms,控制電機(jī)按三相三拍正轉(zhuǎn)的程序是:ZHEN:MOVP1,01H;A相通電ACALLD1MSMOVP1,02H;B相通電ACALLD1MSMOVP1,40H;C相通電ACALLD1MSRETD1MS:MOVR7,64H;延時1ms子程序D1MS1:NOP;2sNOP;2sNOP;2sDJNZR7,D1MSl;4sRET,9,18,要想控制步進(jìn)電機(jī)反轉(zhuǎn),只需把輸出的控制字的次序按:01H(A)04H(C)02H(B)01H(A)組合即可。反轉(zhuǎn)程序如下:FAN:MOVP1,01H;A相通電ACALLD1MSMOVP1,04H;C相通電ACALLD1MSMOVP1,02H;B相通電ACALLD1MS,9,19,2、軟件選擇三相六拍的工作方式不難推出與三相六拍相對應(yīng)的控制字為P12P11P10(C相)(B相)(A相)控制編碼導(dǎo)通情況001(01H)A相通電011(03H)AB相通電010(02H)B相通電110(06H)BC相通電100(04H)C相通電101(05H)CA相通電,9,20,如果按:001101100110010011001ACACCBBBAA的次序輸出,就可達(dá)到反轉(zhuǎn)的目的。練習(xí)1仿照三相三拍的辦法編出反轉(zhuǎn)控制子程序。,9,21,FAN:MOVP1,01H;A相通電ACALLD1MSMOVP1,05H;CA相通電ACALLD1MSMOVP1,04H;C相通電ACALLD1MSMOVP1,06H;CB相通電ACALLD1MSMOVP1,02H;B相通電ACALLD1MSMOVP1,03H;BA相通電ACALLD1MSRET,9,22,9.3應(yīng)用舉例機(jī)械手的微機(jī)控制隨著科學(xué)技術(shù)的進(jìn)步、工業(yè)自動化的進(jìn)程,機(jī)械手將進(jìn)一步取代簡單而笨重的人工操作,逐步把在惡劣環(huán)境下工作的人們解放出來,這對于改善人們的工作條件、提高工作效率,具有一定的現(xiàn)實意義。本例系存取郵件機(jī)械手的控制,在郵政部門和立體倉庫中作自動存職包裹和貨物之用。,9,23,一、工作原理通過鍵盤,將貨位(或包位)代碼輸入微機(jī),啟動存(或?。┟铈I,機(jī)械手即可在微機(jī)的控制下,作X、Y、Z三個方向的運(yùn)動,完成存(或?。┌僮???刂圃砣鐖D所示。系統(tǒng)主要包括微機(jī)控制、步進(jìn)電機(jī)控制、機(jī)械傳動系統(tǒng)、光控音樂電路、工作電源、貨架和柜臺等七部分組成。微機(jī)根據(jù)鍵入的貨物代碼,產(chǎn)生相應(yīng)的脈沖信號,經(jīng)CH250脈沖分配器和驅(qū)動電路,輸出具有一定功率的脈沖,驅(qū)動有關(guān)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)及其步數(shù),從而實現(xiàn)貨物的存取。機(jī)械手行進(jìn)中,光控音樂電路驅(qū)動蜂嗚器發(fā)出樂曲,從而增強(qiáng)了工作的節(jié)奏、控制的旋律。,9,24,二、系統(tǒng)組成1、硬件設(shè)計如圖是機(jī)械手微機(jī)控制系統(tǒng)硬件電路。本系統(tǒng)選用MCS-51系列中的8031芯片,擴(kuò)展了一片2732,以存放用戶程序。由于隨機(jī)存儲的數(shù)據(jù)不多,只利用片內(nèi)RAM。采用兩位LED顯示器和28鍵盤,P35、P36和P37分別輸出X、Y、和Z方向的控制脈沖,P16和P1.7分別用來控制步進(jìn)電機(jī)的正/反轉(zhuǎn)和產(chǎn)生復(fù)位信號。,9,25,2、機(jī)械傳動部分機(jī)械傳動部分包括導(dǎo)軌、小車、升降盤和機(jī)械手等部分。水平方向位移步進(jìn)電機(jī)MX調(diào)通過滑輪和傳送帶,使小車在導(dǎo)軌上運(yùn)動,實現(xiàn)X方向上的位移。垂直方向升降作調(diào)方向運(yùn)動的小車上裝有一豎直的六棱金屬桿,升降盤套于桿上,桿的頂部裝有一定滑輪并配有平衡錘。固定于小車上的步進(jìn)電機(jī)MY帶動升降盤,實現(xiàn)Y方向上的位移。,9,26,機(jī)械手動作機(jī)械手裝升降盤上,如圖所示。圖中A點固定,步進(jìn)電機(jī)MZ帶動B點,改變A、B間的較小距離,使得機(jī)械手移動較大距離。貨架貨架分三層,每層有4個包位,共計12個包位。圖中數(shù)字為包位編碼,編碼的個位數(shù)表示X位置,十位數(shù)表示Y位置(層數(shù)),以供計算機(jī)查訊、判斷之用。,9,27,本例采用SB-2A型步進(jìn)電機(jī),它工作于三相六拍的工作方式。電機(jī)按順時針方向旋轉(zhuǎn)(即正轉(zhuǎn))時,各相脈沖順序為:A=1A=1,B=1B=1B,C=1C=1C=1,A=1電機(jī)按逆時針方向旋轉(zhuǎn)(即反轉(zhuǎn))時,各相脈沖順序為:A=1A=1,C=1C=1C=1,B=1B=1B=1,A=1,9,28,三、程序設(shè)計系統(tǒng)軟件包括:主程序、取包程序、存包程序、貨位判斷程序、X、Y方向運(yùn)動和機(jī)械手動作子程序等。(1)程序流程圖限于篇幅,只給出主要流程圖。,9,29,2、脈沖序列的生成程序?qū)τ诓竭M(jìn)電機(jī)的控制,實際上是控制步進(jìn)脈沖的個數(shù)和步進(jìn)脈沖的間隔,而步進(jìn)電機(jī)的間隔又可轉(zhuǎn)化為某基準(zhǔn)延時子程序的循環(huán)次數(shù)。因此,可以很方便地用軟件來控制步進(jìn)電機(jī)的運(yùn)行,達(dá)到各種控制目的。,9,30,2、貨位判斷程序如圖是貨位判斷程序流程圖。功能:根據(jù)鍵入的貨位編碼判斷貨位,以確定X、Y方向所需要的脈沖數(shù)。,9,31,主程序功能:管理鍵盤和顯示以及有關(guān)控制。無鍵按下或執(zhí)行有關(guān)命令后,顯示提示符“-”(2)程序清單ORG0000HAJMPMAINMAIN:MOVSP,#60HSUN:SETBP3.5SETBP3.6SETBP3.7CLRP1.6CLRP1.7MOVR0,#40HMOVA,#12H;字符“-”ML0:MOVR0,A;的編碼INCR0CJNER0,#42H,ML0,9,32,SETBP1.7;復(fù)位信號;鍵輸入/顯示/鍵判斷F6H-特殊數(shù)據(jù)R3-鍵號暫存器ML1:ACALLDIRACALLKEYADDA,0F6H;鍵號+F6用于數(shù)字/功能鍵的判斷JCSUN1;功能鍵轉(zhuǎn)移至SUN1MOV41H,40H;數(shù)字鍵號送顯示緩沖區(qū)MOVR0,40HMOVR3,AANLA,0FH;保留低四位MOVR0,AAJMPML1,9,33,功能鍵處理程序(A、B、C鍵)SUN1:MOVA,R3;CJNEA,0AH,SUN2AJMPQBCXSUN2:CJNEA,0BH,SUN3AJMPCBCXSUN3:CJNEA,0CH,ML1AJMPSUN,9,34,鍵盤子程序P1口-P1.6正/反轉(zhuǎn)P1.7復(fù)位P3口-P3.3P3.4鍵盤行輸入口R3-列掃描寄存器初值FEHR4-列號計數(shù)器SBUF-發(fā)送緩沖器發(fā)送列掃描信號KEY:ACALLKS1JNZLK1NI:ACALLDIRAJMPKEYLK1:ACALLDIRACALLDIRACALLKS1JNZLK2AJMPNILK2:MOVP1,00HMOVR3,0FEHMOVR4,00HLK4:MOVSBUF,R3,9,35,MOVR6,05H;延時等待發(fā)送DK6:DJNZR6,DK6JBP33LONEMOVA,00HAJMPLKPLONE:JBP34,NEXTMOVA,08HLKP:ADDA,R4PUSHACCLK3:ACALLDIR;僅做一次處理ACALLKS1JNZLK3POPACC;取鍵值于ACCRET,9,36,NEXT:INCR4MOVA,R3JNBACC.7,KEDRLAMOVR3,AAJMPLK4KED:AJMPKEY判斷鍵盤有無鍵按下子程序無鍵按下A=00HKS1:MOVSBUF,00HMOVR6,05HDS6:DJNZR6,DS6MOVA,P3CPLAANLA,18HRET,9,37,顯示子程序P1口-LED位掃描輸出口R2-位掃描寄存器初值為01HSBUF-LED段碼發(fā)送緩沖器DIR:PUSHPSWSETBPSW,4MOVR0,40HMOVR2,01HD1:MOVP1,R2MOVA,R0ADDA,14HMOVCA,A+PCMOVSBUF,AMOVR7,02HD2:MOVR6,0FFHD3:DJNZR6,D3DJNZR7,D2,9,38,INCR0MOVA,R2RLAMOVR2,AJNBACC.2,D1POPPSWRETDB3FH,06H,5BH,4FHDB66H,60H,70H,07HDB7FH,6rH,77H,7CHDB39H,5EH,79H,71HDB31H,6EH,40H,23HDB00H,9,39,延時子程序YSH:PUSHPSWSETBPSW.3MOVR0,0FFHSH:MOVR1,0FFHSH0:DJNZR1,#H0DJNZR0,SHPOPPSWRET,9,40,機(jī)械手控制示意圖,9,41,取包子程序P1.6-正/反轉(zhuǎn)控制30H、31H步進(jìn)脈沖暫存器(X方向)QBCX:SETBP1.6;正轉(zhuǎn)MOV30H,04H;X0固定脈沖數(shù)MOV31H,0D8HACALLXYXC;調(diào)用X方向運(yùn)行子程序ACALLCSHC;調(diào)用測試子程序MOV30H,33H;X方向列脈沖數(shù)MOV31H,34H;送30H、31H單元ACALLXYXC;調(diào)用X方向運(yùn)行子程序MOV30H,35H;Y方向行脈沖數(shù)MOV31H,36H;送30H、31H單元ACALLYYXC;調(diào)用Y方向運(yùn)行子程序ACALLQWZC;調(diào)用取物子程序CLRP1.6;反轉(zhuǎn),9,42,MOV30H,35HMOV31H,36HACALLYYXC;調(diào)用Y方向運(yùn)行子程序MOV30H,33HMOV31H,34HACALLXYXC;調(diào)用X方向運(yùn)行子程序MOV30H,04H;X0固定脈沖數(shù)MOV31H,#0D8HACALLXYXC;調(diào)用X方向運(yùn)行子程序ACALLFWZC;調(diào)用放物子程序AJMPSUN,9,43,存包子程序P.6-正/反轉(zhuǎn)控制30H、31H步進(jìn)脈沖暫存器(X方向)33H、34H-35H、36HCBCX:ACALLQWZCSETBP16MOV30H,04H;X0固定脈沖數(shù)MOV31H,0D8H;ACALLXYXCACALLCSHCMOV30H,33HMOV31H,34HACALLXYXCMOV30H,35HMOV31H,36HACALLYYXCACALLFWZCCLRP16,9,44,MOV30H,35HMOV31H,36HACALLYYXCMOV30H,33HMOV31H,34HACALLXYXCMOV31H,04HMOV31H,0D8HACALLXYXCAJMPSUN,9,45,X方向運(yùn)行程序P35脈沖信號輸出線-控制MX電機(jī)XYXC:PU3HPSWSETBPSW.4MOVR0,30HABC0:MOVR1,31HABC1:CLRP35ACALLYSHSETBP35ACALLYSHDJNZR1,ABC1DJNZR1,ABC0POPPSWRET,9,46,Y方向運(yùn)行程序P36脈沖信號輸出線-控制MY電機(jī)YYXC:PUSHPSWSETBPSW.4MOVR0,30HADC2:MOVR1,31HADC3:CLRP36ACALLYSHSETBP36ACALLYSHDJNZR1,ADC3DJNZR0,ADC2POPPSWRET,9,47,取物子程序P1.6正/反轉(zhuǎn)P36Y方向脈沖輸出(40H)P3.7Z方向脈沖輸出(66H)QWZC:PUSHPSWSETBPSW.4SETBP1.6MOVR0,66HABC4:CLRP3.7ACALLYSHSETBP37ACALLYSHDJNZR0,ADC4MOVR0,40HABC5:CLRP36ACALLYSHSETBP3.6ACALLYSHDJNZR0,ABC5,9,48,CLRP16MOVR0,66HABC6:CLRP37ACALLYSHSETBP37ACALLYSHDJNZR0,ABC6MOVR0,40HABC7:CLRP36ACALLYSHSETBP36ACALLYSHDJNZR0,ABC7POPPSWRET,9,49,放物子程序P1.6正/反轉(zhuǎn)P36Y方向脈沖輸出(40H)P3.7Z方向脈沖輸出(66H)FWZC:PUSHPSWSETBPSW.4SETBP16MOVR0,40HABC8:CLRP36ACALLYSHSETBP36ACALLYSHDJNZR0,ADC8,9,50,MOVR0,66HABC9:CLRP37ACALLYSHDJNZR0,ABC9CLRP16MOVR0,40HABC10:CLRP36ACALLYSHSETBP36ACALLYSHDJNZR0,ADC10,9,51,MOVR0,66HABC11:CLRP37ACALLYSHSETBP37ACALLYSHDJNZR0,ADC11POPPSWRET,9,52,測試子程序41H貨位列號暫存單元40H貨位層號暫存單元41H40H33H04H03H02H01H35H05H03H0

溫馨提示

  • 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

提交評論