Skocz do zawartości
BlackSkill

Problem z Mostek H

Pomocna odpowiedź

Cześć. Mam problem z mostkiem H TB6612. Właściwie problem był nie tylko z mostkiem ale sobie w jakiś sposób poradziłem.

Po krótce, jest to LF z 8 czujnikami lini podłączonymi przez multiplexer do arduino oraz 8 ledami wskazującymi stan czujników podłączonych również przez multiplexer do arduino.

Do sterowania silników jest TB6612, silniki pololu 10:1. Opony odlewane z sylikonu, waga 100gram. Ma być jeszcze bluetooth 🙂 Zasilanie z 2s Li-Po 150mah Dualskay 20c (3A)

Częściowo rozwiązany problem:

Moim pierwszym problemem były multiplexery. Ledy działały super lecz gdy włączany był odczyt czujników na adc porty do sterowania multiplexerami miały jakieś zakłócenia, tzn wybierając dla jednego leda wyjście np A=1 B=0 C=0 było wszystko ok . Gdy chciałem zaświecić dwa kolejne ledy wysyłając ich wyjścia do multiplexera zaświecały się całkiem inne ledy, odczytując czujnik 1 odczytywał się czujnik 6 itp... Stwierdziłem że to zakłocenia z odczytu ADC i wyprowadziłem osobne piny do sterowania multiplexerem od ledów ( AL (d6) BL(d10) CL(D12). Niestety BK CK AK zostało nadal na ADC bo nie ma gdzie tego zmieścić, ale jakoś poradziłem sobie z wysterowaniem wyjść multiplexera. Działa i odczyt czujników i zaświecanie ich ledami.

Problem do rozwiąznia:

Mostek H bez silników działa, da się ustawić obroty w prawo obroty w lewo na wyjściach do silnika. Podłączając silnik, silnik nie kręci napięcie na pinach silnika znika.

Dodałem dodatkowe 3 kondesatory 100nf do klem silnika oraz 470uf na wejściu baterii (+7v). Nie pomogło.

Poniżej próba zakręcenie silnikami. Na pinach arduino pojawiają się 5v.po podłączeniu silnika napięcie na pinach arduino nie znika. Pwm specjalnie pominąłem. Sterowanie pojedynczym silnikiem też nie działa.

void setup() {
 //l
 pinMode(3,OUTPUT); //PWM
 pinMode(4,OUTPUT);
 pinMode(5,OUTPUT);
 //p
 pinMode(9,OUTPUT); //PWM
 pinMode(8,OUTPUT);
 pinMode(7,OUTPUT);

}

void loop() {
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);

}

Schemat płytki głownej:

Schemat płytki czujników(Rezystory ledów w rzeczywistości dobrane doświadczalnie):

