Skocz do zawartości
Dymek_117

[Micromouse] Prośba o sprawdzenie schematu

Pomocna odpowiedź

Witam,

Na początku przywitam się z Wami, jako że to mój pierwszy post 🙂

Pierwszy jest również schemat - pierwszy poważniejszy. Dlatego jestem otwarty na krytykę, prosiłbym Was o zerknięcie na poniższy schemat.

Spodziewam się wielu błędów, jako że to moje pierwsze zetknięcie nie tylko z jakimkolwiek konkretnym projektem, ale przede wszystkim z Eaglem.

Układ opiera się na Atmedze32. Pomiar odległości od ścian dokonywany będzie za pomocą 5 dalmierzy dioda-tranzystor, pracujących w zakresie podczerwieni.

( Rezystancje diod, a przed wszystkim tranzystorów postanowiłem na razie pominąć - dobiorę je doświadczalnie mierząc napięcie na tranzystorach, wkrótce )

Oprócz tego mamy przetwornicę Step-Down ST1S10PHR, pozwalająca zasilić zarówno napęd (2x silnik Pololu prawdopodobnie 30:1 ) jak i część logiczną robota. Mam nadzieję, że uzyskam z niej stabilne napięcie.

Do sterowania silnikami wybrałem podwójny mostek TB6552, sterowany poprzez PWM z kontrolera. Pełni oczywiście również rolę mostka.

Orientację w labiryncie zapewnią dwa enkodery optyczne - tutaj jako osobne diody i tranzystory. W praktyce zastosuje gotowe transoptory szczelinowe + perforowane kółka myszki kulkowej 🙂

Jako, że na jeden obrót koła przypada 30 obrotów wału ( owe kółka enkoderów będą zamocowane na wale silnika ) enkodery powinny dać całkiem przyzwoitą rozdzielczość.

Nic innowacyjnego tu niestety nie prezentuje. Projekt dość nudny i wyświechtany, taki postanowiłem sobie postawić jako pierwsze podejście. Nie wiem czy układ w końcu powstanie, przed wszystkim jest to dla mnie materiał szkoleniowy.

Pozdrawiam i dziękuję za wszelkie porady i krytykę.

891210568_SchematLogiczny.thumb.png.2d6b70d25df01b5d2c0cfb52659d42af.png

Udostępnij ten post


Link to post
Share on other sites

Jakie diody zamierzasz użyć w dalmierzu? Musisz pamiętać że port mikrokontrolera ma ograniczoną wydajność prądową i jeśli planujesz użyć diod, których prąd będzie większy(>100mA) będzie trzeba użyć najlepiej tranzystora.

Przy mostku H brakuje kondensatorów filtrujących zasilanie. Mniej również na uwadze że według noty aplikacyjnej Tb6552 maksymalny prąd wyjściowy to 1A, a silniki mają 1,6A. Przy mikrokontrolerze masz pomylone symbole kondensatorów. Dałeś elektrolityczne, a raczej powinny być ceramiczne.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Z wydajnością prądową Atmegi nie powinno być problemu - diody będą uruchamiane (migane 😃 ) jedynie na czas pomiaru, czyli pewnie ułamek sekundy, nie będą cały czas świecić. Powodowało to niewielkie zakłócenia na sąsiednich dalmierzach, a tak odczyt zawsze będzie nieco czystszy.

W kondensatorach symbol faktycznie się nie zgadza, ale to dlatego, że pasowały mi tu pady SMD, na układzie będą inne kondensatory, tutaj wersja "robocza", jako że odpowiedniej nie znalazłem w bibliotekach, zapomniałem o tym wspomnieć.

Filtrowaniu zasilania jeszcze raz się przyjrzę, istotnie brakuje filtrowania wyższego napięcia - dodam brakujące kondensatory.

Faktycznie, Pololu przy zatrzymanym wale pobiera 1,6A - czy tą wartość powinienem brać pod uwagę? ( tj. wartość maksymalną )

Jeśli tak, to co najlepiej zrobić? Szukać wydajniejszego mostka czy zastosować dwa?

Udostępnij ten post


Link to post
Share on other sites

Do sterowania diod dodałbym na twoim miejscu jakieś tranzystory - diody IR są dosyć prądożerne i 20 mA może im nie wystarczyć np. TSAL6400 (If = 100 mA, Ifm = 1A (chwilowy))

Rezystancje diod, a przed wszystkim tranzystorów postanowiłem na razie pominąć - dobiorę je doświadczalnie mierząc napięcie na tranzystorach, wkrótce

Na twoim miejscu jednak wstępnie wsadziłbym tam obliczony rezystor, a potem ewentualnie modyfikował jego wartość, bo zanim zdążysz cokolwiek zmierzyć coś się spali.

Na forum było trochę worklogów o micromousach także proponuję przejrzeć kilka.

