Skocz do zawartości

Schemat Line Follower (Atmega 32)


Bazzby

Pomocna odpowiedź

Dziękuję bardzo za pomoc i wszystkie rady.

Poprawiłem schemat oraz podzieliłem go na 2 części. "Główną" oraz "czujnikową".

W kwestii akumulatorków zdecydowałem się jednak na:

http://botland.com.pl/lipo-dualsky/570-dualsky-520mah-20c-2s1p-74v.html

aby móc wszystko zamówić w jednym miejscu.

Trafiły też do mnie jak i do prowadzącego argumenty jakie przedstawiłeś za dodaniem czujnika IR. Czy coś takiego mi wystarczy?

http://botland.com.pl/odbiorniki-podczerwieni/1837-pilot-ir-odbiornik-podczerwieni-1838t.html

Co do dodatkowych diod to na pewno takie dodam. W planie mam zamontowanie jednej, która będzie świecić przy "włączonym" zasilaniu oraz 3 odpowiadających każdemu z czujników, aby móc kontrolować ich działanie.

Link do komentarza
Share on other sites

Przechodzimy w takim razie od fazy "błędów podstawowych" do etapu drugiego - czyszczenia schematu z uproszczeń odróżniających zabawę hobbysty od pracy elektronika.

Dioda D1 służy do rozładowywania pojemności C1 podczas szybkiego opadania napięcia Vcc przy wyłączaniu układu. Ma za zadanie ochronę wejścia procesora, ale stosuje się ją w przypadku dużych pojemności rzędu 10uF i więcej. Gdy masz tutaj 100nF - jest ona zbędna. Poza tym jest to zwykle bardzo mała diodka, np. typowa "computer diode" 1N4148. Wstawianie tutaj dużej, 1A diody 1N4004 to pomyłka.

Linię E - jako najważniejszy sygnał strobu danych do LCD wyposażyłbym w rezystor ściągający do masy, np. 10k. Podczas programowania procesor odwiesza wszystkie porty do stanu wysokiej impedancji a wtedy nie wiesz co się dzieje. Na LCD mogą pojawiać się jakieś krzaki, duchy i stany nieustalone - jeden opornik to nie jest wielki koszt a widać, że rozumiesz zjawiska i panujesz nad wszystkimi stanami systemu. Ważne sygnały powinny mieć zawsze ustalone stany i to takie w których nie robią nikomu krzywdy. Linie sterujące mostka Ci odpuszczam, bo choć sam L293 ma aktywne podciągi do plusa, dwie jedynki na wyjściu silnikowym nie będą nim obracać. Niemniej jednak sztuka by nie cierpiała gdyby choć oba sygnały PWM (PD4 i PD5) ściągnąć do masy przez kilka kΩ. Zapewni to wyłączenie mostków podczas programowania i zerowania procesora.

Linie SDA/SCL wyciągnąłbym na jakieś złącze, wraz z Vcc i GND. Wystarczą 4 szpilki w rastrze 100mils a zyskujesz fajną możliwość rozbudowy układu. Do takiego interfejsu możesz podłączyć mnóstwo ciekawych rzeczy, np. czujniki otoczenia (akcelerometry, kompasy, termometry), drivery dodatkowego oświetlenia, ekspandery portów I/O, przetworniki AC i CA itd.. Nawet jeśli nie wykorzystasz tego od razu, to płytka będzie mogła posłużyć jako platforma do eksperymentów z tymi układami w przyszłości.

Jeśli masz zamiar coś na schemacie dodawać, od razu to pokazuj. Każda modyfikacja może być źródłem nowych błędów.

Link do komentarza
Share on other sites

Wrzucam tylko schemat części głównej, bo w czujnikach nic nie zmieniałem:

No i tak, wywaliłem tą niepotrzebną diodę przy resecie. Dodałem rezystory ściągające do masy do linii E w LCD oraz PWM. 3,3k dla PWM będą wystarczające?

