RM新时代网站-首页

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

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

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

如何使用Arduino和L293D電機(jī)驅(qū)動(dòng)器芯片來控制小型DCmotor的方向和速度

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-02 10:41 ? 次閱讀

概述

在本課程中,您將學(xué)習(xí)如何使用Arduino和L293D電機(jī)驅(qū)動(dòng)器芯片來控制小型DCmotor的方向和速度。

電位器控制電動(dòng)機(jī)的速度,并通過按鈕控制方向。

零件

要構(gòu)建本課中描述的項(xiàng)目,您將需要以下零件。

零件 數(shù)量

小型6V直流電動(dòng)機(jī)

1

L293D IC

1

10kΩ可變電阻器(pot)

1

觸摸開關(guān)

1

半面包板

1

Arduino Uno R3

1

跳線包

1

實(shí)驗(yàn)

在獲得用于控制電機(jī)的Arduino板之前,我們應(yīng)該先對(duì)L293D電機(jī)控制芯片進(jìn)行實(shí)驗(yàn),以了解其工作原理。

我們可以僅使用Arduino向電動(dòng)機(jī)提供5V電壓。

請(qǐng)注意電動(dòng)機(jī)的旋轉(zhuǎn)方式。您可以通過將電動(dòng)機(jī)軸夾在手指之間來做到這一點(diǎn)。交換電動(dòng)機(jī)導(dǎo)線,使原先要達(dá)到+ 5V的電動(dòng)機(jī)導(dǎo)線到達(dá)GND,反之亦然。電動(dòng)機(jī)將沿相反方向旋轉(zhuǎn)。

這為我們提供了有關(guān)L293D芯片工作原理的線索。它的控制銷使我們能夠執(zhí)行等效的交換電動(dòng)機(jī)端子以反轉(zhuǎn)電動(dòng)機(jī)方向的操作。

按如下所示構(gòu)建面包板。 Arduino仍然只是供電,但是我們可以在讓Arduino接管之前手動(dòng)對(duì)控制引腳進(jìn)行實(shí)驗(yàn)。

我們感興趣的L293D的三個(gè)引腳是引腳1(啟用),引腳2(In1)和引腳7(In2)。 )。使用紫色,黃色和橙色的跳線將它們連接到5V或GND。

如上所示,電動(dòng)機(jī)應(yīng)該在一個(gè)方向上旋轉(zhuǎn),我們將其稱為A方向。

如果將引腳1(使能)移至GND時(shí),無論使用控制引腳In1和In2做什么,電動(dòng)機(jī)都將停止。啟用可打開和關(guān)閉所有功能。這對(duì)于使用PWM輸出控制電動(dòng)機(jī)速度非常有用。將引腳1重新連接至5V,以便電動(dòng)機(jī)再次啟動(dòng)。

現(xiàn)在嘗試將In1(引腳2,黃色)從5V移至GND。In1和In2現(xiàn)在都已連接至GND,因此電動(dòng)機(jī)將再次停止。/p》

將In2從GND移至5V將導(dǎo)致電動(dòng)機(jī)沿相反方向(B方向)旋轉(zhuǎn)。

最后,將In1移回5V,以使In1和In2都處于5V導(dǎo)致電動(dòng)機(jī)停止。

引腳In1和In2對(duì)電動(dòng)機(jī)的影響總結(jié)在下表中:

In1In2電動(dòng)機(jī)

GNDGND已停止

5VGND向A方向轉(zhuǎn)動(dòng)

GND5V向B方向轉(zhuǎn)動(dòng)

5V5V已停止

面包板布局

現(xiàn)在我們已經(jīng)掌握了直接控制電機(jī)的功能,我們可以讓Arduino管理 Enable , In1 和 In2 引腳。

構(gòu)建面包板時(shí),需要確保IC正確定位。凹口應(yīng)位于面包板的頂部。

Arduino代碼

將以下草圖加載到您的Arduino上。

下載:文件

復(fù)制代碼

/*

Adafruit Arduino - Lesson 15. Bi-directional Motor

*/

int enablePin = 11;

