Płytka ewaluacyjna dla mikrokontrolerów PIC
Zestaw ewaluacyjny powstał z myślą o wszystkich tych, którzy chcą się nauczyć programowania mikrokontrolerów PIC firmy Microchip. Jego opis został opublikowany w Elektronice Praktycznej 2/2011 (AVT5275), a płytka drukowana i sam zestaw są sprzedawane przez warszawską firmę AVT. Oprócz możliwości dołączenia mikrokontrolerów różnych typów, zestaw wyposażono 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ć.
Od dawna chciałem nauczyć się programowania mikrokontrolerów PIC. Aby jednak móc wypróbować PIC’e w różnych zastosowaniach potrzebny mi był zestaw ewaluacyjny. Nie chodziło mi tyle o możliwości wykonywania modeli urządzeń, ile o wypróbowanie pewnych technik pisania programów, których nauczyłem się wcześniej. Rozpocząłem poszukiwania zestawu ewaluacyjnego, rodzaju elektronicznych „klocków”, który umożliwiłby mi postawienie pierwszych kroków, jednak nie mogłem znaleźć niczego odpowiedniego. Albo odstręczała cena, albo też przeznaczenie tylko dla jednego, ewentualnie dwóch modeli mikrokontrolerów.
Dlatego postanowiłem skonstruować zestaw, który umożliwiłby mi naukę programowania w typowo przyjętych etapach nauki: od zaświecenia diody LED, do użycia wyświetlacza graficznego lub multipleksowanego LED oraz budowy interfejsu użytkownika. Dodatkowo, chciałem aby mój zestaw pozwalał na zastosowanie różnych rodzin mikrokontrolerów, w różnych obudowach i był łatwo rekonfigurowany, jeśli nie pasowałyby 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 zasilania 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-, 28-, 20- i 18-nóżkowych. Dodatkowo, w podstawce 20-nóżkowej (J2) można umieszczać też układy w obudowach 8- i 14-wyprowadzeniowych. Układy umieszczone w podstawkach są programowane z użyciem programatora PICkit-2 lub PICkit-3 dołączanego do złącza PICKIT (P3). Sygnały z niego są podawane przez zworki umieszczone na złączu JP5, które w zamyśle ma umożliwić dowolne ich dołączenie do programowanego układu. W normalnych sytuacjach powinno wystarczyć zwykłe założenie zworek na doprowadzenia 1-2, 3-4, 5-6, ale gdyby była inna potrzeba, to można wyjąć zworki i doprowadzić sygnały programujące do dowolnych wyprowadzeń mikrokontrolera.
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 X1 i X2, 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” (kliknij na obrazku aby powiększyć)
Rysunek 2. Schemat ideowy części „peryferyjnej” (kliknij na obrazku aby powiększyć)
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 J17. 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. Mimo iż wiele mikrokontrolerów PIC ma wbudowany układ interfejsu USB, to na płytce zamontowano popularny konwerter UART/USB typu FT232R. Czyni to płytkę bardziej uniwersalną oraz umożliwia dołączenie USB również do tych mikrokontrolerów , które nie mają w strukturze odpowiedniego interfejsu. 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, jeśli mikrokontroler będzie miał w strukturze USB lub z innych powodów, można sygnały danych USB podać za pomocą przewodów wprost na doprowadzenia mikrokontrolera.
Konwerter UART/RS232. Większość nowych urządzeń nie jest wyposażana w interfejs RS232, jednak stale w warsztacie niejednego elektronika można znaleźć przyrządy, terminale i inne urządzenia, które są w niego uzbrojone. 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 I2C.Układ jest dostępny w obudowie SOT-23, a więc ma wymiary pojedynczego tranzystora SMD. Mimo iż większość mikrokontrolerów PIC ma wbudowane wielowejściowe przetworniki A/C, to mimo tego 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 MCP9701. Może on mierzyć temperaturę w zakresie -40…+125°C. Jego napięcie wyjściowe zmienia się o 19,5 mV/°C. Typowy pobór prądu w przedziale temperatury 0…70°C wynosi zaledwie 6 <m>A. 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. Przełącznik J23 umożliwia wybór napięcia kontrastu. W położeniu 1-2 to masa, w położeniu 3-4 napięcie zewnętrzne VEE, które może być doprowadzone z zasilacza lub uzyskane za pomocą dostępnego na płytce układu MAX232.
Rysunek 4. Schemat montażowy płytki ewaluacyjnej (kliknij na rysunku, aby powiększyć)
Montaż
Dla zestawu zaprojektowano i wykonano płytkę dwustronną z metalizacją otworów, trudną do wykonania w warunkach domowych. 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 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. 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. Przed montażem podstawki 40-nóżkowej (J4) należy ostrym nożykiem wyciąć wewnętrzne rozpórki, ponieważ na płytce wewnątrz niej będzie umieszczona podstawka 20-nóżkowa J2.
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: 160R (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: 10k (potencjometr mont.)
Kondensatory
C1, C2: 470µF/25 V (elektrolit.)
C3, C4, C10...C20, C26: 100nF (SMD, 0805)
C5, C18, C21, C27: 10µF/16 V (SMD, B)
C6...C9: 27 pF (SMD, 0805)
C22...C25: 1 <m>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: MCP9701 (SC70)
U9, U10: 74HC595AD (SO16)
SEG1...SEG4: SA52-11SRWA Kingbright
Inne
CON1: DSUB9F (kątowe, do druku)
J1: DIP18 (podstawka precyzyjna)
J2: DIP20 (-//-)
J3: DIP28 (-//-)
J4: DIP40 (-//-)
JP1, JP3...JP5, J5...JP22: 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: 4 MHz
Q2, X1: 32768 Hz
SP1: głośnik piezzo
SW0...SW4: mikroprzycisk
SW5: włącznik kątowy do druku
zworki
Dodaj nowy komentarz