Płytka ewaluacyjna dla mikrokontrolerów ATmega8/32

Ten zestaw ewaluacyjny powstał z myślą o wszystkich, którzy chcą się nauczyć programowania mikrokontrolerów AVR firmy Atmel. Oprócz możliwości dołączenia mikrokontrolerów ATmega8 i ATmega32 płytkę wyposażono również w ciekawe układy peryferyjne, dzięki którym można za jej pomocą wykonać modele kilku użytecznych urządzeń. Połączenia pomiędzy układami wykonano w taki sposób, aby płytkę dało się dowolnie rekonfigurować. Opis płytki był opublikowany w Elektronice Praktycznej 9/2011 (AVT5275), a płytka drukowana i sam zestaw są sprzedawane przez warszawską firmę AVT.

Podobny zestaw ewaluacyjny dla mikrokontrolerów PIC cieszy się bardzo dużym zainteresowaniem. Dlatego postanowiłem na jego bazie skonstruować zestaw przeznaczony do nauki programowania mikrokontrolerów AVR firmy Atmel. Podobnie jak poprzedni, ten zestaw umożliwia naukę w typowych etapach: od zaświecenia diody LED, do użycia wyświetlacza graficznego lub multipleksowanego LED oraz budowy nieskomplikowanego interfejsu użytkownika. Wybór języka programowania należy do użytkownika: może to być Bascom AVR, dowolny kompilator C i inne. Zestaw pozwala na zastosowanie różnych mikrokontrolerów, od niewielkich ATmega8 do mających większe zasoby ATmega32 lub ATmega64. Na płytce umieszczono dwie podstawki, a sam zestaw poddaje się łatwiej rekonfiguracji, jeśli z jakiś powodów nie pasują standardowe połączenia wykonane na płytce.

W związku z zamiarem budowy modeli różnych urządzeń, postanowiłem też umieścić na płytce najczęściej używane układy peryferyjne: zegar czasu rzeczywistego z podtrzymaniem bateryjnym, driver portu szeregowego RS232,  konwerter UART/USB, układ do sterowania przekaźnikami lub niewielkimi silniczkami ULN2003, podstawki dla wyświetlaczy LCD (graficznego i tekstowego), przetwornik A/C, termometr, rejestr przesuwający z wyjściami równoległymi i 4-cyfrowy, multipleksowany wyświetlacz LED. Dla układów, których nie zamontowałem na płytce, przeznaczyłem złącza rozszerzeń rozmieszczone wzdłuż krawędzi płytki, dzięki którym można je łatwo dołączyć spoza płytki.

Budowa płytki

Płytka ewaluacyjna może być zasilana z portu USB mikrokontrolera lub z zewnętrznego zasilacza (zalecane) dostarczającego napięcie 7…12 V AC lub DC. Do wyboru źródła zasilania służy zworka JP2: w pozycji 1-2 załącza ona zasilanie z USB, natomiast w 2-3 jest ono podawane z zewnętrznego zasilacza. Płytkę wyposażono w mostek prostowniczy (B1), kondensatory filtrujące oraz stabilizator napięcia 5 V, więc jako zasilacz może służyć też zwykły transformator napięcia sieci lub zasilacz niestabilizowany. W sytuacji, gdy zworka jest umieszczona w położeniu „zasilanie z USB”, to stabilizator jest omijany i zasilanie jest pobierane wprost z komputera PC. Załączenie napięcia sygnalizuje dioda świecąca D1.
Na płytce zamontowano podstawki pod układy mikrokontrolerów w obudowach DIP (DIL) do montażu przewlekanego. W związku z różnymi rozkładami wyprowadzeń zastosowano podstawki do układów obudowach: 40- (ATmega32 i ATmega64) i 28-nóżkowych (ATmega8). Układy umieszczone w podstawkach są programowane z użyciem dowolnego programatora AVR ze złączem 10-stykowym, dołączanego do złącza P3. Sygnały z niego są podawane przez zworki umieszczone na złączu JP5, które po pierwsze doprowadza sygnały do różnych wyprowadzeń obudów DIP28/DIP40 (ATmega8 – MCLR, PB3, PB4, PB5; ATmega32 – MCLR, PB5, PB6, PB7), a po drugie, po usunięciu zworek umożliwia dowolne ich dołączenie do programowanego układu.
Wszystkie sygnały z podstawek, w których są umieszczane mikrokontrolery, są dostępne na złączu JP1. Dzięki niemu można np. dołączyć mikrokontroler do zewnętrznego urządzenia lub płytki, albo podać sygnały programujące na dowolne jego doprowadzenia.
Na płytce umieszczono dwa rezonatory kwarcowe: o częstotliwości 4 MHz (Q1) oraz o częstotliwości „zegarkowej”, to jest 32768 Hz (Q2). Rezonatory są dołączane za pośrednictwem złącz JP3 (ATM32-CLK) i JP4 (ATM8-CLK), które pełnią podobną rolę, jak złącze programatora oraz umożliwiają taktowanie mikrokontrolera sygnałem z generatora zegarowego (gdyby była taka potrzeba).
Płytka umożliwia używanie mikrokontrolerów zasilanych napięciem +5 V. Zasilanie innym napięciem wymaga wymiany stabilizatora U1 oraz zasilania wyłącznie z zewnętrznego zasilacza (ponieważ zasilanie z USB jest niestabilizowane). Oprócz tego trzeba się liczyć z koniecznością wymiany rezystorów ograniczających prąd płynący przez diody i wyświetlaczach LED oraz układów 74HC595 na 74AHC595.
Schemat ideowy części „mikrokontrolerowej” płytki ewaluacyjnej umieszczono na rysunku 1, natomiast „peryferyjnej” na rysunku 2.

