Płytka bazowa APP000


Tematy pokrewne   Podrozdziały
(w budowie)
  Dodajemy bibliotekę SPARKFUN
Projekt płytki bazowej dla ATTiny13

 

 

Dodajemy bibliotekę SPARKFUN

 
   
Standardowe biblioteki elementów elektronicznych programu Eagle, chociaż bardzo bogate, często nie zawierają potrzebnych nam elementów. Na szczęście program Eagle jest bardzo popularny wśród elektroników na całym świecie i opracowano dla niego mnóstwo pomocy. Taką właśnie pomocą jest popularna biblioteka SPARKFUN. Zawiera ona mnóstwo elementów wykorzystywanych w konstrukcjach amatorskich. Poniżej podajemy krok po kroku sposób instalacji tej biblioteki:

 

Najnowszą wersję biblioteki znajdziesz zawsze pod tym adresem:

 

 

Z boku po prawej stronie znajdują się dwa przyciski:

Kliknij w Download ZIP. Plik otwórz w menadżerze archiwów:

Po załadowaniu rozpakuj archiwum w katalogu domowym (lub w dowolnym innym, lecz zapisz sobie adres tej pozycji).

Uruchom aplikację Eagle.

Z menu wybierz Options → Directories... Pojawi się okno dialogowe z definicjami katalogów używanych przez różne funkcje aplikacji Eagle. W polu tekstowym Libraries dopisz ścieżkę do katalogu biblioteki SPARKFUN.

Tutaj drobna uwaga. W systemie Windows katalogi rozdzielamy średnikiem. W systemie Linux jest to dwukropek. Gdy dodasz katalog, zatwierdź zmiany przyciskiem OK. W panelu sterowania Eagle otwórz sekcję Libraries. Jeśli wszystko poprawnie wykonałeś, to pojawi się tu biblioteka SPARKFUN:

Kliknij ją prawym przyciskiem myszki i z menu kontekstowego wybierz opcję Use all. Od tego momentu elementy zdefiniowane w tej bibliotece staną się dostępne w twoich projektach.

 

 

Projekt płytki bazowej dla ATTiny13

 
   

Projekt nr 9 – płytka bazowa w wersji przewlekanej

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):

 

Vcc PB0 PB2 PB4
GND PB1 PB3 PB5

 

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:

 

Element Ilość Opis
ATTiny13 1  
podstawka DIL8 1  
złącze Kanda lub goldpin 2x5 1 złącze programatora
złącze żeńskie goldpin kątowe 2x4 1 złącze wyjściowe
goldpin 1x2 prosty 1 złącze zasilania
opornik 1kΩ/0,125W 1 –(                )–
opornik 4,7kΩ/0,125W 1 –(                )–
dioda LED 3mm 1 kolor dowolny
kondensator 100nF 1  
kondensator 4,7µF/6,3V 1 elektrolityczny
przycisk Omron 1 RESET

 

Projekt nr 10 – płytka bazowa w wersji SMD

Wersję 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:

8S1 8S2

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.

Wersja przewlekana
APP000_smd.sch
APP000_smd.brd
APP000_smd_a.png
APP000_smd_b.png
APP000_smd_t.png
APP000_smd.svg
Element Ilość Opis
ATTiny13 SMD 1  
złącze Kanda lub goldpin 2x5 1 złącze programatora
złącze żeńskie goldpin kątowe 2x4 1 złącze wyjściowe
goldpin 1x2 prosty 1 złącze zasilania
opornik SMD 1kΩ 0805 1  
opornik SMD 4,7kΩ 0805 1 –(                )–
dioda SMD LED 0603 1 kolor dowolny
kondensator SMD 100nF 0805 1  
kondensator SMD 4,7µF/6,3V Typ A 1 elektrolityczny
przycisk SMD 1 RESET

 

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 APP000

Zlutowaną 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:

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB  = 0b11111; // Określamy PB0...PB4 jako wyjścia
    PORTB = 0;       // Na wszystkie wyjścia stan 0
    while(1)
    {
        PORTB++;        // W rejestrze portu B tworzymy licznik
        _delay_ms(100); // Czekamy 0,1 sekundy
                        // I od nowa w pętli
    }
}

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

+5V PB0 PB2 PB4
GND PB1 PB3 PB5

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.

 

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.