<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PIC單片機之步進電機的工作原理及使用方法

2oON_changxuemc ? 來源:暢學單片機 ? 2020-05-14 09:31 ? 次閱讀

大家好, 通過前一期的學習, 我們已經對ICD2 仿真燒寫器和增強型PIC 實驗板的使用方法及學習方式有所了解與熟悉,學會了如何用單片機來控制發光管、繼電器、蜂鳴器、按鍵、數碼管、RS232 串口等資源,體會到了學習板的易用性與易學性,看了前幾期實例,當你實驗成功后一定很興奮,很有成就感吧!現在我們就趁熱打鐵,再向上跨一步,一起來學習一下步進電機工作原理及使用方法,這是我們用單片機來控制機械進行運動的開始。

步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機就按設定的方向轉動一個固定的角度(步距角)。通過控制脈沖個數來控制角位移量,可以達到準確定位;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,達到調速的目的;可以通過改變各相的通電順序,控制步進電動機的轉動方向。

步進電機的特點

1、步進電動機的角位移與輸入脈沖嚴格成正比,因此,它沒有累計誤差,具有良好的跟隨性。

2、步進電動機的動態響應快,易于啟停、正反轉及變速。

3、速度可在相當寬的范圍內平滑調節,低速下仍能保證獲得較大轉矩,因此,一般可以不用減速裝置而直接驅動負載。

4、步進電動機只能通過脈沖電源供電才能運行,它不能直接使用交流電源和直流電源。

那我們該如何來控制步進電機轉動呢?直流電機我們只要在電機兩極加上電壓,電機馬上轉動,但步進電機并非這樣,它是數字控制方式,它將電脈沖信號轉變成角位移,即給一個脈沖信號,步進電動機就轉動一個角度,因此非常適合單片機的控制。

一般一個完整的步進電機控制系統包括控制器、驅動器、電機三部分??驁D如圖1 所示:

圖1 步進電機控制系統

現在,我們以反應式步進電機為例,介紹其基本原理與應用方法。反應式步進電機可實現大轉矩輸出,步進角一般為1.5 度。反應式步進電機的轉子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁極的變化產生轉矩。常用小型步進電機的實物如圖2 所示,該步進電機可以直接與我們的增強型PIC 實驗板相連,完成步進電機控制實驗。

圖2 步進電機實物圖

步進電機的勵磁方式。

步進電機的勵磁方式一般分為1 相勵磁、2 相勵磁、1-2 相勵磁。

1 相勵磁時,步進電動機按方式循環通電,每次只對一相通電,磁場旋轉一周需要換相4 次,轉子轉動一個齒距角。其通電方式最為簡單,轉矩最小。勵磁方式見表1。

表1 1相勵磁方式

2 相勵磁時,每次對兩相同時通電,磁場旋轉一周需要換相4 次,轉子轉動一個齒距角。在雙三拍工作方式中,步進電動機正轉的通電順序為:;反轉的通電順序為:

。雙三拍工作方式的優點是:

可產生較大的轉矩,不易產生失步。勵磁方式見表2。

表2 2相勵磁方式

1-2 相勵磁是1 相勵磁和2 相勵磁交替使用的方法。磁場旋轉一周需要換相8 次,轉子才轉過一個步距角,屬于半步的方式,也就是說1-2 相勵磁時的步距角比前兩種方式的步距角小一半,所以步進精度提高了一倍。1-2 相勵磁方式見表3。

表3 1-2相勵磁方式

步進電機應用驅動電路

步進電機的驅動電路有單極性直流驅動和H 橋驅動兩種,本例的小型步進電機,采用最簡單的單極性直流驅動電路,目的在于驗證步進電機的使用,在正式工業控制一般較之復雜。簡單驅動電路如圖3所示。

圖3 步進電機的單極性直流驅動電路

在實際應用中一般驅動路數不止一路,用圖3的分立電路體積大,各路參數一致性難以保障。最好用現成的集成電路作為多路驅動。常用的小型步進電機驅動電路可以用ULN2003 或ULN2803。我們的實驗板上用的是ULN2003。ULN2003 是高壓電流達林頓晶體管陣列系列產品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅動的系統。

ULN2003A 由7 組達林頓晶體管陣列和相應的電阻網絡以及鉗位二極管網絡構成本例實際只用其中4組。ULN2003 內部結構如圖4 所示,達林頓晶體管等效電路圖如圖5 所示。

圖4 ULN2003內部結構圖

圖5 達林頓晶體管等效電路圖

ULN2003A 型高壓大電流達林頓晶體管陣列電路的典型應用電路框圖如圖6 所示。鉗位二極管用于保護線圈通斷時的反電動勢擊穿集成電路,可以看出,應用ULN2003 后電路比分立元件簡潔得多。

通過前文的原理介紹,我們已經對步進電機的特性以及工作原理有了大致地了解,但當我們拿到一個步進電機時要正確地應用它還是一時不知如何下手,比如我們現在要控制電機正轉、反轉、高速運轉、低速運轉時,需要怎么辦呢?要控制步進電機進行正反轉,已不是像直流電機這么簡單,在電機兩端加上正反相電源就可以了,而是通過輸出不同規律的“正反轉”時序脈沖來實現控制?,F在,我們來一起看一下如何進行步進電機正反轉以及轉動速度的控制,通過一個實例,相信會給大家帶來一個感性的認識。

