Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATmega8 - Płytka testowa - prośba o sprawdzenie

5V1A 30 Lip 2012 19:28 3566 29
  • #1 30 Lip 2012 19:28
    5V1A
    Poziom 9  

    Witam!
    Na sam początek zabawy z AVR chciał bym wykonać płytkę testową z pinami na dodatkowe elementy. Jeszcze nigdy nie robiłem czegoś podobnego, chciał bym uniknąć niepotrzebnych błędów. Proszę o sprawdzenie schematu i druku.
    ATmega8 - Płytka testowa - prośba o sprawdzenie ATmega8 - Płytka testowa - prośba o sprawdzenie
    Z góry dzięki.

    0 29
  • #2 30 Lip 2012 19:54
    tmf
    Moderator Mikrokontrolery Projektowanie
  • #3 30 Lip 2012 20:14
    LordBlick
    VIP Zasłużony dla elektroda

    Nie wszystkie elementy mają przydzielone wartości, więc nie ma z czym dyskutować... ;)

    0
  • #4 30 Lip 2012 20:43
    mirekk36
    Poziom 42  

    Spójrz sobie tutaj: LINK jak powinno się prawidłowo podłączać zasilanie mikrokontrolera, zobaczysz co to jest filtrowanie zasilania i dlaczego jest tak ważne....

    A przy okazji zajrzyj sobie tutaj LINK i obejrzyj chociaż pierwszy film, to od razu nauczysz się prawidłowo rysować schematów a z kolejnych jeszcze paru ciekawych rzeczy.

    Wtedy wszystko pójdzie ci łatwiej.

    0
  • #5 30 Lip 2012 20:53
    5V1A
    Poziom 9  

    Dzięki za szybką odpowiedź.

    Cytat:
    Nie wszystkie elementy mają przydzielone wartości, więc nie ma z czym dyskutować... Wink

    No racja, planuję takie wartości:
    Dławik L1 10uH
    Kondensatory C3, C4 myślałem nad 100uF; C6, C7 przy kwarcu 20pF, może 15pF - coś w sieci czytałem, że nie zawsze chce działać z zalecanymi wartościami więc nie jestem pewien. Kwarc 8,000MHz.

    Filtrację muszę poprawić.
    Do stabilizatora dodatkowo po 100nF.
    Przy Vcc też jeden 100nF do masy? A może lepiej większy elektrolityczny?

    0
  • #6 30 Lip 2012 21:11
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tu masz całkiem ładnie napisane o zasilaniu MCU, skoro o tym mowa:
    http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html
    Zresztą warto przejrzeć cały blog, masz na nim sporo naprawdę ciekawych treści.

    0
  • #7 30 Lip 2012 21:17
    LordBlick
    VIP Zasłużony dla elektroda

    5V1A napisał:
    Kwarc 8,000MHz.
    No to intuicyjnie stosując 27pF będzie OK. Do wyższych częstotliwości trzeba zmniejszać pojemność.

    0
  • #8 30 Lip 2012 23:54
    5V1A
    Poziom 9  

    mirekk36 wielkie dzięki za kurs eagle'a, bardzo mi to ułatwi projektowanie, na razie obejrzałem pierwszą część i poprawiłem schemat co ułatwi sprawdzanie. Na pewno przerobię całość i wtedy zaprezentuję PCB.

    ATmega8 - Płytka testowa - prośba o sprawdzenie

    0
  • #9 31 Lip 2012 00:20
    mirekk36
    Poziom 42  

    5V1A --> nooo ;) teraz schemacik wygląda - "palce lizać" ;) jak go poprawiłeś

    ale właśnie jeszcze masz problem nadal z tym filtrowaniem zasilania. Pewnie za dużo rzeczy naraz i dlatego ale jeszcze raz obejrzyj sobie ten poradnik: LINK i zobacz o co chodzi z tymi parami kondków filtrujących. Bo o ile już przy stabilizatorze jest OK to przy procku zostawiłeś tylko kondensatory ceramiczne 100nF a jednak jakiś elektrolit też się powinien tam znaleźć. W tym linku masz pod koniec takie fajne dwa rysunki - przypatrz się im - i jak mówię poczytaj gdzie i jak się stosuje zawsze parę [ kondensator elektrolityczny i ceramiczny]..... dokładnie jak to zrobiłeś przy nogach zasilania stabilizatora 7805 to jeszcze przy procku.

    0
  • #10 31 Lip 2012 11:24
    5V1A
    Poziom 9  

    Dodałem jeszcze po jednym kondensatorze elektrolitycznym(47uF) do VCC i AVCC.

    ATmega8 - Płytka testowa - prośba o sprawdzenie

    0
  • #11 31 Lip 2012 14:18
    mirekk36
    Poziom 42  

    No i teraz schemat super, ale koniecznie popraw wartości tych kondensatorów elektrolitycznych przy zasilaczu, szczególnie tego na wyjściu. 1000uF to o 10x za dużo. 100uF to już max a najlepiej daj też 47uF. A na wejściu stabilizatora to zależy z czego podajesz napięcie jeśli prosto z mostka gretza to hmm no może być. Ale czy nie lepiej użyć gotowego byle pierwszego chińskiego zasilacza stabilizowanego ??? wtedy ten kondensator od razu zmniejszasz max do 200uF a masz pewność że zasilanie będzie miało o wiele lepsze parametry niż samemu bawienie się w przerabianie zmiennego na PCB na stałe napięcie.

    Jeszcze jedna uwaga ale to już nie krytyczna. ZDECYDOWANIE bym na twoim miejscu wywalił po kolei ze schematu te elementy:

    D1, C5 oraz R2

    mikroprzełącznik resetu spokojnie możesz od razu do masy łączyć i nic się nie stanie. Taki układ resetu i to na płytce testowej to totalny przerost formy nad treścią a wynika głównie z opisu na niektórych blogach jakie to Strrrrrraszne zjawiska będą się działy ;) a szczególnie z biednym mikroprzełącznikiem który bez tego rezystora rzekomo zacznie prawie ziać żywym ogniem a co najmniej iskrami i będą się UPALAŁY jego styki co doprowadzi do katastrofy (brrrr normalnie aż strach się bać) ;) ..... więc spokojnie daruj to sobie.

    Na linii reset wystarczy tylko podciągnięcie rezystorkiem 10K do VCC i to załatwi ci w pełni sprawę poprawnej pracy całego układu i resetu.

    0
  • #12 31 Lip 2012 16:35
    5V1A
    Poziom 9  

    Cytat:
    koniecznie popraw wartości tych kondensatorów elektrolitycznych przy zasilaczu,


    Poprawione zgodnie z zaleceniami. Mostek też poleciał.

    Cytat:
    Ale czy nie lepiej użyć gotowego byle pierwszego chińskiego zasilacza stabilizowanego


    A można by pierwszego lepszego nie stabilizowanego(>5V)? Zdaje się, że coś takiego znajdę w domu.

    Cytat:
    ZDECYDOWANIE bym na twoim miejscu wywalił po kolei ze schematu te elementy:

    D1, C5 oraz R2


    Poleciały!

    Aktualny schemat:
    ATmega8 - Płytka testowa - prośba o sprawdzenie

    Drugie podejście do PCB:
    ATmega8 - Płytka testowa - prośba o sprawdzenie

    0
  • #13 31 Lip 2012 16:37
    tmf
    Moderator Mikrokontrolery Projektowanie

    L1 też jest niepotrzebne. Mostek bym jednak zostawił, a przynajmniej jedną diodę, co cie zabezpieczy przed odwrotnym podłączeniem zasilania. Jeśli zostawisz mostek, polaryzacja zasilania będzie bez znaczenia.

    0
  • #15 31 Lip 2012 17:02
    mirekk36
    Poziom 42  

    5V1A napisał:

    A można by pierwszego lepszego nie stabilizowanego(>5V)? Zdaje się, że coś takiego znajdę w domu.


    Jak najbardziej, ale nie może on mieć mniej niż powiedzmy 8V a najlepiej żeby nie miał więcej niż 12V. A zdziwisz się pewnie jak zmierzysz miernikiem napięcie na takim niestabilizowanym, na którym będzie napisane że to niby 12V ;) a tu ZONK miernik pokaże najczęściej 15-16V !!! ;) ale to normalne dla niestabilizowanych. Dlatego jak już to szukaj niestabilizowanego który ma np 9V wtedy jak zmierzysz miernikiem to pewnie będzie ok 12-13V i taki może być

    większy też ale im większy tym bardziej będzie ci się grzał biedny 7805 niestety :( nawet jak podłączysz kilka diod LED i pobór prądu będzie już w granicach 100mA i więcej to nagle 7805 zamieni się cudownie w SUPER KALORYFER - podgrzewający otoczenie. Dlatego jeśli już 7805 to staraj się o niższe napięcie wejściowe najlepiej pomiędzy 8V a 12V max

    Dodano po 1 [minuty]:

    Cewkę L1 pewnie że możesz wywalić ale tylko wtedy jeśli będziesz stosował ATmega8, która i tak "nie zrozumie" że tak powiem co robi ta cewka. Ale jeśli zdecydujesz się od razu na lepszy procek jakim jest ATmega88 (polecam zapomnieć o szrocie ATmega8) no chyba że go masz już - to ok.

    0
  • #16 31 Lip 2012 17:35
    tmf
    Moderator Mikrokontrolery Projektowanie

    LordBlick napisał:
    5V1A napisał:
    L1 też jest niepotrzebne.
    Ja bym zostawił, zworkę z drutu zawsze można wlutować w to miejsce, czy inny element... Poza tym to zależy od daty produkcji i tego, czy ADC będzie też ćwiczone... ;)
    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=823163#823163


    Prawdę mówiąc nawet nie miałem na myśli tego zwarcia pomiędzy AVCC a VCC w starszych M8, ale to, że jak robimy takie "drutowanie" i wszystko wisi na pająku to za wielkiej stabilności ADC i tak nie ma co oczekiwać.

    0
  • #17 31 Lip 2012 17:37
    5V1A
    Poziom 9  

    Cytat:
    Mostek bym jednak zostawił, a przynajmniej jedną diodę, co cie zabezpieczy przed odwrotnym podłączeniem zasilania.


    Sam już nie wiem.

    Cytat:
    Ale jeśli zdecydujesz się od razu na lepszy procek jakim jest ATmega88 (polecam zapomnieć o szrocie ATmega8) no chyba że go masz już - to ok.


    Myślałem na początek o ATmega8A-PU, prawdopodobnie minie trochę czasu zanim wykorzystam go w pełni. Ale nie wykluczone, że nie zmienię na ATmega88.

    0
  • #18 31 Lip 2012 17:44
    LordBlick
    VIP Zasłużony dla elektroda

    mirekk36 napisał:
    większy też ale im większy tym bardziej będzie ci się grzał biedny 7805 niestety
    W tym miejscu można zaproponować snobistyczną(ok. 30 zł/szt.) nie grzejącą się zbytnio nawet przy 30V wersję impulsową AMSR1-7805-NZ o prądzie wyjściowym do 1A, albo (ciut taniej) po prostu inną przetwornicę ze znanego portalu aukcyjnego... ;)
    Spotkałem się też z tanimi jak barszcz ładowarkami/zasilaczami do SonyEriccson(fabrycznie 4,5V 450mA), których jedynym mankamentem było to, ze były z angielskimi wtykami sieciowymi.
    5V1A napisał:
    Sam już nie wiem.
    Zabezpieczenie przed odwrotnym włączeniem zasilania jest przydatne.
    5V1A napisał:
    nie wykluczone, że nie zmienię na ATmega88
    Jak dasz podstawkę, to na razie może być ATmega8A, która jest nowszą wersja ATmega8. Wyjąc układ i włożyć inny to nie problem.

    0
  • #19 31 Lip 2012 17:52
    5V1A
    Poziom 9  

    Cytat:
    W tym miejscu można zaproponować snobistyczną(ok. 30 zł/szt.) nie grzejącą się zbytnio nawet przy 30V wersję impulsową AMSR1-7805-NZ


    Raczej się nie zdecyduję na coś takiego, zakupiłem już 7805CT. Nie ma sensu wydawać kasy skoro nie wiem czy w ogóle będę potrafił sobie z tym poradzić. Z założenia mam na celu wydać jak najmniej. Płytkę testową zrobić sam, do tego moduły i najtańszy programator USB. Są schematy programatorów LPT z kilku rezystorów ale wolał bym nie uszkodzić sobie kompa.

    0
  • #20 31 Lip 2012 18:10
    mirekk36
    Poziom 42  

    Dasz radę spokojnie ;) a z tym 7805 też jakoś pojedziesz jak już go masz. Zamiast mostka wystarczy zwykła pojedyncza dioda prostownicza 1N4001 i już masz zabezpieczenie przed odwrotnym omyłkowym podłączeniem zasilania.

    Co do m8 i m88 to tak jak napisał LordBlick i ja wyżej. Jak już masz m8 to działaj na tym procku ale jeśli dopiero zamierzasz kupić to zdecydowanie kup m88, cena będzie praktycznie ta sama, a jakość o niebo lepsza

    ale jeśli chodzi o zrobienie programatora to nie polecam ci tego najprostszego na kilku rezystorach do LPT bo rzeczywiście szkoda kompa. A tu nawet rutyna może zawieść i coś strzeli..... Ale zobacz jak prosto zrobić sobie takie programatorki jak:

    STK200

    albo

    USBASP

    oczywiście w USBASP trzeba jakoś zaprogramować pierwszy raz procka - ale do takiego celu - jednorazowo - jak najbardziej nadaje się użycie 4 rezystorków i najprostszego programatorka z LPT. Raz zrobisz to uważnie a potem już masz na USB bardzo dobry programator na start.

    0
  • #21 31 Lip 2012 18:17
    Krauser
    Poziom 26  

    Na pierwszym choć mało czytelnym schemacie masz dobrze złącze programowania, a na kolejnych podpiąłeś źle RESET. W eagle w bibliotece AVR zdaje się jest nawet podobne złącze z opisem sygnałów. Procesor Atmega88(P[A]) to dobre rozwiązanie, bo jak zabraknie miejsca na program to masz w zapasie wersje z 16 i 32kB pamięci programu.

    0
  • #22 31 Lip 2012 19:46
    tmf
    Moderator Mikrokontrolery Projektowanie

    5V1A napisał:
    Cytat:
    W tym miejscu można zaproponować snobistyczną(ok. 30 zł/szt.) nie grzejącą się zbytnio nawet przy 30V wersję impulsową AMSR1-7805-NZ


    Raczej się nie zdecyduję na coś takiego, zakupiłem już 7805CT. Nie ma sensu wydawać kasy skoro nie wiem czy w ogóle będę potrafił sobie z tym poradzić. Z założenia mam na celu wydać jak najmniej. Płytkę testową zrobić sam, do tego moduły i najtańszy programator USB. Są schematy programatorów LPT z kilku rezystorów ale wolał bym nie uszkodzić sobie kompa.


    A czemu miałbyś sobie nie poradzić? Ale jeśli start ma być jak najtańszy, a ty masz wątpliwości to zainstaluj sobie AVR Studio 4 (6 to niepotrzebna kobyła jak na M8) i napisz sobie przykładowe programy i odpal je w symulatorze. Cudów na tym nie zdziałasz, ale programowania mikroklocków z pewnością się nauczysz. A do tego nauczysz się posługiwać symulatorem, co w przyszłości i tak się przyda. Taki start nie kosztuje nic.
    Aha, jeśli to ma być do testów początkującego to zamiast budować taką płytkę kup stykówkę - to będzie prostsze i bardziej uniwersalne:
    http://mikrokontrolery.blogspot.com/2011/04/jak-najtaniej-zaczac.html
    Zresztą poczytaj najpierw, przejrzyj noty i oswój się z nimi. Warto też przejrzeć tego bloga.

    0
  • #23 31 Lip 2012 21:56
    5V1A
    Poziom 9  

    Cytat:
    Ale zobacz jak prosto zrobić sobie takie programatorki jak:

    STK200

    albo

    USBASP

    Myślałem o STK200, ale skoro można dostać gotowy USBasp za około 20PLN(z taśmą :D) na znanym portalu aukcyjnym to chyba nie ma sensu(ale satysfakcja pewnie mniejsza). Muszę jeszcze wziąć pod uwagę, że nie mam dostępu do dobrego sklepu elektronicznego, jedynie przez internet.

    Cytat:
    Na pierwszym choć mało czytelnym schemacie masz dobrze złącze programowania, a na kolejnych podpiąłeś źle RESET.


    Racja coś poplątałem. Dzięki.

    Cytat:
    zainstaluj sobie AVR Studio 4 (6 to niepotrzebna kobyła jak na M8)

    Niestety już zainstalowałem 6, straszna zmuła. Ale środowiska jeszcze sobie poszukam.

    0
  • #25 31 Lip 2012 22:17
    5V1A
    Poziom 9  

    mirekk36 - myślę, że jeszcze nie raz odwiedzę Twojego bloga :D

    0
  • #27 01 Sie 2012 10:46
    tmf
    Moderator Mikrokontrolery Projektowanie

    Problem w tym, że żadne z wymienionych środowisk nie ma sensownego symulatora AVR, to ma tylko AVR Studio/Atmel Studio. A warto zacząć zabawę od niego. BTW, eclipse to taki sam muł jak AS6, jedno jest w javie, drugie w .NET, więc szybkie to być nie może. Z drugiej strony w epoce 4-rdzeniowych CPU i gigabajtów RAM ma to drugorzędne znaczenie.

    0
  • #28 01 Sie 2012 11:06
    mirekk36
    Poziom 42  

    5V1A napisał:
    mirekk36 - myślę, że jeszcze nie raz odwiedzę Twojego bloga :D


    Jasne zapraszam i przekonaj się także na własnej skórze jaka jest różnica w wygodzie i wydajności pracy pomiędzy Eclipse a AVR Studio 6, które już miałeś okazję zobaczyć. To że Eclipse jest w Java w ogóle w niczym nie przeszkadza w porównaniu do tego co się dzieje w AVRS 6. Symulatory i debugery można sobie na początku albo w ogóle przy takich 8-bitowcach darować. Ważniejsza jest wygoda programowania ;) .... A niestety chore AVR Studio nawet na wielordzeniowych maszynkach jest ślimakiem, czego w ogóle nie zauważysz w przypadku Eclipse, więc nie przejmuj się takimi dziwnymi opiniami ;) Po prostu sprawdź sam i się przekonaj.

    0
  • #29 01 Sie 2012 12:34
    tmf
    Moderator Mikrokontrolery Projektowanie

    Dziwne opinie to są wtedy, kiedy ktoś najpierw wybiera środowisko, które nie ma jakiejś funkcjonalności a potem uparcie twierdzi, że ta możliwość nie jest mu potrzebna. Mniej więcej tak jakby ślepy mówił "po co mi oczy, skoro i tak sobie radzę" :) Akurat początkującemu symulator przydaje się najbardziej, wystarczy spojrzeć po pytaniach na elektrodzie. W 95% gdyby ktoś sobie zadał trud odpalenia fragmentu niedziałającego kodu w symulatorze i sprawdzeniu czy stan procesora jest taki jak oczekiwany od razu znalazły błąd. Najprostszym zastosowaniem jest np. sprawdzenie czy inicjalizacja jakiegoś układu peryferyjnego jest poprawna. Zamiast analizować jakieś magiczne operacje bitowe, od razu wiadomo w jakim stanie jest podsystem IO i gdzie leży ew. błąd. Ostatnio mieliśmy wysyp pytań o inicjalizację USART - wystarczyłoby to zasymulować i odpowiedź byłaby w parę sekund. No ale jak się takiej możliwości nie ma to trzeba sobie radzić na około, tylko po co od razu wmawiać, że tak jest lepiej? :)
    A jeśli ma się komputer, który muli to jest szybkie CodeBlocks, które i tak ma więcej funkcjonalności niż początkujący potrzebuje. Ale oczywiście i Eclipse może być jak ktoś lubi.

    0
  • #30 06 Sie 2012 12:56
    zielony_gajowy
    Poziom 13  

    5V1A napisał:
    Drugie podejście do PCB:
    ATmega8 - Płytka testowa - prośba o sprawdzenie

    Ja względem formalnym, odnośnie korzystania z ADC i wbudowanego komparatora :D .
    Proponuję przenieść cewkę (poziomo) na wysokości wyprowadzeń 17-19, pomiędzy złączem (5), a skrajem płytki.
    Skraca się ścieżka, a do tego, na jej miejsce można poprowadzić "masę" bezpośrednio z zasilacza - a nie poprzez wyprowadzenie "masy" z procka - które właśnie najbardziej "sieją" zakłóceniami.
    Przy okazji - Czy faktycznie jest miejsce na płytce dla złącz które, przewidujesz? Zarówno gniazdo, jak i wtyczka. Ja, najpierw drukuje na kartce papieru i układam na niej elementy. Dla procesora należy przewidzieć podstawkę!

    Złącze 20 pinowe. Czort wie jak duże prądy będą nim szły. Lepiej, żeby masa nie szła przez pin 8 procka.

    W miarę możliwości, zamień kondensatory blokujące na SMD.
    RESET. Wejście wybitnie odporne na zakłócenia, ale ... R1 jak najbliżej pinu RESET, a pozostałe elementy poprzez rezystor szeregowy 22-68ohm.

    0