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

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

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

3天內不再提示

如何使用Arduino和L293D電機驅動器芯片來控制小型DCmotor的方向和速度

454398 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2019-12-02 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

在本課程中,您將學習如何使用Arduino和L293D電機驅動器芯片來控制小型DCmotor的方向和速度。

電位器控制電動機的速度,并通過按鈕控制方向。

零件

要構建本課中描述的項目,您將需要以下零件。

零件 數(shù)量

小型6V直流電動機

1

L293D IC

1

10kΩ可變電阻器(pot)

1

觸摸開關

1

半面包板

1

Arduino Uno R3

1

跳線包

1

實驗

在獲得用于控制電機的Arduino板之前,我們應該先對L293D電機控制芯片進行實驗,以了解其工作原理

我們可以僅使用Arduino向電動機提供5V電壓。

請注意電動機的旋轉方式。您可以通過將電動機軸夾在手指之間來做到這一點。交換電動機導線,使原先要達到+ 5V的電動機導線到達GND,反之亦然。電動機將沿相反方向旋轉。

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

按如下所示構建面包板。 Arduino仍然只是供電,但是我們可以在讓Arduino接管之前手動對控制引腳進行實驗。

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

如上所示,電動機應該在一個方向上旋轉,我們將其稱為A方向。

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

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

將In2從GND移至5V將導致電動機沿相反方向(B方向)旋轉。

最后,將In1移回5V,以使In1和In2都處于5V導致電動機停止。

引腳In1和In2對電動機的影響總結在下表中:

In1In2電動機

GNDGND已停止

5VGND向A方向轉動

GND5V向B方向轉動

5V5V已停止

面包板布局

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

構建面包板時,需要確保IC正確定位。凹口應位于面包板的頂部。

Arduino代碼

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

下載:文件

復制代碼

