精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何使用L298N雙電機控制器模塊和Arduino控制DC和步進電機

454398 ? 來源:網絡整理 ? 作者:佚名 ? 2019-11-04 17:29 ? 次閱讀

步驟1:了解L298模塊連接

如何使用L298N雙電機控制器模塊和Arduino控制DC和步進電機

首先,我們將遍歷所有連接,然后說明如何控制直流電動機,然后是步進電動機。此時,請檢查L298N H橋模塊上的連接。

考慮圖像–將數字與圖像下方的列表匹配:

DC電動機1“ +”或步進電動機A +

DC電動機1“-”或步進電動機A-

12V跳線–如果使用的電源電壓大于12V DC,則將其移除。這樣可以為板載5V穩壓器供電

在此處連接電動機電源電壓,最大35V DC。如果》 12V DC

GND

如果有12V跳線,則移除5V輸出,非常適合為Arduino

直流電動機1啟用跳線。使用步進電機時,將其保留在原位。連接到用于直流電動機速度控制的PWM輸出。

IN1

IN2

IN3

IN4

直流電動機2啟用跳線。使用步進電機時,將其保留在原位。連接到用于直流電動機速度控制的PWM輸出

直流電動機2“ +”或步進電動機B +

直流電動機2 “-”或步進電動機B-

步驟2:控制直流電動機

到使用L298N H橋模塊控制一兩個直流電動機非常容易。首先將每個電動機連接到L298N模塊上的A和B連接。

如果您為機器人(例如)使用兩個電機,請確保兩個輸入的電機極性相同。否則,當您同時將兩個電動機都設置為正轉而將其設置為倒退時,可能需要交換它們!

下一步,連接電源-將正極連接至模塊上的引腳4,將負極/GND連接至引腳5。如果您提供的電壓最高為12V,則可以保留12V跳線(上圖中的點3),并且模塊上的引腳6可以提供5V電壓。

可以將其饋送到Arduino的5V引腳,以從電動機的電源為其供電。別忘了將Arduino GND連接到模塊上的引腳5,以完成電路。現在,您將在Arduino上需要六個數字輸出引腳,其中兩個需要是PWM(脈沖寬度調制)引腳。

PWM引腳在引腳編號旁邊由波浪號(?)表示,例如在Arduino Uno的數字引腳圖像中。

最后,將Arduino數字輸出引腳連接到驅動程序模塊。在我們的示例中,我們有兩個直流電動機,因此數字引腳D9,D8,D7和D6將分別連接到引腳IN1,IN2,IN3和IN4。然后將D10連接到模塊插針7(先卸下跳線),然后將D5連接到模塊插針12(同樣要卸下跳線)。

通過向驅動器發送HIGH或LOW信號來控制電動機的方向每個馬達(或通道)。例如,對于電動機一,從IN1到HIGH的高電平和向IN2發出LOW的低電平將使它在一個方向上旋轉,而到HIGH和LOW的低電平將使它在另一個方向上旋轉。

但是,直到將HIGH設置為啟用引腳(電機1為7,電機2為12)后,電機才會轉動。并且它們可以通過低電平連接到同一引腳來關閉。但是,如果需要控制電動機的速度,則可以通過來自連接到使能引腳的數字引腳的PWM信號來解決這一問題。

這就是我們對直流電動機演示草圖所做的工作。如上所述,連接了兩個直流電動機和一個Arduino Uno,以及一個外部電源。然后輸入并上傳以下草圖:

// connect motor controller pins to Arduino digital pins

// motor one

int enA = 10;

int in1 = 9;

int in2 = 8;

// motor two

int enB = 5;

int in3 = 7;

int in4 = 6;

void setup()

{

// set all the motor control pins to outputs

pinMode(enA, OUTPUT);

pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

}

void demoOne()

