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.

ATtiny 2313 - Prosty układ z diodami.

cyber90 19 Lut 2013 16:16 2172 12
  • #1 19 Lut 2013 16:16
    cyber90
    Poziom 15  

    Chwilowo stoję z moją główną pracą, postanowiłem zrobić układ który pomoże mi w nauce programowania uc. Jak każdy zaczynał z diodami, to ja też. Mikroprocesor bazowy ATtiny 2313, scalak do wł/wył diod to MC74HCT245, zewnętrzne zasilanie i diody LED. Czy taki układ zadziała? Czy piny które są wykorzystywane do programowania mogą też bez żadnych problemów posłużyć tutaj jako porty wy?
    Na pinach Direction i OUTPUT ENABLE ma być poziom niski, aby kierunek był od portów B do A, czy dobrze to zrobiłem? Czy nieużywane piny uc połączyć do masy? Cyfry przy strzałkach odnoszą się tylko i wyłącznie do pinów uc. Czy są jeszcze konieczne rezystory przed pinami DIRECTION i OUTPUT ENABLE? Także mam jeszcze taką uwagę czy przed pinem gniazda ISP (Vcc) nie dać jeszcze diody zaporowo, aby w przypadku gdy układ będzie zasilany z zewnętrznego żródła, i gdy zapomnę przełączyć programator z trybu kiedy to on zasila układ, aby nie uszkodzić go, ale taka dioda będzie powodować spadek gdy będzie zasilanie z programatora i z 5V zrobi się 4,3V i tutaj jest problem.

    ATtiny 2313 - Prosty układ z diodami.

    Wrzucam jeszcze datasheet uc i scalaka:
    http://pdf1.alldatasheet.net/datasheet-pdf/view/12200/ONSEMI/MC74HCT245AN.html

    http://www.atmel.com/Images/doc2543.pdf

    0 12
  • #2 19 Lut 2013 16:21
    BlueDraco
    Specjalista - Mikrokontrolery

    ten 245 jest niepotrzebny, a podłączony w ten sposób nie będzie działał. Po prostu go wyrzuć. Zasilanie 4.3 V przy programowaniu to nie jest problem.

    Kondensatory C1 za duże, a dioda D2 niepotrzebna. Już to zasilanie gdzieś widziałem niedawno...

    0
  • #3 19 Lut 2013 16:39
    cyber90
    Poziom 15  

    Jak go wyrzucę nie będę miał możliwości wył/wł diod przy pomocy uc, a chce aby taka była. W jaki sposób go podłączyć bo pewnie chodzi o te stany "0" na wejściach DIRECTION i OUTPUT ENABLE.

    ATtiny 2313 - Prosty układ z diodami.

    Czyli takie podłączenie będzie dobre?

    0
  • #4 19 Lut 2013 17:21
    BlueDraco
    Specjalista - Mikrokontrolery

    Hmm... A dlaczego uważasz, że mikrokontroler nie potrafi zaświecić diody? Akurat leży przede mną kilka płytek, na których mikrokontrolery sterują diodami. :)
    Wywal ten bufor - do niczego nie jest potrzebny i nic nie daje w takiej zabawce, a jak widać nawet nie wiesz, jak go poprawnie wysterować.

    Aha, i nie podłączaj nieużywanych wyprowadzeń do niczego, najwyżej z lekka je skonfiguruj w oprogramowaniu - włącz podciąganie wejść.

    0
  • #5 19 Lut 2013 17:33
    dondu
    Moderator Mikrokontrolery Projektowanie

    @BlueDraco
    Diodę D2 na RESET zaleca Atmel, ponieważ nie ma jej w wewnętrznej strukturze układu (w przeciwieństwie do pozostałych pinów). Jest ona szczególnie potrzebna, gdy jest kondensator na RESET. Patrz nota AVR042:

    AVR042 napisał:
    If not using High Voltage Programming it is recommended to add an ESD protecting diode from RESET to Vcc, since this is not internally provided due to High Voltage Programming.



    @cyber90
    Jaki typ diody na tym schemacie powyżej?

    0
  • #6 19 Lut 2013 17:35
    BlueDraco
    Specjalista - Mikrokontrolery

    Ja miałem na myśli tę drugą diodę D2, przy 7805. :) Nie ma to, jak dobrze oznaczone elementy na schemacie...

    0
  • #7 19 Lut 2013 17:36
    dondu
    Moderator Mikrokontrolery Projektowanie

    BlueDraco napisał:
    Ja miałem na myśli tę drugą diodę D2, przy 7805. :) Nie ma to, jak dobrze oznaczone elementy na schemacie...

    Aaaa ... faktycznie duplikat na schemacie sklejonym z kilku - autor jakoś sobie radzi :D

    @cyber90
    Czy ja dobrze rozumie, że zasilasz regulator napięcia 7805 z programatora który daje 5V?
    Jeżeli nie, to jakie masz napięcie zasilające regulator 7805?

    0
  • #8 19 Lut 2013 19:11
    cyber90
    Poziom 15  

    BlueDraco napisał:
    Hmm... A dlaczego uważasz, że mikrokontroler nie potrafi zaświecić diody? Akurat leży przede mną kilka płytek, na których mikrokontrolery sterują diodami. :)


    Nie rozumiesz, o co mi chodzi i po co jest ten bufor. W skrócie chcę mieć możliwość wyłączenia wszystkich diod za pomocą jednego portu uc (11).

    BlueDraco napisał:
    Wywal ten bufor - do niczego nie jest potrzebny i nic nie daje w takiej zabawce, a jak widać nawet nie wiesz, jak go poprawnie wysterować.


    Wiem jak działa, należy podać stan niski na DIRECTION i OUTPUT ENABLED i wtedy kierunek jest przyjęty z B do A. Tak mam problem z jego wysterowaniem dlatego proszę o wskazówki. Można by podpiąć DIRECTION i OUTPUT ENABLED do pinów uc i programowo ustawić je na stan niski, ale wtedy nie mogę ich wykorzystać w innym celu.

    Sorry za oznaczenia już poprawiam.

    dondu napisał:
    @cyber90
    Jaki typ diody na tym schemacie powyżej?


    Jeżeli chodzi ci o diodę D3 przy resecie, to raczej musi być, bo nie znalazłem w datasheet aby takową uc posiadał. 1N4148 będzie odpowiednia?

    dondu napisał:
    @cyber90
    Czy ja dobrze rozumie, że zasilasz regulator napięcia 7805 z programatora który daje 5V?
    Jeżeli nie, to jakie masz napięcie zasilające regulator 7805?


    Nie rozumiem twojego pytania. Może napisze tak, posiadam programator AVRmkII, w którym jak dobrze wiecie jest możliwość zasilania uc bezpośrednio z niego. Dioda D4 (proszę spojrzeć na poprawiony schemat) jest to po żeby w razie gdy jednoczesnie będe zasilał uc z programatora i przez stabilizator nie uszkodzić programatora. Napięcie zasilające regulator 7805 12V (zasilacz).

    0
  • #9 19 Lut 2013 19:49
    BlueDraco
    Specjalista - Mikrokontrolery

    żeby wyłączyć 8 diod podłączonych do portu, procesor musi wykonać jedną instrukcję - zapis samych zer albo samych jedynek do portu. Do ośmiu diod potrzeba 8 linii portów. W Twoim rozwiązaniu potrzeba byłoby 9 linii portów, ale za to masz funkcję szybkiego wyłączania, która wymaga wykonania przez procesor min. 3 instrukcji w celu zmiany stanu pojedynczej linii portu sterującej linią -G.

    Na schemacie zresztą takiego sterowania nie ma, a linia -G (bo tak się ona naprawdę nazywa, a nie -OE), jest stale w stanie nieaktywnym, czyli bufor jest zawsze zamknięty.

    Masz rację, nie rozumiem, po co powiększasz układ i komplikujesz oprogramowanie. myślę, że w życiu popełniłem ponad setkę płytek z uC i LED, i na tak pokrętny pomysł bym nie wpadł. Naprawdę nie wiem, po co komplikujesz sprzęt i oprogramowanie, bo ten bufor NIC nie daje w żadnej sytuacji.

    0
  • #10 19 Lut 2013 20:10
    excray
    Poziom 39  

    Podejrzewam że koledze cyber90 chodzi bardziej o zatrzask np 74HC574

    0
  • #11 19 Lut 2013 21:29
    cyber90
    Poziom 15  

    Chyba wiem gdzie był błąd, chcąc wyłączyć diody muszę wprowadzić układ w stan wysokiej impedancji. Teraz to będzie działać tak jak przyjąłem?

    ATtiny 2313 - Prosty układ z diodami.

    BlueDraco napisał:
    Masz rację, nie rozumiem, po co powiększasz układ i komplikujesz oprogramowanie. myślę, że w życiu popełniłem ponad setkę płytek z uC i LED, i na tak pokrętny pomysł bym nie wpadł. Naprawdę nie wiem, po co komplikujesz sprzęt i oprogramowanie, bo ten bufor NIC nie daje w żadnej sytuacji.


    Naprawdę doceniam wasze uwagi, jestem początkującym. Miałem podobny w technikum na którym uczyłem się programować 51 i właśnie mniej więcej tak wyglądał, pamiętam tylko że posiadał ten bufor pomiędzy diodami i jakoś to działało. Po prostu kwestia przyzwyczajenia, dlatego ten pomysł.

    Proszę o opinie czy teraz ten układ będzie działał jak powinien. Jeszcze chciał bym do niego dołożyć dwa przyciski, i je podłączyć do portów uc.

    0
  • #12 19 Lut 2013 21:43
    BlueDraco
    Specjalista - Mikrokontrolery

    Wiesz, bez bufora będzie działało lepiej... Jak już musi być bufor na płytce, to zostaw niepodłączony, a diody steruj bezpośrednio z uC - będzie łatwiej. ;)

    0
  • #13 19 Lut 2013 21:54
    cyber90
    Poziom 15  

    Ok..zostawmy już ten bufor. Dioda D4 i D3 dobrze?

    0