Skocz do zawartości

Problem z TB6612 - brak reakcji silników


Pomocna odpowiedź

Napisano

Po odpakowaniu sterownika TB6612 i podłączeniu go do Arduino Uno sterownik nie uruchamiał silników. Następnego dnia sprawdziłem, czy wszystko jest dobrze podłączone i czy działa. Multimetrem sprawdziłem każdy przewód, ale kiedy program był włączony, silniki się nie kręciły, a napięcie było zerowe. Sprawdziłem przewody zasilające TB6612 i napięcie było w porządku, jednak lampka LED też się nie świeciła. Ostatecznie najprawdopodobniej TB6612 jest uszkodzony i nie chcę kupować nowego, dopóki nie dowiem się, co było nie tak.

@AlekM witam na forum! Ciężko coś doradzić, jeśli nie podałeś o jaki dokładnie moduł z TB6612 chodzi i nie pokazałeś ani połączeń, ani programu. Jeśli połączenia i program były poprawne to szansa, że nowy sterownik był całkowicie uszkodzony jest raczej nikła. Same mostki TB6612 należą raczej do dość odpornych scalaków 😉

@Treker dokładnie ten sterownik kupiłem https://botland.com.pl/sterowniki-silnikow-moduly/32-tb6612fng-dwukanalowy-sterownik-silnikow-135v1a-pololu-713-5904422307738.html a to jest kod

// Piny sterujące silnikiem A
#define PWMA 5
#define AIN1 2
#define AIN2 3

// Piny sterujące silnikiem B
#define PWMB 6
#define BIN1 4
#define BIN2 7

#define STBY 8

void setup() {
  pinMode(PWMA, OUTPUT);
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);

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

  pinMode(STBY, OUTPUT);

  digitalWrite(STBY, HIGH);
}

void loop() {
  //oba silniki do przodu
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 200);

  digitalWrite(BIN1, HIGH);
  digitalWrite(BIN2, LOW);
  analogWrite(PWMB, 200);

  delay(2000);

  //zatrzymanie
  analogWrite(PWMA, 0);
  analogWrite(PWMB, 0);
  delay(1000);

  //oba silniki do tyłu
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 200);

  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, HIGH);
  analogWrite(PWMB, 200);

  delay(2000);

  //zatrzymanie
  analogWrite(PWMA, 0);
  analogWrite(PWMB, 0);
  delay(1000);
}

 

Jeśli podejrzewasz sam układ TB6612, to można go sprawdzić bez Arduino i bez programu.

Podłączasz zasilanie (silnika i logiki), silnik, a następnie podajesz ręcznie stany na wejścia układu. STBY oraz PWM muszą mieć stan HIGH.

Na wejścia IN1 i IN2 podajemy stany HIGH i LOW (ich zamiana zmienia kierunek obrotów). Pamiętamy, że maksymalne napięcie wejść logicznych to 6V.

Nie ma tu regulacji obrotów, ale układ można sprawdzić.

I jeszcze, takie głupie pytanie. A połączyłeś masy modułów?

  • Lubię! 1
  • 3 tygodnie później...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...