Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2015 mgr
Jerzy Wałaszek
|
Projekt płytki bazowej dla ATTiny13 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
W celu wygodnego kontynuowania nauki programowania
mikrokontrolerów skonstruujemy kilka przydatnych układów
elektronicznych. Na początek będzie to płytka bazowa z
mikrokontrolerem ATTiny13. Jest to coś w rodzaju samodzielnego
komputera, do którego będzie można przyłączać różne urządzenia.
Oczywiście układy takie da się budować na płytce stykowej,
jednak nie jest to rozwiązanie wygodne. Najpierw określmy, co będzie taka płytka bazowa zawierała oprócz samego mikrokontrolera. Po pierwsze musimy mieć możliwość wygodnego programowania mikrokontrolera. Zatem na płytce bazowej umieścimy 10-cio bolcowe gniazdo Kanda (można zamiast niego zastosować dwurzędowe goldpiny, co jest rozwiązaniem tańszym, lecz będziesz musiał uważać, aby poprawnie dołączać wtyczkę taśmy programatora), do którego bez problemów podłączymy taśmę z programatora. Programator dostarczy nam również zasilania, zatem nie będziemy się musieli tym martwić. Płytka bazowa będzie jeszcze zawierała przycisk RESET, diodę sygnalizującą działanie, dwa goldpiny z napięciem zasilania (gdybyśmy chcieli coś dodatkowo do niej podłączyć) oraz gniazdo wyjściowe do podłączania różnych urządzeń, które skonstruujemy w dalszej części kursu. Gotowa płytka bazowa wygląda jak na poniższej fotografii (dwie płytki w wersji przewlekanej oraz dwie w wersji SMD).
Ważnym elementem jest gniazdo wyjściowe. Do jego konstrukcji użyjemy podwójnej, kątowej listwy żeńskiej goldpin (koszt około 1...2zł za listwę z 40-toma stykami). Na stykach tego gniazda będą dostępne sygnały mikrokontrolera PB0...PB5 oraz masa i zasilanie Vcc. Umówmy się, że przydział tych sygnałów do poszczególnych pinów gniazda będzie następujący (widok od przodu gniazda):
Gniazdo wyjściowe będzie posiadało 8 styków. Taki przydział sygnałów pozwoli łatwo rozszerzyć to gniazdo na większą liczbę linii portów dla pozostałych mikrokontrolerów, do których będziemy mogli podłączać układy zaprojektowane dla tej płytki ATTiny13. Schemat płytki bazowej jest następujący:
Uruchom program Eagle i utwórz w nim nowy projekt o nazwie APP000 i opisz go jako "Płytka bazowa dla ATTiny13": W projekcie APP000 utwórz schemat (klikasz prawym przyciskiem myszki nazwę APP000 i z menu kontekstowego wybierasz New → Schematic). Klikasz narzędzie Add (lub wpisujesz polecenie add) i z biblioteki frames wybierasz ramkę A5L-LOC i wstawiasz ją na schemat w miejscu krzyżyka po lewej stronie u dołu: Wracasz do wyboru elementu z biblioteki (klawisz ESC) i wstawiasz na schemat poszczególne elementy wg podanej niżej listy.
pinhead PINHD-1X2 PINHD-1X2 x
1 (dodatkowe wyjście Vcc i GND)
pinhead PINHD-2X4 PINHD-2X4/90 x 1 (wyjście, wybieramy goldpiny kątowe męskie, lecz będzie to gniazdo kątowe żeńskie, którego brak w bibliotekach Eagle) con-ml ML10 x 1 (złącze Kanda) atmel TINY13 TINY13-20PU x 1 (mikrokontroler) supply1 Vcc x 2 (zasilanie) supply1 GND x 2 (masa) rlc R-EU R-EU_0204/7 x 2 (opornik) rlc C-EU C-EU050-025x-75 x 1 (kondensator) rlc CPOL-EU CPOL-EUE2.5-5 x 1 (kondensator elektrolityczny) led LED LED3MM x 1 (dioda LED) switch-omron 10-XX (przycisk RESET)
Rozmieszczamy elementy na schemacie za pomocą narzędzia Move.
Ponieważ połączeń będzie dużo, wykorzystamy narzędzie Bus do narysowania magistrali.
Magistrala jest grupą ścieżek, które na schemacie są rysowane jedną linią. Po wybraniu narzędzia w opcjach ustaw Wire bend style 1:
Narysuj magistralę jak na poniższym rysunku, rysowanie zakończ podwójnym kliknięciem lewym przyciskiem myszki:
Musimy określić sygnały, które będą przebiegały w magistrali. Robi się to nadając magistrali odpowiednią nazwę, która zawiera nazwy sygnałów. Co będzie się znajdowało w tej magistrali? Wszystkie linie portu B mikrokontrolera ATTINY13, czyli PB0...PB5. Dodatkowo umieścimy tam Vcc i GND. Jeśli sygnały różnią się tylko cyframi, to można wprowadzić je blokowo. Np. linie portu wpiszemy do nazwy magistrali jako PB[0..5] (inaczej należałoby żmudnie wpisywać PB0, PB1...). Wybierz narzędzie Name i kliknij magistralę i wpisz. Teraz chcielibyśmy zobaczyć na schemacie tę nazwę. W tym celu używamy narzędzia etykiety Label.
Wybierz je z paska narzędziowego i kliknij lewym przyciskiem myszki w magistralę. Pojawi się jej nazwa, którą możesz sobie przemieszczać. Ustaw ją w jakimś widocznym miejscu i zatwierdź położenie kliknięciem lewego przycisku myszki:
Zmianę położenia etykiety zawsze uzyskasz za pomocą narzędzia Move. Po nazwaniu magistrali możemy przystąpić do łączenia elementów na schemacie. Wybierz narzędzie Net. Najpierw połącz wszystkie elementy poza magistralą:
Następnie wyprowadzimy z magistrali przewody do odpowiednich elementów na schemacie. Robi się to bardzo prosto. Dla przykładu połączymy magistralę z wyprowadzeniami Vcc i GND. Najpierw ustaw we własnościach Net opcję:
Pozwala ona zaginać przewód pod katem 45 stopni. Kliknij narzędziem Net lewą końcówkę magistrali. Ponieważ magistrala zawiera wiele przewodów, pojawi się menu kontekstowe, z którego wybieramy właściwy przewód, w tym wypadku przewód GND, czyli masę:
Przewód łączymy z elementem GND na schemacie:
Wyprowadzony przewód może posiadać etykietę w celu łatwej identyfikacji. Kliknij go prawym przyciskiem myszki i wybierz opcję Label.
Etykietę ustaw w odpowiednim miejscu i zatwierdź to położenie kliknięciem lewym przyciskiem myszki.
W podobny sposób wyprowadź przewód Vcc i połącz go z elementem VCC na schemacie:
W ten sam sposób połącz resztę elementów z magistralą.
Schemat jest prawie gotowy. Pozostaje jeszcze nazwać elementy i określić ich wartości:
Zapisz schemat pod nazwą app000.sch i przejdź do edytora PCB. Ułóż elementy wg poniższego rysunku:
Wykonaj połączenia ścieżek wg poznanych wcześniej zasad. Możesz uruchomić Autorouter, a następnie ręcznie poprawić ścieżki. Ja tak często robię. Efekt wygląda następująco (nie musisz tworzyć płytki identycznej z naszą):
Wykonaj płytkę PCB i przylutuj do niej elementy. Pamiętaj, że JP2 jest gniazdem żeńskim kątowym, tutaj widać bolce, ponieważ w standardowych bibliotekach Eagle brakuje tego elementu. Oczywiście, można sobie zaprojektować dowolny element biblioteczny, lecz nie wszystko na raz. W dalszej części kursu pokażę, jak to się robi. Poniżej masz pliki z projektu Eagle wraz z grafiką i stroną do wydruku na drukarce laserowej:
Stronę z obrazami ścieżek drukujemy za pomocą drukarki laserowej na gładkim papierze kredowym. Wycinamy odpowiedni fragment – płytka SMD jest dwustronna, wycinamy zatem oba obrazki spodu i wierzchu płytki.
Wycięty kawałek kartki zaginamy wzdłuż kreskowanej linii i dopasowujemy do siebie oba obrazki ścieżek. Najlepiej zrobić to pod światło. Po dopasowaniu zszywamy z trzech stron zszywkami i wkładamy do środka płytkę miedziowana przyciętą na odpowiedni wymiar i dokładnie oczyszczoną papierem ściernym, płynem do mycia oraz rozpuszczalnikiem nitro lub benzyną. Zamykamy płytkę w środku przez zszycie kartek ostatnią, czwartą zszywką. Zszywki należy spłaszczyć, aby nie rysowały spodu żelazka.
Tak przygotowane płytki traktujemy rozgrzanym żelazkiem przez około 2 min. Płytkę dwustronną należy ogrzać z obu stron. Przy termotransferze nie dociskaj zbyt mocno żelazka do płytki, ponieważ może to spowodować nieładne rozpłaszczenie ścieżek, szczególnie tych cienkich. Toner przy ogrzewaniu mięknie i zachowuje się jak materiał plastyczny.
Operacja jest skończona, gdy poprzez papier widoczne są ścieżki. Musisz sobie to wypraktykować. Po kilku "produkcjach" nabierzesz wprawy.
Płytki z papierem wrzucamy do letniej wody z mydłem i zostawiamy tak na około 15 minut, aby papier dobrze odmoknął. Następnie delikatnie odrywamy papier od płytek. Jeśli termotransfer został wykonany poprawnie, to całość tonera powinna pozostać na płytce. W przeciwnym razie będziesz musiał uzupełnić ubytki ścieżek pisakiem edding 141F. Ze ścieżek należy dokładnie usunąć resztki papieru. Możesz to zrobić palcem lub starą szczoteczką do zębów. Papier z otworów na polach lutowniczych usuwasz ostrym końcem nożyka lub szpikulcem. Przygotowujemy roztwór trawiący: łyżeczkę nadsiarczanu sodowego B327 zalewamy gorącą wodą (nie wrzątkiem) i dokładnie mieszamy, aby w całości się rozpuścił. Do roztworu wrzucamy płytki i mieszamy od czasu do czasu, co przyspiesza trawienie.
Po wytrawieniu płytki czyścimy dokładnie rozpuszczalnikiem nitro, który usunie toner ze ścieżek. Ja wrzucam jeszcze płytki na kilka minut do roztworu kalafonii w rozpuszczalniku nitro lub w denaturacie. Tak potraktowane płytki należy dokładnie wysuszyć. Zostaną one pokryte cieniutką warstwą kalafonii, która później ułatwi lutowanie.
W płytce wiercimy otwory. Pod elementy przewlekane stosujemy wiertło 0,7mm. Pod goldpiny 0,9mm. Otwory należy wiercić prostopadle do płytki, inaczej miną się z polami lutowniczymi po drugiej stronie płytki.
Płytka jest gotowa. Lutujemy do niej elementy w kolejności od najniższych do najwyższych – łatwiej je wtedy dociskać przy lutowaniu, inaczej te wyższe będą ci przeszkadzać. W płytce SMD zacznij od zlutowania przelotek (Via). Płytki na poniższych fotografiach posiadają zamiast gniazda Kanda zwykłe goldpiny. Wtyczkę z programatora dołączamy, tak aby jej występ był skierowany do mikrokontrolera.
Uruchomienie płytki bazowej APP000Zlutowaną płytkę APP000 należy teraz uruchomić, czyli sprawdzić poprawność montażu elementów. Podłącz płytkę do programatora USBasp, programator podłącz do gniazda USB w komputerze i uruchom środowisko Eclipse. Stwórz nowy projekt dla ATTINY i wpisz do edytora poniższy program:
Program tworzy w rejestrze portu B licznik, który zlicza co 0,1 sekundy. Pojawia się tutaj nowy operator: ++. Zwiększa on o 1 zawartość rejestru PORTB i w ten sposób powstaje w tym rejestrze prosty licznik binarny, który zlicza co 1/10 sekundy. Najszybciej zmienia się stan linii PB0 (najmłodszy bit licznika). PB1 zmienia się dwa razy wolniej (starszy bit licznika), PB2 znów dwa razy wolniej i tak dalej aż do PB4. Do badania stanu linii wyjściowych PB0...PB4 wykorzystaj próbnik stanów logicznych, który wykonałeś wcześniej. Zasilanie próbnika pobieramy z dwóch goldpinów na płytce bazowej. Sondę próbnika wkładamy do kolejnych otworów gniazda wyjściowego (za wyjątkiem dwóch pierwszych, w których jest +5V i masa).
Jeśli próbnik będzie wskazywał odpowiednie zmiany poziomów logicznych, to płytka bazowa jest poprawnie zbudowana. W przeciwnym razie będziesz musiał zabawić się w detektywa i znaleźć na niej błąd. Ostatecznie możesz sobie zrobić nową płytkę, tym razem bardziej starannie.
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe