Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATmega128 TestBoard i inne płytki testowe

leonow32 28 Kwi 2011 15:46 16010 32
  • ATmega128 TestBoard i inne płytki testowe

    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.

    ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe






    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.
    ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe

    Kod: c
    Zaloguj się, aby zobaczyć kod


    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.
    ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe
    Kod: c
    Zaloguj się, aby zobaczyć kod



    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ł.

    ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe


    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 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe


    ATmega128 DIL64

    W przygotowaniu... ale model wygląda fajnie ;)
    ATmega128 TestBoard i inne płytki testowe


    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 :twisted:

    Załączniki:

    Fajne!
  • #2 28 Kwi 2011 18:13
    didii0074
    Poziom 11  

    Bardzo ładnie Ci wychodzą płytki, powiedz jak dokładnie robisz opis na pcb ? domyślam się ze to termo-transfer. Jak sprawiasz ze napisy są takie czarne ?

  • #3 28 Kwi 2011 18:22
    luxus19
    Poziom 15  

    didii0074 napisał:
    Bardzo ładnie Ci wychodzą płytki, powiedz jak dokładnie robisz opis na pcb ? domyślam się ze to termo-transfer. Jak sprawiasz ze napisy są takie czarne ?



    Zapewne termo transfer tylko kolego mógłbym polakierować bezbarwnym lakierem warstwę opisową żeby napisy się nie ścierały. Co do czarnego koloru napisów to prosta sprawa, po namoczeniu i zdjęciu papieru moczyć płytkę w kwasku cytrynowym może być cytrynka taką co do herbaty się leje z buteleczki, czekasz 10 min i delikatnie ścierasz resztkę kredy z tonera i w taki sposób możesz uzyskać czarny kolor napisów a nie szary :)

  • #5 28 Kwi 2011 19:29
    Karol966
    Poziom 30  

    luxus19 napisał:
    didii0074 napisał:
    Bardzo ładnie Ci wychodzą płytki, powiedz jak dokładnie robisz opis na pcb ? domyślam się ze to termo-transfer. Jak sprawiasz ze napisy są takie czarne ?



    Zapewne termo transfer tylko kolego mógłbym polakierować bezbarwnym lakierem warstwę opisową żeby napisy się nie ścierały. Co do czarnego koloru napisów to prosta sprawa, po namoczeniu i zdjęciu papieru moczyć płytkę w kwasku cytrynowym może być cytrynka taką co do herbaty się leje z buteleczki, czekasz 10 min i delikatnie ścierasz resztkę kredy z tonera i w taki sposób możesz uzyskać czarny kolor napisów a nie szary :)


    Ocet, zwykły ocet za 2zł i zarówno papier kredowy w całości usuniesz przy robieniu płytek jak i całkowicie usuniesz kredę zostawiając sam czarny toner.

    Leon - jakie masz ścieżki przy tej m128? Wychodzi to całkiem ekstra.
    PS. Trafny dopis w części Pliki do pobrania.

  • #6 28 Kwi 2011 20:09
    Dawid_20
    Poziom 16  

    Cytat:
    Bardzo ładnie Ci wychodzą płytki, powiedz jak dokładnie robisz opis na pcb ? domyślam się ze to termo-transfer. Jak sprawiasz ze napisy są takie czarne ?

    A ja mam patent taki, że stronę opisową po dobrym dociśnięciu odrywam na ciepło, jak płytka jeszcze leży na żelazku. Nie ma śladu po kredzie, a napisy są elegancko wyraźne.

  • #7 28 Kwi 2011 20:18
    drzasiek
    Specjalista - Mikrokontrolery

    Wszystko super, szkoda, że ciągle lutowane :) Wszystko jest dobrze dopóki działa, a jak się układ uszkodzi? Albo na gwałt trzeba dany procek a nie ma akurat, jest tylko w płytce? Mam zrobione takie płytki pod M8, M32 i M128 ale przymierzam się do zrobienia takich płytek, żeby uC nie trzeba było lutować, ale to strasznie dużo roboty przy tym..
    Ogólnie bardzo ładnie to wszystko robisz, masz chłopie cierpliwość do tego :)

  • #10 28 Kwi 2011 22:28
    leonow32

    Poziom 29  

    Nie stosowałem żadnego octu ani kwasu cytrynowego :) Trik polega na mocnym prasowaniu napisów i potem zmyciu resztek papieru przy pomocy gąbki do mycia naczyń szorstką stroną. Toner trzyma się bardzo mocno i nawet nie trzeba lakierować.

    drzasiek
    Jak się procek zepsuje to trudno. Koszt nowej ATmegi128 to u mnie 20zł więc da się przetrzymać ;) Myślałem o zastosowaniu podstawki TQFP64 ale strasznie drogie to dziadostwo...

    Karol966
    Ścieżki mają grubość 15mils, a odstęp to też 15mils. ATmega128 lutowałem w pracy pod mikroskopem. Takie rzeczy lutujemy "nożem" ;) Da się też ręcznie i to zwykłą lutownicą.

  • #11 28 Kwi 2011 22:49
    garlinski
    Poziom 12  

    Mój patent (bo nigdzie indziej nie udało mi się znaleźć takiego rozwiązania) na usunięcie resztek papieru z tonera przy opisach, to najzwyklejsza gumka do mazania (lekko namoczona). Polecam, szybko bez problemów.

  • #12 29 Kwi 2011 08:59
    piotreks-89
    Poziom 12  

    leonow32 gratuluję konstrukcji ;) Super płytki! Możesz napisać jak lutować takim "nożem"?

  • #13 29 Kwi 2011 13:12
    yogi009
    Poziom 41  

    Jestem pod wrażeniem precyzji wykonania płytek. Muszę spróbować z tymi opisami, wyglądają jak drukowne. Osobiście doskonalę cały czas (jestem amatorem) sztukę lutowania i patrząc na Twoje luty chciałbym Ci podpowiedzieć używanie bardzo cienkiego drutu lutowniczego, wtedy (przynajmniej optycznie) można uzyskać bardzo estetyczne punkty np. w SMD. Ale to taka dygresja, za projekt maksymalna liczba punktów :-) Od razu widać alternatywę dla rozwiązań komercyjnych.

  • #14 29 Kwi 2011 16:57
    leonow32

    Poziom 29  

    Do lutowania nożem potrzebny jest taki grot
    http://www.tme.eu/pl/katalog/?art=ETC-T950#id_category%3D100540%26cleanParameters%3D1%26

    W pierwszej kolejności smaruję pola topnikiem aktywnym. Dalej kładę scalak. Na czubek grotu nabieram cynę i lutuję dwie nóżki w przeciwległych narożnikach, żeby się nie przesuwał. Nalej nabieram cynę na nóż i smaruję :D trzeba przejechać ostrą krawędzią noża po nóżkach. Dzięki topnikowi cyna sama klei się tego co powinna i nie robią się zwarcia, Nawet jeżeli się zrobią, to można je zgarnąć albo przeciąć. Nożem da się lutować scalaki drobnonóżkowe, np SSOP. TQFP to pikuś ;)

  • #16 03 Maj 2011 10:13
    DarkStorm
    Poziom 12  

    płytki super wykonane, a lutowanie atmegi 128 to zabawa.
    Starczy tania stacja lutownicza i duzo topnika:D
    jak jest dużo topnika leci się falą pokolei.
    Lutowanie idzie szybko i sprawnie.
    Ja mam podobny patent na takiej płytce testowej z tym że umnie mam gniazda simm:D. Płytka z procesorem wygląda jak dawne moduły pamięci z tym że jest wyższa.

  • #17 03 Maj 2011 11:33
    leonow32

    Poziom 29  

    Jeżeli macie własne płytki testowe to wrzućcie tu zdjęcia :) też chętnie zobaczę

    ATmega128 DIL64
    Po małym opóźnieniu wreszcie dokończyłem to cudo. ATmega128 występuje wyłącznie w obudowach SMD, więc trzeba ją lutować albo stosować drobie podstawki. Mam w planach kilka konstrukcji z ATmega128, które mają być rozebrane kiedy przestaną być potrzebne. Tak więc powstał moduł ATmega128 w obudowie DIL64 - dzięki temu można ją bez problemu wyciągnąć. Pasuje też do płytek stykowych, w przeciwieństwie do typowych "kwadratowych" przejściówek z TQFP.

    Poniżej widać też kartę pamięci RAM - piny karty pamięci odpowiadają pinom ATmegi. Dzięki temu można ją wetknąć do płytki stykowej obok ATmega128 DIL64 i wystarczy jeszcze tylko wetknąć dwa kabelki zasilania.

    Płytki są bardzo precyzyjne. Ścieżki 12mils, odstęp 10mils. Należy zastosować laminat 1,5mm bo cieńszy się połamie przy wyciąganiu. Nie warto inwestować w precyzyjne szpilki i oryginalną podstawkę DIL64 - zwykłe tanie szpilasy i dziurasy są wystarczająco dobre i tanie. Dostępne są różne wzory :) gdyby ktoś chciał taką to zapraszam na PW. Mam też płytki z pierwszego postu. Zawsze robię kilka na zapas.

    ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe ATmega128 TestBoard i inne płytki testowe

  • #18 03 Maj 2011 12:53
    drzasiek
    Specjalista - Mikrokontrolery

    leonow32 napisał:
    Jeżeli macie własne płytki testowe to wrzućcie tu zdjęcia :) też chętnie zobaczę

    Mówisz, żeby pokazać więc pokazuję :)
    ATmega128 TestBoard i inne płytki testowe
    Wczoraj zrobiłem sobie podstawkę pod TQFP64. Założyłem nawet temat w DIY, powinien niebawem być na głównej o ile moderatorzy nie uznają go za nieodpowiedni i nie usuną.
    https://www.elektroda.pl/rtvforum/viewtopic.php?t=1986483&highlight=

  • #19 14 Maj 2011 17:46
    lolcio
    Poziom 16  

    Witam,
    chciałbym zapytać jaką rolę pełni w płytce atmegi128 układ MC14053, oraz czy można go nie lutować? Mam tylko układ hcf4053, i nie wiem czy jest on zamiennikiem tego mc14053....(taki dostałem w sklepie)

  • #20 14 Maj 2011 18:06
    piotrva
    Moderator Mikrokontrolery

    układ ten ma za zadanie podczas programowania:
    1. odłączać peryferia od linii, do których podpięty jest programator (np. switche, diody, itp, które mogą zakłócić proces programowania)
    2. odłączać programator, jeśli nie jest przeprowadzane programowanie, żeby z kolei on nie wprowadzał zakłóceń w pracy peryferiów podpiętych pod te wyprowadzenia
    co do zamienników to sprawdź datasheety tych kości :D

  • #21 14 Maj 2011 18:14
    lolcio
    Poziom 16  

    ahaaa..:) Czyli bardzo użyteczna rzecz :)
    Właśnie próbuje wyczytać cokolwiek z datasheet ale słabo u mnie z angiekism i nie bardzo rozumiem czy te układy pełnią tą samą role...Mógłbyś rzucić okiem na to i powiedzieć czy mogę to wlutować czy raczej pominąć ten układ?

  • #22 14 Maj 2011 18:28
    piotrva
    Moderator Mikrokontrolery

    Jeśli masz dokładnie taką płytkę, to pominąć nie możesz, bo takto programator w ogóle nie będzie połączony z układem. (chyba, żebyś zrobił na stałe zworki).
    ---
    zerknąłem na ds'y i to są odpowiedniki, także powinno działać)

  • #23 14 Maj 2011 18:30
    lolcio
    Poziom 16  

    Dzięki wielkie za szybką pomoc :) Ide wlutować ten układ :)

  • #25 15 Maj 2011 10:59
    leonow32

    Poziom 29  

    MC14053 to zwykły scalak 4053, a MC1 to oznaczenie producenta, trochę dziwne i mylące. Z jakiegoś powodu ATmegę128 nie programuje się tak jak wszystkie inne, podpinając programator pod MISO i MOSI, tylko są tutaj zarezerwowane dwa piny PDI i PDO, które normalnie wykorzystuje UART0.

  • #26 15 Maj 2011 15:02
    lolcio
    Poziom 16  

    Faktycznie wlutowałem hcf4053 i programator (usbasp) odczytuje sygnature i programuje...
    Wrzucam na niego taki kod:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod


    No i nie bardzo chce dzialać... Caly czas na porcie d.0 jest 2,5 V. Jakie są fabryczne ustawienia fuse bitów tego mikrokontrolera? Nie moge tego znaleść nigdzie, a wydaje mi się że jest to 1 mhz wewnetrzny..

  • #27 15 Maj 2011 15:21
    leonow32

    Poziom 29  

    Powinno być #define F_CPU 1000000UL, ale i tak będzie działać.

    Problem może być w tym, że domyślnie ATmega128 ma ustawiony fusebit "ATmega103 compatibility mode". Ściągnij sobie program AVR Burn-o-mat, bo w nim można łatwo zmieniać fusebity.

    i sprawdzaj stan na porcie A a nie D ;)

  • #28 15 Maj 2011 15:44
    Pazio10211993
    Poziom 8  

    W tej sondzie logicznej jaki jest kondensator (C1)
    Bo na schemacie nie jest napisane.

  • #30 22 Mar 2015 21:32
    GrasalxD
    Poziom 1  

    @leonow32

    Witam!

    Chciałbym się dowiedzieć w jakim eagle otwierają sięte projekty bo w 5.9 ; 7.2 ; i 6.0 mi się nie otwierają

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo