
Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł!
Poniżej prezentowana płytka kosztowała mnie niecałe 40 zł, z czego 20 zł poszło na mikrokontroler. Inne płytki - RAM, RTC - są wykonane tak, żeby dało się wyciągnąć najdroższe elementy bez żadnego problemu. Wszystkie rezystory i kondensatory są w obudowach SMD 1206. Jeżeli będą wątpliwości co do pozostałych rzeczy, to chętnie udzielę wyjaśnień.
Przykładowe kody programów są "przykładowe", a konkretniej:
- funkcja t ("xxxx") - powoduje wyświetlenie tekstu
- funkcja out (123) - powoduje wyświetlenie liczby w postaci dziesiętnej
- funkcja out_hex (123) - powoduje wyświetlenie liczby w postaci szesnastkowej, czyli w tym przypadku 7B.
Czy to będzie wyświetlane na LCD, czy terminalu, to już wasza sprawa

ATmega128 TestBoard
Płytka jest wyposażona w złącza programujące ISP oraz JTAG z wtykami IDC-10. Oprócz tego jest mały potencjometr przeznaczony do zabawy z ADC albo do sterowania kontrastem wyświetlacza LCD. W dwóch rogach płytki umieściłem złącza zasilające. Można nimi zasilać inne moduły lub wyświetlacze. Są połączone bezpośrednio do zasilania złącz programujących. Płytka nie jest wyposażona we własny stabilizator. Pamiętać należy, aby nie podłączyć równolegle dwóch źródeł zasilania, np. programatora i baterii. Obecność napięcia na szynach zasilających sygnalizuje czerwona dioda. Na płytce są także dwa rezystory 4,7 k przeznaczone jako pull-up do I2C. Wystarczy założyć zworki na piny przy porcie D.
Złącze XTAL służy do podłączenia kwarcu taktującego CPU. Należy zastosować kawałek listwy precyzyjnej do goldpinów. Przy zastosowaniu listwy zwykłej, kwarc przesuwa się i rozłącza, co zawiesza procesor. TOSC to miejsce na kwarc 32 kHz do wewnętrznego zegara RTC. Kiedy nie używamy RTC, to złącze można wykorzystać jako zwykłe wyjścia portu G.








RAM 64KB
ATmega128 umożliwia współpracę z pamięcią zewnętrzną RAM (a dokładniej SRAM) o maksymalnym rozmiarze 64 KB bez stronicowania. Interfejs jest tak prosty w obsłudze, że podczas pracy zapominam, że działam na zewnętrznym RAM-ie. W module zastosowałem dwa układy scalone 62256. Są to tanie pamięci RAM o rozmiarze 32 KB (256 kbit). Najlepiej byłoby zastosować jedną 62512 zamiast dwóch 62256, ale te pierwsze są bardzo trudno dostępne (ciekawe czemu?). W nazwie 62256-50 druga liczba oznacza czas dostępu - w tym przypadku 50 ns. Układy scalone 7404 i 74573 muszą być w wersji HC, czyli 74HC04 i 74HC573.
ATmega128 ma 4 KB wewnętrznej pamięci RAM. Nie można podłączyć 64 KB, by uzyskać 68 KB ze względu na 16-bitową szynę adresową. Po prostu więcej niż 64 KB nie da się zaadresować. W związku z tym, pierwsze 4 KB zewnętrznej pamięci RAM się marnuje, a dostępne jest tylko 60 KB. W przypadku podłączania mniejszych pamięci, np. 32 KB, możliwe jest oczywiście wykorzystanie całej pojemności.
Karta pamięci RAM jest przystosowana do współpracy z płytką ATmega128. Wystarczy wetknąć RAM w odpowiednie miejsce i do programu trzeba dopisać kilka linijek kodu. W poniższym przykładzie pamięć RAM służy jako wielka tablica zmiennych.






Code: c
Real Time Clock DS1307
DS1307 to zegar czasu rzeczywistego z własnym oscylatorem i zasilaniem bateryjnym. Działa zawsze, niezależnie od innych układów. Komunikuje się z procesorem przez magistralę I2C. Na płytce są wbudowane rezystory podciągające 4,7 k, które można podłączyć odpowiednimi zworkami. W przypadku, jeżeli układ ma działać bez baterii, należy nałożyć zworkę NOBAT.



Code: c
Pamięć EEPROM 24C
Podstawka umożliwia podłączenie trzech pamięci 24 Cxxx (xxx oznacza pojemność pamięci w kilobotach). Pamięci EEPROM tego typu komunikują się przez magistralę I2C. Dodatkowo jest możliwość (konieczność?) zmiany adresów pamięci przy pomocy zworek - założona zworka oznacza 1, brak zworki to 0. Dla przykładu, pamięć AT24C128 bez żadnych zworek na liniach adresowych, ma adres 160 dla zapisu oraz 161 dla odczytu. Więcej szczegółów w dokumentacji pamięci. Płytka ma także możliwość zabezpieczenia write-protect dla każdego scalaka. Jest także możliwość skorzystania z rezystorów 4,7 k jako pull-up na liniach SDA oraz SCL - wystarczy założyć zworki na odpowiednie piny. Myślę, że wszystkie istotne informacje na temat tej płytki można wyczytać ze schematu, a na temat funkcjonowania pamięci 24 C napiszę kiedyś osobny artykuł.



Sonda logiczna
Sonda logiczna lub próbnik stanów logicznych to podstawowe wyposażenie elektronika-cyfronika. W Internecie można znaleźć wiele różnych rozwiązań tego typu sond. Niektóre są nawet bardzo zaawansowanymi rejestratorami. Prezentowana tutaj sonda jest banalna. Została zaprojektowana w taki sposób, by dało się ją wetknąć między plątaninę kabli na płytce stykowej i żeby była łatwa w użyciu. Zielona dioda oznacza stan 1, czerwona to 0, a brak świecenia jakiejkolwiek diody oznacza stan wysokiej impedancji lub że sonda została podłączona do wejścia wiszącego w powietrzu.
Dwa potencjometry służą do regulacji napięć progowych. Przed pierwszym użyciem należy tak wyregulować potencjometry, by zielona dioda zapalała się powyżej napięcia 3,5 V, a czerwona poniżej 1,5 V (przy zasilaniu sondy z 5 V). Celem tego rozwiązania było to, żeby sondę dało się wykorzystać nie tylko do badania układów logicznych CMOS. Praktyka pokazała jednak, że sztywny dzielnik rezystorowy byłby wystarczający dla zdecydowanej większości zastosowań. Sonda nie jest wyposażona w "wykrywacz szpilek".




ATmega128 DIL64
W przygotowaniu... ale model wygląda fajnie


Pliki do pobrania
Udostępniam PDF-y do wykonania płytek i napisów, a także pliki projektowe programu KiCad. Z oczywistych powodów niestety muszę zastrzec, że zgadzam się na wykorzystanie ich wyłącznie do celów hobbystycznych. Wykorzystanie komercyjne, między innymi sprzedaż całości lub części plików, płytek, urządzeń wykonanych w oparciu o zamieszczone tutaj materiały jest możliwe wyłącznie za pisemną zgodą autora.
Pozdrawiam wszystkich cwaniaczków, którzy ściągają darmowe projekty i sprzedają je na Allegro

Cool? Ranking DIY