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

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

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

使用L293D電機驅(qū)動器控制直流電機

CHANBAEK ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2024-06-21 15:55 ? 次閱讀

一、直流電機的定義

直流電機是指能將直流電能轉換成機械能(直流電動機)或?qū)C械能轉換成直流電能(直流發(fā)電機)的旋轉電機。當直流電機作為電動機運行時,它將電能轉換為機械能,用于驅(qū)動各種設備;而作為發(fā)電機運行時,則將機械能轉換為電能,用于發(fā)電。

直流電機的結構主要由定子和轉子兩大部分組成。直流電機中靜止不動的部分稱為定子。定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。其中,主磁極的作用是產(chǎn)生氣隙磁場,由主磁極鐵心和勵磁繞組兩部分組成;換向極的作用是改善換向,減小電機運行時電刷與換向器之間可能產(chǎn)生的換向火花;電刷裝置則用于引入或引出直流電壓和直流電流。直流電機中轉動的部分稱為轉子,其主要作用是產(chǎn)生電磁轉矩和感應電動勢,是直流電機進行能量轉換的樞紐。轉子由轉軸、電樞鐵心、電樞繞組、換向器和風扇等組成。其中,電樞鐵心是主磁路的主要部分,同時用以嵌放電樞繞組;電樞繞組的作用是產(chǎn)生電磁轉矩和感應電動勢,是直流電機進行能量變換的關鍵部件。

直流電機的工作原理基于電磁感應和電磁力作用。當直流電源向電機的電樞繞組供電時,電樞繞組會產(chǎn)生電流,進而在磁場中受到電磁力的作用而旋轉。同時,電樞在旋轉過程中會切割定子磁場中的磁力線,產(chǎn)生感應電動勢。這個感應電動勢的方向與外加電壓的方向相反,稱為反電動勢。電源需要克服這個反電動勢才能向電動機輸入電流,從而維持電機的持續(xù)運轉。

直流電機在工業(yè)生產(chǎn)、交通運輸、醫(yī)療設備、家用電器以及多個專業(yè)領域都有廣泛的應用。例如,在工業(yè)生產(chǎn)中,直流電機常用于機床、風機、泵、印刷設備、冶金設備、化工設備、食品加工設備、紡織機械等設備中;在交通運輸領域,直流電機則廣泛應用于電動車、電動汽車、電動自行車等交通工具中;在醫(yī)療設備領域,直流電機也被用于X光機、CT掃描儀、手術鉆等設備中。此外,直流電機還在家用電器、電動工具、船舶、自動化系統(tǒng)、航空航天等領域有廣泛應用。

二、使用L293D電機驅(qū)動器控制直流電機

直流電機廣泛應用于電氣、電子、機械行業(yè)。軸、真空吸塵器、傳送帶、洗衣機、印刷機和許多其他機器都使用直流電機。然而,需要正確理解控制直流電機,因為每臺機器都必須以不同的方式導出和控制。因此,有不同的驅(qū)動器 IC 可以在 Arduino微控制器的幫助下以更好、更精確的方式控制直流電機。因此,在本教程中,我們將使用 Arduino UNO 的 L293D 電機驅(qū)動器來控制直流電機。

L293d是一款電機驅(qū)動IC,可以驅(qū)動兩個直流電機。我們使用微控制器和該 IC 來控制方向。該電機驅(qū)動IC可以驅(qū)動電壓小于36V的電機。此外,IC 可以沿兩個方向(順時針或逆時針)運行電機。

電路原理

連接表

ArduinoL293D電機驅(qū)動器
電壓控制電路電壓控制電路
接地接地
D9引腳 1
D8引腳 2
D7引腳 7
D3引腳 9
D5引腳 10
D4引腳 15

L293D電機驅(qū)動IC引腳配置

