Step 1:規(guī)格

控制2個直流電機(jī),每個直流電機(jī)最大@ 2A,或一個步進(jìn)電機(jī)
驅(qū)動器:L298N雙H橋
驅(qū)動器輸入電壓:5V?35V(或7V?35V,具體取決于電源需求)
最大平均電流Io:每個2A
最大功耗: 20W @ 75攝氏度
控制信號輸入電平:高電平2.3V 《= Vin 《= Vss;低:-0.3V 《= Vin 《= 1.5V
板載78M05線性穩(wěn)壓器提供了穩(wěn)定的5V(最高0.5A),可用于為L298N H橋和其他部分。
步驟2:L298N框圖

步驟3:邏輯表

L =低,H =高,X =無關(guān),Z =高阻抗,Vin =輸入電壓,Vdrop =電壓降
注意:輸入之間存在電壓降電壓和L298的電機(jī)輸出,可以預(yù)期會有1V至3V的下降,具體取決于輸入電壓和電流消耗。
步驟4:示意圖

第5步:如何控制直流電動機(jī)
第一個直流電動機(jī)連接到由In1和In2控制的電動機(jī)驅(qū)動器控制板的Out1和Out2。設(shè)置In1 = HIGH和In2 = LOW會使電動機(jī)前進(jìn),而將輸入信號取反(In1 = LOW,In2 = HIGH)會使電動機(jī)后退。將In1和In2都設(shè)置為LOW會使電動機(jī)立即停止。
ENA默認(rèn)為HIGH,這會使電動機(jī)以恒定速度運(yùn)行。為了控制電動機(jī)的速度,必須將跳接器從EnA上拆下,然后將其連接到具有微控制器的PWM功能的數(shù)字輸出。
在某些情況下,ENA連接到微控制器的非PWM數(shù)字輸出,以便緩慢停止電動機(jī)。
上面的連接和方法可以應(yīng)用于控制第二個直流電動機(jī)。
步驟6:使用Arduino控制直流電動機(jī)
《通過將L298N電動機(jī)驅(qū)動器控制器板連接到Arduino,您可以控制兩個直流電動機(jī)。下面的代碼是Arduino草圖,它以恒定速度控制兩個電機(jī)。
#define FORWARD 8
#define BACKWARD 2
#define STOP 5
int Motor[2][2] = //two dimensional array
{
{4 , 5}, //input pin to control Motor1--》 Motor[0][0]=4, Motor[0][1]=5
{6 , 7}, //input pin to control Motor2--》 Motor[1][0]=6, Motor[1][1]=7
};
void setup() {
pinMode(Motor[0][0], OUTPUT);
pinMode(Motor[0][1], OUTPUT);
pinMode(Motor[1][0], OUTPUT);
pinMode(Motor[1][1], OUTPUT);
}
void loop() {
motor_run(0, FORWARD); //motor1 forward
delay(2000); //delay 2 seconds
motor_run(0, STOP); //motor1 stop
motor_run(1, BACKWARD); //motor2 backward
delay(2000); //delay 2 seconds
motor_run(1, STOP); //motor2 stop
}
void motor_run(int motor, int movement) {
switch (movement) {
case FORWARD:
digitalWrite(Motor[motor][0], HIGH);
digitalWrite(Motor[motor][1], LOW);
break;
case BACKWARD:
digitalWrite(Motor[motor][0], LOW);
digitalWrite(Motor[motor][1], HIGH);
break;
case STOP:
digitalWrite(Motor[motor][0], LOW);
digitalWrite(Motor[motor][1], LOW);
break;
}
}
步驟7:使用Arduino控制電機(jī)速度
下面的草圖控制兩個直流電動機(jī)的速度。
請從ENA和ENB上卸下跳線,然后將ENA和ENB分別連接到數(shù)字9和數(shù)字10。
#define FORWARD 8
#define BACKWARD 2
#define STOP 5
#define PWM_PIN_1 9 //speed control pin for motor1
#define PWM_PIN_2 10 ///speed control pin for motor2
int Motor[2][2] = //two dimensional array
{
{4 , 5}, //input pin to control Motor1--》 Motor[0][0]=4, Motor[0][1]=5
{6 , 7}, //input pin to control Motor2--》 Motor[1][0]=6, Motor[1][1]=7
};
void setup() {
pinMode(PWM_PIN_1, OUTPUT);
pinMode(PWM_PIN_2, OUTPUT);
pinMode(Motor[0][0], OUTPUT);
pinMode(Motor[0][1], OUTPUT);
pinMode(Motor[1][0], OUTPUT);
pinMode(Motor[1][1], OUTPUT);
motor_run(0, FORWARD); //motor1 forward
motor_run(1, BACKWARD); //motor2 backward
}
void loop() {
//decelerate
for (int motor_speed=255; motor_speed》=0; motor_speed--) {
analogWrite(PWM_PIN_1, motor_speed);
analogWrite(PWM_PIN_2, motor_speed);
delay(20); //delay 20 milliseconds
}
//accelerate
for (int motor_speed=0; motor_speed《=255; motor_speed++) {
analogWrite(PWM_PIN_1, motor_speed);
analogWrite(PWM_PIN_2, motor_speed);
delay(20); //delay 20 milliseconds
}
}
void motor_run(int motor, int movement) {
switch (movement) {
case FORWARD:
digitalWrite(Motor[motor][0], HIGH);
digitalWrite(Motor[motor][1], LOW);
break;
case BACKWARD:
digitalWrite(Motor[motor][0], LOW);
digitalWrite(Motor[motor][1], HIGH);;
break;
case STOP:
digitalWrite(Motor[motor][0], LOW);
digitalWrite(Motor[motor][1], LOW);;
break;
}
}
第8步:步進(jìn)電機(jī)基礎(chǔ)
步進(jìn)電機(jī)有兩種類型:單極和雙極步進(jìn)電機(jī)。單極步進(jìn)電動機(jī)僅在正電壓下運(yùn)行(僅需要一個電源,例如5V和0)。雙極步進(jìn)電動機(jī)具有兩個極性(需要兩個電源,例如2.5V和-2.5V)。
4線制電動機(jī)是雙極性的。
6線制電動機(jī)是單極電動機(jī)。
8線電機(jī)可以雙極或單極運(yùn)行。
步驟9:步進(jìn)模式