Wyprowadziłem też to złączę dla SDA/SCL.

Dodatkowo:

- dodałem diodę led do stabilizatora (żeby się świeciła po włączeniu zasilania)

- dodałem czujnik IR. Wybrałem TSOP 1838. Opornik i kondensator przy nim wziąłem z dokumentacji. Podpiąłem Go pod INT2 bo akurat było wolne, a obstawiam, że trzeba bęzie użyć przerwania.

- dołożyłem 3 diody LED.

Link do komentarza
Share on other sites

Wartości rezystorów są OK. Na E może być cokolwiek co utrzyma stan niski a jednocześnie nie będzie zbędnym obciążeniem dla wyjścia portu, zwykle 10-51k jest w sam raz.

Linie PWM mają niestety pullup od strony mostka. Trochę to dziwne, ale tak to producent zrobił. Być może zostawił możliwość niepodłączania tych linii gdy nie są używane. W każdym razie Twoje oporniki muszą przezwyciężyć prąd wypływający z wejść mostka (max. 100uA) tak, by napięcie na nich było wtedy niższe niż ok 1.2V. Z prostego rachunku wychodzi, że powinny być mniejsze niż 12k. Wybrałeś dobrze.

Filtr taki jak zbudowałeś w pobliżu odbiornika niewiele da. Pomijam fakt, że kondensator jest odwrotnie włączony, to jeszcze powinien być za opornikiem - tuż przy nóżce Vcc TSOPa.

Rzeczywiście, funkcje odbioru IR wykorzystujące przerwania są dużo sprawniejsze tj. znacznie mniej obciążają procesor. W środowisku gdy dzieje się dużo rzeczy na raz (czujniki, śledzenie trasy, silniki, pomiary itd) właściwie nie ma innego wyjścia - wszystko (oprócz być może jednego, dwóch procesów) musi być oparte na przerwaniach.

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

Filtr nie pomoże w takiej postaci jak ostatnio pokazałeś. Przeniesienie kondensatora za opornik zmienia sytuację diametralnie. Teraz jest OK.

Stabilizator? No to policzmy: procesor + mostek + diodki LED + LCD + czujniki to nie więcej jak 100mA. Podświetlanie LCD to drugie 100mA. Razem 200mA. Przy w pełni naładowanym akumulatorze masz 8.4V na pusto, pod obciążeniem robi się jakieś 8.2V, a po diodzie zostaje 7.9V. Masz zatem (7.9-5)*0.2=0.58W. Nie możesz więc wstawić jakiejś najmniejszej wersji, ale już SOT223 lub tym bardziej DPAK spokojnie wystarczą. Daj ze 2cm² miedzi wokół padu radiatora (czyli jakieś 85°C/W TRja dla SOT223) a Twój stabilizator będzie pracował długo i szczęśliwie. Nie będzie zupełnie zimny, ale przecież nie musi. Wystarczy, że w maksymalnej temperaturze otoczenia na jaką projektujesz ten układ, struktura będzie sporo niżej od górnego ograniczenia 120°C. Przy 200mA w temperaturze pokojowej będzie teraz miała 25+(0.58*85)=74°C - zupełnie poprawnie.

Widać wyraźnie, że (ponad?) połowę mocy na stabilizatorze robi podświetlanie LCD. Może warto przenieść je wprost na akumulator dając wtedy koniecznie rezystor szeregowy. Poprawisz komfort pracy stabilizatora a opornikiem będziesz mógł regulować jasność. Oszczędność mocy jest żadna, bo i tak ciepło się wydzieli tylko gdzie indziej. Wadą jest oczywiście pewna zależność jasności od stopnia naładowania akumulatora. Być może warto rozważyć dodanie jednego tranzystora i sterowanie jasnością z któregoś wolnego generatora PWM - np. OC2?

Link do komentarza
Share on other sites

No i zaczynają się schody 😋

Zacznę od stabilizatora. Rozumiem, że chodzi o to, że powinienem mieć stabilizator SMD, a nie THT jak reszta elementów?

Czyli w moim przypadku ten:

http://botland.com.pl/regulatory-napiecia/684-stabilizator-ldo-5v-lm1117-smd.html

Mógłbyś rozwinąć kwestie radiatora i miedzi?

Patrzyłem na botlandzie, ale tam są tylko radiatory dla obudowy TO220, a dla TO252 jak w przypadku tego stabilizatora nic nie ma.

Znalazłem w innym sklepie:

-PAK-(TO-252-),-23-K-%2F-W.htm?websale8=conrad&pi=183868'>http://www.conrad.pl/Radiator-SMD-Assmann-WSW-V-1100-SMD%2FA,-Dla-obudowy-😃-PAK-(TO-252-),-23-K-%2F-W.htm?websale8=conrad&pi=183868

Tylko bez sensu trochę płacić za przesyłkę dla jednego tak taniego elementu. Można to jakoś obejść?

I co do wyświetlacza lcd. Zasugerowałem się tym co napisałeś i przerobiłem schemat. Napięcie biorę bezpośrednio z akumulatora, używam tranzystora i podpiąłem to wszystko do OC2.

Użyłem tego tranzystora:

http://botland.com.pl/tranzystory-bipolarne/2063-tranzystor-bipolarny-pnp-bc557c-45v01a-5-szt.html

Wydaje mi się, że dobrze wybrałem rodzaj pnp. Tylko nie wiem jak teraz powinienem dobrać do tego oporniki

EDIT//

I jak wygląda kwestia lutowania w przypadku stabilizatora SMD? Używam płytek uniwersalnych PDU 27 THT

http://botland.com.pl/plytki-uniwersalne/168-plytka-uniwersalna-pdu27-tht.html

Link do komentarza
Share on other sites

Jakoś założyłem, że robisz to w SMD. Stabilizator w obudowie TO220 lub 252 rozproszy 0.5W bez żadnego radiatora. Jeżeli zdecydowałeś się na zasilanie podświetlania wprost z aku to w ogóle nie ma problemu bo mocy będzie jeszcze 2 razy mniej. Połóż to co kupisz na PCB (lub postaw pionowo w przypadku TO220), przylutuj i będzie działać.

Używałeś kiedyś tranzystorów? Wiesz jak działają? Trochę mnie to martwi, że ludzie zabierają się za roboty i procesory a nie umieją podłączyć głupiego klucza do LEDów. Czasem muszę sobie ulać, przepraszam.

Twój klucz tak podłączony nigdy nie zadziała i jeszcze spali procesor. Przecież dałeś +8V na emiter a bazę podłączyłeś do portu. Widzisz tę strzałkę? To dioda. Właśnie zapodałeś zasilanie z akumulatora wprost na procesor. Musisz postawić emiter tranzystora NPN na masie, między wyjście portu a bazę dać opornik np. 1k, kolektor podłączyć do katody wyświetlacza a anodę przez opornik 22-33Ω do plusa akumulatora. Proste jak drut. Tranzystor musi mieć prąd kolektora sporo większy niż ten który będziesz przełączał. Znajdź taki wytrzymujący kilkaset mA. Sam policz wymaganą moc opornika szeregowego.

Nie będę po raz n-ty powtarzał szkółki o rezystancjach termicznych. Znajdź sobie coś w sieci lub zapytaj prowadzącego.

Link do komentarza
Share on other sites

Jak wspominałem na początku zabrałem się za ten projekt bo musiałem. Zaczynając nie miałem o niczym zielonego pojęcia i nie wiedziałem nawet co to jest Atmega. Staram się uczyć tego wszystkiego i zdobyć wiedzę podczas tworzenia. Przeprasza za kardynalne błędy i równocześnie jestem bardzo wdzięczny za cierpliwość.

