Dwukolorowy wyświetlacz z interfejsem szeregowym

Dwukolorowy wyświetlacz z interfejsem szeregowym
Pobierz PDF Download icon

W praktyce inżynierskiej, podczas projektowania złożonego urządzenia elektronicznego często sięgamy po gotowe moduły funkcjonalne. Pozwala to uprościć konstrukcję, a także zaoszczędzić sporo pracy. Przykładem takiego rozwiązania jest prezentowany w artykule wyświetlacz, który z uwagi na swoje cechy użytkowe może uatrakcyjnić wiele istniejących już urządzeń elektronicznych. Rekomendacje: sterowanie wyświetlaczem poprzez proste komendy wysyłane portem szeregowym sprawia, wyświetlacz może być stosowany jako dodatkowy wskaźnik w wielu aplikacjach.

Chcesz częściej widzieć nasze artykuły w Google? Dodaj Elektronika Praktyczna do ulubionych źródeł
Podstawowe parametry:
  • Napięcie zasilania: +9...12 V
  • Pobór prądu: max. 150 mA
  • Cztery cyfry o wysokości 34 mm
  • Dwa kolory świecenia: czerwony i zielony
  • Sterowanie przez port szeregowy
  • Wejście danych: RS232, TTL
  • Prędkość transmisji: 9600 b/s

Zewnętrzny moduł funkcjonalny pozwala na przejęcie części zadań i odciążenie procesora sterującego całym urządzeniem. W artykule przedstawiamy czterocyfrowy wyświetlacz LED, opracowany jako samodzielny moduł funkcjonalny, który może być łatwo dołączany niemal do dowolnego mikrokontrolera. Dzięki dużym wymiarom cyfr (wysokość 34 mm) wyświetlacz zapewnia dobrą widoczność nawet z dużej odległości. Umożliwia ponadto świecenie w dwóch kolorach: czerwonym i zielonym. Jest to samodzielna jednostka, wszystkie funkcje związane z obsługą wyświetlaczy wykonywane są wewnątrz modułu. Dzięki temu układ nadrzędny nie musi ich kontrolować, a wysyła tylko informacje o sposobie świecenia poszczególnych wyświetlaczy. Komunikacja z wyświetlaczem odbywa się w sposób szeregowy z prędkością 9,6 kbps poprzez interfejs RS232. Dostępne są dwa wejścia danych umożliwiające bezpośrednie dołączenie do portu szeregowego komputera (poziomy zgodne ze standardem RS232) oraz do mikrokontrolera (poziomy TTL). Wykorzystując wejście TTL maksymalna odległość pomiędzy wyświetlaczem, a układem sterującym nie powinna przekraczać 2 metrów. W przypadku wejścia RS232 bez przeszkód można oddalić wyświetlacz na odległość nawet 20 metrów. Uzyskanie takich odległości przy sterowaniu mikrokontrolerem wymaga zastosowania układu konwertera napięć (na przykład MAX232) i użyciu w wyświetlaczu wejścia RS232.

Powyższe cechy sprawiają, że wyświetlacz może być użyty do wyświetlania informacji z oprogramowania pracującego w komputerze lub z urządzenia zawierającego mikrokontroler. W ten sposób może on pełnić funkcję dodatkowego wyświetlacza uzupełniającego dane wyświetlane na wyświetlaczu lokalnym. Przykładem zastosowania może być rozbudowa termometru wyposażonego w wyświetlacz LCD charakteryzujący się słabą widocznością z większej odległości. Zastosowanie wyświetlacza LED poprawi znacznie widoczność, a kolorem świecenia można sygnalizować np. przekroczenie zadanej wartości temperatury.

Budowa

Schemat elektryczny wyświetlacza jest przedstawiony na rys. 1. Jego głównym elementem jest mikrokontroler typu PIC16F873. Jest on odpowiedzialny za odbiór danych z portu szeregowego, odpowiednie ich przetworzenie oraz sterowanie wyświetlaczami. Przebieg taktujący procesor jest generowany za pomocą rezonatora X1 oraz wewnętrznego obwodu oscylatora umieszczonego wewnątrz układu. Do odbioru danych szeregowych został wykorzystany wewnętrzny moduł sprzętowy, dzięki czemu jednostka centralna procesora jest informowana o odebraniu całego bajtu danych i nie musi śledzić poszczególnych bitów. Jest to szczególnie istotne w tym zastosowaniu, gdyż duża cześć czasu musi być przeznaczona na obsługę wyświetlaczy.