Wiem że przydałby się rezystor na zasilaniu ktir do "wygladzania" i redukcji zakółcen ale niestety go nie dałem tu. Patrzyłem tylko na DS ktir i stwierdziłem że 1,25v spokojnie może być, na ktir w DS max jest 1,5v. (Po winieniem połączyć max po 3 ktir razem tak jak marek1707 komuś kazał w jakimś z tematów, lecz dowiedziałem się o tym już po zrobieniu płytek.

Na szczęście ktir działają bez problemu.

Zdjęcie aktualne LF (Dolutowane 470uf do gniazda baterii oraz 3x 100nf silnik.

Chyba wszystko 🙂

plytkaczuj.thumb.png.f7e49ee4d32bb5b5f58bfba9c8414b7b.png

Udostępnij ten post


Link to post
Share on other sites

Skoro tyle już przy tym posiedziałeś i samodzielnie ogarnąłeś LEDy, to sprawa nie jest oczywista. Nie widzę jakichś ewidentnych błędów w połączeniu Arduino-mostek, więc to może być problem montażu. Nie wiemy czy masz tam jakieś PCB, jak je projektowałeś (z użyciem automatycznego sprawdzania reguł czy ręcznie) więc nie wiemy czy ścieżki są zgodne ze schematem. Do tego dochodzi montaż. Mostek musi mieć GND i oba zasilania - logiczne i silnikowe. Puść ten program i delikatnie, ostrą końcówką woltomierza sprawdź napięcia na wszystkich pinach scalaka, łącznie z zasilaniami i masą. Szukaj jakiejkolwiek nieprawidłowości. Któryś pin masy, VM, VCC lub STB może być nieprzylutowany. Gdyby to była sprawa jednego sygnału logicznego, to raczej nie działałby jeden kanał. Tu masz spaprane coś co wpływa na działanie całego mostka.

Dlaczego zrobiłeś takie dziwne sterowanie LEDami? Multiplekser działa tu jak dekoder i możesz zaświecać tylko jedną na raz, ew. zrobić multipleksowanie. Dało się to zrobić po tych samych liniach adresowych, ale zarządzanie LEDami musiałoby być synchroniczne z pomiarami czujników. Jak rozumiem, poszedłeś na skróty i dospawałeś 3 nowe druty, można i tak. Swoją drogą standardowy 4051 działa bardzo kiepsko przy 5V i marnie się z niego steruje dużymi prądami diodek. Trzeba było użyć czegoś bardziej "cyfrowego" z serii 74xxx, np. 74HC138 lub 74HC42. A skoro już przesyłasz po tasiemce adresy, mogłeś wstawić adresowalny latch 74HC259. Miałbyś statyczne zapalanie i gaszenie dowolnej diody.

Mając multiplekser kanałów analogowych wystarczyło dać jeden wspólny opornik na linii ADC zamiast pakować każdemu KTIRowi osobne 10k w kolektor.

Nie możesz łączyć diodek bez jakiegokolwiek ograniczenia prądu. Nawet 4 szeregowo wymagają rezystora, bo obecnie prąd jest zupełnie niekontrolowany. To może być 10mA a może być i 100mA, do tego bardzo zależy od temperatury struktur i to w niefajny sposób: im bardziej nagrzeją się od przepływającego prądu tym prąd rośnie jeszcze bardziej. Daj każdemu łańcuchowi szeregowo choć 10-33Ω. Nigdy nie podłączaj diod do źródła napięcia bez opornika nawet jeśli wydaje Ci się, że to napięcie jest OK - to piszą w każdym elementarzu elektroniki...

--------------------

EDIT: Być może złe działanie czujników związane jest właśnie z niewielkim spadkiem napięcia Vcc przy rozładowanym aku. Tu nawet 0.1V różnicy na 5V może spowodować dwukrotną zmianę prądu i tym samym jasności oświetlenia trasy. To ewidentny błąd projektu.

Udostępnij ten post


Link to post
Share on other sites

A może akumulatorek ma parametry z kosmosu, ewentualnie jest rozładowany, przy takiej pojemności i poborach prądu przez całego robota, to rozładowujesz akumulatorek samymi diodami czujników i tymi pokazującymi stan czujników, a gdzie tu jeszcze zasilanie silników. Zmierz napięcie na akumulatorku, gdy robot działa, ale silniki się nie kręcą.

Udostępnij ten post


Link to post
Share on other sites

Li-po działa dobrze. W innym lF nie mam z nim problemu. Silniki też ok. Silniki sprawdzam bez sterowania ledami, proboje zakręcić tylko samymi silnikami.....

Chociaż, fakt odłączenie płytki czujników to jakiś pomysł wyłączone będą ledy ktir.

@edit

Zresztą juz i tak po wszystkim, usmazyłem arduino odlutowując je z goldpinów, (Muszę kupić hotair bo kolbą ciężko coś takiego odlutować.

A co do

Dlaczego zrobiłeś takie dziwne sterowanie LEDami? Multiplekser działa tu jak dekoder i możesz zaświecać tylko jedną na raz, ew. zrobić multipleksowanie. Dało się to zrobić po tych samych liniach adresowych, ale zarządzanie LEDami musiałoby być synchroniczne z pomiarami czujników. Jak rozumiem, poszedłeś na skróty i dospawałeś 3 nowe druty, można i tak. Swoją drogą standardowy 4051 działa bardzo kiepsko przy 5V i marnie się z niego steruje dużymi prądami diodek. Trzeba było użyć czegoś bardziej "cyfrowego" z serii 74xxx, np. 74HC138 lub 74HC42. A skoro już przesyłasz po tasiemce adresy, mogłeś wstawić adresowalny latch 74HC259. Miałbyś statyczne zapalanie i gaszenie dowolnej diody.

Ledy i ktir były na jednych liniach adresowych. "Dospawałem" 3 kable bo myśłałem że to zlikwiduje zakłócenia.

Mam piny adresowe multipleksera od ktir, na pinach ADC, gdy włączam odczyt adc po kolei na każdym wejściu multipleksera nie da się poprawie wybrać wyjścia multipleksera z programu.

Dla przykładu wybieram A=1 B=0 C=0 i jest to np. wyjście 5 multipleksera

A w rzeczywistości wybrane zostaje inne.

Gdy odczytuje tylko po jednym czujniku w programie wszystko jest w porządku. Są to jakieś zakłócenia i nie wiem przez co wywołane.

Płytki:

Te 3 kable do płytki czujników są dorobione "na krótko".

A i li-po nie ma spadków gdy działa cały program i świecą ledy. W programie jest uwzględniony pomiar napięcia baterii.

LF.rar

Udostępnij ten post


Link to post
Share on other sites

"nie da się poprawie wybrać wyjścia.."

To że czegoś nie umiesz zrobić/oprogramować to nie oznacza, że się nie da. Po prostu na razie tego nie umiesz i tyle.

No tak, napisałeś dużo i wszystko jest dobrze, a nie działa, więc? Zostają pomiary mostka? Czy pochyliłeś się nad każdą nóżką? Podaj wyniki w postaci tabelki: numer nóżki scalaka, napięcie. Oczywiście w tym czasie program ma wystawić odpowiednie, stałe sygnały na piny sterujące a silnik ma być podłączony. Czekamy.

I gdybyś napisał, że płytkę robiłeś przy pomocy reguł i netlisty wygenerowanych ze schematu i DRC nie miało zastrzeżeń to miałbym pewność, że PCB jest przynajmniej zgodne ze schematem. Nie widzę takiego zdania a zamiast tego rysunki płytek. Wrzuciłeś je i mamy za Ciebie odwalać jakieś sprawdzenia poprawności? Śledzić ścieżki czy sprawdzać zwarcia? Albo masz pewność bo korzystasz z narzędzi którymi dysponujesz w swoim programie CAD albo nie i wtedy siedzisz pół nocy i sprawdzasz ręcznie.

A Twoja konstrukcja - zdaje się - nie przewiduje żadnych problemów bo schowałeś mostek pod Arduino, czy tak? No to teraz robisz jego "symulator". Wyjmujesz płytkę Nano a zamiast niej wtykasz kable w złącza tak by mostek dostał te sygnały które zakładasz, że Arduino generuje (łącznie z zasilaniem). Wtedy mierzysz wszystko na mostku i zdajesz raport. Trzeba było myśleć wcześniej. Jeśli jeszcze w dodatku wlutowałeś Arduino na stałe na goldpinach, to radzę zrobić nową płytkę i jak najwcześniej zastanawiać się "Jak ja będę to uruchamiał, mierzył i testował?".

Udostępnij ten post


Link to post
Share on other sites

marek1707, można też po prostu wlutować Arduino "do góry nogami" od drugiej strony. Wtedy będzie ciut łatwiej mierzyć.

Udostępnij ten post


Link to post
Share on other sites

Na zdjęciu robota widzę, że "od drugiej strony" to jest podłoga.

Udostępnij ten post


Link to post
Share on other sites

Można by zwiększyć koła albo przenieść do testów i potem wrócić. Albo przeciąć na środku, odwrócić całą główną płytkę i skleić (nie ma ścieżek więc to nie problem), wtedy Arduino będzie na górze a mostek na dole. Albo zaprojektować płytkę od nowa, tym razem sensownie.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...