Tranzystor znalazłem taki:

http://botland.com.pl/tranzystory-bipolarne/1239-tranzystor-bipolarny-npn-bc337-40-40v08a-5-szt.html

Po poprawie mojego absurdalnego połączenia wygląda to tak:

Nie chcę iść na łatwiznę i nie proszę o gotowe prawidłowe rozwiązanie. Jakbyś mógł to napisz co jeszcze jest źle, a ja poszukam i spróbuję to poprawić samemu

EDIT//

Teraz zauważyłem dopiero zdanie o wymaganej mocy opornika. Mam nadzieję, że to pytanie nie jest bardzo głupie, ale dla jakiego Ic powinienem to liczyć?

Link do komentarza
Share on other sites

Widzę, że bardzo się starasz a moja irytacja bierze się bardziej z tego, że właśnie zostałeś wrzucony w temat którego do końca nie ogarniasz. Oczywiście puszczanie na głęboką wodę ma swoich zwolenników, ale Ci zwykle stoją na brzegu. Szkoły powinny chyba jednak najpierw czegoś uczyć a potem dopiero wymagać chyba, że już zapomniałem jak to było..

W każdym razie projekt powoli zaczyna mieć ręce i nogi. Nie jest zrobiony na styk, masz wciąż wolne piny procesora, jakieś gniazdko do rozbudowy i kilka elementów do zabawy już po tym jak opanujesz podstawowe jeżdżenie po linii. Wstępna analiza prądów, napięć i mocy systemu zasilania wskazuje, że uciągnie tę zabawkę więc nie pozostaje Ci nic innego jak zatwierdzać dokumentację i startować etap PCB. Jak rozumiem będziesz to robił na płytce uniwersalnej. Zanim cokolwiek wlutujesz rozłóż sobie elementy mając w pamięci konieczne połączenia. Takie puzzle możesz wielokrotnie przesuwać aż będziesz zadowolony. Zwykle ten etap robi się na ekranie komputera ale nie wiem, czy na to się zdecydujesz skoro i tak "projekt" druku już w zasadzie masz. Poświęć na to ze dwa dni planując przy okazji rozmieszczenie wszystkich kabli dołączonych do płytki oraz całego otoczenia wokół: silników, akumulatora itp. Możesz dowolnie dużo rysować ołówkiem na papierze, poprawiać i przestawiać "w naturze" a także zmieniać linie procesora bo tylko kilka sygnałów musi być podłaczonych do pewnych konkretnych pinów. Niech końcowa konfiguracja ma dobrze wykorzystaną powierzchnię płytki, jak najmniej (ale bez przesady) krzyżujących się kabli i proste połączenia do elementów zewnętrznych. Cóż, płytka drukowana to zwykle stek mniejszych i większych kompromisów i nigdy nie jesteś z niej w 100% zadowolony. Ciekawe jak Ci pójdzie 🙂

Tranzystor jest OK.

Jeżeli w poprzednim podejściu nie bałeś się podłączyć podświetlania (nigdy tak nie robię - to w końcu diody) wprost do +5V to założyłeś, że takie napięcie mu nie szkodzi. Tak więc wiesz już, że na oporniku musi spaść maks. 7.9V-5V=2.9V. Prąd podświetlania powinieneś sam wyczytać z danych katalogowych wyświetlacza który wybrałeś. Ja założyłem 100mA. Małe LCD (w sensie powierzchni ekranu) będą brać trochę mniej, duże więcej. Skoro wstawiłeś opornik 22Ω to będzie płynęło maksymalnie 2.9/22=130mA. To oczywiście obliczenia szacunkowe, bo nie uwzględniamy spadku na tranzystorze (0.2-0.4V) ani ch-ki samych diod LED. Dzięki modulacji PWM będziesz więc miał możliwość łatwej regulacji średniego prądu od 0 do tych powiedzmy 130mA. Nawet błąd w programie i odpalenie wyjścia na stałe do stanu 1 nie powinno spowodować spalenia LEDów. Poza tym akumulator szybko zjedzie do 7.2V i na takim poziomie zostanie przez większość czasu pracy aż do ponownego szybkiego spadku - tym razem pod koniec pojemności - do ok. 6V kiedy to procesor powinien zaalarmować i wyłączyć silniki. Opornik powinien wytrzymywać prąd maksymalny przy PWM 100%, czyli 0.13*0.13*22=0.38W. Musisz wziąć 0.5W i będzie trochę ciepły. Jak nie na stabilizatorze, to ta moc wylezie gdzie indziej..

