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.

MEGA8 - nieco oddalony kwarc - pytanie o kondensatory

Daniel_GSM 02 Lut 2016 22:20 1110 26
  • #1 02 Lut 2016 22:20
    Daniel_GSM
    Poziom 25  

    Atmega8 i kwarc 7.3728MHz

    Nie wiem czy to dobry dział, ale zaryzykuję.

    Otóż muszę nieco oddalić kwarc od Atmegi - około 20 mm
    Pytanie jest krótkie - czy kondensatory umieścić bliżej kwarcu czy bliżej Atmegi?

    0 26
  • #2 02 Lut 2016 23:26
    excray
    Poziom 39  

    Z racji że nikt nie odpowiada ja odpowiem. Nie jest to potwierdzone dokumentacją tylko moim doświadczeniem - nie ma znaczenia - bo 20mm to niewielki dystans dla tego typu kwarców. Ja na przykład ze względów typowo mechanicznych daję kondensatory przy kwarcu.

    0
  • #3 03 Lut 2016 10:15
    kamyczek
    Poziom 34  

    Wszystko zależy od sposobu prowadzenia wyprowadzeń i ich pojemności na pcb 2cm nie robią wielkiego problemu , Chyba że będą przebiegały przy antenie nadajnika w.cz . Kondensatory wygodniej dać przy lub pod kwarcem .

    0
  • #4 03 Lut 2016 10:33
    BlueDraco
    Specjalista - Mikrokontrolery

    Jedna uwaga - kondesatory powinny być gdzieś pomiędzy uC i kwarcem, a nie "za" kwarcem.

    0
  • #5 03 Lut 2016 11:52
    krzysssztof
    Poziom 19  

    A ta uwaga cenna :D
    Zawsze dawałem kondensatory na zewnątrz w myśl zasady "kwarc jak najbliżej procesora"

    0
  • #6 03 Lut 2016 13:14
    kamyczek
    Poziom 34  

    To akurat jakaś bzdura nie mająca zupełnie znaczenia . Nie spotkałem się z sytuacją żeby ułożenie kondensatorów miało znaczenie w tym czy działa czy nie .

    0
  • #7 03 Lut 2016 13:20
    yokoon
    Poziom 28  

    Witam.
    ATmega8 posiada wewnętrzne kondensatory, można je włączyć przez ustawienie bitu CKOPT.

    1
  • #8 03 Lut 2016 13:53
    BlueDraco
    Specjalista - Mikrokontrolery

    W zasadzie większość zaleceń dotyczących projektowania układów to "bzdury nie mające znaczenia" w 95% projektów. W pozostałych 5% niezastosowanie "bzdury" powoduje niedziałanie urządzenia.

    Do takich "bzdur" należy również stabilizacja i filtrowanie napięcia zasilania, w końcu uC na ogół działa bez kondensatorów filtrujących, a układy 3.3 V na ogół wytrzymują nawet 5 V. Jeśli więc urządzenie ma działać "na ogół" to takie zalecenia można zignorować.

    2
  • #11 04 Lut 2016 11:23
    kamyczek
    Poziom 34  

    Nie róbcie dramatu z rezonatora kwarcowego i 2 kondensatorów , avr jest bardzo tolerancyjny potrafi działać bez kondensatorów i na płytce stykowej ze sporą pojemnością wyprowadzeń gdzie są kondensatory nie ma znaczenia , działać będzie . Generalnie wpinasz oscyloskop i zerkasz działa stabilnie i wzbudza się za każdym razem jest ok . i tak ma być nie ma co doktoratu pisać na temat takiego banału .

    0
  • #12 04 Lut 2016 11:43
    dondu
    Moderator Mikrokontrolery Projektowanie

    kamyczek napisał:
    Nie róbcie dramatu z rezonatora kwarcowego i 2 kondensatorów ... i tak ma być nie ma co doktoratu pisać na temat takiego banału .

    Nikt nie robi dramatu, ani doktoratu, ale stosować się do zaleceń producenta zawsze warto:

    Cytat:
    • The load capacitors should be placed close to each other.
    • The load Xtalin capacitor should be placed first and closest to the Xtalin pin and ground.

    stąd:

    MEGA8 - nieco oddalony kwarc - pytanie o kondensatory

    kamyczek napisał:
    ... avr jest bardzo tolerancyjny potrafi działać bez kondensatorów i na płytce stykowej ze sporą pojemnością wyprowadzeń gdzie są kondensatory nie ma znaczenia , działać będzie .

    Dobry projektant zwraca uwagę na szczegóły i dzięki temu jego projekty działają wiecznie i w każdych warunkach, na które je przygotował. Autor tematu należy właśnie do tej grupy, stąd zadał pytanie.


    Daniel_GSM napisał:
    czy kondensatory umieścić bliżej kwarcu czy bliżej Atmegi?

    Odpowiedź jest więc jednoznaczna: Najbliżej ATmegi jak się tylko da.

    0
  • #13 04 Lut 2016 12:06
    BlueDraco
    Specjalista - Mikrokontrolery

    kamyczek napisał:
    Nie róbcie dramatu z rezonatora kwarcowego i 2 kondensatorów , avr jest bardzo tolerancyjny potrafi działać bez kondensatorów i na płytce stykowej ze sporą pojemnością wyprowadzeń gdzie są kondensatory nie ma znaczenia , działać będzie . Generalnie wpinasz oscyloskop i zerkasz działa stabilnie i wzbudza się za każdym razem jest ok . i tak ma być nie ma co doktoratu pisać na temat takiego banału .


    Fakt, jeśli zweryfikujesz oscyloskopem poprawne działanie układu przy każdej temperaturze, wilgotności i wszystkich możliwych warunkach zasilania, to już nie musisz montować kondensatorów za 3 grosze. Czysty zysk - parę godzin pracy przy każdej sztuce urządzenia, komora klimatyczna i zaoszczędzone 3 grosze.

    0
  • #14 04 Lut 2016 12:21
    Daniel_GSM
    Poziom 25  

    I z tak pozornie banalnego tematu zrobiła się konkretna dyskusja.

    Bardzo dziękuję wszystkim za wypowiedzi.
    Generalnie zastosuję się do wskazówek przedstawionych przez dondu

    Warto było założyć temat - dowiedziałem się wielu ciekawych rzeczy :)

    0
  • #15 04 Lut 2016 12:57
    kamyczek
    Poziom 34  

    dondu napisał:
    Dobry projektant zwraca uwagę na szczegóły (...)

    Ja tam ujmę to inaczej programiści z bascoma i C doszukują się niewłaściwej pracy układu w kwarcu , płytce , drucikach , elementach tylko nie w chłamie ,który piszą w C i bascomie . Przez 20 lat nie spotkałem się z sytuacją ,w której coś nie działało przez kwarc , za to z bascomem i c skończyłem w trybie ekspresowym bo są wolne , mało optymalne i poza jedyną zaletą tj. szybką produkcją wypocin i możliwością zrobienia z każdego "zjadacza chleba" programisty nie mają innych zalet . Zauważcie jedno na początku programistów było mało bo było 51 i asembler , potem zaczęło ich przybywać wraz z c i zrobiły się ich setki z bascomem ... No bo przecież jakie to proste config lcd ....
    i lcd cls i lcd "jestem programistą " a 75% nie zna ani architektury mikrokontrolera na który pisze program , ani nie ma bladego pojęcia co ten robi w każdym takcie zegara . No ale jak nie działa to pewnie procek z Chin , albo kwarc do bani ,albo laminat za gruby , albo miedź za cienka . Sprawa jest banalna kwarc 2 kondensatorki możliwie krótkie ścieżki i program w asemblerze i działa zawsze tak samo dobrze , najsłabsze ogniwo -programista .

    0
  • #16 04 Lut 2016 13:15
    dondu
    Moderator Mikrokontrolery Projektowanie

    kamyczek napisał:
    Przez 20 lat nie spotkałem się z sytuacją ,w której coś nie działało przez kwarc ...

    Na jakiej podstawie możesz twierdzić, że w tym konkretnym projekcie autora, także będzie działał niezawodnie?
    A może to urządzenie działające w bardzo trudnym mocno zakłóconym środowisku?
    A może strata jednego impulsu kwarcu spowoduje rozsynchronizowanie się układu, bo ma wspólny sygnał zegarowy?

    Skoro więc tego nie wiemy, a autor pyta o jego zdaniem istotny szczegół to znaczy, że należy mu to wyjaśnić na bazie dokumentacji producenta, a nie pisać o Twoich mało istotnych w tym przypadku doświadczeniach.

    Reasumując, to co Ty reprezentujesz to kompromis, na który się godzisz, czyli Twój wybór i ewentualny problem, i niech tak zostanie.

    0
  • #17 04 Lut 2016 13:35
    BlueDraco
    Specjalista - Mikrokontrolery

    Ja przez x lat kilkukrotnie spotkałem się z sytuacją, gdy coś nie działało "przez kwarc". Fakt, oprogramowanie było pisane w C, to pewnie dlatego... Ale wymiana kwarcu w jednym przypadku i dołożenie właściwych kondensatorów w kilku pozostałych pomogło.
    ;)

    0
  • #18 04 Lut 2016 17:35
    popiol667
    Poziom 15  

    Ja przez kilka projektów (sterowniki RGB) dawałem na filtrację 2,2uF - 10uF i nie było problemu (Układy zasilane przez zasilacze impulsowe MeanWell). Schody zaczęły się, gdy musiałem wykorzystać ADC (jasność regulowana potencjometrem). Nie można było zjechać do "zera", takie zakłócenia pojawiały się na nóżkach. Zawsze starałem się montować kwarc w odległości mniejszej lub równej grubości standardowej obudowy HC49, kondensatory między procesorem a kwarcem, wyprowadzeniami XTAL do środka, tak aby masa "opływała" wszystko. Nigdy nie miałem problemów, nawet gdy kwarc i procek znajdował się bezpośrednio pod anteną modułu RFID.

    0
  • #19 04 Lut 2016 17:45
    BlueDraco
    Specjalista - Mikrokontrolery

    A skąd pomysł, że każdy ADC ma obowiązek kiedykolwiek dawać odczyt równy 0? I jaką masz gwarancję, że potencjometr w skrajnej pozycji daje zwarcie suwaka z jednym z końców?
    I jedno i drugie jest możliwe, ale nie konieczne.

    0
  • #20 04 Lut 2016 19:08
    pawlik118
    Poziom 24  

    Źle zaprojektowane PCB jest tak samo złe jak źle napisany program, i nie ma znaczenia czy to asembler, C, Bascom czy co innego...
    Czy można zapytać dlaczego kwarc ma być oddalany od procesora? Jeśli to urządzenie ma być profesjonalnie zaprojektowane i zgodnie z EMC to nie powinno się robić takich praktyk. Obwód kwarcu jest jednym z najwrażliwszych obwodów w takim systemie.

    0
  • #21 04 Lut 2016 21:34
    popiol667
    Poziom 15  

    BlueDraco nie mówię, że ma być zero - nawet przy założeniu, że wszystko poniżej 0,5V to PWM = 0% układ nie działał poprawnie. Chodzi mi bardziej o zwrócenie uwagi, że coś, co sprawdzało się X razy przy założeniach Y, może nie zadziałać, gdy zmienimy założenia.

    Co do C - tak, tylko assembler - bo mamy pełną kontrolę nad każdym taktem procesora i pełną kontrolę nad samym procesorem. Skręcam półki z płyty OSB w piwnicy to używam suwmiarki zamiast metra stolarskiego żeby Broń Boże jedna nie była niżej o 0,5mm....

    A tak poważnie:
    1. Jak się czyta ze zrozumieniem dokumentację i ZNA się dobrze język C to nie ma problemu (tzn. nie tylko składnie, ale jak działa, w jakiej kolejności sprawdzane są np. warunki).

    2. Za C przemawia:
    -przejrzystość kodu
    -łatwiejsza możliwość modyfikacji
    -możliwość przeniesienia części kodu z jednej platformy na drugą

    I to nie są czcze banały, mogę przytoczyć parę przykładów z pracy zawodowej...
    Mam program na Megę, który zajmuje kilkanaście ekranów. Nad monitorem przybiłem sobie tablicę korkową, na której mam 8 kartek A4 z narysowanym algorytmem, timingami, formatem ramek RS485, jakie funkcje dawać do których bibliotek przy pisaniu (bo wykorzystuję ją w w jeszcze innym programie), nazewnictwo zmiennym, konwencja w opisywaniu stałych, "złote myśli" dla "wysokopoziomowego" programisty, który pisze obsługę tego urządzenia z poziomu PC. OK, ogarnę to w assemblerze, tylko wcześniej szef mnie wywali na zbity pysk, albo sobie włosy z głowy wyrwę próbując to wszystko opanować. A za rok, jak na moim miejscu będzie ktoś inny to patrząc na kod stwierdzi, że szybciej mu będzie napisać to od początku, niż grzebać się w tym kodzie...

    0
  • #23 04 Lut 2016 21:55
    popiol667
    Poziom 15  

    Jakieś maleństwo o ile dobrze pamiętam - Attiny13 i zmiana napięcia referencyjnego niewiele pomagała.

    0
  • #25 04 Lut 2016 22:07
    excray
    Poziom 39  

    dondu napisał:
    AVRy przy zerowym wypełnieniu PWM generują krótką szpilkę

    W trybie FastPWM. W trybie Phase Correct PWM już nie.

    0
  • #26 04 Lut 2016 22:11
    popiol667
    Poziom 15  

    Dondu -> Po czym wnosisz? Nie uwierzę, jak nie zobaczę zdjęcia z oscyloskopu :D

    Tu Cię mam! PWM był programowy na Timerze - chodziło o to, aby zależność nie była liniowa, tylko proporcjonalna do jasności diody LED.

    0
  • #27 04 Lut 2016 23:02
    dondu
    Moderator Mikrokontrolery Projektowanie

    popiol667 napisał:
    Dondu -> Po czym wnosisz? Nie uwierzę, jak nie zobaczę zdjęcia z oscyloskopu :D

    A proszę bardzo:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    MEGA8 - nieco oddalony kwarc - pytanie o kondensatory

    A dodatkowo:
    Datasheet napisał:
    If the OCR1x is set equal to BOTTOM (0x0000) the output will be a narrow spike for each TOP+1 timer clock cycle.


    I tak jak napisał excray dotyczy to Fast PWM.

    0