Rysunek 1. Schemat ideowy części „mikrokontrolerowej” płytki ewaluacyjnej

 

Rysunek 2. Schemat ideowy części „peryferyjnej” płytki ewaluacyjnej

 

Układy peryferyjne

Diody LED
Większość początkujących w dziedzinie programowania mikrokontrolerów rozpoczyna naukę od prostego programu, którego zadaniem jest zaświecenie diod LED i zgaszenie diod LED. Na płytce umieszczono 8 takich diod (D3…D10) z rezystorami ograniczającymi ich prąd (R3…R10). Katody diod dołączono do potencjału masy, a anody są dostępne  na złączu J9.

Przyciski
Dla potrzeb wykonania interfejsu użytkownika, wprowadzenia nastaw lub po prostu nauki obsługi przycisku, na płytce umieszczono 4 miniaturowe przyciski oznaczone jako SW0…SW3. Sygnały z przycisków są dostępne na złączu J9. Stanem aktywnym jest poziom „0”, natomiast bezczynności „1”.

Wyświetlacz LED
Na płytce wlutowano 4 cyfry LED (SEG1…SEG4), które mogą pracować z multipleksowaniem. Zastosowano wyświetlacze ze wspólną anodą. Rolę kluczy załączających zasilanie pełnią tranzystory T1…T4, natomiast katody są poprzez rezystory ograniczające prąd segmentów R23…R27, R32, R34 bezpośrednio doprowadzone do złącza. Zasilanie jest pobierane ze stabilizatora U1, który zasila też resztę układów na płytce. Sygnały wyświetlacza są dostępne na złączu J10.

Rejestry przesuwające
Z myślą o sterowaniu wyświetlaczem multipleksowanym LED za pomocą 3 doprowadzeń mikrokontrolera na płytce umieszczono rejestry przesuwające 74HC595 (U9, U10). Mają one szeregowe wejście danych, wyjście umożliwiające dołączenie kolejnego układu w łańcuchu oraz wejścia zegara przesuwającego i sterującego wyjściowymi rejestrami typu zatrzask. W tego typu zastosowaniach, jak sterowanie wyświetlaczem LED, wprost bezcenne są wyjściowe zatrzaski – zapobiegają one migotaniu wyświetlacza wtedy, gdy do rejestrów jest wpisywana informacja. Układy na płytce są połączone szeregowo i wspólnie mają pojemność 16-bitów.

Sygnały wejściowe rejestrów są dostępne na złączu J17 i noszą nazwy:
- LATCH595 (dopr. 1, sygnał zegarowy wyjściowych zatrzasków),
- SHIFT595 (dopr. 3, sygnał zegarowy przesuwający),
- DI595 (dopr. 5, wejście danych).
Sygnały wyjściowe oznaczone jako Q1A…Q1H (U9) oraz Q2A….Q2H (U10) są dostępne na złączach, odpowiednio: J19, J21.

