Cách Dùng Module Điều Khiển Động Cơ L298N - Cầu H Để Điều Khiển Động Cơ DC

You might also like

You are on page 1of 7

Cch dng Module iu khin ng c L298N - cu H

iu khin ng c DC
instructable_tr... gi vo Th nm, 16 Thng 6, 2016 - 18:36

M t d n:
Mnh thy trn cng ng c nhiu bi v iu khin ng c,
nh bi ca bn quocbao hay bn Nguyn Duy Tm. Mt bi th ni
v IC cu H, mt bi th ni v Motor shield ca Arduino. Tuy nhin,
dn xe thng li khng dng 2 phng php , m li dng
module L298N. Hm nay, mnh rnh ri, kim bi trn instructable
thy hay v trn Cng ng Arduino Vit Nam cha c nn mnh s
vit gip cc bn tr sau ny d tip cn vi module ny hn.
Module ny l g?
Nh bi vit Mch cu H v iu khin ng c vi SN754410 hay bi
vit Lm d n xe vi module iu khin ng c L293D, cc tc gi
hng dn bn cch dng ic, module cu H iu khin ng c DC. V
vi module L298N cng l mt module thng dng vi chc nng thng
dng v gi thnh cc k r l la chn ca cc bn hc sinh, sinh vin.

Thng s k thut:

Driver: L298N tch hp hai mch cu H.


in p iu khin: +5 V ~ +12 V
Dng ti a cho mi cu H l: 2A (=>2A cho mi motor)
in p ca tn hiu iu khin: +5 V ~ +7 V
Dng ca tn hiu iu khin: 0 ~ 36mA (Arduino c th chi
n 40mA nn khe re nh cc bn)
Cng sut hao ph: 20W (khi nhit T = 75 )
Nhit bo qun: -25 ~ +130
Datasheet bn c th ti v ti y.
L298 gm cc chn:

12V power, 5V power. y l 2 chn cp ngun trc tip n


ng c.
Bn c th cp ngun 9-12V 12V.

Bn cnh c jumper 5V, nu bn nh hnh trn th


s c ngun 5V ra cng 5V power, ngc li th khng. Bn nh
hnh th ta ch cn cp ngun 12V v 12V power l c 5V 5V
power, t cp cho Arduino
Power GND chn ny l GND ca ngun cp cho ng c.
Nu chi Arduino th nh ni vi GND ca Arduino
2 Jump A enable v B enable, nh hnh, ng rt ra bn
nh!
Gm c 4 chn Input. IN1, IN2, IN3, IN4. Chc nng cc chn
ny ti s gii thch bc sau.
Output A: ni vi ng c A. bn ch chn +, -. Nu bn ni
ngc th ng c s chy ngc. V ch nu bn ni ng c
bc, bn phi u ni cc pha cho ph hp.
Ni chung th c th sai m sa thi haha.
Board ny gm 2 phn iu khin ng c. V c th iu khin cho 1
ng c bc 6 dy hoc 4 dy.

Chun b phn cng


Arduino uno
Cu H L298
Trc vt
Dy cm
ng c DC (motor)

Ni mch

Cc bn ni nh hnh nh, click vo nh c nh to hn nh

Nu bn iu khin 2 ng c ca robot, bn cn ch bi u
ni Cc +,- ca ng c tng ng vi chn +,- ca OUTPUT X.
Tip bn cp ngun cho Module L298 nh phn gii thch
trn. Ch chn Jump cho ng.
Nu bn dng 5V v ng c di 1A bn c th dng chn 5V
ca Arduino, nu khng ngun cp cho ng c L298 phi l
ngun ring khng lm hng Arduino ca bn.
Cc chn s D7, D6, D5 v D4 ca Arduino s ni tng ng
vi IN1, IN2, IN3 v IN4 ca L298.
Chiu quay ca ng c c iu khin bng cch xut cc
u ra HIGH hoc LOW ti cc chn IN .
V d vi ng C A: Logic HIGH IN1 v IN2 Logic
LOW s lm ng c quay 1 hng nu t Logic ngc li s lm
ng c quay theo hng khc.
x

