- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
TB6612FNG là một module với giao tiếp điều khiển rất dễ dàng và giá rẻ, nhỏ gọn để điều khiển động cơ. Có khả năng điều khiển hai động cơ ở mức dòng điện không đổi lên đến 1,2A. Bên trong IC, bạn sẽ tìm thấy hai cầu H với đầy đủ các chức năng điều khiển động cơ quay thuận, nghịch, dừng phanh.
THÔNG SỐ KỸ THUẬT:
+ Điện áp điều khiển động cơ tối đa: 15VDC
+ Điện áp tín hiệu logic: 2.7~5.5VDC
+ Dòng điện điều khiển tối đa mỗi kênh: 1.2A
+ Tín hiệu PWM tối đa; 100kHz
+ 4 chế độ điều khiển động cơ: thuận, nghịch, dừng, thắng.
+ Bảo vệ quá nhiệt và điện áp thấp
CHỨC NĂNG CÁC CHÂN:
VM: nguồn cấp + cho motor (tối đa 15V)
VCC: nguồn cấp cho mạch logic (tối đa 5.5v)
GND: nguồn 0VDC
STBY: kéo lên mức cao để mạch cầu H hoạt động
AIN1/BIN1: chân chọn chiều cho 2 động cơ tương ứng A,B
AIN2/BIN2: chân chọn chiều cho 2 động cơ tương ứng A,B
PWMA/PWMB: chân xung PWM tương ứng động cơ A,B
A01/A02: 2 chân kết nối động cơ A
B01/B02: 2 chân kết nối động cơ B
SƠ ĐỒ KẾT NỐI ARDUINO VỚI TB6612FNG:
CODE MẪU GIAO TIẾP ARDUINO & TB6612FNG:
//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);
}
Bình luận