/*

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);

}

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

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

因數(shù)為4,因為模擬讀數(shù)將在0到1023之間,并且模擬輸出需要在0到255之間。

如果按下按鈕,電機將正向運行,否則將反向運行。 “ reverse”變量的值僅設置為從開關引腳讀取的值。因此,如果按下按鈕,它將為False,否則將為True。

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

下載:文件

復制代碼

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);

}

首先,通過對enable引腳使用AnalogWrite來設置速度。無論L293的in1和in2引腳設置為什么,L293的使能引腳都可以打開或關閉電動機。

要控制電動機的方向,in1和in2引腳必須為

如果in1為HIGH而in2為LOW,則電動機將以一種方式旋轉;如果in1為LOW而in2為HIGH,則電動機將以相反的方向旋轉。/p》

‘!’命令的意思是“不是”。因此,in1的第一個digitalWrite命令將其設置為與“ reverse”的值相反的值,因此,如果reverse為HIGH則將其設置為LOW,反之亦然。

in2的第二個digitalWrite將引腳設置為“ reverse”的值。這意味著它將永遠與in1是相反的。

L293D

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

第二個電動機將連接在OUT3和OUT4之間。您還需要另外三個控制引腳。

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

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

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

其他要做的事情

您可以嘗試更改草圖以控制電動機,而無需使用電位器或開關。它可能會在向前方向上開始緩慢,然后逐漸變快,然后變慢,然后反轉,重復此模式。

責任編輯:wv

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

    關注

    190

    文章

    6498

    瀏覽量

    192183
  • L293D
    +關注

    關注

    4

    文章

    50

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Texas Instruments MCF8316D無傳感FOC BLDC驅動器數(shù)據(jù)手冊

    Texas Instruments MCF8316D無傳感磁場定向控制(FOC)無刷直流(BLDC)驅動器是一款單芯片器件,用于
    的頭像 發(fā)表于 07-10 11:50 ?621次閱讀
    Texas Instruments MCF8316<b class='flag-5'>D</b>無傳感<b class='flag-5'>器</b>FOC BLDC<b class='flag-5'>驅動器</b>數(shù)據(jù)手冊

    伺服驅動器作用及其功能

    伺服驅動器的主要作用是控制伺服電機,實現(xiàn)高精度的傳動系統(tǒng)定位 ?。 伺服驅動器,又稱為“伺服控制器”或“伺服放大器”,是現(xiàn)代運動
    的頭像 發(fā)表于 02-20 10:06 ?1440次閱讀

    步進電機驅動器有哪些分類,如何選型?

    用于需要高精度和高速度的應用中,如數(shù)控機床、機器人等。 2. 微步驅動器/細分驅動器:通過細分步進角或微步技術提高電機的運動平滑性和精度。
    的頭像 發(fā)表于 01-06 08:08 ?692次閱讀
    步進<b class='flag-5'>電機</b><b class='flag-5'>驅動器</b>有哪些分類,如何選型?

    驅動器的工作原理 驅動器電機的區(qū)別

    驅動器的工作原理 驅動器是一種電子設備,用于控制電機速度、方向和扭矩。它的主要功能是將輸入信號
    的頭像 發(fā)表于 12-19 16:20 ?3788次閱讀

    伺服驅動器故障及維修處理 怎樣維護保養(yǎng)伺服電機驅動器

    伺服驅動器,又稱伺服電機驅動器,是伺服系統(tǒng)的一部分,在使用過程中,難免會出現(xiàn)一些故障,如驅動器的LED燈不亮、LED燈閃爍、電機在一個
    的頭像 發(fā)表于 11-20 15:20 ?2832次閱讀

    伺服驅動器控制方式分析

    1. 引言 伺服驅動器作為連接電機控制系統(tǒng)的橋梁,其性能直接影響到整個系統(tǒng)的響應速度、穩(wěn)定性和精度。隨著控制理論的發(fā)展和電子技術的革新,伺
    的頭像 發(fā)表于 11-04 15:30 ?1269次閱讀

    伺服驅動器與傳統(tǒng)電機的區(qū)別

    驅動器: 伺服驅動器是一種高精度的電機控制系統(tǒng),它通過精確控制電機的轉速、位置和力矩
    的頭像 發(fā)表于 11-04 15:22 ?1014次閱讀

    伺服驅動器與步進電機的比較

    控制電機的轉速、位置和加速度實現(xiàn)精確的運動控制。伺服系統(tǒng)通常包括一個伺服電機和一個伺服
    的頭像 發(fā)表于 11-04 15:02 ?1264次閱讀

    步進電機驅動器的主要驅動方式有哪些?簡單介紹

    步進電機驅動器的主要驅動方式有以下幾種: 脈沖驅動方式 脈沖驅動方式是步進電機
    的頭像 發(fā)表于 10-24 13:43 ?1212次閱讀

    步進電機驅動器的主要工作原理是什么?

    步進電機驅動器的主要工作原理是通過精確控制電機的步進角度,實現(xiàn)對電機位置和速度的精確
    的頭像 發(fā)表于 10-24 13:40 ?2267次閱讀

    步進電機驅動器有哪些類型?該如何分類?

    步進電機驅動器是用于控制步進電機運動的電子設備。它們通過接收控制信號調節(jié)
    的頭像 發(fā)表于 10-24 13:35 ?1058次閱讀

    什么是步進電機驅動器?它具有什么特點?

    步進電機驅動器是一種用于控制步進電機運動的電子設備。它通過接收來自控制系統(tǒng)的脈沖信號,精確地控制
    的頭像 發(fā)表于 10-24 11:52 ?1422次閱讀

    電機驅動器是什么?它的主要作用是什么?

    電機驅動器是一種用于控制電機轉速、轉矩和方向的電子設備。它通過接收外部控制信號,將電能轉換為機械
    的頭像 發(fā)表于 10-22 09:29 ?4234次閱讀

    機器人里的直流有刷電機驅動器資料:HR8870

    HR8870芯片描述 HR8870是一個直流有刷電機驅動器,常用于打印機、電器、工業(yè)設備以及其他小型機器。兩個邏輯輸入控制H橋
    的頭像 發(fā)表于 09-14 12:03 ?552次閱讀
    機器人里的直流有刷<b class='flag-5'>電機</b><b class='flag-5'>驅動器</b>資料:HR8870

    l6599ad與l6599d可以代換嗎

    用于控制驅動直流電機,廣泛應用于家用電器、工業(yè)設備等領域。 然而,要確定L6599AD和L6599D是否可以互相代換,我們需要對這兩個型號
    的頭像 發(fā)表于 07-31 14:56 ?4393次閱讀