Udostępnij ten post


Link to post
Share on other sites

Czy przewidujesz sytuację że koła będą zablokowane? Wątpię, jednak układ może się grzać lub przy jakiejś sytuacji się spalić. Możesz pomyśleć nad TB6612 .

Udostępnij ten post


Link to post
Share on other sites

No cóż, sterownik silników istotnie do wymiany. Tranzystory nie powinny pracować tak blisko swojego obszaru nasycenia.

Co do rezystorów, przed wlutowaniem odpowiednich elementów będę chciał przeprowadzić testy s multimetrem w jakiejś imitacji labiryntu.

Testy przy różnym rodzaju oświetlenia powinny dać bazę do nakreślenia jakiś charakterystyk zmontowanych dalmierzy. Taki empiryczny test pozwoli mi dobrać najodpowiedniejsze wartości.

Dziękuję za dotychczasową pomoc i czekam na dalsze porady, jeśli ktoś się czegoś tam dopatrzy 🙂

Udostępnij ten post


Link to post
Share on other sites

Tak przede wszystkim:

-wszystkie piny od zasilania (5, 17, 38) powinny być podłączone do zasilania. Tak samo jest z pinami GND (6, 18, 39).

-diody w dalmierzach steruj przez tranzystory

-daj lepszą filtrację przy przetwornicy

-każda z par zasilania mikrokontrolera powinna też mieć filtrację

-co robi kondensator C1 i rezystor R12?

-nie wiem jak to jest w Eagl'u, ale wyjścia STBY z mostka masz podłączone jedynie do zasilania z programatora (mogę się mylić bo nie znam Eagl'a)

Udostępnij ten post


Link to post
Share on other sites

1) Piny zasilania poprawione ( niezła wtopa z mojej strony ), filtracja również.

2) Zasilanie silników filtrowane według zaleceń producenta + do tego dojdą kondensatory zwierające zakłócenia do obudowy, brak ich na schemacie.

3) Kwestię tranzystorów do diod i nowego mostka muszę jeszcze przemyśleć i przyjrzeć się liczbom.

4) Pin RESET, o którym mowa w poście wyżej został doprowadzony do porządku.

5) STBY były chyba dobrze, ale dla jasności poprawiłem.

6) Wartości niektórych elementów pasywnych będę dopierał eksperymentalnie, przyjdzie na to czas 🙂

Dziękuję za Waszą pomoc.

Zapytam jeszcze. Do robota dobrałem silnik Pololu 30:1 jednak występuje on w dwóch wersjach - zwykłej oraz High Power, ktoś ma sugestie który powinienem wybrać? Nie mam w tym temacie żadnych doświadczeń.

Udostępnij ten post


Link to post
Share on other sites

Popraw złącze programatora, nadal masz tam etykietę VCC i GND - musisz dać po prostu symbol VCC (czyli Twojego +5V) i GND, czyli masę układu, bo etykieta nie połączy Ci się fizycznie z VCC i GND.

Udostępnij ten post


Link to post
Share on other sites

Naprawdę tak jest? W moim programie symbol zasilania jest tylko graficznym znaczkiem ułatwiającym rozumienie schematu. Natomiast jego tekst (np. VCC lub GND) jest właśnie nazwą dołączaną do netu tak samo jak umieszczenie etykiety. Tak więc u mnie kabelek programatora podłączyłby się do zasilania. Czy w Eaglu jest inaczej i symbole zasilań stanowią osobną klasę netów rozróżnianych w netliście i na PCB nie tylko po nazwie, ale jeszcze po jakimś atrybucie np. "to jest szyna zasilania a to zwykły drut"?

Co do schematu:

1. Cała prawa dolna ramka (Enkodery Optyczne) ma odwrotnie wszystkie zasilania. Swoją drogą co za pomysł, by rysować plus na dole a masę sterczącą do góry?

2. Nie widzę skąd mostek bierze swoje 9V (i w ogóle skąd ono się bierze), ale za to widzę wyłącznik na wejściu przetwornicy robiącej 5V. Wyłączanie jednego zasilania gdy jakiś scalak potrzebuje dwóch nie jest dobrym pomysłem. Nie możesz postawić globalnego wyłącznika po prostu na wejściu ze źródła zasilania?

3. Nie wiem w jaki sposób będziesz używał napięć z fototranzystorów (ADC czy po prostu sygnały cyfrowe 0-1), ale w tym pierwszym przypadku sterowanie z tego samego portu dużych prądów do LEDów i jednoczesne używanie przetwornika nie jest polecane. Zmień port sterujący LEDami a jeśli już musisz wykorzystać pozostałe piny portu A, to postaraj się by były to sygnały wejściowe do procesora nieobciążające w żaden sposób wewnętrznych szyn zasilania tego portu.

