Autor:
afterparty
Redakcja i uwagi:
Dondu
Wszystko zaczęło się pewnego popołudnia, kiedy bawiłem się świeżo kupioną
Atmega8. Pomigałem trochę diodami na płytce prototypowej, ale nie miało to dłuższego sensu, a więc pomyślałem, że spróbuję wyświetlić parę cyferek na wyświetlaczu 7-segmentowym.
Szybko okazało się, że na płytce stykowej podłączenie takowych wyświetlaczy jest jak dla mnie dosyć uciążliwe. I w ten sposób, w mojej głowie zrodził się pomysł na przedstawianą płytkę testową.
Wiedziałem, że takie płytki istnieją i można je kupić, ale postanowiłem zrobić ją sam.
A dlaczego? W ten sposób
mogę umieścić na niej co mi jest potrzebne, nie jestem ograniczony do tego co narzuca producent, na pewno koszty wykonania będą mniejsze,
można się sporo nauczyć, no i daje to niesamowitą satysfakcję. :-)
Założenia
Założenia były proste:
1. Płytka musi być możliwa do wykonania w warunkach domowych metodą termotransferu na jednostronnym laminacie.
2.Na płytce miały się znaleźć:
- mikrokontroler Atmega8 (wybrałem go gdyż jest tani oraz popularny),
- złącze 10PIN w standardzie KANDA,
- 4 tact switche,
- 4 diody led,
- 4 wyświetlacze 7 segmentowe,
- buzzer z generatorem,
- miejsce (podstawka 20 pin) na inne układy,
- regulator napięcia 5V,
- kwarc 12MHz,
- przekaźnik.
Po drodze projekt trochę się rozrósł i dodane zostały:
- drugi regulator napięcia (3.3V),
- port RS-232 do komunikacji z komputerem.
Schemat
Kiedy zdecydowałem już co ma znaleźć się na płytce, nadszedł czas na narysowanie schematu. Do tego celu użyłem
popularnego programu EAGLE, a schemat realizowałem według
tych wskazówek.
Po kilku godzinach miałem już kompletny schemat, który umieściłem na forum popularnej strony Elektroda.pl
tutaj. Dzięki radom tamtejszych użytkowników, mogłem poprawić wytyczone błędy, i dodać zupełnie inne rzeczy, o których nie myślałem. Tak przedstawia się końcowa wersja schematu:
Do pobrania:
PCB
Kiedy schemat był już gotowy, trzeba było zaprojektować płytkę drukowaną. Nie było to zadanie łatwe, ale kolejny raz dzięki użytkownikom Elektrody (tym razem
w dziale dla PCB) mogłem poprawić swoje błędy. Ostatecznie PCB przybrało taką formę:
Do pobrania:
Pliki PDF do druku i wykonania PCB
Opis wykonania przeze mnie tej płytki PCB znajdziesz tutaj:
PCB: Metoda termotransferu
Gotowa płytka
Po złożeniu płytka prezentuje się tak:
Opis płytki
Elementy na schemacie i płytce ułożyłem modułami, by łatwiej było się zorientować, ponieważ nie zależało mi na minimalizacji płytki.
Mikrokontroler
Najważniejszym elementem jest oczywiście mikrokontroler
Atmega8.
Wybrałem go, gdyż jest tani, popularny, w sieci można znaleźć wiele przykładów kodu dla tego układu. Płytka jest również zgodna z nowszymi odmianami Atmegi8 – Atmega48, ATmega88, ATmega168 i ATmega328, zarówno w wersjach standardowych oraz A i L.
Datasheet'y:
Inne noty:
Płytka przygotowana jest dla napięć pracy 3,3V oraz 5V. Wszystkie wyżej wymienione mikrokontrolery działają z napięciem 5V.
Nie wszystkie jednak działają z napięciem 3,3V - przed zakupem sprawdź w datasheet.
Zwróć uwagę także na to, że maksymalna prędkość taktowania może zależeć od napięcia zasilania.
Zastosowane zostały
obowiązkowe kondensatory oraz dławik filtrujące zasilanie. Wszystkie porty mikrokontrolera są wyprowadzone na złączach typu goldpin. Możliwe jest podłączenie
zewnętrznego źródła napięcia odniesienia dla przetwornika ADC po wcześniejszym odłączeniu zworki oznaczonej
JP4, gdyż pin
AREF też został wyprowadzony.
RESET
Moduł RESET'u wykonałem maksymalnie zgodnie z notą
Atmela AVR042 opisaną w
tym artykule. Dodałem także jumper
JP1, którym można rozłączyć kondensator,
w przypadku gdyby przeszkadzał w programowaniu.
Kwarc
Zastosowany kwarc
12MHz taktuje układ na płytce. W swoim egzemplarzu wlutowałem go na stałe, ale oczywiście można zastosować jednorzędową podstawkę, tak aby kwarc można było dowolnie zmieniać. Możliwe jest też jego odłączenie za pomocą zworek
JP2 oraz
JP3, i wykorzystanie
pinów portu B: 6 i 7, które również są wyprowadzone na goldpinach.
Złącze programatora ISP
Złącze 10 pin w standardzie
KANDA umożliwia zaprogramowanie poprzez
ISP mikrokontrolera na płytce. Do tego potrzebny będzie dowolny programator obsługujący ten standard, na przykład
STK200 podłączany pod port drukarkowy, bądź
USBASP, który można wykorzystać z nowszymi komputerami.
Zworka
JP5 obok tego złącza pozwala na odłączenie zasilania, kiedy posiadamy programator mogący zasilić programowany układ. W przypadku problemów, należy odłączyć zworkę
JP1 (patrz moduł RESET'u), która odłącza kondensator
C1 mogący
utrudniać programowanie.
Zasilanie 5V lub 3,3V
Sekcja zasilania składa się z dwóch stabilizatorów w obudowach
TO220 - ja umieściłem je w radiatorach, wraz
z kondensatorami wymaganymi do ich pracy.
Oprócz głównego włącznika zasilania, na płytce znajduje się przełącznik pozwalający na zmianę napięcia docierającego do urządzeń na płytce. Obok włącznika znajdują się dwie diody sygnalizujące tryb pracy –
5V bądź
3.3V. Dzięki temu można wykorzystać elementy pracujące z napięciem
3.3V takie jak na przykład
karty pamięci SD.
Zasilanie można podłączyć poprzez standardowe złącze zasilacza 5.5x2.1mm, bądź umieszczone obok złącze śrubowe. Dioda
D2 zabezpiecza przed odwrotnym podłączeniem zasilania. Dioda LED z oznaczeniem
PWR sygnalizuje włączenie urządzenia.
Uwagi Dondu
Zasilanie to tzw. "temat rzeka", można go rozwiązać na wiele sposobów. W tym module można było jeszcze na wyjściu każdego regulatora napięcia dodać po jednym lub dwóch goldpinach, które pozwoliłyby na korzystanie z drugiego napięcia jako pomocniczego (które i tak jest włączone). Na przykład, gdy korzystamy z 5V jako napięcia głównego (zasilającego całą płytkę) włączonego za pomocą włącznika S5, to 3,3V można by wykorzystać do zasilania karty SD podłączonej na przykład na płytce stykowej. I odwrotnie, gdy cała płytka pracuje na 3,3V, to np. zewnętrznie podłączony wyświetlacz LCD wymagający 5V mógłby być zasilany z tej płytki.
Komunikacja szeregowa UART
Na lewej krawędzi znajduje się złącze
DB9 umożliwiające komunikację z komputerem za pomocą
UART. W celu konwersji napięć użyty został układ
MAX232 z niezbędnymi kondensatorami. Oprócz sygnałów
RxD i
TxD zostały wyprowadzone sygnały
CTS (clear to send) oraz
RTS (request to send).
Podstawka dodatkowa
Podstawka 20 pin oraz wyprowadzone obok wszystkie piny umożliwiają wykorzystanie na płytce innych układów. Obok znajdują się piny zasilania z kondensatorami filtrującymi.
Wyświetlacze LED
Cztery wyświetlacze 7-segmentowe
ze wspólną katodą umożliwiają wyświetlanie danych z mikrokontrolera. Wszystkie segmenty wyświetlaczy są wyprowadzone goldpinami, obok położone jest złącze do wyboru aktywnego wyświetlacza, podczas multipleksowania.
Złącza AUX
Sześć złączy śrubowych AUX umożliwia wygodne podłączenie zewnętrznych urządzeń.
Przekaźnik
Mały przekaźnik
SPDT pozwala na manipulację znacznie większymi napięciami. Złącze śrubowe umożliwia podłączenie do jego styków.
Zastosowana została dioda zabezpieczająca przed przepięciami. Przekaźnik sterowany jest tranzystorem
NPN.
Uwagi Dondu
Tutaj należy uważać z podłączaniem wysokich napięć, które umożliwia ten konkretny przekaźnik, ze względu na zbyt bliskie położenie tego modułu względem innych oraz kształtu ścieżek. W czasie konsultacji PCB nie było mowy o takich napięciach. Dlatego:
Dlatego bezwzględnie należy ograniczyć się do bezpiecznych 24V.
Moduł na wyższe napięcia powinien być opracowany inaczej lub w ogóle poza płytką.
Buzzer
Buzzer z generatorem, sterowany tranzystorem, po podaniu logicznej jedynki wydaje głośny dźwięk. W przypadku zastosowania buzzera bez generatora, przygotowane jest miejsce na diodę
D4 zabezpieczającą przed przepięciami z buzzera piezoelektrycznego lub standardowego głośniczka.
Diody LED
Cztery diody LED z rezystorami
załączane są stanem logicznego zera.
Przełączniki (microswitch)
Cztery małe przełączniki (tact switch) zwierają port mikrokontrolera do masy,
dając logiczne zero. Do ich prawidłowej obsługi należy włączyć wewnętrzny rezystor pull-up pinu mikrokontrolera. Czyli gdy przycisk jest naciśnięty, to odczytamy zero, a gdy nie jest przyciśnięty, to odczytamy jeden.
Przewody łączące
Do tego potrzebne będą przewody łączące. Można takie kupić, ale ja zrobiłem je sam, wystarczą pojedyncze gniazda goldpin i trochę przewodu. Warto zrobić też 8-pinowy kabel do łączenia wyświetlacza 7-seg żeby uniknąć plątaniny, i przewody przejściówki do płytki stykowej.
Podsumowanie
Mam nadzieję, że się komuś przyda lub będzie pomocna w projektowaniu własnej :-)
W razie pytań proszę je zadawać w komentarzach do tego artykułu.
Kontakt bezpośredni możesz uzyskać przez moje konto na Elektrodzie.
Pozdrawiam,
afterparty
Podsumowanie Dondu
Jak w każdym tego typu projekcie, można było coś dodać, coś zrobić inaczej, ... itd.
Niewątpliwie autor projektując własną płytkę nauczył się wielu rzeczy, w krótkim czasie.
Jednakże moim zdaniem ważniejsze jest coś zupełnie innego. Tym czymś jest to, że autor tematu podszedł do swojego projektu bardzo profesjonalnie:
- określił cel i założenia,
- zaprojektował wstępny schemat,
- skonsultował schemat na forum Elektroda.pl w odpowiednim dziale,
- zaprojektował wstępne PCB,
- skonsultował PCB na forum Elektroda.pl w innym odpowiednim dziale,
- wykonał PCB bardzo starannie,
- zmontował płytkę,
- przetestował ją.
Tak powinien wyglądać proces tworzenia projektów szczególnie wtedy, gdy jest się jeszcze na początkowym etapie tej zabawy. Z takim podejściem jestem przekonany, że afterparty będzie w przyszłości bardzo dobrym inżynierem :-)
Tak trzymaj!