Konwerter UART/USB
Na płytce zamontowano popularny konwerter UART/USB typu FT232R. Sygnały z układu konwertera są dostępne na złączu J7, natomiast do złącza USB (P1) są one doprowadzone za pośrednictwem zworek złącza J8. Dzięki temu jest możliwe wykonanie programowej emulacji interfejsu USB opisanej np. w EP 8/2011 przy okazji projektu terminala AVR oraz w notach aplikacyjnych firmy Atmel. Wówczas można sygnały danych USB podać za pomocą przewodów wprost na doprowadzenia mikrokontrolera.

Konwerter UART/RS232
Mimo iż nowe urządzenia nie są wyposażane w interfejs RS232, to jednak stale w warsztacie niejednego elektronika można znaleźć przyrządy, terminale i inne urządzenia, które są w niego wyposażone. Dlatego też na płytce zamontowano popularny układ konwertera MAX232 (U4) oraz złącze DSUB9F (żeńskie). Umożliwia to wykonania np. aplikacji sterującej modemem lub komunikującej się ze starszym modelem komputera PC. Wykorzystano pojedynczy kanał MAX, a jego sygnały RXD i TXD doprowadzono do złącza J11.

Driver ULN2003A
Na płytce nie ma żadnych elektromechanicznych układów wykonawczych, takich jak przekaźniki, silniki lub innego rodzaju napędy. Do ich sterowania wyposażono ją jednak w układ drivera ULN2003A (U2). Za jego pośrednictwem można sterować obciążeniami wymagającymi prądu zasilania do 0,5 A i zasilanych ze znacznie wyższego napięcia, niż układy zamontowane na płytce. Sygnały wejściowe drivera UIN1…UIN8 są dostępne na złączu J5, natomiast wyjściowe UOUT1…UOUT8 na złączu J6.

Przetwornik A/C
Układ MCP3021 jest miniaturowym przetwornikiem A/C o rozdzielczości 10-bitów, z wyjściem szeregowym, kompatybilnym z I2C.Układ jest dostępny w obudowie SOT-23, a więc ma wymiary pojedynczego tranzystora SMD. Mimo iż mikrokontrolery AVR mają wbudowane wielowejściowe przetworniki A/C, to przewidziano miejsce dla opcjonalnego układu MCP3021, który nosi oznaczenie U6. Jego sygnały wejściowe są dostępne na złączu J22, na które też doprowadzono sygnały z termometru analogowego oraz potencjometru.

Termometr analogowy
Na płytce ewaluacyjnej, pod oznaczeniem U7 kryje się analogowy przetwornik temperatury na napięcie LM50. Może on mierzyć temperaturę w zakresie -40…+125°C. Jego napięcie wyjściowe zmienia się o 10 mV/°C. Sygnał wyjściowy termometru jest dostępny na złączu J22 i może być mierzony za pomocą przetwornika U6 lub wbudowanego w mikrokontroler.

Zegar RTC z podtrzymaniem
Jedną z ciekawszych aplikacji, bardzo chętnie wykonywaną na początku nauki programowania, jest zegar cyfrowy. Aby umożliwić w prosty sposób napisanie takiego właśnie programu, na płytce zamontowano nowoczesny układ zegara RTC taktowany za pomocą sygnału wytwarzanego na bazie kwarcu zegarkowego X1, z interfejsem kompatybilnym z I2C i podtrzymaniem bateryjnym za pomocą kondensatora C28 o bardzo dużej pojemności wynoszącej 0,47 F. Kondensator jest ładowany poprzez rezystor R22 i rozładowywany podczas zaniku napięcia zasilania.

Złącza wyświetlaczy LCD
Do płytki można dołączyć typowy, alfanumeryczny wyświetlacz LCD zasilany napięciem 5 V. Służy do tego złącze LCD1, w którym można umieścić wyświetlacz za pomocą goldpinów. Sygnały wyświetlacza alfanumerycznego są dostępne na złączu J12. Doprowadzonego do niego wszystkie linie danych oraz kontrolne, a więc wyświetlaczem można sterować zarówno w trybie interfejsu 4-bitowego, jak i 8-bitowego. Rezystor R12 ogranicza prąd podświetlenia tła.
Do bardziej zaawansowanych aplikacji przewidziano użycie wyświetlacza graficznego, zasilanego pojedynczym napięciem +5 V, dołączanego do złącza LCDGRAF1. Również wyświetlacz graficzny jest dołączany za pomocą goldpinów. Sygnały danych i kontrolne wyświetlacz są dostępne do doprowadzeniach złącza J15. Rezystor R13 służy do ograniczenia prądu podświetlenia tła. Za pomocą zworek zakładanych na złącze J24 można wybrać, skąd będzie podawane napięcie kontrastu dla wyświetlacza graficznego. Jeśli będzie potrzebne napięcie ujemne, to do jego generowania można wykorzystać układ drivera RS232 (napięcie pobiera się z wyjścia dowolnego drivera po zwarciu jego wejścia do wysokiego poziomu logicznego; ma ono wartość około -5 V DC).

Złącze modułu Ethernet
Do płytki można dołączyć moduł Ethernet, co będzie opisane w jednym z kolejnych numerów EP. Do jego zasilania służy stabilizator SPX1117-3.3 (U8), natomiast sygnały doprowadza się do złącza J4.

Rysunek 3. Schemat montażowy płytki ewaluacyjnej

Montaż

Dla zestawu zaprojektowano i wykonano płytkę dwustronną z metalizacją otworów. Jej schemat montażowy pokazano na rysunku 3. Wykorzystano elementy do montażu przewlekanego i SMD. Większość kondensatorów i rezystorów mają obudowy 0805. Mimo tego montaż płytki nie jest trudny, jedynie przylutowanie układu konwertera UART/USB  FT232R (U3) może sprawić trudność ze względu na mały odstęp pomiędzy jego nóżkami. W montażu tego typu układów bardzo pomocne są topnik i plecionka. Topnik umożliwia rozpłynięcie się cyny i uniknięcie zwarć pomiędzy nóżkami układu, natomiast plecionka jest pomocna do odprowadzania jej nadmiaru. Ja używam grotu z tzw. mikrofalą. Po nabraniu wprawy przylutowanie układów tego typu nie nastręcza żadnych trudności. Obudowy tranzystorów, układów przetwornika A/C (SOT23) oraz termometru (SC70) są bardzo małe, ale nie powinny być trudne do zamontowania. Dla własnej wygody warto zachować kolejność montażu od elementów najniższych (rezystory i kondensatory SMD) do najwyższych, to jest złącz goldpin, DSUB9 itp. Jako podstawek układów scalonych warto jest użyć tzw. podstawek precyzyjnych. Zwykle są one lepszej jakości i dzięki temu będą nam dłużej służyły..

Jacek Bogusz
j.bogusz@easy-soft.net.pl

 

Wykaz elementów:
Rezystory (SMD, 0805)
R1, R3...R10, R14, R22: 1k
R2, R18...R21: 10k
R11: 100R
R12, R13: 100R (przewlekany, dobrać zależnie od podświetlenia LCD)
R15, R16: 4,7k
R17: 47k
R23...R27, R32...R34: 680R
R28...R31, R35...R38: 2,2k
PR1, PR2: 10 k<W> (potencjometr mont.)

Kondensatory
C1, C2: 470 µF/25 V (elektrolit.)
C3, C4, C10...C20, C26: 100 nF (SMD, 0805)
C5, C18, C21, C27: 10 µF/16 V (SMD, B)
C6...C9: 27 pF (SMD, 0805)
C22...C25: 1 µF/16 V (SMD, 0805)
C28: 0,47 F/5,5 V

Półprzewodniki
B1: DF06S mostek prostowniczy
D1...D10: LED (SMD, 1206)
T1...T4: BC857 (SOT23)
U1: 7805 (TO220)
U2: ULN2803 (SOL18)
U3: FT232R (SOIC28)
U4: MAX232ACPE (SO16)
U5: M41T00 (SO8)
U6: MCP3021 (SOT23/5)
U7: LM50 (SOT23)
U9, U10: 74HC595AD (SO16)
SEG1...SEG4: SA52-11SRWA Kingbright

Inne
CON1: DSUB9F (kątowe, do druku)
J1: DIP28 (podstawka precyzyjna)
J2: DIP40 (-//-)
JP1, JP3...JP5, J5...J22, P3: dwurzędowe listwy goldpin (4 szt.)
JP2: goldpin 1×3
L1: 100 <m>H (SMD, dławik)
P1: gniazdo USB
P2: gniazdo zasilania SMD 5,5/2,1 mm
P3: goldpin kątowy 1×6
Q1: 8 MHz
Q2, X1: 32768 Hz
SP1: głośnik piezzo
SW0...SW4: mikroprzycisk
SW5: włącznik kątowy do druku
zworki

 

http://www.tomaszbogusz.blox.pl/

Dodaj nowy komentarz

Zawartość pola nie będzie udostępniana publicznie.