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 - przyczyny nie migania diody LED

polarczn 01 Sty 2013 16:57 7926 55
  • #1 01 Sty 2013 16:57
    polarczn
    Poziom 16  

    Wykonałem zasilanie Atmegi8 podobnie jak na stronie:
    http://hobby.abxyz.bplaced.net/img/art002_stykowa1.jpg
    Z kolei na innej stronie:
    http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
    Pisze, aby 3 i 5 pin podłączyć do masy, a 4 i 6 do Vcc. Dodatkowo jest tam pin 29, a przecież atmega8 ma 28 pinów.
    Podłączałem Atmegę wg schematu z 1 i 2 strony i diody LED mi nie migają. Wgrałem na Atmegę następujący kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Czyli chciałem, aby migały mi diody podłączone do portuB. Diody podłączyłem poprawnie, czyli rezystor do katody. Macie pomysł dlaczego to nie działa?

    0 29
  • #3 01 Sty 2013 17:38
    leonsocio
    Poziom 28  

    Na schemacie z drugiego linka jest Atmega8 w wersji TQFP, a takowa ma wyprowadzenia to raz. Dwa, dałeś 100nF między plus a masę?

    0
  • #4 01 Sty 2013 17:53
    polarczn
    Poziom 16  

    Dałem rezystor do resetu, czyli 1 pinu. 7 połączyłem kondensatorem z Vcc, 8 z GND, 20 i 20 1 do Vcc, a 22 do GND. Dałem jeszcze 2 kondensatory 100 nF.
    W sumie podłączyłem Atmegę wg tego rysunku, tylko nie stosowałem tych przycisków, a chciałem jedynie, aby Atmega mi zapalała diody podłączone do portu B.
    http://hobby.abxyz.bplaced.net/img/art002_stykowa1.jpg

    0
  • #5 02 Sty 2013 00:24
    dondu
    Moderator Mikrokontrolery Projektowanie

    Gdybyś przyglądnął się podpisom pod schematami na tej drugiej stronie, to zauważyłbyś czerwone napisy w nawiasach: Obudowa TQFP.

    Oducz się operowania numerami pinów. Operuj tylko nazwami.
    Jeżeli znajdujesz gdziekolwiek w sieci schemat to może on być przygotowany dla mikrokontrolera w innej obudowie niż Twoja dlatego numery pinów mogą się nie zgadzać.

    Twoim obowiązkiem jest sprawdzenie w datasheet, jakie numery pinów mikrokontrolera są dla poszczególnych nazw sygnałów, dla obudowy którą posiadasz.

    Co więcej, ten sam układ w różnych obudowach może mieć więcej lub mniej pinów np. jakiegoś portu. O ilości pinów zasilania już tylko wspomnę.

    Zapamiętaj to i od teraz stosuj.

    polarczn napisał:
    Dałem rezystor do resetu, czyli 1 pinu. 7 połączyłem kondensatorem z Vcc, 8 z GND, 20 i 20 1 do Vcc, a 22 do GND. Dałem jeszcze 2 kondensatory 100 nF.

    Zamiast opisywać, pokazuj schemat jak faktycznie masz podłączone.
    Początkujący często popełniają bardzo proste błędy, które szybciutko da się wychwycić na schemacie,a z opisu słownego nie zawsze.

    Schematy to podstawa uzyskania szybkiej i skutecznej pomocy.
    Nawet gdyby miał być na kartce i wrzucony jako zdjęcie. Ważne by miał opisane piny nazwami, a nie pokazany wygląd obudowy z nóżkami i numerami.

    EDIT.
    Pozwoliłem sobie opisać na Twoim przykładzie ten problem: http://mikrokontrolery.blogspot.com/2011/04/obudowy-vs-numeracja-vs-nazwy-pinow.html

    a tutaj załączam dodatkowo fragment datasheet ATmega8:

    Atmega8 - przyczyny nie migania diody LED

    0
  • #6 02 Sty 2013 12:04
    pietrucha18
    Poziom 15  

    Pozwoliłem sobie zrobić schemat tego Mrugacza :

    //Poprawiony//

    Atmega8 - przyczyny nie migania diody LED

    Zasilanie pod nóżkę 7 VCC a mase pod 8 i 22 GND.
    Jeżeli miałbym się przyczepić to popraw komentarze bo masz PORTD a wykonujesz na PORTB.

    0
  • #7 02 Sty 2013 12:09
    BlueDraco
    Specjalista - Mikrokontrolery

    Zwykle wygodniej projektuje się płytkę, gdy diody mają wspólny biegun, a rezystory są pomiędzy wyjściami uC i diodami.

    0
  • #9 02 Sty 2013 14:03
    BlueDraco
    Specjalista - Mikrokontrolery

    Zamień jeszcze połączenia AREF i AVCC, bo chyba Ci się pomyliły - AVCC ma być zasilany (jeśli używasz ADC, to przez dławik, jeśli nie - może być zwarty z VCC). AREF - to zwykle wyjście wewnętrznego źródła - sam kondensator wystarczy).

    0
  • #10 02 Sty 2013 14:37
    pietrucha18
    Poziom 15  

    Bardzo przepraszam wszystkich za wprowadzenie w błąd.
    Zamieszczam "poprawny" schemat :
    Atmega8 - przyczyny nie migania diody LED

    i napisze gdzie były błędy
    1. AVCC podłączone do kondensatora (powinno być przez dławik do VCC i do kondensatora),
    2. VCC podpiete do VCC ale bez kondensatora,
    3. Nóżka AREF podpięta przez dławik do VCC,

    4. odnośnie opisu powinno być do nóżki 20 AVCC podpinamy zasilanie VCC przez filtr dolnoprzepustowy (sugerowany filtr LC czyli dławik i kondensator ),
    GND - wszystkie piny do masy, nawet jeśli sąsiadują ze sobą,

    AGND - podpięte do masy (jest to tak jakby masa części analogowej dlatego na schemacie ma inny symbol, przy tworzeniu płytek można mase analogowo puścić oddzielnie) nóżka 22,
    5. Obudowa PDIP 28 nóżek

    dziękuje za uwagi, faktycznie pomyliłem nóżki.

    0
  • #11 02 Sty 2013 14:50
    mirekk36
    Poziom 42  

    pietrucha18 --> niestety masz nadal złą filtrację zasilania i przy tylu diodach LED może to się na tobie zemścić .... ale szybko sobie z tym poradzisz gdy przeczytasz to:

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

    ale także to:

    http://mirekk36.blogspot.com/2012/12/filtrowanie-zasilania-dlaczego-tak-wazne.html

    polecam gorąco - nie jednej osobie to pomogło w takich i innych sytuacjach

    0
  • #13 02 Sty 2013 15:27
    pietrucha18
    Poziom 15  

    Przyznam się bez bicia że ze strony Dondu odnośnie zasilania czytałem i wiedziałem o poprawnym filtrowaniu zasilania (widocznie słabo, bo nie pomyślałem aby dać przynajmniej jeden kondensator elektrolityczny) , a odnośnie zasilania ze strony pana Mirosława Kardasia niestety już nie.

    Na pewno trzeba ten temat tutaj poruszyć.

    Na razie tylko symulowałem działanie układu (więc odnośnie grzania stabilizatora się nie wypowiem), zapomniałem o tym wspomnieć bo na żywo na pewno nie było by tak kolorowo.
    8 x LED to około 180 mA, wiec:
    1. Dobry stabilizator ( przetwornica do tego nie potrzebna),
    2. Para kondensatorów (jeden elektrolityczny jeden ceramiczny) jak najbliżej pinów zasilających układów zarówno stabilizatora jak i mikrokontrolera,
    3.Kondensatory i inne elementy dobrane według noty PDF swojego mikrokontrolera czy innego układu scalonego.

    0
  • #14 02 Sty 2013 15:35
    dondu
    Moderator Mikrokontrolery Projektowanie

    pietrucha18 napisał:
    Przyznam się bez bicia że ze strony Dondu odnośnie zasilania czytałem i wiedziałem o poprawnym filtrowaniu zasilania (widocznie słabo, bo nie pomyślałem aby dać przynajmniej jeden kondensator elektrolityczny) ...

    Na pewno trzeba ten temat tutaj poruszyć.

    Bo dodawanie magazynów energii, czyli np. kondensatorów elektrolitycznych, nie jest obligatoryjne.
    Ich stosowanie oraz wielkość, zależy od wielu czynników, na które składa się przede wszystkim PCB i pobór prądu przez mikrokontroler.
    Oczywiście dla tzw. "świętego spokoju" można dawać je zawsze.

    W tym wypadku diody będą jedynie zwierane do masy przez piny mikrokontrolera, stąd z pinu Vcc nie będzie pobierany duży prąd. Pin ten będzie zasilał jedynie mikrokontroler i zależnie od częstotliwości jego pracy pobierał niewielki prąd. Dlatego istotniejsze jest tutaj, by na PCB ścieżka zasilania diod biegła osobno prosto z regulatora napięcia i kondensatora elektrolitycznego na jego wyjściu.

    Jeżeli ADC nie będzie wykorzystywany, to dławik można śmiało pominąć jak pisał kol. BlueDraco.

    0
  • #15 02 Sty 2013 15:45
    BlueDraco
    Specjalista - Mikrokontrolery

    Jeśli to nie ma służyć do wypalania oczu, to z prądem LED zjechałbym do 2..8 mA (w zależności od typu użytych diod i pożądanej jasności). Przy tej liczbie diod wypadałoby dać na zasilaniu kondensator o pojemności 22..100 uF.

    0
  • #16 02 Sty 2013 16:12
    pietrucha18
    Poziom 15  

    Schemacik

    Atmega8 - przyczyny nie migania diody LED

    Przy zasilaniu 5v i rezystorze 220 Ω diody powinny pobierać ok. 16 mA prądu.
    Wiec dla 10 mA rezystory 330 będo odpowiednie.

    Jak pisałem nie wykonywałem układy fizycznie( wiec nie powiem czy dają czadu).

    0
  • #17 02 Sty 2013 16:17
    BlueDraco
    Specjalista - Mikrokontrolery

    No fajnie, a jak Ty to będziesz programował? Przydałoby się złącze ISP na płytce, przynajmniej 6-pinowe.

    0
  • #19 02 Sty 2013 16:53
    mirekk36
    Poziom 42  

    pietrucha18 napisał:
    Schemacik

    ....

    Jak pisałem nie wykonywałem układy fizycznie( wiec nie powiem czy dają czadu).


    Zajrzyj jednak proszę do tych moich linków a szczególnie o tym zasilaniu mikrokontrolera - bo napisałeś na schemacie że kondensatory blisko nóżek procka - ale totalnie ci się może pomieszało :( albo właśnie nie doczytałeś :(

    7805 to też scalak i musi mieć swoje pary kondensatorów a procek swoje - więc jak mówię - na końcu tego linka masz nawet przykładowe schematy a w drugim fajne i poglądowe - szczegółowe uzasadnienie, które mocno przemawia do wyobraźni - rzuć więc okiem ok ? zobaczysz że szybko ci takie podejście zaprocentuje przy budowie swoich układów.

    0
  • #20 02 Sty 2013 17:05
    pietrucha18
    Poziom 15  

    Na razie nie będę budował układu (brak kabli połączeniowych),
    Ale do schematy dodałem złącze KANDA do programatora.
    Tak oczywiście z miło chęcią przeczytam pana poradniki na blogu i na stronie wydawnictwa z pewnością będę często do nich wracał tak jak do strony Dondu.
    Atmega8 - przyczyny nie migania diody LED

    A teraz biorę się za uzupełnianie wiedzy.
    Schemat będzie początkiem każdego nowego układu na Atmega8.

    0
  • #21 02 Sty 2013 17:06
    dondu
    Moderator Mikrokontrolery Projektowanie

    Zmień ten napis o C5 i C7. One należą do regulatora napięcia. Do uC należą C1, C2 i C4.
    I nie masz zdefiniowanych etykiet PB3-PB5. Jeżeli będziesz robił PCB, to nie będziesz miał połączenia.
    Poza tym wszystko OK.

    0
  • #22 02 Sty 2013 17:12
    mirekk36
    Poziom 42  

    pietrucha18 napisał:

    Tak oczywiście z miło chęcią przeczytam pana poradniki na blogu i na stronie wydawnictwa z pewnością będę często do nich wracał tak jak do strony Dondu.
    .............


    Czym więcej informacji dla ciebie tym lepiej na tym etapie ;) wcale nie miałem na myśli abyś tylko na mojego bloga zajrzał ... jak coś.

    0
  • #23 02 Sty 2013 20:06
    pietrucha18
    Poziom 15  

    Dodałem kondensator elektrolityczny bo w tym przypadku jest on wskazany,
    I wiem że przy PCB konieczne będzie odpowiednie rozmieszczenie elektrów.
    Wersja gdy nie korzystamy z przetwornika ADC:

    Atmega8 - przyczyny nie migania diody LED

    0
  • #24 02 Sty 2013 20:12
    BlueDraco
    Specjalista - Mikrokontrolery

    C8 to spokojnie możesz wyrzucić.

    W SMD to by całkiem zgrabnie wyszło, tak w rozmiarach pudełka zapałek albo i mniejszych. Dwa poczwórne rezystory... Ech, rozmarzyłem się...

    0
  • #25 02 Sty 2013 20:45
    mirekk36
    Poziom 42  

    pietrucha18 napisał:
    Dodałem kondensator elektrolityczny bo w tym przypadku jest on wskazany,


    O! i bardzo dobrze, że dodałeś ten kondensator C8 ;) o to chodzi - przy takich układach szczególnie się przyda i będzie dobrze pilnował, wraz ze swoim bratem 100nF, tego co dziać się będzie na nóżce VCC procesora ;) w trakcie migania diodami LED. Zresztą tak jak to pokazywałem w poradniku.

    To się nazywa rzeczowe podejście do sprawy i uczenia się podstaw w tym zakresie ;)

    0
  • #26 02 Sty 2013 21:05
    BlueDraco
    Specjalista - Mikrokontrolery

    To jeszcze połącz nogę 22 z GND, bo bez tego będzie źle. Jeśli nie używasz ADC, nie potrzebujesz też dławika i od biedy możesz pominąć C4, bo akurat tutaj dużego pożytku z niego nie będzie.

    0
  • #27 03 Sty 2013 03:59
    dondu
    Moderator Mikrokontrolery Projektowanie

    mirekk36 napisał:
    pietrucha18 napisał:
    Dodałem kondensator elektrolityczny bo w tym przypadku jest on wskazany,

    O! i bardzo dobrze, że dodałeś ten kondensator C8 ;) o to chodzi - przy takich układach szczególnie się przyda i będzie dobrze pilnował, wraz ze swoim bratem 100nF, tego co dziać się będzie na nóżce VCC procesora ;) w trakcie migania diodami LED. Zresztą tak jak to pokazywałem w poradniku.

    Mirek nie wciskaj chłopakowi kitu. W Twoim artykule podłączasz diody anodami do pinu mikrokontrolera.
    Tutaj mamy zupełnie inny przypadek, ponieważ do pinów mikrokontrolera podłączone są katody.


    Dlatego pin Vcc nie będzie uczestniczył w zasilaniu LEDów, a pobór prądu przez mikrokontroler nie spowoduje żadnych problemów, które zmuszałyby do zastosowania dodatkowego elektrolita.

    Dodatkowo regulator napięcia wraz z jego kondensatorem 47uF, poradzi sobie spokojnie z utrzymaniem napięcia w zakresie akceptowalnym przez ten mikrokontroler (4,5V-5,5V), nawet gdy będzie migał wszystkimi diodami naraz, które pobierają łącznie zaledwie około 100mA i to prosto z regulatora, a nie z pinów komputera zasilanych z pinu Vcc. Ważniejsze tutaj jest właściwe prowadzenie ścieżek na PCB (jeżeli będzie wykonywał), o którym pisałem wcześniej.

    Dodatkowy elektrolit przy pinie Vcc należałoby rozważać, w przypadku gdyby diody były skierowane odwrotnie, czyli anodami podłączone do mikrokontrolera, a katodami przez rezystory do masy (przypadek pokazany przez Ciebie). Wtedy cały prąd zasilający diody płynąłby przez pin Vcc. W tym projekcie jednakże jest odwrotnie, a łączny prąd diod płynie przez pin GND, a nie Vcc.

    @pietrucha18
    Przeczytaj jeszcze raz ten post: https://www.elektroda.pl/rtvforum/viewtopic.php?p=11729577#11729577
    i zawsze zastanawiaj się nad tym co czytasz i zapytaj jeżeli czegoś nie rozumiesz, a jeżeli spotkasz się z konfliktem - co innego piszą w sieci, co innego w datasheet, zawsze ufaj datasheetom.

    0
  • #28 03 Sty 2013 09:03
    pietrucha18
    Poziom 15  

    Wiem że w nocie katalogowej nie wspomina się o kondensatorach ale dodałem go bo nie koniecznie będę stabilizator i jego filtrowanie montował na PCB ( zasilanie z zasilacza stabilizowanego 5v).

    Wiec zadaje pytanie:
    1. czy długość kabla jakoś wpływa na sposób sposób filtrowania mikrokontrolera,
    2. czy mogę wtedy wykorzystać jeden Kondensator elektrolityczny

    0
  • #29 03 Sty 2013 09:15
    dondu
    Moderator Mikrokontrolery Projektowanie

    Kondensator to zaledwie kilkadziesiąt groszy więc można dać zawsze :

    dondu napisał:
    Oczywiście dla tzw. "świętego spokoju" można dawać je zawsze.

    więc oczywiście go zostaw. Chodzi tylko o to, by rozumieć gdzie, kiedy i dlaczego należy je stosować, a kiedy można pominąć i by osoby podpowiadające nie wciskały kitu, że bezwzględnie zawsze należy.

    Przewód to także rezystor, im dłuższy i o mniejszym przekroju, tym większy spadek napięcia. Dlatego musiałbyś podać więcej konkretów (długość i przekrój). Rozumie, że pytasz o przewód zasilający, a nie o przewody diod?

    Możesz także zmierzyć występujący na nim spadek napięcia w trakcie świecenia wszystkich diod.

    Innymi słowy, opisz dokładnie co projektujesz, to nie będziesz na raty zmieniał schematu :)

    0
  • #30 03 Sty 2013 11:30
    mirekk36
    Poziom 42  

    pietrucha18 napisał:
    Wiem że w nocie katalogowej nie wspomina się o kondensatorach ale dodałem go bo nie koniecznie będę stabilizator i jego filtrowanie montował na PCB ( zasilanie z zasilacza stabilizowanego 5v).


    W ogóle nie wspomina się w notach czy dokumentach o prawidłowej filtracji zasilania ponieważ to jest całkiem oddzielna kwestia i to dla ludzi, którzy się zajmują na co dzień projektowaniem obwodów jest jasne jak słońce. Niestety z uwagi na to, rzadko kto o tym pisze, a początkujący mało o tym wiedzą. Są też tacy, którzy nie rozumieją do końca o co chodzi i stąd masz sprzeczne podpowiedzi.

    Powinieneś wiedzieć jednak po przeczytaniu mojego artykułu, że nie istotne czy podłączasz diody LED katodą czy anodą - będą występowały podobne zakłócenia na linii VCC - skoro diody są zasilane z tego samego stabilizatora. Fakt że przy podłączeniu katodami mniejsze nie świadczy o tym żeby rezygnować z pary kondensatorów. Zresztą zobacz - to nie jest mój wymysł, masz tutaj pewien fajny przy okazji artykuł o nowym rodzaju kondensatorów

    http://elektronikab2b.pl/technika/5811-kondensatory-ceramiczne-w-zastepstwie-tantalowych

    wprawdzie mowa w nim o tym, że od tego czasu można zastosować tylko taki kondesnator MLCC większej pojemności np 10uF zamiast pary jak dotychczas no ale jasno widać, że w pozostałych przypadkach ci, którzy znają się dobrze na filtracji i wiedzą co to jest oraz z czym się wiąże to jednak stosują pary tych kondesnatorów....

    Zanim więc wystąpią u ciebie kłopoty w działaniu przyszłych układów, zanim zaczniesz się zastanawiać czy warto zaoszczędzić na jednym kondensatorze czy to elektrolitycznym czy ceramicznym przy procesorze - przemyśl to sam, i wyciągnij właściwe wnioski.

    Dodano po 2 [minuty]:

    pietrucha18 napisał:
    1. czy długość kabla jakoś wpływa na sposób sposób filtrowania mikrokontrolera,
    2. czy mogę wtedy wykorzystać jeden Kondensator elektrolityczny


    przy okazji pomyśl sobie - nawet jeśli podłączysz diody LED katodami do mikrokontrolera to zwiększone tętnienia na stabilizatorze jeszcze bardziej przeniosą się na jakość napięcia przy nóżce VCC procesora, właśnie z uwagi na to czego się domyślasz - i może nie chodzi o długość kabla ale chociażby rezystancji samych ścieżek, które też nie zawsze umiejętnie są prowadzone na PCB. Wtedy brak takiego kondensatora elektrolitycznego wyjdzie ci szybko bokiem i przypomnisz sobie te słowa. Warto to mieć na uwadze.

    0