Skocz do zawartości

Arduino + mostek H TB6612


Lonnger

Pomocna odpowiedź

Jako, że to mój pierwszy post na forum - Witam wszystkich:)

Zacząłem się trochę bawić z Arduino i postanowiłem zrobić robota z napędem elektrycznym.

Arduino UNO R2

Dwa silniki: Pololu hp 100:1

Mostek: tb6612fng

Do zasilania silników wykorzystuję baterię 9V.

Mam problem dotyczący sposobu połączenia Arduino z mostkiem. Próbowałem podpiąć go wedle wskazówek oraz wykorzystać kod z tej strony http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260832832, ale niestety nadal na wyjściach silnika nie ma zasilania (po zmierzeniu woltomierzem są tam jakieś miliwolty).

Proszę o pomoc i wyrozumiałość.

Link do komentarza
Share on other sites

Już dołączam schemat (mój pierwszy w życiu xD, więc proszę o wskazówki/rady jak wykonywać bardziej przejrzyste/lepsze)

Więc chcę zasilać cały układ baterią 9V (i arduino i silniki). Z niej zasilanie idzie do Arduino oraz na osobną linię do mostka do VMOT.

Na wejście STBY wysyłam sygnał HIGH z gniazda 12.

Oto kod Arduino:

int pwma = 9;
int ain2 = 10;
int ain1 = 11;
int stby = 12;

void setup()
{
 pinMode(pwma, OUTPUT);
 pinMode(ain2, OUTPUT);
 pinMode(ain1, OUTPUT);
 pinMode(stby, OUTPUT);
}

void loop()
{
 digitalWrite(stby, HIGH);
 digitalWrite(ain1, LOW);
 digitalWrite(ain2, HIGH);

 analogWrite(pwma, 32);

 delay(3000);
}

Pozdrawiam.

Link do komentarza
Share on other sites

Masy Arduino i mostka też są połączone? Ze schematu to nie wynika.

Jaki stan jest na linii stby? W programie tego nie masz explicite a nie wiem jak jest domyślnie.

Bateria 9V nie nadaje się do zasilania silników. Może jest tak, że system rusza, programuje wyjścia, PWM i co tam jeszcze, załącza silnik, napięcie spada do 4V, następuje reset procesora i schemat się powtarza, być może kilka razy na sekundę. Żeby mieć pewność, że choć przez chwilę silnik z baterii pokręci, połącz je bezpośrednio: silnik-bateria i sprawdź napięcie na baterii po 5 sekundach i pół minucie. Jeśli spadnie poniżej 5V, zainteresuj się mocniejszym źródłem zasilania.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Masy pominąłem, ale tak są połączone.

STBY jest ustawione na HIGH - napięcie na nim wynosi około 4,7V

Baterię podłączałem bezpośrednio do silnika i działa - napięcie po 5 sekundach jak i po 30 wynosi około 8,2V

Link do komentarza
Share on other sites

A w jakiej obudowie masz ten mostek? W danych katalogowych występuje wyłącznie w obudowie TSOP24. Symbol na schemacie wygląda jakby był przerysowany 1:1 z obudowy 16-pinowej. Czy mógłbyś podać numery nóżek do jakich się podłączyłeś?

Link do komentarza
Share on other sites

Bezpośrednio działa, ale bateria nie jest w stanie się zresetować 😋 W momencie ruszania silnik pobiera dużo większy prąd niż normalnie i chwilowo spadek napięcia na baterii może być dużo większy niż do 8,2V.

Link do komentarza
Share on other sites

Ok, zrozumiałem to minutę po tym, jak napisałem pytanie - używasz gotowego modułu a wyprowadzenia dotyczą kompletnej płytki z 16 wyprowadzeniami. No to mała szansa na pomyłkę.

Jeżeli zweryfikowałeś wszystkie stany wejściowe łącznie z zasilaniami i masą, jeżeli PWM rzeczywiście jest i jego wypełnienie (jaka jest pełna skala tego PWM? do 1024? to może ustaw chociaż połowę zakresu) pozwala na sensowny prąd silnika, to pozostaje jedynie odwrócenie płytki lub jakiś niekontakt. Cóż, Ty lepiej to widzisz mając układ przed oczami.