int in1Pin = 10;

int in2Pin = 9;

int switchPin = 7;

int potPin = 0;

void setup()

{

pinMode(in1Pin, OUTPUT);

pinMode(in2Pin, OUTPUT);

pinMode(enablePin, OUTPUT);

pinMode(switchPin, INPUT_PULLUP);

}

void loop()

{

int speed = analogRead(potPin) / 4;

boolean reverse = digitalRead(switchPin);

setMotor(speed, reverse);

}

void setMotor(int speed, boolean reverse)

{

analogWrite(enablePin, speed);

digitalWrite(in1Pin, ! reverse);

digitalWrite(in2Pin, reverse);

} /*

Adafruit Arduino - Lesson 15. Bi-directional Motor

*/

int enablePin = 11;

int in1Pin = 10;

int in2Pin = 9;

int switchPin = 7;

int potPin = 0;

void setup()

{

pinMode(in1Pin, OUTPUT);

pinMode(in2Pin, OUTPUT);

pinMode(enablePin, OUTPUT);

pinMode(switchPin, INPUT_PULLUP);

}

void loop()

{

int speed = analogRead(potPin) / 4;

boolean reverse = digitalRead(switchPin);

setMotor(speed, reverse);

}

void setMotor(int speed, boolean reverse)

{

analogWrite(enablePin, speed);

digitalWrite(in1Pin, ! reverse);

digitalWrite(in2Pin, reverse);

}

定義了引腳,并在“設(shè)置”功能中正常設(shè)置了它們的模式。

在循環(huán)功能中,電機(jī)速度的值為通過將鍋中的模擬讀數(shù)除以4可以找到。

因數(shù)為4,因?yàn)槟M讀數(shù)將在0到1023之間,并且模擬輸出需要在0到255之間。

如果按下按鈕,電機(jī)將正向運(yùn)行,否則將反向運(yùn)行。 “ reverse”變量的值僅設(shè)置為從開關(guān)引腳讀取的值。因此,如果按下按鈕,它將為False,否則將為True。

速度和反向值將傳遞給名為“ setMotor”的函數(shù),該函數(shù)將設(shè)置驅(qū)動(dòng)器芯片上的適當(dāng)引腳以控制

下載:文件

復(fù)制代碼

void setMotor(int speed, boolean reverse)

{

analogWrite(enablePin, speed);

digitalWrite(in1Pin, ! reverse);

digitalWrite(in2Pin, reverse);

} void setMotor(int speed, boolean reverse)

{

analogWrite(enablePin, speed);

digitalWrite(in1Pin, ! reverse);

digitalWrite(in2Pin, reverse);

}

首先,通過對(duì)enable引腳使用AnalogWrite來設(shè)置速度。無論L293的in1和in2引腳設(shè)置為什么,L293的使能引腳都可以打開或關(guān)閉電動(dòng)機(jī)。

要控制電動(dòng)機(jī)的方向,in1和in2引腳必須為

如果in1為HIGH而in2為L(zhǎng)OW,則電動(dòng)機(jī)將以一種方式旋轉(zhuǎn);如果in1為L(zhǎng)OW而in2為HIGH,則電動(dòng)機(jī)將以相反的方向旋轉(zhuǎn)。/p》

‘!’命令的意思是“不是”。因此,in1的第一個(gè)digitalWrite命令將其設(shè)置為與“ reverse”的值相反的值,因此,如果reverse為HIGH則將其設(shè)置為L(zhǎng)OW,反之亦然。

in2的第二個(gè)digitalWrite將引腳設(shè)置為“ reverse”的值。這意味著它將永遠(yuǎn)與in1是相反的。

L293D

這是一個(gè)非常有用的芯片。它實(shí)際上可以獨(dú)立控制兩個(gè)電動(dòng)機(jī)。在本課程中,我們僅使用一半的芯片,芯片右側(cè)的大多數(shù)引腳用于控制第二個(gè)電機(jī)。

第二個(gè)電動(dòng)機(jī)將連接在OUT3和OUT4之間。您還需要另外三個(gè)控制引腳。

