一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino篇—步進(jìn)電機(jī)的控制

冬至子 ? 來(lái)源:X的創(chuàng)客課堂 ? 作者:MRXY ? 2023-11-02 09:35 ? 次閱讀

課程目標(biāo)

相關(guān)知識(shí)

步進(jìn)電機(jī): 步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成相應(yīng)角位移或線位移的電動(dòng)機(jī)。每輸入一個(gè)脈沖信號(hào),轉(zhuǎn)子就轉(zhuǎn)動(dòng)一個(gè)角度或前進(jìn)一步,其輸出的角位移或線位移與輸入的脈沖數(shù)成正比,轉(zhuǎn)速與脈沖頻率成正比。簡(jiǎn)單來(lái)說(shuō)當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度。

步進(jìn)電機(jī)原理: 利用電磁鐵原理,各個(gè)線圈繞組通電,利用電生磁原理,產(chǎn)生磁力,帶動(dòng)中央轉(zhuǎn)子鐵芯轉(zhuǎn)動(dòng)從而將脈沖信號(hào)轉(zhuǎn)換成線位移或角位移。

圖片

步進(jìn)電機(jī)介紹:

  • 步進(jìn)電機(jī)每次能轉(zhuǎn)動(dòng)的最小角度叫做步距角。
  • 每當(dāng)步進(jìn)電機(jī)接收到一個(gè)驅(qū)動(dòng)信號(hào)后,步進(jìn)電機(jī)將按照一定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度。
  • 通過(guò)控制脈沖的個(gè)數(shù)來(lái)精確的控制步進(jìn)電機(jī)的角位移量,通過(guò)控制脈沖的頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度及加速度,從而達(dá)到調(diào)速的目的。
  • 步進(jìn)電機(jī)按照相數(shù)不同分為單相、雙相、多相三種,勵(lì)磁方式分為全步勵(lì)磁和半步勵(lì)磁,全步勵(lì)磁分1相勵(lì)磁方式、2相勵(lì)磁方式;半步勵(lì)磁又稱1-2相勵(lì)磁方式。
    圖片

**ULN2003電機(jī)驅(qū)動(dòng):**由于Arduino開(kāi)發(fā)板的通用IO驅(qū)動(dòng)能力有限,有些外設(shè)不能直接使用IO進(jìn)行驅(qū)動(dòng),需要借助一些驅(qū)動(dòng)電路間接控制大功率器件。ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)智能儀表、PLC、數(shù)字量輸出卡等控制電路中,可直接驅(qū)動(dòng)繼電器等負(fù)載。

圖片

圖片

電路搭建

所需材料:

ArduinoUNO * 1
28BYJ-48步進(jìn)電機(jī) * 1
ULN2003電機(jī)驅(qū)動(dòng)模塊 * 1
杜邦線若干

電路連接:

ULN2003驅(qū)動(dòng)板上IN1、IN2、IN3、IN4分別連接UNO開(kāi)發(fā)板的數(shù)字引腳2,3,4,5;驅(qū)動(dòng)板電源輸入+、-引腳分別連接UNO開(kāi)發(fā)板的5V、GND。

圖片

程序編寫(xiě)

練習(xí)一:一相勵(lì)磁方式****控制步進(jìn)電機(jī)正轉(zhuǎn)90°再反轉(zhuǎn)90°

一相勵(lì)磁控制方式及特點(diǎn): 在每一個(gè)瞬間,步進(jìn)電機(jī)只有一個(gè)線圈導(dǎo)通,每送一個(gè)信號(hào),步進(jìn)電機(jī)能轉(zhuǎn)1.8°。這種方式,其精確度好、消耗電力小,但是輸出轉(zhuǎn)矩最小,振動(dòng)較大。

一相****勵(lì)磁順序表:

圖片

圖形化方式:

圖片

代碼方式:

/* 項(xiàng)目名稱:一相勵(lì)磁控制步進(jìn)電機(jī)正反轉(zhuǎn)90°
 * 項(xiàng)目時(shí)間:2022.03.21
 * 項(xiàng)目作者:MRX
 */
