Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Płytka ewaluacyjna pod mikrokontroler Atmega 8

phanick 23 Oct 2014 21:55 8925 28
Diolut
  • Płytka ewaluacyjna pod mikrokontroler Atmega 8

    Przedstawiam projekt mini płytki ewaluacyjnej pod mikrokontroler Atmega 8.
    Płytka jest dość prosta i składa się z następujących elementów:
    - podstawka pod mikrokontroler (DIP28),
    - wyprowadzone wszystkie złącza mikrokontrolera (każde po dwa razy),
    - 8 diod,
    - 5 przycisków (np. do sterowania: lewo, prawo, góra, dół, OK)
    - reset,
    - złącze programowania (ISP),
    - złącze pod kwarc,
    - złącze USB mini.
    - zasilanie 9 V DC

    Za pomocą zworek można wybrać jak mikrokontroler będzie zasilany:
    - poprzez złącze programowania
    - z USB
    - z 9 V DC poprzez stabilizator 7805

    Złącze USB bardzo ułatwia wykorzystani zestawu ewaluacyjnego podczas projektów w których chcielibyśmy skomunikować AVRa z PC poprzez USB (biblioteka lib-USB znakomicie nam to ułatwia).

    Metoda wykonania:
    Zarówno ścieżki jak i warstwa opisowa została wykonana za pomocą termotransferu. Dzięki wykorzystaniu PCB w białym kolorze uzyskałem niesamowity kontrast i widoczność napisów.
    Napisy polecam robić na papierze po naklejkach, dzięki czemu nie zostają białe resztki papieru, które skutecznie rozjaśniają napisy.

    Płytka ewaluacyjna pod mikrokontroler Atmega 8 Płytka ewaluacyjna pod mikrokontroler Atmega 8 Płytka ewaluacyjna pod mikrokontroler Atmega 8 Płytka ewaluacyjna pod mikrokontroler Atmega 8 Płytka ewaluacyjna pod mikrokontroler Atmega 8

    Cool? Ranking DIY
    About Author
    phanick
    Level 28  
    Offline 
    Has specialization in: energetyk najwyższych napięć
    phanick wrote 2566 posts with rating 2595, helped 61 times. Live in city Warszawa. Been with us since 2007 year.
  • Diolut
  • #2
    LA72
    Level 41  
    Kolejny projekt i dalej ciekawie wykonany.
    Biały laminat jest ostatnio łatwo dostępny więc podzielam entuzjazm autora.

    Jednak.... jak zamierzasz wykorzystać port USB jeśli nie ma na płytce jakiegokolwiek układu. Czyżby wsad do Atmegi miał tą sekwencję?
  • #3
    phanick
    Level 28  
    LA72 wrote:
    Jednak.... jak zamierzasz wykorzystać port USB jeśli nie ma na płytce jakiegokolwiek układu. Czyżby wsad do Atmegi miał tą sekwencję?

    AVR potrafi programowo obsługiwać transmisję po USB w standardzie 1.1 (maksymalna możliwa przepustowość to oczywiście tylko kilka kilobajtów na sekundę).
  • #4
    wzagra
    Level 33  
    Zastanawiam się czy był sens montować gniazdo pod kwarc - rozumiem, ze idea była taka, żeby można było testować układy z różnym taktowaniem - ale to tylko zmiana w jednej linii programu, nie mająca jakiegoś specjalnego znaczenia w działaniu ( ;)) oczywiście po za szybkością).
    Nie żebym krytykował (moja wiedza w tej dziedzinie jest raczej uboga ;)), ale rzeczywiście jest tak potrzeba?
  • #5
    phanick
    Level 28  
    Ma znaczenie. Gdy chcemy korzystać z USB, potrzeba kwarcu 12 MHz lub 16 MHz.
    Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz
    Gdy chcemy wykonywać dużo intensywnych obliczeń, potrzeba kwarcu 24 MHz (oficjalnie atmegi współpracują do 16 MHz).
    Gdy chcemy generować obraz wideo PAL, potrzeba kwarcu 4.43 MHz
  • #6
    Urgon
    Editor
    AVE...

    Projekt estetyczny i ładnie zrobiony. Tylko jedno pytanie: czy koniecznie trza było ten port D tak wyprowadzać w jednej linii z pozostałymi? Dla mnie to trochę marnowanie przestrzeni.
    phanick wrote:
    Ma znaczenie. (...) Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz

    Czy na pewno jest konieczne używanie takiego kwarcu? Układ generowania zegara dla transmisji nie da rady z bardziej "okrągłymi" kwarcami? Czy inne układy współpracujące przez RS-232 nie poradzą sobie z odchyłką prędkości o te kilka maksymalnie procent?
  • #7
    krzysztofh
    Level 29  
    Plus za chęci, ale wykonanie pcb jakością nie powala no i to lutowanie.
    Nieszczęśliwie też wygląda to gniazdo USB od strony druku.
    To kwestie estetyczne, ale skoro działa to najważniejsze.
    Moim zdaniem płytki ewaluacyjne choć czasem pomocne, nie są najszczęśliwszym rozwiązaniem, no chyba, że te bardziej rozbudowane.
    Projekty na małe procesory z powodzeniem można wykonywać na płytkach stykowych. Przecież tu i tak trzeba podpiąć peryferia drucikami.
    Do płytek stykowych można dorobić parę pomocnych detali, jak wyświetlacz wpinany pinami, czy płytkę z mikroswitchami itp.
    Jeżeli chodzi o zaprogramowanie procesora, to wiadomo, że z powodzeniem robi się to w gotowym układzie.
    Do uruchomienia polecam płytki stykowe, szczególnie te większe, aby było pole manewru.
  • #8
    Sparrowhawk
    Level 22  
    phanick wrote:
    Gdy chcemy korzystać z USB, potrzeba kwarcu 12 MHz lub 16 MHz.
    Zgodnie z dokumentacją V-USB najlepiej zastosować kwarc 18 MHz.

    phanick wrote:
    AVR potrafi programowo obsługiwać transmisję po USB w standardzie 1.1 (maksymalna możliwa przepustowość to oczywiście tylko kilka kilobajtów na sekundę).

    Standard USB 1.1 oferował przepustowość do 12 Mbit/s, czyli do 1.5MB/s.

    Płytka wykonana ładnie, ale dość uboga, większość peryferii i tak trzeba będzie dołączyć osobno. Brakuje chociażby potencjometru, konwertera RS232, czy wyprowadzenia i miejsca na wyświetlacz. I w takiej konstrukcji wolałbym jednak zastosować złącze USB-B, zamiast złącza USB-mini, które jest zdecydowanie mniej odporne na uszkodzenia.
  • #9
    Radoslaw88
    Level 13  
    krzysztofh - a ja się z tobą nie zgodzę że płytka stykowa jest równie dobrym rozwiązaniem. A to dla tego że płytka zrobiona przez phanick posiada chociażby klawiaturę, czy złącze dla programatora. I sam planuję zaprojektować taką płytkę, tylko na razie jakoś z lenistwa do tego nie doszło. Ponad to jakoś denerwuje mnie ciągłe wyciąganie procka do programowania czy podpinanie drucików z programatora do płytki stykowej, jak jest takie coś to od razu przyjemniej się pracuje :).

    Co do estetyki wykonania to (mimo iż Asem lutowania nie jestem) to tak jak powiedział krzysztofh mogło by to lepiej wyglądać:) Ale sam projekt świetny :) Może i mnie zmotywuje do własnego :) Chodź ostatnio raczej rozglądam się nad wykonaniem jakiegoś zasilacza :) bo mój to lichy 15V 2A :)
  • #10
    Initiation
    Level 11  
    Quote:
    Gdy chcemy generować obraz wideo PAL, potrzeba kwarcu 4.43 MHz


    Mogłbyś wyjaśnić czemu akurat taki? Akurat przymierzam się do generowania obrazu wideo i po moich wstępnych rozeznaniach to kojarzę czemu miałby być akurat taki wymóg?
  • #11
    Freddy
    Level 43  
    phanick wrote:
    Ma znaczenie. Gdy chcemy korzystać z USB, potrzeba kwarcu 12 MHz lub 16 MHz.
    Nieprawda, może być też 24MHz
    Quote:

    Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz
    Nieprawda, może być np. 11.0592MHz
    Quote:

    Gdy chcemy wykonywać dużo intensywnych obliczeń, potrzeba kwarcu 24 MHz (oficjalnie atmegi współpracują do 16 MHz).
    Gdy chcemy generować obraz wideo PAL, potrzeba kwarcu 4.43 MHz
    Nieprawda, może być np. 8.86MHz.
    Wprowadzasz w błąd kolego.
  • #12
    Pablo2015
    Level 18  
    Mógłbyś coś więcej napisać o tej programowej transmisji USB? Chodzi o to, że nie potrzeba programatora czy jak?

    @krzysztofh
    Sam wykonałem taki projekt, nawet jeszcze uboższy bo samo zasilanie, wyprowadzenie portów, złącze do USBaspa i tyle wystarcza. Wszystko łączy się gotowymi przewodami zarobionymi goldpinami.
    Płytka stykowa jest o tyle zła, że nie raz może coś nie łączyć i zawsze masz ograniczone pole manewru, poza tym jeśli ktoś robi coś na uC to jakie masz tam peryferia? Teraz wszystko to gotowe moduły, prototypy składa się właśnie z takich modułów a gotowe urządzenie ma już swoją własną PCB.

    Paweł
  • #13
    phanick
    Level 28  
    Freddy wrote:
    phanick napisał:
    Ma znaczenie. Gdy chcemy korzystać z USB, potrzeba kwarcu 12 MHz lub 16 MHz.
    Nieprawda, może być też 24MHz
    Cytat:

    Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz
    Nieprawda, może być np. 11.0592MHz
    Cytat:

    Gdy chcemy wykonywać dużo intensywnych obliczeń, potrzeba kwarcu 24 MHz (oficjalnie atmegi współpracują do 16 MHz).
    Gdy chcemy generować obraz wideo PAL, potrzeba kwarcu 4.43 MHz
    Nieprawda, może być np. 8.86MHz.
    Wprowadzasz w błąd kolego.


    Wszystkie przytoczone przez Ciebie wartości są wymiernymi wielokrotnościami moich.

    11.0592MHz / 7.3728 MHz = 1.5
    8.86 MHz / 4.43 MHz = 2

    Chodzi o pewną idee - nie wystarczy włożyć najszybszego kwarcu, bo wiele zastosowań (protokołów transmisji) ma pewne ściśle określone częstotliwości.

    Co do USB pod AVR to niektórzy bardziej dociekliwi, przeglądając kod źródłowy biblioteki pewnie zauważyli, że serce tej biblioteki, czyli wysyłane bitów po drucie jest napisane jako wstawka assemblerowa aby co do cyklu zegarowego przebieg był przewidywalny. W zależności, czy wykorzystujemy kwarc 12 MHz, 16MHz czy inny, wciągana jest inna wersja podbiblioteki, zoptymalizowana pod daną prędkość.
  • #14
    dondu
    Moderator on vacation ...
    Jedna uwaga - brakuje kondensatora 100nF przy pinie AVcc, to dość istotne tym bardziej, że jak widać dbasz o filtrowanie Avcc dławikiem. Dodaj go, bo masz taką możliwość na PCB.

    Gniazdo kwarcu - bardzo pomocne.

    Poza tym płytka fajnie pomyślana i wykonana - gratulacje :)
  • #15
    icer_cmg
    Level 12  
    A mi osobiście zabrakło wyprowadzenia UART'a lub/i RS485 do tego. No ale wszystko od potrzeb
  • #16
    phanick
    Level 28  
    krzysztofh wrote:
    Plus za chęci, ale wykonanie pcb jakością nie powala no i to lutowanie.

    Nie wiem co się nie podoba w PCB. Elementy umieszczone estetycznie, warstwa opisowa naniesiona poprawnie, otwory wywiercone równo.
    Co do lutowania też nie ma tragedii. Zimnych lutów nie ma. Jedyny minus to chyba `dużo cyny` w miejscu lutowania goldpinów do masy. Niestety jeśli lutuje do dużego obszaru masy (nawet z włączoną opcją thermals w eagle), cyna rozpływa się dookoła dość ostro stąd taki efekt `popaćkania`.

    Dodano po 48 [sekundy]:

    RS232 nie ma gdyż płytka była głównie poświęcona pod USB, a diody i przyciski są do debugowania i sterowania.
  • #17
    tronics
    Level 38  
    Jest metoda, żeby nie rozlewało się poza określone granice, ale niestety wymaga to już użycia soldermaski. Prawie wszystkie ścieżki bardzo ładne - ale przy krawędziach widzę problemy. Słabo toner trzymał?
  • #18
    phanick
    Level 28  
    Po wytrawieniu powinienem jeszcze przyciąć płytkę, gdyż na początku jej rozmiar ustalam zgrubnie (zwykle większy niż wynika to z projektu), stąd na brzegach już fragmenty wytrawienia - tam nie było przyklejonej maski.
  • #19
    tronics
    Level 38  
    Nie. Chodziło mi o tą ścieżkę przy USB. Dodatkowo rezystorki smd (0403?) - mniej cyny, trochę topnika i gorącym powietrzem ładnie "siądą". Plus te długie wyprowadzenia można by dla bezpieczeństwa przyciąć.
  • #20
    phanick
    Level 28  
    Z rezystorami smd jest ten problem, ze bez kleju praktycznie w ogóle nie chcą się trzymać PCB. Ja oczywiście kleju nie używam, bo to przerost formy nad treścią, ale gdy powlekam PCB roztworem kalafonii to nie susze jej tak do końca przed lutowaniem, dzięki czemu na takiej kalafonii rezystory choć troszkę się niejako `kleją`.

    Niestety lutowanie tradycyjne, czyli przez stopienie lutu w okolicach rezystora cyną nie jest możliwe, gdyż lutownica `przykleja` się do takiego rezystora (musiałbym mieć trzecią rękę która by go trzymała w miejscu). Dlatego też nakładam troszkę cyny na grot lutownicy i jedną ręką trzymając lutownicę, a drugą pincetę, którą przytrzymuje rezystor, roztapiam trochę cyny przy jednej nóżce rezystora.

    Potem już `normalnie` lutuje drugą nóżkę rezystora, a po chwili poprawiam pierwszą nóżkę, tez lutując ją w sposób `tradycyjny`. Dlatego część z lutów przy SMD wygląda jak wysmarkana.

    Ścieżka przy PCB wygląda na taką, gdyż papier z termotransferem w tym miejscu się nie przykleił i musiałem poprawiać mazakiem.

    Kiedyś wykonywałem termotransfer na papierze po naklejkach, ścieżki przenoszone były idealnie, ale niestety taka warstwa, zawierająca jedynie toner jest zbyt cienka.
    Przy wykonywaniu termotrasferu na papierze kredowanym, przy ścieżkach zostaje trochę włókien papieru, dzięki czemu warstwa jest grubsza, ale niestety trudniej jest taki papier oderwać od PCB (papieru po naklejkach nie trzeba było nawet namaczać).
  • #21
    tronics
    Level 38  
    Ocet załatwia sprawę w przypadku papieru kredowego. W każdym razie znacznie ułatwia odklejanie. Wiem, śmierdzi, ale może warto spróbować.
  • #22
    User removed account
    User removed account  
  • #23
    Freddy
    Level 43  
    R-MIK wrote:
    Freddy wrote:
    phanick wrote:

    Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz
    Nieprawda, może być np. 11.0592MHz

    ... Nieprawda, może też być 14.7456MHz, 1.8432MHz (18.432MHz) przy niskim napięciu zasilania nie pójdzie). Ponadto wiele typowych prędkości można osiągnąć z zachowaniem dopuszczalnego błędu na "okrągłych" częstotliwościach kwarców (zwłaszcza tych wyższych). ...
    Zauważyłeś, że napisałem we wszystkich miejscach takie 2 literki "np." koło przykładowej częstotliwości ?
  • #26
    Freddy
    Level 43  
    Urgon wrote:
    AVE...

    Ja mam takie pytanie jeszcze: dlaczego autor nie użył mikrokontrolera ze sprzętową obsługą USB?

    Widziałeś ATMega 8 ze sprzętową obsługa USB, bo ja nie.
  • #28
    Freddy
    Level 43  
    No tak, fakt, moja gafa, ale wszystko się zmienia w czasie :D, że aż człowiek nie nadąży czytać :P ....

    Pisząc to myślałem o starej znanej serii ATMega xx. Moja gafa i niedopatrzenie, przepraszam.