![]() |
Wyjście Spis treści Poprzedni Następny
Autor artykułu: mgr Jerzy Wałaszek Konsultacja: Wojciech Grodowski, mgr inż. Janusz Wałaszek |
©2015 mgr
Jerzy Wałaszek
|
| Tematy pokrewne | Podrozdziały | |
| (w budowie) |
Dodajemy bibliotekę SPARKFUN Projekt płytki bazowej dla ATTiny13 |
Projekt płytki bazowej dla ATTiny13 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Projekt nr 9 – płytka bazowa w wersji przewlekanejW 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:
Projekt nr 10 – płytka bazowa w wersji SMDWersję SMD tworzymy bardzo podobnie. Na schemacie wybieramy inne rodzaje obudów elementów elektronicznych. Aby nie tworzyć wszystkiego od początku, uruchom menadżera plików, wejdź do katalogu projektowego:
katalog domowy/eagle/APP000
Skopiuj plik app000.sch. Następnie wklej go do tego samego katalogu i zmień mu nazwę na app000_smd.sch:
Po uruchomieniu aplikacji Eagle w katalogu projektowym APP000 pojawi się nowy plik schematu app000_smd.sch:
Wczytaj ten plik do edytora schematów. Musimy pozamieniać obudowy elementów z przewlekanych na SMD. Pozostaną nienaruszone złącza. Płytka SMD będzie dwustronna. Takie płytki wymagają uwagi przy tworzeniu, ponieważ musimy zapewnić spasowanie otworów po obu stronach płytki. Ten problem nie występuje przy płytkach jednostronnych. Obudowy elementów zamieniamy na schemacie za pomocą narzędzia Replace:
Po wyborze narzędzia ukaże się nam okienko dialogowe znane z narzędzia Add, w którym wybieramy nowy rodzaj elementu. Na początek wymieńmy mikrokontroler ATTINY13 na wersję SMD. Otwieramy bibliotekę atmel, następnie TINY13. Wewnątrz znajdują się dwie obudowy SMD dla tego mikrokontrolera: 8S1 i 8S2 które różnią się szerokością, czyli odstępami pomiędzy rzędami pól lutowniczych:
Aby płytka nadawała się dla obu typów obudowy, wybierzemy 8S1, a pola lutownicze później nieco wydłużymy (istnieje również inny sposób rozwiązania tego problemu, lecz nie będę ci teraz mieszał w głowie). Wybierasz zatem element:
atmel TINY13 TINY13-20SSU
i po zatwierdzeniu go przyciskiem OK, klikasz w mikrokontroler na schemacie. Wiele się nie zmieni. Jeśli zechcesz sprawdzić, czy faktycznie mikrokontroler ma teraz obudowę typu 8S1, kliknij go prawym przyciskiem myszki i z menu kontekstowego wybierz opcję Properties (własności). W okienku własności sprawdź rodzaj obudowy (Package):
W podobny sposób zmieniasz obudowy pozostałych elementów elektronicznych: rlc R-EU R-EU_M0805 (opornik) rlc C-EU C-EUC0805 (kondensator zwykły) rlc CPOL C-POL-EUSMCA (kondensator elektrolityczny, tantalowy) SparkFun-LED LED LED0603 (dioda LED) Usuń ze schematu przycisk S1 i w to miejsce wstaw: SparkFun-Electromechanical SWITCH-MOMENTARY-2 SWITCH-MOMENTARY-2SMD-1101NE (przycisk) Zapisz schemat na dysku i przełącz się na edytor PCB. Ułóż elementy na płytce, elementy SMD będą się znajdowały na warstwie Top, złącza będą na warstwie Bottom.
Ustawiamy raster na 0,01 cala narzędziem Grid. Następnie łączymy elementy ścieżkami. Pamiętaj, że ścieżki od gniazd muszą być prowadzone w warstwie Bottom. Przejścia na warstwę Top wykonujemy za pomocą przelotek Via. Do rysowania ścieżek wybieramy narzędzie Route. W parametrach ustawiamy:
Efekt powinien być następujący (twoje rozwiązanie może się różnić od naszego; wystarczy, że będzie poprawne elektrycznie):
Ponieważ płytka jest dwustronna, musimy stworzyć dwa obrazki: spodu i wierzchu płytki. Wierzch płytki musi być odbity lustrzanie, a spód pozostawiamy taki, jaki jest. Poniżej masz jak zwykle pliki projektu Eagle, obrazki oraz skompletowaną stronę do wydruku w programie InkScape.
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łytkę SMD wierć od tylnej strony.
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.
Ćwiczenie nr 18 – 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