波形驅(qū)動器(單相開啟)
消耗的功率最少,一次只能通電一相。
全步順序(僅單極步進(jìn)電機(jī))
在全步順序中,兩個線圈同時通電,從而提高了轉(zhuǎn)矩速度乘積并提高了保持轉(zhuǎn)矩。
半步進(jìn)序列(僅用于單極步進(jìn)電機(jī))
在“半模式”步進(jìn)序列中,電機(jī)步進(jìn)角減小到全模式下的一半。
注意:L298N僅適用于雙極步進(jìn)電機(jī),不適用于單極步進(jìn)電機(jī)。
步驟10:使用Arduino控制雙極步進(jìn)電機(jī)

#define OUT1 4 //Digital 4 connect to L298 IN1
#define OUT2 5 //Digital 5 connect to L298 IN2
#define OUT3 6 //Digital 6 connect to L298 IN3
#define OUT4 7 //Digital 7 connect to L298 IN4
int motor_speed = 20; //delay 20 milliseconds (smaller is faster)
void setup() {
pinMode(OUT1, OUTPUT);
pinMode(OUT2, OUTPUT);
pinMode(OUT3, OUTPUT);
pinMode(OUT4, OUTPUT);
}
void loop() {
step(1,0,0,0); //step 1 (L1 ON)
step(0,0,1,0); //step 2 (L3 ON)
step(0,1,0,0); //step 3 (L2 ON)
step(0,0,0,1); //step 4 (L4 ON)
}
void step(int in1, int in2, int in3, int in4) {
digitalWrite(OUT1, in1);
digitalWrite(OUT2, in2);
digitalWrite(OUT3, in3);
digitalWrite(OUT4, in4);
delay(motor_speed);
}
責(zé)任編輯:wv
-
L298N
+關(guān)注
關(guān)注
21文章
224瀏覽量
80654
發(fā)布評論請先 登錄
變頻器對三相異步電動機(jī)的影響分析
電動機(jī)的“守護(hù)神”——保護(hù)與抗晃電技術(shù)
融合創(chuàng)新:構(gòu)建FMEA-DFTA閉環(huán)可靠性評估框架以應(yīng)對航空級電動機(jī)控制器的安全完整性要求
變頻電動機(jī)的特點(diǎn)
電機(jī)驅(qū)動和控制技術(shù)解析
?DRV8821 雙路步進(jìn)電機(jī)控制器與驅(qū)動器技術(shù)文檔總結(jié)
?MIC4607A MOSFET驅(qū)動器評估板用戶指南總結(jié)
LM3423 用于恒流 LED 驅(qū)動器的 N 通道控制器技術(shù)手冊
LM3421 用于帶串聯(lián) DIM FET 驅(qū)動器的恒流 LED 驅(qū)動器的 N 通道控制器技術(shù)手冊
具有可選同步 MOSFET 驅(qū)動器的 28 V 降壓 DC-DC 控制器 skyworksinc
電動汽車用異步電動機(jī)混合控制系統(tǒng)的研究
TMCM-3216步進(jìn)電機(jī)控制器/驅(qū)動器模塊
安科瑞ARD2系列智能電動機(jī)保護(hù)器說明書
基于L298N的STM32的直流電機(jī)PWM調(diào)速控制
安科瑞電動機(jī)保護(hù):全方位守護(hù)電機(jī)安全與高效運(yùn)行
如何使用L298N電動機(jī)驅(qū)動器控制器板
評論