Rys. 1. Schemat ideowy wyświetlacza

Do wprowadzania danych sterujących zostały zastosowane dwa złącza: CON2 i CON3. Do złącza CON2 można dołączyć sygnały o wartościach napięć zgodnych ze standardem RS232 (na przykład port szeregowy komputera). Sygnał ten trafia przez rezystor R11 na bazę tranzystora T1, który odwraca jego fazę i kieruje na wejście procesora sygnał w standardzie TTL. W ten sposób został wykonany prosty konwerter RS232–>TTL. Ze złącza CON3 sygnał jest kierowany bezpośrednio na wejście procesora, dlatego może ono służyć do dołączenia danych z zewnętrznego procesora zasilanego napięciem 5 V. Sterowanie wyświetlaczy odbywa się w sposób multipleksowy, co oznacza, że wyświetlacze są kolejno aktywowane i w danej chwili włączony jest tylko jeden. Jest to wykonywane na tyle szybko (ok. 250 Hz), że oko ludzkie odbiera to jako świecenie wszystkich wyświetlaczy jednocześnie. Wykorzystanie powyższego efektu upraszcza obwody sterujące wyświetlaczami. Budowa wewnętrzna pojedynczego wyświetlacza jest przedstawiona na rys. 2. Każdy segment składa się z dwóch diod świecących w kolorze zielonym i dwóch w kolorze czerwonym. Wyjątkiem są segmenty kropki, gdzie zastosowano po jednej diodzie.

Rys. 2. Budowa wewnętrzna wyświetlacza TOS–1106

Sterowanie takiego wyświetlacza jest nieco odmienne niż typowego „siedmiosegmentowca”, wymaga on bowiem dwóch obwodów sterujących anodami – osobno dla koloru czerwonego i zielonego. Przy sterowaniu multipleksowym konieczne jest zastosowanie podwójnej liczby buforów sterujących. Dodatkowym utrudnieniem w obsłudze wyświetlacza jest szeregowe połączenie diod segmentów, co uniemożliwia ich zasilanie napięciem o wartości 5 V, jakim jest zasilany mikrokontroler. Dlatego konieczne stało się zastosowanie dodatkowych buforów sterujących. Katody poszczególnych wyświetlaczy są połączone ze sobą i są sterowane z wyjść układu ULN2803A. Jest to osiem identycznych wzmacniaczy tranzystorowych typu otwarty kolektor. Budowę pojedynczego bloku przedstawiono na rys. 3.

Rys. 3. Budowa stopnia wzmacniacza układu ULN2803A

Sterowanie anodami wymaga podania napięcia dodatniego i to większego od napięcia zasilającego procesor. Dodatkowo obwód sterujący musi mieć wydajność prądową minimum 70 mA. Do tego celu został zastosowany układ typu UDN2981A, który posiada osiem stopni wzmacniających umożliwiających załączanie napięcia dodatniego. Budowę pojedynczego bloku przedstawiono na rys. 4. Napięcie zasilające wyświetlacze jest oznaczone na schemacie jako VCC_LED. Jego wartość jest mniejsza od napięcia zasilającego o spadek napięcia na diodzie D1. W takiej konfiguracji do poprawnej pracy wyświetlaczy wymagane jest napięcie zasilania mieszczące się w zakresie +9...+12 V i dlatego napięcie zasilające cały układ nie może mieć większej wartości. Do zasilania procesora został zastosowany stabilizator o napięciu wyjściowym równym 5 V typu LM7805.

Rys. 4. Budowa stopnia wzmacniacza układu UDN2981A

Montaż

Rozmieszczenie elementów wyświetlacza jest przedstawione na rys. 5. Ponieważ na płytce znajdują się elementy zarówno SMD, jak i przewlekane, montaż należy wykonać w odpowiedniej kolejności. Dodatkowo elementy znajdują się po obu stronach płytki. Montaż należy rozpocząć od wlutowania rezystorów i kondensatorów SMD. W dalszej kolejności są montowane podstawki pod układy scalone, kondensatory i złącza. Stabilizator (US3) jest umieszczony w pozycji leżącej. Po wlutowaniu tych elementów można przejść do montażu wyświetlaczy. Ponieważ są one montowane po drugiej stronie płytki, to należy dokładnie sprawdzić poprawność wlutowania wszystkich elementów. Wynika to z faktu, że wyświetlacze zasłonią pola lutownicze pozostałych elementów i nie będzie do nich dostępu. Taki sposób rozmieszczenia elementów utrudnia montaż, ale sprawia, że cała konstrukcja jest mniejsza i bardziej zwarta. Po wlutowaniu wszystkich elementów wyświetlacz należy dołączyć do układu sterującego. W zależności od tego, czy będzie to komputer czy mikrokontroler, sygnał wejściowy należy dołączyć do złącza CON2 lub CON3.