void setup() {
  for (int i = 2; i < 6; i++) {
    pinMode(i, OUTPUT);
  }
}


void clockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    for (int i = 2; i < 6; i++)
    {
      digitalWrite(i, HIGH);
      delay(5);
      digitalWrite(i, LOW);
    }
  }
}


void anticlockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    for (int i = 5; i > 1; i--)
    {
      digitalWrite(i, HIGH);
      delay(5);
      digitalWrite(i, LOW);
    }
  }
}


void loop() {
  clockwise(130);
  delay(1000);
  anticlockwise(130);
  delay(1000);
}

練習(xí)二:二相勵(lì)磁方式控制步進(jìn)電機(jī)正轉(zhuǎn)90°再反轉(zhuǎn)90°****

相勵(lì)磁控制方式及特點(diǎn): 在每一個(gè)瞬間,步進(jìn)電機(jī)有兩個(gè)線圈導(dǎo)通,每送一個(gè)信號(hào),步進(jìn)電機(jī)能轉(zhuǎn)1.8°。這種方式,其輸出轉(zhuǎn)矩最大,振動(dòng)較小。是現(xiàn)在較常用的一種控制方式。

二相勵(lì)磁順序表:

圖片

圖形化方式:

圖片

代碼方式:

/* 項(xiàng)目名稱:二相勵(lì)磁控制步進(jìn)電機(jī)正反轉(zhuǎn)90°
 * 項(xiàng)目時(shí)間:2022.03.21
 * 項(xiàng)目作者:MRX
 */
void setup() {
  for (int i = 2; i < 6; i++) {
    pinMode(i, OUTPUT);
  }
}


void clockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    digitalWrite(5,HIGH);
    delay(5);
    digitalWrite(2,HIGH);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    delay(5);
  }
}


void anticlockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    digitalWrite(2,HIGH);
    digitalWrite(5,LOW);
    digitalWrite(4,LOW);
    digitalWrite(3,HIGH);
    delay(5);
    digitalWrite(2,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(4,LOW);
    digitalWrite(3,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(5,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(3,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(5,LOW);
    digitalWrite(4,HIGH);
    digitalWrite(3,HIGH);
    delay(5);
  }
}


void loop() {
  clockwise(130);
  delay(1000);
  anticlockwise(130);
  delay(1000);
}

練習(xí)三:一二相勵(lì)磁方式控制步進(jìn)電機(jī)正****

一二相勵(lì)磁控制方式及特點(diǎn): 為一相和二相交替導(dǎo)通的方式,每送一個(gè)信號(hào),步進(jìn)電機(jī)能轉(zhuǎn)0.9°。這種方式,其分辨率高,運(yùn)轉(zhuǎn)平滑。也是現(xiàn)在較常用的一種控制方式。

二相勵(lì)磁順序表:

圖片

圖形化方式:

圖片

代碼方式:

/* 項(xiàng)目名稱:1-2相勵(lì)磁控制步進(jìn)電機(jī)正轉(zhuǎn)
 * 項(xiàng)目時(shí)間:2022.03.21
 * 項(xiàng)目作者:MRX
 */
void setup() {
  for (int i = 2; i < 6; i++) {
    pinMode(i, OUTPUT);
  }
}


void S1()
{
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,HIGH);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,LOW);
    delay(5);
}


void S2()
 {
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    digitalWrite(5,LOW);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    delay(5);
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    digitalWrite(5,HIGH);
    delay(5);
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    digitalWrite(5,HIGH);
    delay(5);
}


void loop() {
  for (int i = 1; i <= 130; i++) 
  {
    S1();
    S2();
  }
  delay(1000);
}

程序分析:

需求為旋轉(zhuǎn)90°,在程序中循環(huán)次數(shù)為什么是130次呢?這是根據(jù)我們使用的步進(jìn)電機(jī)參數(shù)計(jì)算而來(lái)的:

