新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用L298N電機驅動器控制Arduino直流電機

        使用L298N電機驅動器控制Arduino直流電機

        作者: 時間:2023-04-21 來源:電子產品世界 收藏

        在這個項目中,我們將看到如何使用和L298N器來控制一個直流電動機。有不同的方法來控制直流電動機,但由于許多原因,使用L298N器的直流電動機控制正在變得相當流行。

        本文引用地址:http://www.104case.com/article/202304/445858.htm

        概述

        直流電動機是初學者和業余愛好者遇到的最簡單的電動機。它的操作非常簡單:將電機的兩根導線連接到電池的兩個端子上,然后就可以了!你的電機就開始旋轉了。

        如果你調換引線,即顛倒極性,電機將以相反的方向旋轉。就這么簡單。

        如果你想控制一個簡單的直流電動機的旋轉速度,那么有一種技術叫做PWM直流電動機控制。這種技術產生的脈沖寬度調制或PWM信號將使我們能夠控制輸送到的平均電壓。

        使用PWM對直流電動機進行速度控制

        使用PWM技術,應用于直流電動機的平均電壓值是通過以非常高的速率打開和關閉電源來控制的。這種開關的頻率將在幾十千赫茲左右。

        現在,應用于直流電動機的平均電壓將取決于所謂的PWM信號的占空比。PWM信號的占空比是指信號接通或高電平的時間與信號總時間的比率,即接通時間和斷開時間之和。

        占空比通常以百分比表示,下圖表示12V電源的不同PWM信號,占空比分別為0%、25%、50%、75%和100%。

        Arduino DC Motor Control using L298N PWM Duty Cycle

        使用L298N PWM占空比控制

        現在我們已經控制了供應給直流電動機的平均電壓,我們如何將這個電壓應用到電動機上呢?這就需要使用晶體管了。

        來自任何來源的PWM信號,如本例中的Arduino,可以給MOSFET的柵極,根據PWM信號的占空比,直流電動機的速度會有所不同。

        下圖顯示了一個簡單的電路圖,從Arduino輸出的PWM信號被送給一個MOSFET,12V直流電動機通過MOSFET被連接。

        Arduino DC Motor Control using L298N MOSFET

        使用L298N MOSFET的Arduino控制

        這個電路的代碼在下面給出。使用該代碼,Arduino將以漸變的方式改變直流電動機的速度,即逐漸增加速度到峰值,然后逐漸降低速度到停止。

        代碼

        這個電路對于控制電機的速度很好,但不是改變旋轉方向的有效方法。為了改變旋轉方向而不需要每次都把電機的引線反過來,你需要使用一個特殊的電路,叫做H橋。

        使用H型橋控制直流電動機

        H型橋是一個簡單的電子電路,由四個開關元件組成,如晶體管(BJT或MOSFET),可以在兩個方向上驅動電機,而無需切換引線。

        H橋 "這個名字是指由四個晶體管和一個位于中心的電機組成的連接的外觀,形成字母 "H"。

        一個使用四個晶體管和一個電機的簡單H型橋連接如下所示。通過同時激活兩個特定的晶體管,我們可以控制流經電機的電流,從而控制旋轉的方向。

        Arduino DC Motor Control using L298N H-Bridge using Transistors

        使用L298N H橋的Arduino直流電動機控制晶體管

        上述電路中的兩個控制輸入A和B將決定電機的旋轉方向。如果A為低電平,B為高電平,晶體管Q1和Q4將被打開,并允許電流按特定方向流過電機。

        如果控制輸入A為高電平,B為低電平,那么晶體管Q2和Q3將被打開,流經電機的電流被逆轉,因此旋轉的方向也被逆轉。

        通過結合這兩個特點,即速度控制的PWM技術和方向控制的H橋連接,你可以完全控制一個直流電動機。

        使用晶體管來進行有效的H橋連接是很繁瑣的。為此,市場上有專門的H橋IC,兩個常見的IC是L293D和L298N。

        在前面的項目中,我們已經看到了如何使用L293D來控制直流電動機的速度。在這個項目中,我們將專注于更先進的L298N電機驅動器,看看Arduino直流電機控制使用L298N電機驅動器使用PWM技術。

        關于L298N電機驅動器的簡要說明

        L298N電機驅動器IC是一個15引線的高電壓、高電流電機驅動器IC,有兩個全橋驅動器。L298N IC的邏輯電平與標準TTL兼容,可用于驅動不同的電感負載,如直流電機、步進電機、繼電器等。

        下圖顯示了L298N IC在Multiwatt封裝(多引線電源封裝)中的引腳圖。

        Arduino DC Motor Control using L298N Motor Driver Pin Diagram

        使用L298N電機驅動器的Arduino直流電機控制引腳圖

        由于L298N電機驅動器IC是一個雙全橋驅動器IC,你可以用單獨的輸入同時控制兩個電機。邏輯電源電壓為5V,但電機電源電壓可高達45V。每個通道的峰值輸出電流為2A。

        一般來說,L298N驅動器是以模塊的形式出現的,它包含了控制兩個直流電動機所需的所有元件和連接器。一個這樣的模塊如下圖所示。我將解釋這個模塊的幾個重要組件。

        Arduino DC Motor Control using L298N Motor Driver Module

        使用L298N電機驅動模塊控制Arduino直流電機

        L298N電機驅動模塊由兩個2針的螺絲接線板組成,用于連接兩個電機。它還有六個針腳的公頭,用于連接兩個啟用輸入和四個輸入針腳(每個電機兩個)。

        有一個3針的螺絲端子板,你需要通過它給電機提供電源電壓。如果使用的電機額定電壓為12V或更低,那么通過這個螺絲端子給出12V電源,板載的5V穩壓器將為L298N IC提供5V邏輯電源。

        Arduino DC Motor Control using L298N Motor Driver Module Pins

        使用L298N電機驅動模塊引腳的Arduino直流電機控制

        你也可以通過3針螺絲端子中的第三個引腳來獲得這個穩壓的5V。3針螺絲端子附近提供的跳線必須在電源電壓達到12V時參與,因為這個跳線將啟用板載的穩壓器。3針螺絲端子的第三個針腳的5V輸出只有在跳線參與時才可用,即電源電壓為12V。這個5V輸出可以用來給你的Arduino板供電。

        如果電源電壓大于12V,那么就去掉跳線,因為它可能會損壞穩壓器。在這種情況下,L298N集成電路的5V邏輯電源是通過3針螺絲端子的第三針給的。

        使用L298N控制Arduino直流電動機

        現在我們將看到一個簡單的電路,我們使用Arduino和L298N集成電路來控制直流電動機的速度和方向。這個項目需要一些額外的元件,完整的清單如下。在使用L298N的Arduino直流電機控制項目中,我們將使用PWM信號和L298N(H橋)的組合來控制一個簡單的直流電機的功能,即速度和旋轉方向。

        電路圖

        Arduino DC Motor Control using L298N Circuit Diagram

        使用L298N的Arduino直流電動機控制電路圖

        所需元件

        Arduino UNO

        L298N電機驅動模塊

        12V直流電動機  

        100KΩ電位器  

        按鈕  

        12V電源  

        面包板  

        連接線  

        應用 

        使用L298N電機驅動器的Arduino直流電機控制項目可以成為許多高級項目的開始。

        幾乎所有的機器人都有輪子,我們需要控制與這些輪子相連的電機。因此,任何基于Arduino的機器人都可以使用L298N實現這種類型的電機控制。

        L298N電機驅動器的一些機器人應用是手勢控制機器人、跟線機器人、避障機器人等。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 克拉玛依市| 顺义区| 永兴县| 天峻县| 潼关县| 泌阳县| SHOW| 洪湖市| 英吉沙县| 永济市| 奉贤区| 武宣县| 象州县| 大安市| 进贤县| 密山市| 岳西县| 邵武市| 武义县| 滁州市| 旅游| 宜川县| 婺源县| 英山县| 襄垣县| 博客| 郁南县| 泰安市| 崇礼县| 和平县| 广西| 襄樊市| 洛南县| 武冈市| 皋兰县| 敦化市| 娄底市| 若尔盖县| 塔城市| 常州市| 南昌县|