Rys. 5. Rozmieszczenie elementów na płytce wyświetlacza

Na rys. 6 przedstawiono połączenia, które są konieczne dla obydwu przypadków (jednocześnie może być dołączony tylko jeden z obwodów sterujących). Niezależnie od późniejszego zastosowania, do pierwszego uruchomienia wyświetlacza należy dołączyć go do komputera. Do zasilania wyświetlacza należy zastosować zasilacz o napięciu wyjściowym równym około 9 V i wydajności prądowej minimum 300 mA.

Rys. 6. Sposób dołączenia zewnętrznych układów sterujących

Obsługa

Obsługa wyświetlacza odbywa się poprzez wysłanie ramki danych określającej dane wyświetlane na każdym z wyświetlaczy. Format danych jest następujący: (ESC) C/Z W1 W2 W3 W4 K1 K2 K3 K4 (LF)

Znaczenie poszczególnych bajtów:

  • ESC (27) – znacznik początku transmisji zawsze o wartości 27 (dziesiętnie)
  • C/Z – znak ASCII oznaczający kolor świecenia wyświetlaczy. C – oznacza czerwony, Z – zielony
  • W1, W2, W3, W4 – znak ASCII określający wartość wyświetlaną na poszczególnych pozycjach wyświetlacza (W1 – wyświetlacz 1, W2 – wyświetlacz 2 itd.). Znak ten może przyjmować wartości 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, –, spacja. Spacja (0x20hex) oznacza wygaszenie wyświetlacza.
  • K1, K4, K3, K4 – znak ASCII zapalający kropkę na danym wyświetlaczu. Wartość „1” włącza kropkę, wartość „0” wyłącza kropkę.
  • LF (10) – znacznik końca pakietu, zawsze o wartości 10 (dziesiętnie)

Przykładowa komenda o postaci 27 Z 1 2 3 4 0 0 0 1 10 spowoduje wyświetlenie na wyświetlaczu wartości 1234 w kolorze zielonym i zapaloną kropką na ostatnim wyświetlaczu.

Do przeprowadzenia testów uruchomieniowych wyświetlacza pomocny będzie program terminala RS232, który umożliwi generowania znaków ASCII dostępnych z klawiatury komputera, a także będzie posiadał możliwość wygenerowania znaków ESC i LF. Do tego celu bardzo dobrze nadaje się „Terminal by Br@y++”. Oprócz wspomnianych właściwości umożliwia także automatyczne generowanie wcześniej zapisanych sekwencji. Wygląd okna programu jest przedstawiony na rys. 7.

Rys. 7. Okno programu testującego wyświetlacz

Po naciśnięciu przycisku „Set Macros” zostanie otwarte okno „Macro Settings”. W oknie tym można wpisać 12 sekwencji danych, które później będzie można wywoływać za pomocą przypisanych do poszczególnych makrokomend przycisków. Wprowadzone bezpośrednio znaki są przy tym interpretowane jako znaki ASCII, a poprzedzone znakiem „#” jako trzycyfrowa liczba dziesiętna. Zgodnie z danymi wpisanymi jak na rys. 7 naciśnięcie przycisku „M1” spowoduje wyświetlenie na wyświetlaczu wartość „1234” i włączenie kropek na wyświetlaczu numer 2 i 4. Wyświetlacz będzie świecił w kolorze czerwonym. Naciśnięcie przycisku „M2” spowoduje natomiast wyświetlenie tych samych danych, ale w kolorze zielonym. Obok przycisków makro można ustawić interwał czasowy automatycznego generowania zapisanych sekwencji. Włączając funkcje M1 i M2 wyświetlacz będzie naprzemiennie świecił kolorem czerwonym i zielonym. Po pomyślnie przeprowadzone testach wyświetlacz jest gotowy do pracy.

Krzysztof Pławsiuk

Chcesz częściej widzieć nasze artykuły w Google? Dodaj Elektronika Praktyczna do ulubionych źródeł
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik październik 2026

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2026

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje październik 2026

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna październik 2026

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich listopad 2026

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów