Skocz do zawartości

Minisumo - sprawdzenie schematu


Turech

Pomocna odpowiedź

Witam.

Jest to mój pierwszy robot, a także mój pierwszy wpis na forum forbot. Po pierwszym zdaniu można mnie określić mianem początkującego i to jest prawda. O ile z mechaniką (modelowanie itp) miałem wcześniej styczność na studiach, o tyle z elektroniką trochę mniej (znacznie mniej). Tak, więc proszę o sprawdzenie schematów i płytek PCB, nie jestem pewien czy dobrze to wykonałem.

Dobra to tyle wstępu, przejdę teraz do założeń projektu, bo chyba to jest najważniejszy punkt tego postu.

To tak:

- napęd: 2 silniki Pololu HP 50:1

- atmega324p (rozważam jeszcze 164p, ale nie wiem, czy nie zastosuję jakiegoś bardziej wyrafinowanego sterowania)

- sterowanie silników: 2 sterowniki TB6612

- 4 czujniki odległości Sharp GP2Y0D340K

- 4 czujniki linii CNY70

- całość planują wykonać z duraluminium (na uczelni mam dostęp do frezarki 😃 )

Schemat układu sterującego:

Schemat płytki układu sterującego:

Schemat układu z czujnikami:

Schemat płytki:

Link do komentarza
Share on other sites

Coś pokręciłeś na wejściach AIN/BIN dolnego sterownika silnika.

PWM z procesora wyciągnij ze sprzętowych generatorów PWM a te są wyprowadzone na konkretne piny.

Rożnokolorowe diody LED mają istotnie różna napięcia przewodzenia i w związku z tym potrzebują różnych oporników szeregowych. Teraz jednak trudno to policzyć, bo zapewne mają też różne jasności świecenia. Będziesz musiał dobrać to doświadczalnie tak, by dla wszystkich włączonych dostać w miarę biały.

Jakieś wsparcie w fazie uruchamiania kodu (UART? LEDy? JTAG?) czy wrzucasz czyjegoś gotowca i działa?

Nazwa VCC na zasilaniu akumulatorowym jest bardzo myląca. Spróbuj zmienić np. na VBAT czy jakoś tak. VCC używa się zwykle jako dodatniej szyny zasilania układów cyfrowych. Cóż, taka tradycja.

PCB:

Nie stosuj kondensatorów tantalowych wprost na napięciu baterii.

Jeżeli masz kilka złącz prowadzących sygnały do tej samej płytki i miejsce na dodatkowe szpilki, to daj więcej masy. Jeden kabelek GND będący jednocześnie zasilaniem diod IR oraz odniesieniem dla sygnałów analogowych i cyfrowych to słaby pomysł. Zrób np. nieprzerwany rząd np. 12 pinów w tym 3 masy albo tak jak do programatora tylko większe złącze np. FC14 lub 16 i tam już masz miejsce i na jeszcze jeden pin zasilania i na kilka GND.

Przemyśl sobie którędy płyną prądy po masie do obu mostków, tj jak wyglądają oczka prądu począwszy od plusa zasilania a skończywszy na zacisku "minus" baterii przechodzące przez każdy z dwóch mostków.

Mostki nie pobierają na +5V jakichś wielkich prądów ani szpilek. Każdemu po dobrym, ceramicznym 1uF wystarczy. 220uF tam to przesada.

Policz/oszacuj moc strat stabilizatora i daj mu chociaż kawałek radiatora z miedzi. Obecnie pad przeznaczony do odprowadzania ciepła z obudowy SOT223 ma mniej miedzi niż niektóre kondensatory (a obok jest kawał pustego miejsca...).

Link do komentarza
Share on other sites

AIN/BIN, tu zamieszanie wynikło raczej z mojego niedoświadczenia, po prostu przemieszałem tak piny, żeby ładnie mi się podłączyły na płytce, ale jak widać, nie był to najlepszy pomysł 😃 .

PWM jest pociągnięte na sprzętowym PWM, tylko na tym schemacie atmegi tego dokładnie nie widać, ale sprawdzone jest to z notą katalogową.

Gotowca nie będę wrzucał, planuję wszystko sam napisać. Zastanawiałem się nad użyciem JTAG, ale "dobry" kolega wybił mi to z głowy, czyli na to wygląda, że pasuje to użyć.

Co do VCC, nie widziałem o tym i dzięki za info 😉 .

Czyli zamiast tantalowych, wsadzić kondensatory elektrolityczne przy złączu akumulatora ?

Ogólnie dzięki za cenne rady i biorę się do roboty.

Link do komentarza
Share on other sites