1、步進(jìn)電機(jī)電壓5V,步距角5.625,減速比1:64。

2、計(jì)算A-B-C-D通電一次轉(zhuǎn)動(dòng)的角度5.625X2X4/64=0.703125 (2是表示1相勵(lì)磁方 式每步是2倍的步距角,4表示走了4步, 64指電機(jī)減速比)。

3、轉(zhuǎn)動(dòng)360度循環(huán)ABCD通電的次數(shù)360/0.7031=512。

4、那么轉(zhuǎn)動(dòng)90度循環(huán)ABCD通電的次數(shù)90/0.7031≈130。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    152

    文章

    3145

    瀏覽量

    148825
  • 電磁鐵
    +關(guān)注

    關(guān)注

    2

    文章

    169

    瀏覽量

    15261
  • 脈沖信號(hào)
    +關(guān)注

    關(guān)注

    6

    文章

    402

    瀏覽量

    37405
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6485

    瀏覽量

    189691
  • 步進(jìn)驅(qū)動(dòng)器

    關(guān)注

    7

    文章

    81

    瀏覽量

    58486
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    通過(guò)Arduino控制步進(jìn)電機(jī)速度和旋轉(zhuǎn)方向

    在本篇文章中,我們將學(xué)習(xí)如何使用搖桿和Arduino開(kāi)發(fā)板控制步進(jìn)電機(jī)的知識(shí)。在這里,我們將使用Arduino UNO開(kāi)發(fā)板和PS2游戲桿
    的頭像 發(fā)表于 10-28 16:28 ?2.7w次閱讀

    blinker控制步進(jìn)電機(jī)起保停相關(guān)資料分享

    blinker控制步進(jìn)電機(jī)起保停,正反轉(zhuǎn)(Arduino uno+esp8266+TB6600驅(qū)動(dòng)器)本文針對(duì)上一的《外部按鍵中斷精準(zhǔn)
    發(fā)表于 06-29 06:25

    arduino步進(jìn)電機(jī)控制器驅(qū)動(dòng)兩個(gè)步進(jìn)電機(jī)

    Arduino 2560控制兩個(gè)步進(jìn)電機(jī)arduino步進(jìn)
    發(fā)表于 08-31 06:13

    Stepper庫(kù)函數(shù)控制步進(jìn)電機(jī)

    問(wèn)題來(lái)源最近自學(xué)Arduino,在使用步進(jìn)電機(jī)時(shí)開(kāi)始沒(méi)能使步進(jìn)電機(jī)轉(zhuǎn)起來(lái),轉(zhuǎn)起來(lái)后感覺(jué)沒(méi)法調(diào)速,遂完成此
    發(fā)表于 09-07 09:15

    如何使用Arduino實(shí)現(xiàn)步進(jìn)電機(jī)的分析與設(shè)計(jì)

    Arduino是一款便捷靈活、方便上手的開(kāi)源電子原型平臺(tái)。與常見(jiàn)的 DSP PLC ARN51單片機(jī)不同Arduino具有編程簡(jiǎn)單,操作方便,價(jià)格便宜等諸多優(yōu)點(diǎn)。本文介紹基于 Arduino t的進(jìn)步
    發(fā)表于 12-07 08:00 ?4次下載
    如何使用<b class='flag-5'>Arduino</b>實(shí)現(xiàn)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>的分析與設(shè)計(jì)

    動(dòng)手玩轉(zhuǎn)Arduino---運(yùn)動(dòng)控制(直流電機(jī)步進(jìn)電機(jī)舵機(jī))

    動(dòng)手玩轉(zhuǎn)Arduino---運(yùn)動(dòng)控制(直流電機(jī)步進(jìn)電機(jī)舵機(jī))(電源技術(shù)是中文核心嗎)-該文檔為動(dòng)手玩轉(zhuǎn)A
    發(fā)表于 09-23 09:22 ?36次下載
    動(dòng)手玩轉(zhuǎn)<b class='flag-5'>Arduino</b>---運(yùn)動(dòng)<b class='flag-5'>控制</b>(直流<b class='flag-5'>電機(jī)</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>舵機(jī))

    arduino+A4889+步進(jìn)電機(jī)

    arduino下載數(shù)據(jù)線、杜邦線若干。主要原理步進(jìn)電機(jī)(stepping motor)步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一
    發(fā)表于 11-22 09:51 ?29次下載
    <b class='flag-5'>arduino</b>+A4889+<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    如何使用MATALB和Arduino控制步進(jìn)電機(jī)

    今天我們將學(xué)習(xí)如何使用 MATALB 和 Arduino 控制步進(jìn)電機(jī)。
    發(fā)表于 11-01 17:45 ?3202次閱讀
    如何使用MATALB和<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    Arduino實(shí)驗(yàn)16步進(jìn)電機(jī)控制

    電機(jī)控制程序 實(shí)驗(yàn)設(shè)備與環(huán)境 Arduino UNO套件、Arduino IDE、計(jì)算機(jī)、步進(jìn)電機(jī)
    發(fā)表于 03-21 10:47 ?1次下載
    <b class='flag-5'>Arduino</b>實(shí)驗(yàn)16<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>的<b class='flag-5'>控制</b>

    步進(jìn)電機(jī)Arduino使用教程

    了解如何使用 Arduino 使用 ULN2003、L298N 和 A4988 等驅(qū)動(dòng)器控制雙極和單極步進(jìn)電機(jī)。在本文中,我將向您展示開(kāi)始使用步進(jìn)
    發(fā)表于 03-23 10:58 ?1次下載
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>與<b class='flag-5'>Arduino</b>使用教程

    Arduino RTOS控制多個(gè)步進(jìn)電機(jī)

    Arduino RTOS控制多個(gè)步進(jìn)電機(jī) 材料;1、arduino mega25602、3個(gè)M42S驅(qū)動(dòng)器3、3個(gè)42
    發(fā)表于 03-24 11:47 ?4次下載
    <b class='flag-5'>Arduino</b> RTOS<b class='flag-5'>控制</b>多個(gè)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    使用電位器和Arduino實(shí)現(xiàn)步進(jìn)電機(jī)控制

    在本篇文章中,我們將學(xué)習(xí)如何使用電位器和Arduino開(kāi)發(fā)板實(shí)現(xiàn)步進(jìn)電機(jī)控制。步進(jìn)電機(jī)可用于軟盤(pán)
    發(fā)表于 03-24 11:19 ?2次下載
    使用電位器和<b class='flag-5'>Arduino</b>實(shí)現(xiàn)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>

    Arduino mega 2560控制42步進(jìn)電機(jī)接線

    Arduino mega 2560控制42步進(jìn)電機(jī)接線圖 ****TB6600驅(qū)動(dòng)器與42步進(jìn)電機(jī)
    發(fā)表于 03-24 10:10 ?8次下載
    <b class='flag-5'>Arduino</b> mega 2560<b class='flag-5'>控制</b>42<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>接線

    arduino控制步進(jìn)電機(jī)代碼

    Arduino是一種開(kāi)放源代碼的電路板平臺(tái),它可以用于控制各種不同的電子設(shè)備,包括步進(jìn)電機(jī)。步進(jìn)電機(jī)
    的頭像 發(fā)表于 02-14 16:29 ?2692次閱讀

    arduino如何驅(qū)動(dòng)步進(jìn)電機(jī)

    隨著物聯(lián)網(wǎng)的不斷發(fā)展,電機(jī)控制技術(shù)得到了廣泛應(yīng)用,其中步進(jìn)電機(jī)作為一種常見(jiàn)的電機(jī)類型,在各行各業(yè)中得到了廣泛應(yīng)用。而作為一種強(qiáng)大、靈活的開(kāi)源
    的頭像 發(fā)表于 01-14 16:37 ?4208次閱讀