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

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

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

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

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

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-04 17:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:了解L298模塊連接

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

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

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

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

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

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

在此處連接電動機電源電壓,最大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連接。

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

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

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

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

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

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

但是,直到將HIGH設(shè)置為啟用引腳(電機1為7,電機2為12)后,電機才會轉(zhuǎn)動。并且它們可以通過低電平連接到同一引腳來關(guān)閉。但是,如果需要控制電動機的速度,則可以通過來自連接到使能引腳的數(shù)字引腳的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);

}

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

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

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

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

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

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

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

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

再次,如果您的步進電機的電源低于12V,則將跳線安裝到模塊的第3點,為您的Arduino提供整潔的5V電源。接下來,將L298N模塊引腳IN1,IN2,IN3和IN4分別連接到Arduino數(shù)字引腳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更改為步進電機的每轉(zhuǎn)步數(shù),以及在以下行中預(yù)設(shè)為60 RPM的速度:myStepper.setSpeed(60);

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

myStepper.step(stepsPerRevolution); // for clockwise

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

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

責(zé)任編輯:wv

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

    關(guān)注

    152

    文章

    3165

    瀏覽量

    149724
  • L298N
    +關(guān)注

    關(guān)注

    21

    文章

    224

    瀏覽量

    79591
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192124
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TMCM-3216步進電機控制器/驅(qū)動模塊

    Analog Devices Inc. TMCM-3216步進電機控制器/驅(qū)動模塊是緊湊型3軸
    的頭像 發(fā)表于 06-23 14:44 ?495次閱讀
    TMCM-3216<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>/驅(qū)動<b class='flag-5'>器</b><b class='flag-5'>模塊</b>

    Analog Devices Inc. TMCM-3216步進電機控制器/驅(qū)動模塊數(shù)據(jù)手冊

    Analog Devices Inc. TMCM-3216步進電機控制器/驅(qū)動模塊是緊湊型3軸
    的頭像 發(fā)表于 05-28 10:33 ?199次閱讀
    Analog Devices Inc. TMCM-3216<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制器</b>/驅(qū)動<b class='flag-5'>器</b><b class='flag-5'>模塊</b>數(shù)據(jù)手冊

    基于L298N的STM32的直流電機PWM調(diào)速控制

    基于L298N與stm32的直流電機調(diào)速,實驗結(jié)果良好,可以根據(jù)調(diào)節(jié)STM32的PWM占空比來進行直流電機的調(diào)速。實驗系統(tǒng)圖如下: L298N驅(qū)動
    發(fā)表于 05-14 15:01

    我用9V電源給L298N供電,但是接線后l298n輸入端電壓變成了3V多,請問這是咋了?

    我用9V電源給L298N供電,L298N未接負載,9V電源空載時確實是9V,但是接線后l298n輸入端電壓變成了3V多,此時測量電源兩端電壓也是3V多,我用另一個獨立電源給L298N
    發(fā)表于 03-29 14:59

    L298N-驅(qū)動直流電機步進電機的詳細資料大總結(jié)

    電機轉(zhuǎn)速控制電路(PWM信號)主要采用 L298N ,通過單片機的 I/O 輸入改變芯片控制端的電平,即可以對電機 進行正反轉(zhuǎn),停止的操作,
    發(fā)表于 02-26 16:02

    方案:軸伺服電機驅(qū)動控制器AGV、AMR專用伺服電機驅(qū)動控制器

    工業(yè)機器人數(shù)控機床XY機械手軸機器人堆垛機專用軸伺服電機驅(qū)動控制器48V 14ARMS帶有STO功能,隔離高壓CAN/RS485/USB通訊支持編碼
    發(fā)表于 02-15 12:14

    如何編程電機控制器

    電機控制器是現(xiàn)代工業(yè)自動化和機器人技術(shù)中不可或缺的一部分。它們負責(zé)精確控制電機的速度、位置和力矩,以實現(xiàn)高效和精確的運動控制。 1. 硬件選
    的頭像 發(fā)表于 01-22 09:37 ?622次閱讀

    電機控制器選型指南

    在現(xiàn)代工業(yè)和自動化領(lǐng)域,電機控制器扮演著至關(guān)重要的角色。它們不僅控制電機的運行,還直接影響到整個系統(tǒng)的能效和性能。因此,正確選型電機
    的頭像 發(fā)表于 01-22 09:22 ?2040次閱讀

    步進電機控制實現(xiàn)方法

    ? ? ? 步進電機,作為一種將電脈沖信號轉(zhuǎn)換為相應(yīng)角位移或線位移的電動機,是現(xiàn)代數(shù)字控制系統(tǒng)中不可或缺的重要組件。其工作原理基于電磁學(xué)原理,通過接收數(shù)字控制信號(電脈沖信號)并轉(zhuǎn)化為
    的頭像 發(fā)表于 01-21 16:43 ?1347次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>的<b class='flag-5'>控制</b>實現(xiàn)方法

    Made with KiCad(十一):Sangaboard步進電機控制

    “ ?Sangaboard 是用于單極步進電機(如廉價的 28BYJ-48 電機)的電機控制器。 ? ” 概覽 Sangaboard 是用于
    的頭像 發(fā)表于 12-04 11:52 ?791次閱讀
    Made with KiCad(十一):Sangaboard<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制</b>板

    步進電機如何自適應(yīng)控制?步進電機如何細分驅(qū)動控制?

    步進電機是一種將電脈沖信號轉(zhuǎn)換為角位移或線位移的電機,廣泛應(yīng)用于各種自動化控制系統(tǒng)中。為了提高步進電機
    的頭像 發(fā)表于 10-23 10:04 ?1627次閱讀

    步進電機轉(zhuǎn)速怎么控制高低

    步進電機是一種將電脈沖信號轉(zhuǎn)換為角位移或線位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當(dāng)
    的頭像 發(fā)表于 10-22 15:55 ?2011次閱讀

    電機控制器原理是什么?類型有哪些?

    電機控制器是用于控制電機運行的設(shè)備,其主要功能是將電能轉(zhuǎn)換為機械能,同時根據(jù)需要調(diào)節(jié)電機的速度、轉(zhuǎn)矩和方向。
    的頭像 發(fā)表于 10-21 13:48 ?1193次閱讀

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

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

    步進電機伺服控制系統(tǒng)的作用

    步進電機伺服控制系統(tǒng)是一種精密的電機控制系統(tǒng),它通過精確控制
    的頭像 發(fā)表于 09-04 09:46 ?1220次閱讀