Module điều khiển động cơ TB6612FND

Từ ChipFC Wiki
Phiên bản vào lúc 19:07, ngày 7 tháng 12 năm 2017 của Chipfc (Thảo luận | đóng góp) (Tạo trang mới với nội dung “Category:Module {{Đang viết}} == Giới thiệu == * TB6612FND là 1 điều khiển động cơ kép, cũng là 1 H-Bridge kép. * Một H-Bridge…”)
Bước tới: chuyển hướng, tìm kiếm

Editor.png

Bài viết này đang được phát triển hoặc chỉnh sửa lớn.
Bạn có thể đóng góp để bài viết hoàn thiện hơn.
Sau khi chỉnh sửa xong thông báo này sẽ được gỡ bỏ.

Giới thiệu

  • TB6612FND là 1 điều khiển động cơ kép, cũng là 1 H-Bridge kép.
  • Một H-Bridge là một thiết lập của transistors cho phép bạn chuyển đổi hướng dòng điện.
  • Gắn với một động cơ, có nghĩa là bạn có thể xoay nó theo cả hai hướng.

TB66 1.jpg


Đặc điểm

  • Điện áp cung cấp điện áp: VM = 15V max, VCC = 2.7-5.5V
  • Dòng điện đầu ra: Iout = 1.2A (trung bình) / 3.2A (đỉnh)
  • Chế độ chờ để tiết kiệm năng lượng
  • Chế độ điều khiển động cơ CW / CCW / interrup / stop
  • Tích hợp mạch tản nhiệt nhiệt và mạch phát hiện điện áp thấp
  • Tất cả các chân của TB6612FNG vỡ ra đến 0,1 khoảng cách pins
  • Lọc các tụ điện trên cả hai đường dây cung cấp
  • Kích thước: 0.8x0.8

Sử dụng

Sơ đồ kết nối TB6612FND 2.png 400px

Source code mẫu:

//motor A connected between A01 and A02
//motor B connected between B01 and B02

int STBY = 10; //standby

//Motor A
int PWMA = 3; //Speed control
int AIN1 = 9; //Direction
int AIN2 = 8; //Direction

//Motor B
int PWMB = 5; //Speed control
int BIN1 = 11; //Direction
int BIN2 = 12; //Direction

void setup(){
pinMode(STBY, OUTPUT);

pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);

pinMode(PWMB, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
}

void loop(){
move(1, 255, 1); //motor 1, full speed, left
move(2, 255, 1); //motor 2, full speed, left

delay(1000); //go for 1 second
stop(); //stop
delay(250); //hold for 250ms until move again

move(1, 128, 0); //motor 1, half speed, right
move(2, 128, 0); //motor 2, half speed, right

delay(1000);
stop();
delay(250);
}

void move(int motor, int speed, int direction){
//Move specific motor at speed and direction
//motor: 0 for B 1 for A
//speed: 0 is off, and 255 is full speed
//direction: 0 clockwise, 1 counter-clockwise

digitalWrite(STBY, HIGH); //disable standby

boolean inPin1 = LOW;
boolean inPin2 = HIGH;

if(direction == 1){
inPin1 = HIGH;
inPin2 = LOW;
}

if(motor == 1){
digitalWrite(AIN1, inPin1);
digitalWrite(AIN2, inPin2);
analogWrite(PWMA, speed);
}else{
digitalWrite(BIN1, inPin1);
digitalWrite(BIN2, inPin2);
analogWrite(PWMB, speed);
}
}

void stop(){
//enable standby
digitalWrite(STBY, LOW);
}