4. W czymś takim jak mysz algorytmy są bardzo skomplikowane. Musisz mieć jakieś wsparcie do uruchamiania i podglądania działania programu. Trzy diodki raczej nie wystarczą albo bardzo się umęczysz. Mam nadzieję, że piny UARTa zostawiłeś celowo i bardzo słusznie. Dorysuj jakieś złącze żeby nie trzeba było za chwilę lutować kabelków do pinów procesora by podpiąć zewnętrzną przejściówkę do USB, lub wrysuj od razu jakiś interfejs: radiowy (złącze modułu BT), USB (np. FT232) lub zwykły RS232 (np. MAX202) .

5. Być może w dalszym rozwoju konstrukcji zdecydujesz się na wstawienie jakichś innych czujników np. położenia, obrotu czy orientacji (akcelerometr, żyroskop, kompas). To dzisiaj są tanie rzeczy i do wszystkiego są biblioteki więc nie taki diabeł straszny a naprawdę bardzo przydają się w manewrowaniu myszą w ograniczonej przestrzeni labiryntu. Podejrzewam, że do tego zostawiłeś sobie linie I2C i znów - wrysuj złącze zawierające oprócz SDA i SCL także zasilanie i masę. Być może warto od razu wpuścić tam 3.3V zamiast 5V (bo większość nowych czujników pracuje jednak na max. 3.3V) a co za tym idzie konwerter (dwa tranzystory) szyny I2C z 5V na 3.3V - będzie jak znalazł w przyszłości.

6. Odbiornik podczerwieni (np. TSOPxxxx) - bardzo przydaje się gdy mysz zaczyna głupieć w dużym labiryncie. Jednym ruchem, za pomocą prawie dowolnego pilota od TV wydajesz komendę "Kończ Waść, wstydu oszczędź" i uśpionego już stworka możesz wtedy spokojnie wyciągnąć za ogon. Przydaje się też przy testach w pokoju, gdy możesz ręcznie sterować wykonywaniem różnych manewrów bez ciągłego łapania i wciskania przycisków (właśnie: gdzie jakiś przycisk?).

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Marku, zrobiłem mały test z tymi połączeniami w Eaglu w wersji 6.5.0 i mam następujące wnioski:

* Mam szynę masy (GND), przy pewnym elemencie i etykietę o nazwie "GND" na innym - są one połączone razem.

* Jak mam etykietę o nazwie "VCC" i szynę +5V na innym, to te elementy nie są ze sobą połączone. Ale jak zmienię nazwę etykiety z "VCC" na "+5V", to te elementy są ze sobą połączone.

Tak więc, kolega od MM może tylko zmienić nazwę etykiety z "VCC" na "+5V" i będzie elegancko.

Myślę, że rozwiałem wątpliwości 🙂

Udostępnij ten post


Link to post
Share on other sites

1) Symbole zasilania poprawione, teraz sieć połączeń powinna być spójne.

2) Piny diod zmienione. Rozłożyłem to na dwa porty, chociaż tak jak wspominałem - jednocześnie będzie pracować max 1 dioda, w dodatku będą uruchamiane w sposób cykliczny sporadyczne ( sporadycznie z punktu widzenia kontrolera, czyli kilkadziesiąt razy na sekundę 😃 ), więc z wydajnością prądową nie powinno być problemu

3) Jeśli chodzi o rozwój robota. Chcę uzyskać sprawnie działającą konstrukcję spełniającą swoje zadanie. Modułów bluetooth i podobnych rozwiązań opartych o USART czy I2C póki co się boję, i dopiero w następnym projekcie zamierzam się im przyjrzeć, jak że będą bazą planowanego robota. Tutaj uprościłem mocno konstrukcje, jako że jest to dla mnie materiał szkoleniowy z podstaw 🙂

Na tranzystorach będę mierzył napięcie i na tej podstawie wyznaczę odległość od ścianek. Eksperymentalnie znajdę wartość graniczną dla każdego czujnika, dla której robot będzie korygował swoje położenie.

Dziękuje za pomoc i przyznam, że nie spodziewałem się takiego zainteresowania tematem 🙂

Udostępnij ten post


Link to post
Share on other sites

Nadal nie masz źródła 9V dla silników. Oprócz tego dla dobra mikrokontrolera podłącz diody IR w czujnikach odległości przez tranzystory.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Przy przetwornicy jest goldpin 9V_IN, jest to nic innego jak wejście akumulatora 🙂

Etykiety SW1 i SW2 prowadzą do wyłącznika który odcina zasilanie dla całego układu.

Udostępnij ten post


Link to post
Share on other sites

Chodziło mi raczej o to, że przy mostku do zasilania siników masz szynę +9V, lecz Eagle nie wie, że to napięcie ma wziąć z golpdpinów. Dlatego daj jeszcze po włączniku wyjście dla szyny +9V.

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