Bn cn phi nh, y l lm ng c ch quay ht cng


sut m thi. Nu mun thay i tc ca n, bn cn phi
bm xung PWM bng cc chn c h tr PWM trn Arduino (nhng
chn c du ~).
hiu r, by gi mnh s gip cc bn tng tng
nh:
Tng tng, chn IN1 l chn OutA.1, chn IN2 l
chn OutA.2.
Bn cp cc dng vo IN1, cc m vo IN2 =>
motor quay mt chiu (chiu 1).
Bn cp cc m vo IN1, cc dng vo IN2 =>
motor quay chiu cn li (chiu 2)!
Cc dng y l in th 5V, cc m y l
in th 0V. Hin in th c tnh l in th IN1 tr hiu in
th IN2.
Gi s, hiu in th 5V s l mnh nht trong vic
iu khin ng c. Nh vy, ch cn h hiu in th xung l ng
c s b yu i.
V nu hiu in th < 0 => ng c s o chiu!
Hy vn dng cc lut ny hiu nhng dng
code ca mnh pha di nh!
Code iu khin ng c
Mnh chi cng d chu thi, cc bn xem nh, mnh s comment trong
cc dng code!

1.

#define IN1

2.

#define IN2

3.

#define IN3

4.

#define IN4

5.

#define MAX_SPEED 255 //t 0-255

6.

#define MIN_SPEED 0

7.

void setup()

8.

9.

pinMode(IN1, OUTPUT);

10.

pinMode(IN2, OUTPUT);

11.

pinMode(IN3, OUTPUT);

12.

pinMode(IN4, OUTPUT);

13.

14.
15.

void motor_1_Dung() {

16.

digitalWrite(IN1, LOW);

17.

digitalWrite(IN2, LOW);

18.

19.
20.

void motor_2_Dung() {

21.

digitalWrite(IN3, LOW);

22.

digitalWrite(IN4, LOW);

23.

24.
25.

void motor_1_Tien(int speed) { //speed: t 0 - MAX_SPEED

26.

speed = constrain(speed, MIN_SPEED, MAX_SPEED);//m bo gi tr nm


trong mt khong t 0 - MAX_SPEED - http://arduino.vn/reference/constrain

27.

digitalWrite(IN1, HIGH);// chn ny khng c PWM

28.

analogWrite(IN2, 255 - speed);

29.

30.
31.

void motor_1_Lui(int speed) {

32.

speed = constrain(speed, MIN_SPEED, MAX_SPEED);//m bo gi tr nm


trong mt khong t 0 - MAX_SPEED - http://arduino.vn/reference/constrain

33.

digitalWrite(IN1, LOW);// chn ny khng c PWM

34.

analogWrite(IN2, speed);

35.

36.
37.

void motor_2_Tien(int speed) { //speed: t 0 - MAX_SPEED

38.

speed = constrain(speed, MIN_SPEED, MAX_SPEED);//m bo gi tr nm


trong mt khong t 0 - MAX_SPEED - http://arduino.vn/reference/constrain

39.

analogWrite(IN3, speed);

40.

digitalWrite(IN4, LOW);// chn ny khng c PWM

41.

42.
43.

void motor_2_Lui(int speed) {

44.

speed = constrain(speed, MIN_SPEED, MAX_SPEED);//m bo gi tr nm


trong mt khong t 0 - MAX_SPEED - http://arduino.vn/reference/constrain

45.

analogWrite(IN4, 255 - speed);

46.

digitalWrite(IN3, HIGH);// chn ny khng c PWM

47.

48.
49.

void loop()

50.

51.

motor_1_Tien(MAX_SPEED); // motor 1 tin

52.

delay(5000);//tin 5 s

53.

motor_2_Lui(MAX_SPEED); //motor 2 li

54.

// motor 1 vn tin

55.

delay(2000);//tin 2 s

56.

motor_1_Dung();

57.

motor_2_Dung();

58.

delay(10000);//dng 10s

59.

Li kt
Chc cc bn thnh cng!
li comment mnh bit cc bn c lm c khng nh :D. Like v
share gip mnh mnh c nhiu im cng ng nha

You might also like