引腳號引腳名稱描述
1啟用1,2該引腳啟用輸入引腳輸入 1(2) 和輸入 2(7)
2輸入1直接控制輸出 1 引腳。由數(shù)字電路控制。
3輸出1連接至電機1一端
4地面我們將接地引腳連接到電路的接地(0V)
5地面接地引腳連接到電路的地(0V)
6輸出2連接到電機1的另一端
7輸入2直接控制輸出 2 引腳。由數(shù)字電路控制。
8Vcc2(Vs)連接到運行電機的電壓引腳(4.5V 至 36V)
9啟用3,4該引腳啟用輸入引腳輸入 3(10) 和輸入 4(15)
10輸入3直接控制輸出 3 引腳。由數(shù)字電路控制
11輸出3連接至電機2一端
12地面我們將接地引腳連接到電路的接地端。
13地面我們將接地引腳連接到電路的接地端。
14輸出4連接到電機2的另一端
15輸入4直接控制輸出 4 引腳。由數(shù)字電路控制
16Vcc2(Vss)連接至+5V以啟用IC功能

Arduino代碼

// Motor A connections
int enA = 9;
int in1 = 8;
int in2 = 7;
// Motor B connections
int enB = 3;
int in3 = 5;
int in4 = 4;

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);
	
	// Turn off motors - Initial state
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

void loop() {
	directionControl();
	delay(1000);
	speedControl();
	delay(1000);
}

// This function lets you control spinning direction of motors
void directionControl() {
	// Set motors to maximum speed
	// For PWM maximum possible values are 0 to 255
	analogWrite(enA, 255);
	analogWrite(enB, 255);

	// Turn on motor A & B
	digitalWrite(in1, HIGH);
	digitalWrite(in2, LOW);
	digitalWrite(in3, HIGH);
	digitalWrite(in4, LOW);
	delay(2000);
	
	// Now change motor directions
	digitalWrite(in1, LOW);
	digitalWrite(in2, HIGH);
	digitalWrite(in3, LOW);
	digitalWrite(in4, HIGH);
	delay(2000);
	
	// Turn off motors
	digitalWrite(in1, LOW);
	digitalWrite(in2, LOW);
	digitalWrite(in3, LOW);
	digitalWrite(in4, LOW);
}

// This function lets you control speed of the motors
void speedControl() {
	// 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);
}

工作說明

要使用 L293D 電機驅(qū)動器 IC 和 Arduino 控制直流電機,首先按照表格和電路圖中的描述進行完美連接。然后,在 Arduino IDE 中編寫給定的代碼并將該代碼上傳到 Arduino。現(xiàn)在,當您向電路供電時,電機開始根據(jù)代碼中提供的命令旋轉。例如,這些電機開始朝一個方向全速旋轉,然后朝另一個方向全速旋轉,分別持續(xù)兩秒鐘。然后它們停止旋轉。之后,它們從 0 加速到最大速度,然后減速到零。因此,電機將根據(jù)您的代碼進行控制。

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

    關注

    36

    文章

    1692

    瀏覽量

    69901
  • 電機驅(qū)動器

    關注

    15

    文章

    623

    瀏覽量

    64359
  • Arduino
    +關注

    關注

    187

    文章

    6453

    瀏覽量

    185915
