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.

Atmega328p - Osobista płytka protypowa - prośba o sprawdzenie schematu

exp4rt 12 Lis 2013 08:24 3681 31
  • #1 12 Lis 2013 08:24
    exp4rt
    Poziom 7  

    Szanowni,

    elektroniką zajmowałem się ostatni raz na studiach (20lat temu). Teraz postanowiłem trochę podłubać z synkiem. Pomysł na własną płytkę prototypową wziął się z tego, iż bardzo nie lubię rozbierać działających urządzeń - wolę je odkładać na półkę aby później do nich wrócić/poprawić/rozbudować. A za każdym razem kupować arduino czy inna płytkę nie za bardzo mnie stać.

    Z założenia płytka ma mieć łącze IDC26 do połączenia tasiemką z następnymi modułami. Mikrokontroler (Atmega328p) ma mieć wrzucone V-USB (obsługę HID'a po stronie komputera powinienem ogarnąć). Ma być z grubsza kompatybilny z Arduino.

    Sam schemat jest kompilacją różnych schematów znalezionych w sieci. Niektóre połączenia zrobiłem kopiując a nie za bardzo rozumiejąc dlaczego to ma być tak a nie inaczej (pytania na schemacie).

    Jednocześnie jest to mój pierwszy schemat, więc będę również wdzięczny za konstruktywną krytykę jeśli chodzi o sam rysunek.

    Za wszelkie sugestie będę niezmiernie wdzięczny.

    Dodam jeszcze tylko, że płyta ma być wykonana na elementach przewlekanych a samą płytkę chce frezować na CNC (jedno- lub dwustronna, nie robi mi to różnicy). W rysowanie ścieżek zacznę się bawić jak będę miał poprawny schemat.

    Pozdrawiam,
    exp4rt.

    Atmega328p - Osobista płytka protypowa - prośba o sprawdzenie schematu

    EDIT: Wypatrzyłem braki na schemacie, więc podmieniłem.

    0 29
  • #2 12 Lis 2013 08:53
    mickpr
    Poziom 39  

    Nie za bardzo rozumiem 1M rezystor w części z USB. Czemu on ma służyć?

    0
  • #3 12 Lis 2013 09:01
    exp4rt
    Poziom 7  

    mickpr napisał:
    Wyrzuć ten kondensator blokujący pin RST. Ewentualnie zmień na 10nF.


    Cytując artykuł na mikrokontrolery.blogspot.com a dokładnie "Minimalne podłączanie pinów".
    Cytat:
    Jak już przeczytałeś powyżej, w przypadku pracy mikrokontrolera w środowisku narażonym na duże zakłócenia lub gdy chcesz zwiększyć niezawodność Twojego projektu, powinieneś zastosować kondensator zabezpieczający podłączony do pinu RESET.


    Sądziłem, że ten kondensator jest "dobrą praktyką" a na schemacie w artykule jest 100nF.

    mickpr napisał:

    Nie za bardzo rozumiem też 1M rezystor w części z USB. Czemu on ma służyć?


    Też tego nie rozumiem, to jest jedno z pytań zamieszczonych na schemacie. Ten fragment wzorowałem na schemacie "Bieduino".

    0
  • #4 12 Lis 2013 09:26
    tmf
    Moderator Mikrokontrolery Projektowanie

    Ten rezystor 1 M IMHO jest niepotrzebny, daje się taki rezystor ale nie pomiędzy linię danych a masę, a ekran kabla USB (obudowę złącza) a masę. Ten drugi, 1k5 jest potrzebny dla poprawnego wykrycia podłączenia urządzenia. Dzięki temu master wie, że włożyłeś urządzenie USB i rozpoczyna enumerację. Powinien być 1k5, pewnie jakieś odchyłki są możliwe, ale to programowe USB i tak działa na granicy, więc nie przesadzałbym.
    Poza tym zamiast budować płytkę, która właściwie ma tylko procesor, nie prościej kupić gotowy moduł do płtki stykowej, np.:
    http://leon-instruments.blogspot.com/2013/04/poznaj-atxmega.html
    Masz tam sprzętowe USB, zasilacz, kwarc, backup, kwarc zegarkowy i wyprowadzone wszystkie piny w formacie na stykówkę. Raz kupujesz, masz na zawsze. W dodatku nie potrzebuje to programatora, bo programuje się przez USB. Do tego, jak napiszesz program, to łatwiej go przenieść na docelowy mikrokontroler - zazwyczaj wystarczy zmienić tylko typ procesora w opcjach projektu.

    0
  • #5 12 Lis 2013 09:36
    exp4rt
    Poziom 7  

    Nie mogę znaleźć informacji czy ATxmega jest kompatybilne z Arduino?

    Poza tym mam parę sztuk 328p. A płytka to faktycznie sam procesor ale przez IDC mają być podpinane kolejne moduły w podobnym formacie.

    0
  • #6 12 Lis 2013 09:48
    GanzConrad
    Poziom 21  

    - dlaczego EX_PWR (7805) nie jest równe VCC? na schemacie wygląda to jak dwa różne zasilania.
    - możesz dorzucić rezystory podciągające na SDA, SCL i podłączyć je do jumperów.
    - osobiście wolę mieć możliwość podłączania osobno "modułów lub peryferiów" na goldpinach. Nie trzeba odłączać wszystkiego, aby przerobić jedną rzecz.
    - projektowanie płytek z osobnymi modułami będzie bardziej pracochłonne i kosztowne, niż wrzucenie kilku najpopularniejszych na jedną płytkę i ewentualnie pozostawienie pustych miejsc.

    podsumowując:układ jest na tyle prosty i w założeniu ma być wykonany w THT, że nie widzę sensu produkować dla niego PCB - zaoszczędzisz na czasie gdy zlutujesz to na dowolnej płytce prototypowej. Proponuję zrobić PCB przede wszystkim w SMD (zaoszczędzisz na miejscu) i dodaniu "modułów".

    0
  • #7 12 Lis 2013 09:53
    mickpr
    Poziom 39  

    C5 jest zbędny. Podłącz środkowy pin wprost do VCC.

    0
  • #8 12 Lis 2013 09:56
    exp4rt
    Poziom 7  

    GanzConrad napisał:
    - dlaczego EX_PWR (7805) nie jest równe VCC? na schemacie wygląda to jak dwa różne zasilania.


    Ponieważ EX_PWR podaję dopiero na VCC jak nie mam zasilania po USB (przez connector K1

    GanzConrad napisał:

    - nie podłączone AVCC


    Podłączenie AVCC zaznaczone jest w ramce na górze - druga tabelka od lewej.. Czy coś więcej powinienem zrobić?

    GanzConrad napisał:

    - możesz dorzucić rezystory podciągające na SDA, SCL i podłączyć je do jumperów.


    Po co tak się robi? Czy rezystory 10k wystarczą?

    GanzConrad napisał:

    - osobiście wolę mieć możliwość podłączania osobno "modułów lub peryferiów" na goldpinach. Nie trzeba odłączać wszystkiego, aby przerobić jedną rzecz.
    - projektowanie płytek z osobnymi modułami będzie bardziej pracochłonne i kosztowne, niż wrzucenie kilku najpopularniejszych na jedną płytkę i ewentualnie pozostawienie pustych miejsc.


    Złącze goldpin będzie w postaci IDC26. Będę mógł tam podpiąć się pod poszczególne piny albo wpiąć tasiemkę. Moim zadaniem nie ograniczam się tym rozwiązaniem..

    0
  • #9 12 Lis 2013 09:59
    GanzConrad
    Poziom 21  

    exp4rt napisał:
    Podłączenie AVCC zaznaczone jest w ramce na górze - druga tabelka od lewej.. Czy coś więcej powinienem zrobić?

    za szybko odpowiadasz ;-), zauważyłem swój błąd/niedopatrzenie i usunąłem go z postu... za późno.

    Dodano po 1 [minuty]:

    exp4rt napisał:
    Po co tak się robi? Czy rezystory 10k wystarczą?

    robi się tak gdy korzysta się z TWI - jeśli nie korzystasz to nie potrzebujesz

    0
  • #10 12 Lis 2013 10:00
    exp4rt
    Poziom 7  

    mickpr: masz rację, usunę jak się zbierze więcej rzeczy do poprawki. Dziękuję.

    GanzConrad: Jeśli chodzi o TWI to chyba skorzystam z sugestii mickpr..

    0
  • #11 12 Lis 2013 10:01
    mickpr
    Poziom 39  

    GanzConrad napisał:
    robi się tak gdy korzysta się z TWI - jeśli nie korzystasz to nie potrzebujesz
    Czyli najlepiej rezystory podciągające montować w urządzeniu podłączanym.

    0
  • #12 12 Lis 2013 10:44
    exp4rt
    Poziom 7  

    A co powiecie na podłączenie AREF'a w moim schemacie? Jest poprawne?

    0
  • #14 12 Lis 2013 10:51
    tmf
    Moderator Mikrokontrolery Projektowanie

    exp4rt napisał:
    Nie mogę znaleźć informacji czy ATxmega jest kompatybilne z Arduino?


    W jakim sensie kompatybilna? Sprzętowym? To zależy od ciebie. Programowym? Na tyle kompatybilna na ile jest obsługiwana w bibliotekach. Z drugiej strony programowa kompatybilność z Arduino to strzał w kolano - ze względu na narzuty tego frameworka.
    Co do I2C (TWI) - rezystor pull up wylicza się w zależności od obciążenia magistrali, stąd lutowanie na stałe jakiegoś ma niewielki sens, w sytuacji, w której nie możesz przewidzieć co będzie podłączone. Można umieścić ew. jakieś pole do montażu THT.

    0
  • #15 12 Lis 2013 11:00
    exp4rt
    Poziom 7  

    tmf: Kompatybilna w sensie programowym, żeby mój syn mógł sobie "programować" w Scratch'u dla Arduino. Rezystory pull-up dla TWI będę umieszczał na płytkach - modułach.

    mickpr:
    przeczytałem i wydaje mi się, że jest akceptowalnie ;-) pytanie tylko czy jest sens podawać AREF na złącze..

    Rozumiem, że jestem taki .. fajny.. ,że tylko z 2 drobnymi wpadkami zrobiłem poprawny schemat? ;-)

    W takim razie siadam do robienia płytki i też pozwolę ją sobie tutaj później wkleić.

    0
  • #16 12 Lis 2013 17:44
    mickpr
    Poziom 39  

    exp4rt napisał:
    pytanie tylko czy jest sens podawać AREF na złącze
    Jak najbardziej jest sens - np. gdybyś chciał podać tam inne napięcie odniesienia.

    0
  • #17 12 Lis 2013 18:15
    Tomq
    Poziom 38  

    Drobna uwaga - jeśli zasilanie zewnętrzne będzie na "stosunkowo długich kablach" to można dać elektrolit przed stabilizatorem. Zgodnie z tym co widać na pomiarach tu: http://mirekk36.blogspot.com/2012/12/filtrowanie-zasilania-dlaczego-tak-wazne.html można dać jeszcze coś małego do filtracji procesora przy jego nóżce vcc.

    0
  • #19 13 Lis 2013 07:58
    exp4rt
    Poziom 7  

    Tomq: dziękuję, ciekawy artykuł. Dodałem 2,2uF na wejściu procesora i 47uF (??) na wejściu stabilizatora. Zastanawiam się jeszcze czy nie dać tam jeszcze diod zapobiegających błędnemu podłączeniu zasilania (polaryzacja). Jakie w takim przypadku się daje diody?

    dondu: ja bym nie zmienił, ja?

    Zmienione:
    - wywalony rezystor 1M pomiędzy D- a GND
    - wywalony kondensator w seksji "USB i wybór zasilania"
    - dodany kondensator na wejściu stabilizatora (47uF)
    - dodany kondensator elektrolityczny (2,2uF) na wejściu zasilania procka


    Czekam na dalsze uwagi! :)

    Atmega328p - Osobista płytka protypowa - prośba o sprawdzenie schematu


    O kurka, dopiero teraz znalazłem prawie gotowca: http://mikrokontrolery.blogspot.com/2011/02/plytka-testowa-avr-atmega-by-afterparty.html

    Przestudiuję i skonsultuję zmiany.

    0
  • #20 13 Lis 2013 15:32
    dondu
    Moderator Mikrokontrolery Projektowanie

    AREF wyprowadziłbym na osobne złącze, np. goldpin o trzech punktach: Vcc, AREF i masa, i całość umieścił w pobliżu pinu AREF.

    Jeśli zaprojektujesz i wykonasz własną płytkę, to z przyjemnością dorzucimy ją do kolekcji na stronie :)

    0
  • #22 14 Lis 2013 09:35
    exp4rt
    Poziom 7  

    dondu: o, i to chyba będzie sensowny kompromis!
    Tomkq: takie zastosuję, dziękuję.

    Chciałbym w weekend wykonać pierwsze płytki..

    W załączniku kolejna wersja schematu, czekam na komentarze a wieczorkiem biorę się za wstawianie obudów do elementów.

    Atmega328p - Osobista płytka protypowa - prośba o sprawdzenie schematu

    Panowie, zrobiłem test ERC i wysypało mi:

    Cytat:

    ErrType(4): Ostrzeżenie: Konflikt pomiędzy pinami.
    @ (1,6500 ",6,8000 "): Pin 1 (power_out) symbolu #FLG02 jest połączony z
    @ (3,5000 ",4,4000 "): pin 22 (BiDi) symbolu U2 (sieć 32).



    przy pinach VCC, AGND i GND procesora. Gdy zobaczyłem w edytorze biblioteki piny te były zaznaczone jako dwukierunkowe a PWR_FLAG miało oznaczenie wyjście zasilania. Gdy dla tych pinów zmieniłem typ na wejście zasilania test ERC przebiega pomyślnie. Dobrze zrobiłem wymuszając w ten sposób przejście testu czy nie bardzo?

    Zakładam, że moje rozwiązanie jest ok, przyporządkowuję obudowy ale to jest jakaś masakra!

    0
  • #23 14 Lis 2013 22:46
    dondu
    Moderator Mikrokontrolery Projektowanie

    1. W jakim celu dodałeś diodę D6? Wystarczy D5.

    2. Czasami możesz mieć potrzebę wykorzystania pinów PB6 i PB7. Dobrze byłoby, pomiędzy te piny a kwarc dać jumpery umożliwiające odłączenie kwarcu. Możesz także zrobić podstawkę pod kwarc, by mógł być wymieniany. Pomyśl jeszcze nad tą częścią schematu lub zostaw tak jak jest.

    3. W pobliżu złącza P3, pinów Vcc i GND dałbym jakiś kondensator elektrolityczny np. 100uF oraz 100nF. by w przypadku, gdy zewnętrzne elementy będą zasilane z regulatora napięcia na płytce, nie zakłócały pracy mikrokontrolera.

    4. Z czego będzie zasilany ta płytka? Pomyśl nad zmianą 7805 na regulator LDO: http://mikrokontrolery.blogspot.com/2011/03/Regulatory-napiecia-stabilizatory.html

    0
  • #24 14 Lis 2013 23:02
    Tomq
    Poziom 38  

    Cytat:
    Pomyśl nad zmianą 7805 na regulator LDO

    Lub nad zmianą na stabilizator impulsowy. Ten jest całkiem przyjemny: lm2574n-5. Maksymalnie na wejściu przyjmie 45V, wbudowane zabezpieczenie przeciwzwarciowe, a 500mA wydajności powinno wystarczyć. Wymaga:
    -kondensator 22uF
    -kondensator 220uF
    -cewka 330uH
    - 1n5819

    0
  • #25 14 Lis 2013 23:23
    exp4rt
    Poziom 7  

    dondu napisał:
    1. W jakim celu dodałeś diodę D6? Wystarczy D5.


    Usunięta D6!

    dondu napisał:
    2. Czasami możesz mieć potrzebę wykorzystania pinów PB6 i PB7. Dobrze byłoby, pomiędzy te piny a kwarc dać jumpery umożliwiające odłączenie kwarcu. Możesz także zrobić podstawkę pod kwarc, by mógł być wymieniany. Pomyśl jeszcze nad tą częścią schematu lub zostaw tak jak jest.


    Zastanawiałem się dość długo ale jednym z zadań projekty jest bycie klockami dla mojego synka - nie chcę za bardzo komplikować/dawać możliwości, że gdzieś straci kontakt, ściągnie zworę./


    dondu napisał:
    3. W pobliżu złącza P3, pinów Vcc i GND dałbym jakiś kondensator elektrolityczny np. 100uF oraz 100nF. by w przypadku, gdy zewnętrzne elementy będą zasilane z regulatora napięcia na płytce, nie zakłócały pracy mikrokontrolera.


    Tak zrobię! Za chwilę wstawię poprawiony schemat. Rozumiem, że 100nF to ceramik?

    dondu napisał:
    4. Z czego będzie zasilany ta płytka? Pomyśl nad zmianą 7805 na regulator LDO: http://mikrokontrolery.blogspot.com/2011/03/Regulatory-napiecia-stabilizatory.html


    Zapewne z zasilacza 12V albo bateryjki 9V. 7805 mam garść i chyba wolałbym je tutaj wykorzystać..

    Ach - i mam jeszcze pytanie - jaką diodę dać przy resecie i czy na zasilaniu procesora starczy elektrolit 2,2uF (w jednym schemacie jest 2,2 w innym 22..)?

    Atmega328p - Osobista płytka protypowa - prośba o sprawdzenie schematu

    0
  • #26 14 Lis 2013 23:39
    dondu
    Moderator Mikrokontrolery Projektowanie

    Tak, ceramik.

    Reszta - rozumiem, ale będzie ciepło temu 7805. A jeżeli dasz zamiast niego regulator LDO i niższe napięcie wejściowe, to już jajka nie usmażysz :)

    A tak przy okazji - ile przyszły elektronik ma lat?

    EDIT:
    Dioda - praktycznie dowolna - na początku możesz jej w ogóle nie lutować. Dodasz ją w przypadku, w którym będziesz sterował np. silnikami. Wtedy warto zadbać o całkowitą zgodność z wymogami producenta, czyli Atmela.

    Kondensatory elektrolityczne - wszystko zależy, jaki prąd będzie śmigał przez mikrokontroler. Daj 20uF i dla większości przypadków będzie wystarczający.

    0
  • #27 14 Lis 2013 23:42
    exp4rt
    Poziom 7  

    Za chwilkę będzie miał 8 - męczy mnie żebym go zapisał na robotykę w szkole ale nie za bardzo mam kasę w tej chwili, więc pomyślałem, że coś razem pokombinujemy w domu. W firmie mam do dyspozycji maszyny CNC, więc później nawet jakąś mechanikę da się dorobić ;-)

    Zmartwiłeś mnie tym, że 7805 będzie się tak grzał.. A co jest na oryginalnym Arduino?

    0
  • #29 14 Lis 2013 23:48
    exp4rt
    Poziom 7  

    Mam nadzieję, że się wciągnie. Wydaje mi się, że może to być fajny sposób na życie czy spędzanie wolnego czasu.

    W ogóle dziękuję bardzo za pomoc. Jak bym mógł się jakoś odwdzięczyć.. Mogę na przykład stołek zrobić ;-)

    0