首先,我們來看一下增強型PIC 實驗板上的步進電機控制電路,因為我們需要將軟件和硬件相結合進行考慮如何來編程。步進電機控制部分的電路原理圖如圖7 所示。PIC 單片機的RD0~RD3 為電機脈沖輸出引腳,通過ULN2003 集成芯片來驅動小型步進電機,我們只要將步進電機的插頭,直接插在板子J3 插座處即可。跳線J4 為我們為實驗板設計的步進電機智能供電跳線,這樣實驗板可以適用于不同工作電壓的步進電機,當跳線跳到VCC 這端,則給步進電機提供VCC +5V 的電源,我們現在做實驗使用的步進電機工作電壓是5V 的,所以我們跳線設置到VCC 這一端即可,如果用戶使用自己的步進電機電壓不是5V 的,那可以將跳線跳到VIN 這一端,即用戶外部接入電源提供給步進電機工作電壓。

對于單片機軟件的編程,我們使用MPLab IDE軟件來進行C 語言編程,它是我們的編程環境,同時我們可以通過使用ICD2 仿真燒寫器和增強型PIC實驗板連接進行程序的仿真調試和燒寫步驟,具體的操作步驟,我們已經在前幾期做了詳細的說明和介紹,在此就不再重復說明,讀者朋友可以參閱以前的文章或直接登陸我們的網站查看資料?,F在我們可以輸入程序代碼進行調試了,我們在MPLabIDE 軟件中新建工程,加入源程序代碼,同時進行芯片型號的選擇和配置位的設置,我們實驗所用的芯片型號為PIC16F877A。編寫的程序代碼如下:

/* 步進電機演示程序 */

#include

#define key RB0

void delay(void)

{

int k;

for(k=0;k<2000;k++);

}

void main()

{

TRISD=0x00; // 設置RD 為輸出口

TRISB=0xFE;

// 設置RB0 為輸出口,RB1~RB7 為輸入口

PORTD=0x00; // 初始化RD 輸出低電平

key=1; // 設置按鍵為輸入狀態

while(1) // 主循環

{

if(key==1) // 如果沒有鍵按下則電機正轉

{

PORTD=0xFC; //1100

delay();

PORTD=0xF6; //0110

delay();

PORTD=0xF3; //0011

delay();

PORTD=0xF9; //1001

delay();

}

else // 如果有鍵按下則電機反轉

{

PORTD=0xFC; //1100

delay();

PORTD=0xF9; //1001

delay();

PORTD=0xF3; //0011

delay();

PORTD=0xF6; //0110

delay();

}

}

}

編好程序后,讀者朋友可以將編譯好的HEX通過ICD2 仿真燒寫器燒入單片機芯片,然后插上步進電機,上電運行,如圖8 所示。這時我們可以看到步進電機已經開始正轉起來,如果我們這時按下K2 按鍵,則步進電機開始反轉,如果釋放了K2按鍵,那么步進電機仍然繼續正轉,從而實現了步進電機正反轉的控制。

圖8 步進電機與增強型PIC實驗板進行連接

前面,我們輸入了這么長一段程序后,作為初學者的讀者一定對有些語句會有點疑問,下面我們就來一起結果實際,看一下一些關鍵程序語句的作用。

#include 語句用來加載PIC 庫文件,#define key RB0 這條語句將RB0 宏定義為key,void delay () 是延時函數,步進電機在輸出正反轉時序時進行延時,如要調整步進電機的轉動速度,我們只要調速這個延時函數的延時值即可。TRISD、TRISB 相關的語句用來設置RD、RB 口的輸入、輸出狀態,在此我們設置RD 為輸出口,用來給步進電機輸出時序使用,RB 口中的RB0 設置為輸入口,因為該口是我們實驗板上的按鍵,按鍵是輸入設備。然后賦值key=1,即把RB0 初值設置為1,當沒有按鍵按下時,RB0 的值為1,當按鍵被按下時,RB0 的值為0, while(1) 是死循環語句,即周而復始地執行{ } 內的語句體,我們在死循環體內不停地判斷key 這個變量,如果按鍵有沒有被按下,key 為1,同時我們在單片機RD 口輸出步進電機正轉的時序表,分別輸出 1100 、0110、 0011、 1001 這些信號,每串信號之間用delay 函數進行延時,該延時值不能太快,否則步進電機會無法響應,具體設置多少合適,讀者朋友可以通過ICD2 在線調試時,修改延時值來進行實際測試,觀察步進電機的工作狀態,從而實現了步進電機的速度控制;同理,如果按鍵被按下時,key 為0,同時我們在單片機RD 口輸出步進電機反轉的時序表,分別輸出 1100 、1001、0011、 0110 這些信號,可以發現步進電機進行了反轉運動。