EN2已連接到Arduino上的PWM使能輸出引腳

IN3和IN4已連接到Arduino上的數(shù)字輸出。

L293D具有兩個(gè)+ Vpin(8和16)。 ‘+ Vmotor(8)引腳為電機(jī)供電,而+ V(16)則為芯片邏輯供電。我們已經(jīng)將它們都連接到Arduino 5V引腳。但是,如果您使用的是功率更高的電機(jī)或更高電壓的電機(jī),則可以使用連接到正電源的引腳8為電機(jī)提供單獨(dú)的電源,而第二個(gè)電源的接地端則連接到Arduino的接地端。/p》

其他要做的事情

您可以嘗試更改草圖以控制電動(dòng)機(jī),而無需使用電位器或開關(guān)。它可能會(huì)在向前方向上開始緩慢,然后逐漸變快,然后變慢,然后反轉(zhuǎn),重復(fù)此模式。

責(zé)任編輯:wv

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

    關(guān)注

    188

    文章

    6468

    瀏覽量

    186861
  • L293D
    +關(guān)注

    關(guān)注

    4

    文章

    50

    瀏覽量

    20081
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    步進(jìn)電機(jī)驅(qū)動(dòng)器的主要驅(qū)動(dòng)方式有哪些?簡(jiǎn)單介紹

    步進(jìn)電機(jī)驅(qū)動(dòng)器的主要驅(qū)動(dòng)方式有以下幾種: 脈沖驅(qū)動(dòng)方式 脈沖驅(qū)動(dòng)方式是步進(jìn)電機(jī)
    的頭像 發(fā)表于 10-24 13:43 ?244次閱讀

    什么是步進(jìn)電機(jī)驅(qū)動(dòng)器?它具有什么特點(diǎn)?

    步進(jìn)電機(jī)驅(qū)動(dòng)器是一種用于控制步進(jìn)電機(jī)運(yùn)動(dòng)的電子設(shè)備。它通過接收來自控制系統(tǒng)的脈沖信號(hào),精確地控制
    的頭像 發(fā)表于 10-24 11:52 ?340次閱讀

    使用L293D電機(jī)驅(qū)動(dòng)器控制直流電機(jī)

    直流電機(jī)是指能將直流電能轉(zhuǎn)換成機(jī)械能(直流電動(dòng)機(jī))或?qū)C(jī)械能轉(zhuǎn)換成直流電能(直流發(fā)電機(jī))的旋轉(zhuǎn)電機(jī)。當(dāng)直流電機(jī)作為電動(dòng)機(jī)運(yùn)行時(shí),它將電能轉(zhuǎn)換為機(jī)械能,用于
    的頭像 發(fā)表于 06-21 15:55 ?1408次閱讀
    使用<b class='flag-5'>L293D</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>驅(qū)動(dòng)器</b><b class='flag-5'>控制</b>直流<b class='flag-5'>電機(jī)</b>

    伺服驅(qū)動(dòng)器對(duì)伺服電機(jī)控制要求

    伺服驅(qū)動(dòng)器對(duì)伺服電機(jī)控制要求是一個(gè)復(fù)雜而深入的話題。以下是關(guān)于伺服驅(qū)動(dòng)器對(duì)伺服電機(jī)控制要求的概
    的頭像 發(fā)表于 06-14 15:24 ?760次閱讀

    伺服驅(qū)動(dòng)器控制模式有哪幾種?

    介紹伺服驅(qū)動(dòng)器的幾種主要控制模式,以及它們的特點(diǎn)和應(yīng)用場(chǎng)景。 速度控制模式 速度控制模式是伺服
    的頭像 發(fā)表于 06-14 14:41 ?1644次閱讀

    plc如何控制伺服電機(jī)速度方向?

    的基本原理 伺服電機(jī)是一種閉環(huán)控制系統(tǒng),其工作原理是通過檢測(cè)電機(jī)的實(shí)際位置、速度等信息,與給定的指令值進(jìn)行比較,然后根據(jù)偏差值調(diào)整
    的頭像 發(fā)表于 06-12 10:46 ?1829次閱讀

    伺服驅(qū)動(dòng)器方向反了怎樣設(shè)置

    伺服驅(qū)動(dòng)器是現(xiàn)代工業(yè)自動(dòng)化領(lǐng)域中非常重要的一種設(shè)備,它通過接收控制信號(hào)驅(qū)動(dòng)伺服電機(jī),實(shí)現(xiàn)精確的位置控制
    的頭像 發(fā)表于 06-12 10:15 ?2977次閱讀

    為什么步進(jìn)電機(jī)要加驅(qū)動(dòng)器

    步進(jìn)電機(jī)作為一種能夠?qū)崿F(xiàn)精確位移控制電機(jī)類型,在工業(yè)自動(dòng)化、精密測(cè)量、數(shù)控機(jī)床等領(lǐng)域得到了廣泛應(yīng)用。然而,步進(jìn)電機(jī)本身并不能直接接受控制
    的頭像 發(fā)表于 06-05 17:30 ?1411次閱讀

    L293D雙路全橋驅(qū)動(dòng)電路原理

    L293D芯片內(nèi)部包含兩個(gè)單獨(dú)的全橋驅(qū)動(dòng)器,每個(gè)驅(qū)動(dòng)器控制一個(gè)電機(jī)。每個(gè)全橋
    的頭像 發(fā)表于 05-20 17:04 ?1656次閱讀

    L293D新型雙路全橋式驅(qū)動(dòng)IC工作原理

    。 一、L293D的結(jié)構(gòu)與特性 L293D內(nèi)部集成兩個(gè)完全獨(dú)立的H橋式驅(qū)動(dòng)器,每個(gè)驅(qū)動(dòng)器均可獨(dú)立控制一個(gè)
    的頭像 發(fā)表于 05-07 18:25 ?1247次閱讀

    L6230電機(jī)驅(qū)動(dòng)器芯片是如何控制電機(jī)的,例如引腳設(shè)置,信號(hào)之類?

    L6230電機(jī)驅(qū)動(dòng)器芯片是如何控制電機(jī)的 例如引腳設(shè)置,信號(hào)之類?
    發(fā)表于 05-06 08:53

    先了解這些芯片吧!

    L293D是一款常見的直流電機(jī)驅(qū)動(dòng)芯片,具有兩個(gè)獨(dú)立的H橋電路,可同時(shí)驅(qū)動(dòng)兩個(gè)直流電機(jī)。該
    的頭像 發(fā)表于 02-21 11:42 ?909次閱讀

    如何使用Arduino UNO和TIP120晶體管驅(qū)動(dòng)控制直流電機(jī)速度

    在本 Arduino 電機(jī)指南中,您將學(xué)習(xí)如何使用 Arduino UNO 和 TIP120晶體管驅(qū)動(dòng)控制直流
    的頭像 發(fā)表于 02-11 10:08 ?1412次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO和TIP120晶體管<b class='flag-5'>驅(qū)動(dòng)</b>和<b class='flag-5'>控制</b>直流<b class='flag-5'>電機(jī)</b>的<b class='flag-5'>速度</b>

    L293D驅(qū)動(dòng)器電路圖介紹

    。 L293D驅(qū)動(dòng)器模塊的原理是利用H橋電路控制電機(jī)的正反轉(zhuǎn)和速度調(diào)節(jié)。H橋是一個(gè)四象限輸出功
    的頭像 發(fā)表于 02-02 14:53 ?3916次閱讀
    <b class='flag-5'>L293D</b><b class='flag-5'>驅(qū)動(dòng)器</b>電路圖介紹

    伺服電機(jī)驅(qū)動(dòng)器設(shè)置參數(shù)教程

    伺服電機(jī)驅(qū)動(dòng)器是現(xiàn)代工業(yè)控制領(lǐng)域中廣泛應(yīng)用的一種設(shè)備。通過合理設(shè)置參數(shù),可以實(shí)現(xiàn)電機(jī)的高精度定位、速度
    的頭像 發(fā)表于 01-25 11:36 ?7058次閱讀
    RM新时代网站-首页