W takim razie zmień symbol procesora tak, by schemat był zgodny z tym co masz zamiar zrobić. Przecież trudno weryfikować Twoje pomysły porównując numery pinów z jednego schematu z danymi katalogowymi innego procesora.

Tak, tantale bardzo nie lubią dużych dV/dt (dostają zwarcia i wybuchają) a tu na wejściu, szczególnie przy silnym akumulatorze LiPol i grubych i krótkich drutach możesz mieć dziesiątki V/us.

Musisz mieć jakieś możliwości weryfikacji tego co napisałeś. JTAG jest fajny, ale sprawdza się tylko na biurku. Jeżeli robot jeździ i testujesz go "w boju" np. na podłodze pokoju, to bardzo przydają się optyczne sygnalizacje różnych stanów programu (LED) a już najlepszym pomysłem jest telemetria on-line po UART, szczególnie puszczona bez uciążliwego kabla (moduł Bluetooth np). Bez tego nie masz szans uruchomić żadnych nietrywialnych algorytmów bo po prostu nie wiesz co się dzieje w środku skomplikowanego kodu.

  • Lubię! 1
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

Odnośnie kontroli stanu, to planowałem do tego wykorzystać 3 diody RGB, ale chyba rozważę Twoją propozycję użycia Bluetooth, jest to chyba najlepszy z możliwych sposobów testowania robota.

Link do komentarza
Share on other sites

Turech - ja sam sprawdzam pracę mojego robota właśnie przez diody LED, RS232 (UART) po kablu i bezprzewodowo przez Bluetooth'a - moduł BT jest mały (wymiary) i potrzebuje tylko czterech pinów (VCC, GND, TX, RX) i można pracować. Takie małe, a cieszy 🙂

Przy okazji mogę polecić ten artykuł.

Link do komentarza
Share on other sites

Ogólnie to pomysł z modułem bluetooth podsunął mi (chyba) świetny pomysł na kontrolę, mianowicie prawdopodobnie połączę go z LabVIEW, a tam to już testowanie to sama przyjemność.

A tak z innej beczki, czy do silników DC wystarczy szerokość ścieżki 32mil? Wyczytałem w internetach, że od 1.5A do 3.5A wystarczą ścieżki 20mil, ile w tym prawdy? (Każdy silniki w stresie pobiera 1.5A)

Link do komentarza
Share on other sites

Odpowiedź nie jest zero-jedynkowa, bo zależy od warunków startowych (typ laminatu i jego grubość, położenie ścieżki w stosie PCB - warstwa wewnętrzna czy zewnętrzna, maks. temperatura otoczenia, grubość folii miedzianej na PCB, cynowanie, pokrycie soldermaską, przepływ powietrza itd) oraz przyjętych kryteriów oceny. Prąd przepływający przez ścieżkę miedzianą podnosi jej temperaturę i teraz od Ciebie zależy (i oczywiście od ograniczeń danej technologii) co uznasz za niedopuszczalne a co jest jeszcze normalne. Zwykle w kalkulatorach tego typu:

http://www.eeweb.com/toolbox/external-pcb-trace-max-current

przyjmuje się jakieś typowe wartości (np. laminat FR4, grubość laminatu na tyle duża by pominąć chłodzenie przez spód, warstwa zewnętrzna bez soldermaski itd..) oraz wpisuje te na które masz rzeczywisty wpływ, np szerokość czy grubość miedzi. No, ta ostatnia nie jest dowolna, ale zwykle możesz zamówić płytkę z miedzią w trzech grubościach: 17, 35 i 70um. Jeżeli nic nie napiszesz w zamówieniu, dostaniesz typowo 35um. Miedź 70um jest fajna, ale nie wychodzą na niej wąskie ścieżki i niewielkie odstępy (bo trzeba głęboko trawić) więc używana jest do zasilaczy itp elektroniki mocy.

No to proszę bardzo: podstawiasz 20mils, 35um, temperatura startowa 25°C i dopuszczalny wzrost powiedzmy o 30°C. Dostajesz prąd 2.3A. Przepuścisz więcej lub pokryjesz ścieżkę solderamaską - wiadomo, będzie cieplej. Dalej sam próbuj.

Link do komentarza
Share on other sites

Dobra, dodałem moduł bluetooth, najprawdopodobniej zastosuje BTM112, znalazłem na elektrodzie od razu schemat płytki PCB konwertujący napięcie z 5V na 3V3. Kondensatorki zamienione na elektrolityczne, szukałem najlepszych wymiarów (czyt najmniejszych) dla kondensatorów pracujących w 10V. A jak już jestem przy tym to zapomniałem dodać na samym początku, zasilanie to Li-Pol 7.4V ok. 500[mAh]. Szerokość ścieżek obliczona, ale na wszelki wypadek lekką rezerwę dodałem.