Ciekawe czy ktoś coś odkryje, mi wyczerpały się pomysły.

EDIT:

mactro: Też o tym myślałem, ale jeśli dziarsko działa przez 30 sekund, to nie jest tak źle. Oczywiście nie wykluczam tej możliwości. Tu pomogłoby dołączenie z 1000uF równolegle do baterii. Ale z drugiej strony jeśli PWM jest nikły, to silnik prądu też dużo nie ciągnie.

EDIT2:

Resety można zweryfikować jakąś inną funkcją: niech zapala jakąś diodkę w sekundę po starcie programu albo nią mruga. Zakłócanie tego powinno być widać.

Link do komentarza
Share on other sites

Dodałem diodę do układu i dodałem funkcję do działania programu - bez problemu.

Zbadałem miernikiem połączenia (te które byłem w stanie) o wszystko ok. Cały czas tak jakby ustawiało wartości LOW na wyjściach z mostka - bo jakieś napięcie tam jest, ale bardzo małe.

Link do komentarza
Share on other sites

Żeby zweryfikować wszystkie połączenia zrób tak:

- dołącz minus woltomierza do masy na płytce Arduino, tylko tam i już tego nie zmieniaj

- pomierz względem tego punktu napięcia na wszystkich 16 pinach płyteczki mostka a przynajmniej na tych, których używasz łącznie z masą, zasilaniami i silnikiem

- potem weź opornik 1k i sprawdź, czy napięcia na wyjściach silnikowych zmieniają się, gdy podciągasz je do plusa lub obniżasz do masy przez ten opornik - to nam powie czy wyjścia silnikowe podają cokolwiek czy wiszą wyłączone

Link do komentarza
Share on other sites

Dane jakie otrzymałem przy podpięciu woltomierza do masy arduino.

gnd - 0,00V
vmot - 8,30V
B01 - 0,37V
B02 - 0,38V
A01 - 0,32V
A02 - 0,37V
VCC - 4,6V
PWMB - 2V
PWMA - 1,98V
AIN1 - 0,00V
AIN2 - 5V
BIN1 - 5V
BIN2 - 0,00V
STBY - 5V

Nie za bardzo rozumiem jak mam wykonać 3pkt. Możesz go prościej rozpisać?

Link do komentarza
Share on other sites

Zaraz, skupmy się na tym co już zrobiłeś.

- gnd i vmot wyglądają dobrze, to było bardzo ważne bo wiemy, że mostek widzi to samo co procesor

- sygnały cyfrowe są OK: 0 lub 5V

- vcc jest trochę dziwne, dlaczego nie 5V tak jak sygnały przychodzące z procesora zasilanego właśnie z tego napięcia? To by znaczyło, że masz duży spadek napięcia na kabelku Vcc ale na razie nie widzę niczego, co by tak duży prąd żarło.

- Ao1 i Ao2 ich stan (L,L) wskazuje, że mostek nie "widzi" PWMa albo STBY albo któregoś wejścia cyfrowego

- BIN1 - jakim cudem jest tam 5V?? Tam ma być 0V po każde wejście ma opornik obniżający napięcie do masy

- PWMA - dlaczego jest tam 2V? Wciąż nie napisałeś nic o skali w jakiej możesz zmieniać to wypełnienie: od ilu do ilu? 0-1024? 0-256? Ile to jest to Twoje 32? Dużo czy mało? 2V wskazują, że masz ze 40% ale to trochę dziwne..

PWMB - dlaczego i tu jest 2V?? Jeśli schemat jest prawdziwy, powinno być 0V.

Czekam na jakieś zgrabne wytłumaczenie powyższych faktów.

Link do komentarza
Share on other sites

Mój błąd. Zwyczajnie dołączyłem do tego drugi silnik na chwilę i pomiary były z dwoma silnikami.

BIN1 i BIN2 oraz BO1 i BO2 wykazują 0,00V do sytuacji przedstawionej na schemacie.

Zakres na PWM na Arduino wynosi 0 - 255. Ustawiłem na 32 gdyż na forum Arduino był podobny problem i taki kod (i podłączenie) zadziałały

Próbowałem ustawiać PWMA na 127 (50%), ale nic się nie zmienia.

Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.