{

// this function will run the motors in both directions at a fixed speed

// turn on motor A

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

// set speed to 200 out of possible range 0~255

analogWrite(enA, 200);

// turn on motor B

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

// set speed to 200 out of possible range 0~255

analogWrite(enB, 200);

delay(2000);

// now change motor directions

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

delay(2000);

// now turn off motors

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void demoTwo()

{

// this function will run the motors across the range of possible speeds

// note that maximum speed is determined by the motor itself and the operating voltage

// the PWM values sent by analogWrite() are fractions of the maximum speed possible

// by your hardware

// turn on motors

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

// accelerate from zero to maximum speed

for (int i = 0; i 《 256; i++)

{

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

}

// decelerate from maximum speed to zero

for (int i = 255; i 》= 0; --i)

{

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

}

// now turn off motors

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void loop()

{

demoOne();

delay(1000);

demoTwo();

delay(1000);

}

那么該草圖中發生了什么?在函數demoOne()中,我們打開電動機并以200的PWM值運行它們。這不是速度值,而是一次施加200/255的時間量的功率。

然后片刻之后,電動機反向運行(請參閱如何更改digitalWrite()函數中的HIGH和LOW?)。為了了解您的硬件可能的速度范圍,我們在函數demoTwo()中遍歷了整個PWM范圍,這將打開電動機,并且它們通過零至255的PWM值運行,并通過兩個for循環返回零。 。

最后,這是在此頁面的視頻中進行的演示–使用我們的破舊的坦克底盤和兩個直流電動機。

第3步:使用Arduino控制步進電動機和L298N

步進電機可能看起來很復雜,但事實并非如此。在此示例中,我們控制一個典型的NEMA-17步進電機,該電機具有四根電線,如該步驟中的圖像所示。

每轉200步,并且可以60 RPM的速度運行。如果您還沒有電動機的步進和速度值,請立即查找,并在草圖中使用它。

成功進行步進電動機控制的關鍵是識別電線-即一個是哪個。您將需要確定A +,A-,B +和B-線。在我們的示例電動機中,它們是紅色,綠色,黃色和藍色。現在,讓我們完成接線。

將來自步進電機的A +,A-,B +和B-線分別連接到模塊連接1、2、13和14。將L298N模塊隨附的跳線放置在模塊點7和12上的線對上。然后根據需要將電源連接到點4(正)和點5(負/GND)。

再次,如果您的步進電機的電源低于12V,則將跳線安裝到模塊的第3點,為您的Arduino提供整潔的5V電源。接下來,將L298N模塊引腳IN1,IN2,IN3和IN4分別連接到Arduino數字引腳D8,D9,D10和D11。

最后,如果從模塊中獲取5V電壓,則將Arduino GND連接至模塊上的點5,將Arduino 5V連接至點6。借助Arduino IDE隨附的Stepper Arduino庫作為標準,從草圖控制步進電機非常簡單。

要演示您的電動機,只需加載Stepper庫中隨附的stepper_oneRevolution草圖。要找到它,請在Arduino IDE中單擊“文件”》“示例”》“步進器”菜單。

最后,檢查草圖中

const int stepsPerRevolution = 200;的值并將200更改為步進電機的每轉步數,以及在以下行中預設為60 RPM的速度:myStepper.setSpeed(60);

現在,您可以保存和上傳草圖,這會將步進電機發送大約一轉,然后再回來。這可以通過功能

myStepper.step(stepsPerRevolution); // for clockwise

myStepper.step(-stepsPerRevolution); // for anti-clockwise

實現。最后,在此步驟的視頻中快速展示了我們的測試硬件。

責任編輯:wv

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

    關注

    150

    文章

    3095

    瀏覽量

    147347
  • L298N
    +關注

    關注

    21

    文章

    224

    瀏覽量

    78630
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186651
收藏 人收藏

    評論

    相關推薦

    步進電機如何自適應控制步進電機如何細分驅動控制

    步進電機是一種將電脈沖信號轉換為角位移或線位移的電機,廣泛應用于各種自動化控制系統中。為了提高步進電機
    的頭像 發表于 10-23 10:04 ?330次閱讀

    步進電機的伺服控制方法有哪些

    步進電機的伺服控制方法主要包括以下幾種: 1. 位置模式 定義 :在位置模式下,步進伺服電機根據輸入的位置指令,通過閉環
    的頭像 發表于 09-04 09:48 ?423次閱讀

    步進電機控制器電路圖 步進電機控制器的分類及其特點

      步進電機控制器是一種專門用于控制步進電機的設備,它通過發出脈沖信號來驅動
    的頭像 發表于 06-24 17:12 ?2786次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>電路圖 <b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>的分類及其特點

    什么是步進電機控制器步進電機控制器電路圖

    步進電機控制器是一種專門用于控制步進電機運行的裝置。步進
    的頭像 發表于 06-20 16:14 ?1540次閱讀
    什么是<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>?<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>電路圖

    極性步進電機的結構與控制模式

    在現代工業控制領域,步進電機以其獨特的步進特性和精確的位置控制而備受青睞。其中,極性
    的頭像 發表于 06-12 14:40 ?518次閱讀

    步進電機控制器怎么調速度

    引言 步進電機是一種將電脈沖信號轉換為角位移的電機,具有控制精度高、響應速度快、結構簡單等優點。在自動化設備、機器人、數控機床等領域得到了廣泛應用。
    的頭像 發表于 06-12 09:17 ?1723次閱讀

    電機控制器的原理和應用

    電機控制器作為現代電機系統中的重要組成部分,其性能的優劣直接影響到電機的工作效率、穩定性和安全性。隨著科技的不斷進步,電機
    的頭像 發表于 06-03 18:17 ?1416次閱讀

    硬件模塊---L298N電機控制模塊實現方法

    第一:L298N模塊的介紹? ?? ? ? ? L298N是ST公司生產的一種高電壓、大電流電機驅動芯片,該芯片采用15腳封裝。 主要特點是: 工作電壓高,最高工作電壓可達46V;輸出
    的頭像 發表于 05-11 09:20 ?6684次閱讀
    硬件<b class='flag-5'>模塊</b>---<b class='flag-5'>L298N</b><b class='flag-5'>電機</b><b class='flag-5'>控制</b><b class='flag-5'>模塊</b>實現方法

    什么是步進電機的細分控制步進電機為什么要細分,如何細分?

    什么是步進電機的細分控制步進電機為什么要細分,如何細分? 步進
    的頭像 發表于 02-18 09:39 ?7168次閱讀

    arduino控制步進電機代碼

    Arduino是一種開放源代碼的電路板平臺,它可以用于控制各種不同的電子設備,包括步進電機步進電機
    的頭像 發表于 02-14 16:29 ?1887次閱讀

    步進電機控制器電路圖分享

    步進電機控制器是一種能夠發出均勻脈沖信號的電子產品,主要用于控制步進電機的運動。它發出的信號進入
    的頭像 發表于 02-07 17:57 ?4625次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>電路圖分享

    步進電機控制方法 步進電機和伺服電機的區別

    步進電機控制方法 步進電機是一種將電信號轉化為機械轉動的電動機,其輸出轉角是按照電脈沖控制信號的
    的頭像 發表于 01-22 17:18 ?1109次閱讀

    步進電機控制方法 步進電機控制器參數設置

    控制,需要使用步進電機控制器步進電機控制器是一種電
    的頭像 發表于 01-19 10:50 ?2712次閱讀

    arduino如何驅動步進電機

    隨著物聯網的不斷發展,電機控制技術得到了廣泛應用,其中步進電機作為一種常見的電機類型,在各行各業中得到了廣泛應用。而作為一種強大、靈活的開源
    的頭像 發表于 01-14 16:37 ?3478次閱讀

    Art-Pi+TMC2209步進電機細分控制測試

    前幾天找出個步進電機,用L298N驅動測試了一下,具體見上篇文章簡單的步進電機驅動調試。
    的頭像 發表于 12-11 16:00 ?7826次閱讀
    Art-Pi+TMC2209<b class='flag-5'>步進</b><b class='flag-5'>電機</b>細分<b class='flag-5'>控制</b>測試