Link do komentarza
Share on other sites

Podświetlanie LCD to drugie 100mA.

Powiem szczerze, że już dawno poza moimi starymi wyświetlaczami nie widziałem takiego, który miałby podświetlenie biorące 100mA (w moich LCDkach bierze 150mA). Od kilku lat w sprzedaży są wyświetlacze z jedną diodą led, która przy swoich 20mA świeci jak choinka 😉. W nowych wyświetlaczach albo zmieniałem rezystor od diody na płytce wyświetlacza, albo dodawałem drugi rezystor na mojej płytce tak, aby zmniejszyć prąd do jakichś 5mA w wyświetlaczach 2x8 znaków albo do 10mA przy lcd 2x16.

Link do komentarza
Share on other sites

Po krótkiej przerwie wziąłem się za robienie PCB.

Cały mój projekt jest robiony na elementach przewlekanych, więc i tak będę musiał zrobić schemat montażowy, no ale taki jest wymóg projektu, że PCB musi być zrobione 😉 Dopiero co zacząłem, ale zanim się wezmę do rysowania ścieżek, chciałem się spytać o radę. Zgodnie z tutorialem z bloga, po rozpoczęciu pracy nad płytką podzieliłem sobie ją na poszczególne moduły. Oto co mi wyszło. Chciałem się spytać, czy na tym etapie popełniłem już jakieś błędy, bądź głupstwa jeśli chodzi o rozmieszczenie elementów.

Otóż tak, wrzucam aktualny schemat. Jedyna różnica jaka pojawiła się od ostatniego czasu, to wyprowadzenie na LCD, które będzie na osobnej płytce.

Schemat główny:

Płytka:

Czujniki:

Płytka:

LCD: (Tutaj chciałbym wyjaśnić co robi "luźny" wyświetlacz na schemacie. Otóż mam wyświetlacz LCD z wyprowadzonymi goldpinami, także nie będę Go na stałe przylutowywał, a zrobię na niego wyprowadzenie i będę sobie wpinał. Wstawiłem Go tak do schematu dla orientacji)

Płytka:

Szczególnie w przypadku części głównej troszeczkę przytłacza mnie ilośc połączeń, a że to moja pierwsza PCB w życiu chciałem poprosić o jakąś radę 😉

Mam jeszcze zupełnie inne pytanie.

Chciałem do lutowania użyć kynara, gdyż słyszałem, że idealnie się do tego nadaje.

Czy grubość 0,24mm wystarczy? Szczególnie chodzi mi o przykładowo kwestie napędu, który będzie pobierał dość spory prąd.

Chodzi mi konkretnie o te:

http://electropark.pl/szukaj?search_query=kynar&orderby=position&orderway=desc

Link do komentarza
Share on other sites

Jeżeli weźmiesz mniejsze obudowy elementów przewlekanych to zyskasz sporo miejsca i będziesz mógł przysunąć elementy bliżej do siebie i w efekcie zmniejszyć rozmiar płytek. Kynar nadaje się do pojedynczych połączeń na pcb ale nie do napędu, właśnie ze względu na swój mały przekrój. Do połączenia Wyświetlacza z płytką polecam użyć gotowej taśmy a nie się bawić w pojedyncze przewody.

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.