看到這里,相信你現在已經可以對步進電機進行基本控制了,步進電機的原理與使用我們講到這里,接下來幾期,我們將繼續一起學習增強型PIC實驗板的其它各部分資源的原理與使用,使你對單片機應用的各方面知識都有所入門與提高。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6008

    文章

    44087

    瀏覽量

    623140
  • PIC
    PIC
    +關注

    關注

    8

    文章

    506

    瀏覽量

    86891
  • 步進電機
    +關注

    關注

    149

    文章

    2945

    瀏覽量

    146334

原文標題:PIC單片機之步進電機

文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BLDC電機工作原理使用方法

    自動化系統,BLDC電機的身影無處不在。本文將詳細探討BLDC電機工作原理、使用方法及其優勢,以期為讀者提供全面且深入的了解。
    的頭像 發表于 06-04 18:26 ?370次閱讀

    步進電機驅動器的分類和工作原理

      步進電機驅動器作為現代工業自動化控制中不可或缺的一部分,其重要性不言而喻。本文旨在全面、深入地探討步進電機驅動器的定義、分類、工作原理
    的頭像 發表于 06-04 16:14 ?171次閱讀

    步進電機工作原理 步進電機開環和閉環的區別

    步進電機工作原理 步進電機是一種控制方式特殊的電動機。相比傳統的直流電動機,步進電機具有精準定位
    的頭像 發表于 02-14 17:07 ?815次閱讀

    步進電機工作原理 步進電機最簡單的驅動方法

    步進電機是一種將電脈沖信號轉換為角位移的電動機。它具有準確性、控制性和可靠性強的特點,在許多領域得到廣泛應用,例如機械、儀器設備、電子信息等。理解步進電機
    的頭像 發表于 02-04 09:13 ?721次閱讀

    步進電機工作原理 步進電機和伺服電機的區別

    的應用,如打印機、數控機床等。 步進電機工作原理可以分為兩種類型:可變磁場型步進電機和磁轉子型步進
    的頭像 發表于 01-22 10:15 ?427次閱讀

    步進電機工作原理 步進電機四條線怎么分別

    組成。 步進電機工作原理是利用電磁場相互作用產生的力矩來驅動轉子旋轉。步進電機的旋轉角度取決于電流的脈沖數量和頻率。在給定的時間間隔內,
    的頭像 發表于 01-18 11:02 ?1987次閱讀

    基于單片機步進電機控制系統設計

    該項目利用51單片機實現了一個步進電機控制系統,可以實現步進電機的正反轉、加減速、啟動和停止,并通過LCD顯示
    的頭像 發表于 12-06 16:39 ?1789次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>步進</b><b class='flag-5'>電機</b>控制系統設計

    單片機中晶振的工作原理是什么?

    單片機中晶振的工作原理是什么?
    的頭像 發表于 11-23 09:08 ?586次閱讀
    <b class='flag-5'>單片機</b>中晶振的<b class='flag-5'>工作原理</b>是什么?

    51單片機控制步進電機硬件連接部分

    本案例講解的內容是51單片機控制步進電機硬件連接部分。后續會分別講解單片機程序,S曲線加減速方法,上位機等相關內容
    的頭像 發表于 10-26 11:11 ?1809次閱讀
    51<b class='flag-5'>單片機</b>控制<b class='flag-5'>步進</b><b class='flag-5'>電機</b>硬件連接部分

    步進電機工作原理

    圖中每個箭頭間隔是步進電機的一個步進角,每輸入一個脈沖,電機就會轉動一個步進角,不同的電機轉動的
    發表于 10-09 11:49 ?826次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>的<b class='flag-5'>工作原理</b>

    步進電機的結構及基本工作原理

    步進電機是一種可以與脈沖信號同步準確地控制旋轉角度和轉速的電機,步進電機的也稱為“脈沖電機”。由
    的頭像 發表于 08-29 08:08 ?1680次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>的結構及基本<b class='flag-5'>工作原理</b>

    步進電機基礎知識:類型、用途和工作原理

    本文將為您介紹步進電機的基礎知識,包括其工作原理、構造、控制方法、用途、類型及其優缺點。
    的頭像 發表于 08-02 17:53 ?1020次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>基礎知識:類型、用途和<b class='flag-5'>工作原理</b>

    怎么用8051單片機控制步進電機?

    在本文中,講解了怎么用8051單片機控制步進電機。步進電機廣泛用于工業、醫療、消費電子應用。簡而言之,它用于任何需要物體精確旋轉或定位的地方
    的頭像 發表于 07-07 11:02 ?1282次閱讀
    怎么用8051<b class='flag-5'>單片機</b>控制<b class='flag-5'>步進</b><b class='flag-5'>電機</b>?

    如何使用單片機控制伺服電機?

    伺服電機是我們常用的一種電機,在本文的案例中,將學習如何使用單片機控制伺服電機,案例以PIC16F877A
    的頭像 發表于 07-06 10:53 ?4135次閱讀
    如何使用<b class='flag-5'>單片機</b>控制伺服<b class='flag-5'>電機</b>?

    求分享單片機驅動步進電機方法

    單片機驅動步進電機方法
    發表于 06-14 12:56
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>