收藏 人收藏

    評論

    相關推薦

    求助 關于L293D模塊/4直流電機驅(qū)動模塊的問題

    我想問一下,單片機控制直流電機可不可以理解為 利用單片機輸出空占比不同的pwm信號來控制驅(qū)動直流電機模塊使
    發(fā)表于 10-21 21:19

    L293D驅(qū)動與占空比問題

    求助 關于L293D模塊/4直流電機驅(qū)動模塊的問題L293D電機驅(qū)動模塊資料關于89C52對于
    發(fā)表于 08-29 13:54

    介紹一種避障車(L293D電機驅(qū)動)

    /BV1kt411J7pN?from=search&seid=16911526506650231789原文鏈接:https://blog.csdn.net/qq_40593308/article/details/105563369這是一款常用的直流電機驅(qū)動模塊,采用
    發(fā)表于 06-28 11:08

    使用Arduino和L293D控制電機的初學者

    在本篇文章中,您將學習到如何通過使用Arduino開發(fā)板和L293D驅(qū)動器控制直流電機、步進電機和伺服
    發(fā)表于 06-29 07:40

    如何使用Arduino L293D電機驅(qū)動器擴展板驅(qū)動直流電機

    直流電機是什么?步進電機是什么?伺服電機是什么?如何使用Arduino L293D電機驅(qū)動器擴展
    發(fā)表于 07-13 06:34

    怎樣通過Arduino開發(fā)板和L293D驅(qū)動器控制直流電機

    怎樣通過Arduino開發(fā)板和L293D驅(qū)動器控制直流電機?為什么用L293D驅(qū)動
    發(fā)表于 10-18 10:50

    請問一下L293D如何驅(qū)動5V直流電機?

    請問一下L293D如何驅(qū)動5V直流電機?[/td][td]
    發(fā)表于 10-20 07:59

    使用L293d直流電機驅(qū)動器

    描述使用 L293d直流電機驅(qū)動器我的項目是直流電機驅(qū)動器,適用于中低功率電機。如果要
    發(fā)表于 08-01 06:15

    ATMEGA 328P與L293D電機驅(qū)動器

    描述ATMEGA 328P與L293D這是一個 Atmega 328P 加上一個 L293D 電機驅(qū)動器。 它控制
    發(fā)表于 08-10 06:41

    L293D電機驅(qū)動模塊使用手冊

    L293D電機驅(qū)動模塊使用手冊
    發(fā)表于 07-15 12:07 ?615次下載

    微雪電子直流電機、步進電機驅(qū)動模塊簡介

    Arduino 電機控制板 雙橋 L293D 可同時驅(qū)動四路直流電機或兩路步進電機 自帶ESD
    的頭像 發(fā)表于 12-19 16:33 ?1595次閱讀
    微雪電子<b class='flag-5'>直流電機</b>、步進<b class='flag-5'>電機</b><b class='flag-5'>驅(qū)動</b>模塊簡介

    使用L293d直流電機驅(qū)動器

    電子發(fā)燒友網(wǎng)站提供《使用L293d直流電機驅(qū)動器.zip》資料免費下載
    發(fā)表于 07-19 10:08 ?5次下載
    使用<b class='flag-5'>L293d</b>的<b class='flag-5'>直流電機</b><b class='flag-5'>驅(qū)動器</b>

    使用Arduino和L293D電機驅(qū)動器IC控制直流電機

    如果你打算用直流電機建造一個機器人,那么你最終會了解到,如果你想讓它朝某個方向移動,你需要同時控制電機的速度和 方向。最好的方法之一是使用 L293D
    發(fā)表于 03-30 11:11 ?2次下載
    使用Arduino和<b class='flag-5'>L293D</b><b class='flag-5'>電機</b><b class='flag-5'>驅(qū)動器</b>IC<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>

    L293D驅(qū)動5V直流電機

    L293D 工作電壓為4.5 Vto 36 V,是一個高電壓、大電流、 4 通道單集成電機驅(qū)動,用于連接標準 DTL或 TTL邏輯電平、驅(qū)動感應負載(如繼電器線圈、
    發(fā)表于 04-03 15:03 ?4次下載
    <b class='flag-5'>L293D</b><b class='flag-5'>驅(qū)動</b>5V<b class='flag-5'>直流電機</b>

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

    L293D驅(qū)動器是一款雙H橋驅(qū)動器,它可以用來驅(qū)動直流電機和步進電機
    的頭像 發(fā)表于 02-02 14:53 ?3187次閱讀
    <b class='flag-5'>L293D</b><b class='flag-5'>驅(qū)動器</b>電路圖介紹