Schematy obu płytek stworzone od nowa.

Link do komentarza
Share on other sites

Na płytce z sharpami:

1. Dodaj przynajmniej jeden duży kondensator (10-22uF), albo najlepiej przy każdym sharpie jeden.

2. Rozlanie masy jest bez sensu jak praktycznie nigdzie masy się nie łączą. Powinieneś dodać przynajmniej kilkanaście przelotek

Na płytce sterownika:

1. 220uF koło sterownika silników to aż za dużo... najważniejsze to low-esr. Sprawdź czy kondensator jest low-esr (albo taki kup) i przesuń je jak najbliżej.

2. Wielkie pole masy, które się łączy tylko z jednej strony nie ma sensu. Przelotki dodaj (patrz pkt. 2 powyżej)

Najlepszy przykład to sprawdź masę z układu US2 po lewej stronie. Część pójdzie "przesmykiem" u góry... tylko nie pójdzie, bo nie ma gdzie (masa top i bottom się tutaj nie łączy), a druga część pójdzie przesmykiem pod scalakiem do kondensatora. Widzisz jaką wielką (i wąską) pętlę tworzysz? Jak tam ma iść kilka A?

Zamiast tego mógłbyś kondensator C16 przenieść nad układ US2 i wtedy masz blisko zarówno piny zasilania jak i masy. Tylko w ten sposób kondensator naprawdę działa.

Załączyłem zdjęcie jak to zrobić lepiej... taka zmiana byłaby korzystna w wielu miejscach na Twojej płytce (ale najważniejsza koło silników - one zdecydowanie najwięcej prądu biorą).

Na zdjęciu żółte to VM z GND, a szare to VCC z GND (na dolnym rysunku kondensator ceramiczny należy obrócić o 180 stopni i dodać przelotkę pod kondensatorem dla GND - po co GND ma lecieć tylko takim wąskim przesmykiem skoro prawie cała dolna warstwa płytki jest masą i masz piękne szerokie połączenie z zasilaniem?

PS. Po co coś liczysz skoro masz miejsce na zrobienie szerokich ścieżek VM? US1 i US2 mogą być niżej i wtedy górą możesz puścić dwa razy szersze linie do VM. Nie ma też sensu rozdzielać tych linii już przy pinie zasilania skoro obie są zaśmiecone syfem z silników.

PPS. Pozwolę sobie jeszcze nie zgodzić się ze słowami Marka.

Tak, Mając duże du/dt można wysadzić wolny tantal, bo przekroczy się jego maksymalne napięcie, ale nic mi nie wiadomo o tym, żeby w innym przypadku tantale mogły zostać uszkodzone (na podobnej zasadzie można wysadzić elektrolit).

To jest mostek H, gdzie występują duże szpilki i należy stosować tantale low-esr, które przy odpowiedniej pojemności i odpowiednio niskim ESR dadzą sobie radę z ujarzmieniem ich. Sam w moim płytkach do TB6612 używałem tantale i nigdy wybuchu nie było.

poprawki.thumb.png.3e08d2c66e015c3e308dd2006c33b710.png

Link do komentarza
Share on other sites

Turech:

Wygląda trochę lepiej, ale robisz to na chybił trafił. Naprawdę zacznij myśleć.

Przeanalizuj analogicznie do US2 sytuację kondensatora C13 koło US1... 😉

Marek:

Powiem szczerze, że nigdy się z tym nie spotkałem.

Używałem tantali na płytce, gdzie było do 10A (sterowanie ledami on/off) i nigdy żaden nie poszedł z dymem. Tak samo przy USB (chociaż tam zawsze stosuje jakieś filtrowanie, bo strasznie sieje USB jak komputer jest podłączony do zasilania z 230V).

Muszę przy okazji popróbować, bo albo mam jakieś b.dobre tantale, albo b.dużo szczęścia.

Link do komentarza
Share on other sites

Well, schemat poprawiony, a najlepsze w tym wszystkim jest to, że pierwotnie kondensator elektrolityczny przy US1 ustawiłem identycznie jak przy US2, a potem nie wiem czemu, zmieniłem niepotrzebnie, no cóż nie ma to jak dokładać sobie roboty 😃 . A i jeszcze jedno pytanie odnośnie przelotek, czy wymiar średnicy 0.45 mm wystarczy (eagle domaga się 0.6mm)? (Tak, zdaję sobie sprawę, że to są (chyba) dość męczące pytania)

Link do komentarza
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!

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

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.