Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

sobota, 19 lutego 2011

DIY: TEST BOARD ATmega (płytka testowa)


Autor: afterparty
Redakcja i uwagi: Dondu


TEST BOARD - Płytka testowa mikrokontrolera ATmega Atmel AVR.
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:

DIY - Schemat płytki testowej mikrokontrolerów Atmega firmy Atmel.

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:

Gotowa płytka testowa mikrokontrolerów ATmega (ATmel AVR).


Płytka testowa z podłączonymi przewodami w trakcie testu.





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.

Schemat jednostki centralnej Opartej o mikrokontroler ATmega.


Widok mikrokontrolera z podstawką, niezbędną filtracją zasilania oraz wyprowadzonymi pinami portów.


Widok pinu AREF wraz z jumperami i kondensatorem.



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.


Schemat podłączenia pinu RESET mikrokontrolerów AVR firmy Atmel.


Widok modułu RESET-u.



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.

Moduł zewnętrznego kwarcu oraz pinów zegara mikrokontrolera.


Widok modułu kwarcu na płytce PCB .



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.

Schemat złącza programatora ISP zgodny ze standardem firmy Atmel.


Widok modułu złącza programatora ISP na PCB.



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.

Schemat modułu zasilania płytki testowej.


Widok modułu zasilania na PCB.


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


Schemat modułu transmisji szeregowej UART na bazie układu MAX232.


Widok modułu MAX232 na płytce PCB.



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.

Schemat modułu dodatkowej podstawki.


Widok modułu dodatkowej podstawki na PCB.



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.


Schemat modułu wyświetlaczy LED.
Widok modułu wyświetlaczy LED na płytce PCB.



Złącza AUX

Sześć złączy śrubowych AUX umożliwia wygodne podłączenie zewnętrznych urządzeń.

Moduł złączy śrubowych AUX.


Widok złącz śrubowych AUX na PCB.



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.

Moduł przekaźnika.


Widok modułu przekaźnika.



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.

Moduł buzzera.


Widok modułu buzzera.



Diody LED

Cztery diody LED z rezystorami załączane są stanem logicznego zera.

Moduł diod LED.


Widok moduł diod LED.



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.


Moduł przycisków.


Widok modułu przycisków.



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.


Przewody łączące płytki testowej.




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:
  1. określił cel i założenia,
  2. zaprojektował wstępny schemat, 
  3. skonsultował schemat na forum Elektroda.pl w odpowiednim dziale,
  4. zaprojektował wstępne PCB,
  5. skonsultował PCB na forum Elektroda.pl w innym odpowiednim dziale,
  6. wykonał PCB bardzo starannie,
  7. zmontował płytkę,
  8. 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!

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

17 komentarzy:

  1. Witaj. Nie podałeś nic o kosztach.

    OdpowiedzUsuń
  2. Cześć :) Koszt wszystkich części to około 40,85zł - bez wytrawiacza, środka do cynowania, pasty, i lakieru w sprayu. Także w porównaniu z gotowymi zestawami startowymi to śmieszna kwota.

    OdpowiedzUsuń
  3. Kiedy pojawi się artykuł z instrukcją wykonania płytki o którym piszesz?

    OdpowiedzUsuń
  4. To już zależy tylko ode mnie, ponieważ wszystkie materiały przesłane przez autora mam. Artykuł ukaże się dzisiaj, najpóźniej jutro.

    OdpowiedzUsuń
  5. Bardzo fajna płytka, jak dla mnie brakuje tylko jeszcze wyświetlacza LCD np. 2 x 16 znaków.

    OdpowiedzUsuń
  6. Ile czasu zajęło ci wykonanie pcb wraz z montażem?

    OdpowiedzUsuń
  7. Dzięki, cieszę, że się podoba, o LCD jakoś przy projektowaniu nie myślałem. Ile czasu mi to zajęło - Samo przeniesienie ścieżek na laminat trwało praktycznie od rana do wieczora - nie chciało mi wyjść, musiałem kilka razy próbować, ale w końcu się udało i wyszło w miarę ładnie. Po przeniesieniu ścieżek trzeba poczekać aż się wytrawi, pocynować, zrobić opis, itp. Później jeszcze może godzinę poświęcić na wiercenie otworów - zalecana cierpliwość. No i na koniec lutowanie, to już w inny dzień. Także ogólnie zajęło mi to naprawdę sporo czasu, ale było warto, można szybko jakieś układziki zmontować bez plątaniny jak na stykowej. W następnej części będzie wszystko opisane.

    OdpowiedzUsuń
  8. Czyli dopiero pierwszy raz robiłeś PCB, a przynajmniej tak duże? Pytam bo ja jeszcze nie robiłem ta metodą, tak dużej płytki. Na razie tylko malutkie z różnym skutkiem. Jak się nazywają fachowo te wtyki na końcach przewodów?

    OdpowiedzUsuń
  9. Dokładnie tak, wcześniej robiłem tylko małe płytki. Najwięcej problemów miałem z krawędziami, trzeba je naprawdę dobrze przyprasować. Z termotransferem to różnie bywa, trzeba znaleźć optymalną termperaturę i czas prasowania A te wtyki na końcach to po prostu pojedyńcze gniazda goldpin, np BLS-01.

    OdpowiedzUsuń
  10. Ostatni datasheet nie ma podglądu. Można go tylko ściągać a ma aż 35MB. Da się jakoś zrobić podgląd tak jak inne?

    OdpowiedzUsuń
  11. Niestety nie ma takiej możliwości. Pozostaje tylko pobrać cały datasheet.

    OdpowiedzUsuń
  12. Gdzie i kiedy kolejny artykuł ? :)

    OdpowiedzUsuń
  13. Znakomity artykuł! Właśnie takiej płytki potrzebowałem. Zrobiłem ją i jestem naprawdę zadowolony :)

    OdpowiedzUsuń
  14. Przepraszam czy osoby, które wykonywały płytkę napotakł y się może z problemami przy uruchomieniu rs232?

    OdpowiedzUsuń
  15. Nie działa link do pobrania schematów do Eagle'a.

    OdpowiedzUsuń
    Odpowiedzi
    1. Do wykazu elementów też nie działa.

      Usuń

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.