Menu LCD HD44780 – Schemat I

Menu LCD HD44780 – Schemat I

Na początek stworzymy sobie schemat na którym umieścimy uC ATmega32 w wersji SMT. Postanowiłem, że może komuś w ten sposób pomogę przejść z elementów przewlekanych THT na elementy powierzchniowe SMT, mają one duży plus – minimalizację urządzenia. Nie oznacza to jednak że będzie to projekt w którym będą tylko elementy powierzchniowe na pewno do niektórych celów użyjemy elementy THT – przewlekane.

Poniżej zamieszczam schemat. Proszę zwrócić uwagę na kondensatory filtrujące zasilanie uC ATmega32. VCC w tym przypadku wynosi 5V, jeżeli zechcemy zasilać układ z zasilacza zewnętrznego będziemy musieli dołożyć stabilizator liniowy lub przetwornicę zmniejszającą zasilanie np 12V na 5V w przeciwnym wypadku uśmiercimy mikrokontroler który poślemy do krainy wiecznego spoczynku. Zapamiętajmy że uC możemy zasilać napięciem 3,3V lub 5V a jego piny mają wytrzymałość 20mA dlatego aby nie robić rewolucji przy wyświetlaczu HD44780 któremu musielibyśmy zapewnić konwersję napięć 5V <-> 3,3V na liniach między uC a HD44780 wybieramy opcję 5V jako zasilanie mikrokontrolera oraz wyświetlacza ze sterownikiem HD44780.
Zwróć uwagę, że wszystkie piny zasilające, napięcia referencyjnego oraz kwarc umieszczone są na elemencie bibliotecznym po lewej stronie dzięki takiemu rozwiązaniu wszystkie piny, które zazwyczaj przy każdym projekcie wyglądają identycznie możemy z powodzeniem kopiować sobie do bardziej złożonych projektów.Schmeat - zasilanie

Dioda D1 zapobiega zasilaniu programatora z naszej płytki. Programator zasilany jest ze złącza USB i na chwilę obecną programator zasilać będzie nam również uC ATmega32.
Kondensatory C1, C2, C3, C4 o pojemności 100nF są kondensatorami filtrującymi zasilanie w układzie i muszą znajdować się jak najbliżej pinów mikrokontrolera aby zapewnić mu jak największą filtrację zasilania.
Kondensator C5 filtruje nam pin AREF w mikrokontrolerze, C8 jest kondensatorem tantalowym o pojemności 22uF i służy on tutaj jako magazyn energii i dopiero od niego będziemy prowadzić ścieżkę zasilania do pozostałych kondensatorów filtrujących jak i pinów mikrokontrolera.
Q1 jest to nasz kwarc zewnętrzny 11.0592 MHz, ściągnięty za pomocą kondensatorów C6, C7 o pojemności 22pF do masy.
Pin Reset ATmegi32 podciągnięty został poprzez rezystor R1 10k do VCC – w naszym przypadku 5V w celu zapobiegania samoczynnemu restartowaniu się układu.
Złącze SV1 jest to złącze za pomocą którego podłączymy programator do naszej płytki.
Zwróćmy również uwagę na podłączenia pinów MISO, MOSI, SCK, RST do uC ATmega32.

Już na tym etapie gdyby ktoś wykonał nawet na płytce stykowej i uC Atmega32 w wersji przewlekanej THT to bez żadnego problemu udałoby mu się wykryć mikrokontroler oraz ustawić zewnętrzne taktowanie.

Dodajmy teraz do schematu wyświetlacz LCD 2×16 na sterowniku HD44780 który również jest zasilany napięciem 5V. W przypadku tego projektu postanowiłem, że będę sterował podświetleniem wyświetlacza.
LCD-schemat wraz z podłączonym LCD

W przypadku tego schematu dodałem następujące elementy. IC2 jest to standardowy wyświetlacz LCD 2 linie po 16 znaków.
Za pomocą T1 będziemy załączać i wyłączać podświetlenie wyświetlacza a może i w miarę płynnie regulować jego jasnością ?
Za pomocą POT1 10k będziemy mogli wyregulować kontrast wyświetlacza. Oczywiście moglibyśmy w te miejsce wstawić odpowiedni rezystorowy dzielnik napięcia, zego nie polecam gdyż nie uda nam się wtedy wyregulować kontrastu w przypadku zasilania układu z różnego źródła. Rezystor R2 2k2 zabezpiecza nam pin uC przed zbyd dużym prądem. Nie zapomniałem również o kondensatorze C10 22uF służącym jako magazyn energii jak i kondensatorze C9 100nF jako filtracja zasilania sterowników wyświetlacza.

Następnym etapem będzie dodanie do schematu klawiszy np typu tact-swich w celu przemieszczania się po menu.

LCD-schemat zasilanie, wyświetlacz HD44780, klawisze

Na tym etapie zakończymy rysowanie schematu, który posłuży nam jako baza do napisania menu wielopoziomowego w eclise avr-gcc na mikrokontroler ATmega32. Jeżeli nie posiadacie takiego pod ręką to możecie narysować schemat na dowolny uC lub zamiast ATmega32 możecie wykorzystać zgodny pinowo mikrokontroler np. ATmega16 lub ATmega640(P).

Dla zainteresowanych jak i tych leniwych, załączam pliczek schematu wykonanego w programie Eagle. Zastrzegam sobie jednak prawo do publikowania mojego schematu na innych stronach, serwisach, czy też blogach. Jeżeli już wykorzystacie mój schemat na swoich stronach lub do swoich projektów proszę o linka do tego tematu. W przeciwnym razie wykorzystanie mojego schematu jest zabronione.

 

Jeżeli do menu chcielibyśmy wyświetlać aktualną godzinę czy też datę a nawet budzik to do schematu musimy dodać układ RTC, Buzzer. Możemy pokusić się również o wyświetlanie temperatur jednak w tym celu również do schematu dodać będziemy musieli czujnik temperatury.

Posty powiązane:

 

 

 

Informacje o: majeś

POLECANE POSTY

Komentarze:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *