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.

Atmega i dużo wyjść (30) sterowanie diodami

lgorek 03 Sie 2009 23:41 4218 11
  • #1 03 Sie 2009 23:41
    lgorek
    Poziom 11  

    Hello

    Chce sie spytać jak najprosciej uzyskac dużo wyjsc z Atmega?? Chce zrobic sterownik diodami led gdzie jest 30 diod a każdą bedzie można włączać/wylaczac niezależnie. Co powinienem do tego użyć. Czy sam atmega wystarczy czy jakis inny kontroler powinienem dodac ?? Minus dla wszystkich diod jest wspolnmy kontlorem mialby tylko zalaczac + albo zalaczony albo nie. Co tutaj uzyc i co bedzie najlepszym sposobem. Oraz ile standardowych wyjsc maja np Atiny, Atmega8, Atmega16, Atmega32 ?? Czy tak naprawede nie ma ograniczen ??

    0 11
  • #3 04 Sie 2009 01:11
    Uzytkowniik
    Poziom 16  

    bedziesz musiał szybko przełączał wyjścia demultipleksera, żeby nie było widać migania diod lub zastosujesz bufor, żeby "zatrzasnoł" wyjścia demultipleksera...

    0
  • #4 04 Sie 2009 10:49
    cirrostrato
    Poziom 36  

    Zainteresuj się układem 8255(dawne czasy ale łatwy i tani do kupienia),24 linie wy(lub we) zatrzaskiwane,można łączyć więcej układów,łatwy w sterowaniu,poziom wyjściowy oczywiście TTL.Do ,,młodych":do PC-ta w prosty sposób można podłączyć cztery takie układy,96 linii we/wy,proste sterowanie(opis w starszej Elektronice Praktycznej).Oczywiście 8255 to tylko układ interfejsu i wymaga jakiegoś mikrokontrolera/PC-ta .

    0
  • #5 04 Sie 2009 11:05
    lgorek
    Poziom 11  

    cirrostrato napisał:
    Zainteresuj się układem 8255(dawne czasy ale łatwy i tani do kupienia),24 linie wy(lub we) zatrzaskiwane,można łączyć więcej układów,łatwy w sterowaniu,poziom wyjściowy oczywiście TTL.Do ,,młodych":do PC-ta w prosty sposób można podłączyć cztery takie układy,96 linii we/wy,proste sterowanie.


    Ale wtedy bede musial to programowac czy nie ?? jak to z tym jest. Czy wystepuje ten 8255 od atmela ??

    znalazlem post podobny do mojego i tam zaproponowal ktos
    Code:
    n> Czy ktoś wymyślił jak powiększyć liczbę we/wy w tym procku.
    
    n> Mi się udało za pomocš 3 lini sterować trzema portami po 8 lini (razem
    n> 24 wyjścia), używajšc układów 74164 i 8255.

    n> Czy ktoś zna inne rozwišzania ???

    Jak najbardziej, jezeli potrzebujesz wyjsc to wystarczy podlaczyc zatrzaski
    (np. 374/574 itp) i nimi sterowac. A wejscia np. na buforach 244. Wtedy mozesz
    np. 16 takich buforow wejsciowych (16 x 8 bitow) dolaczyc do portu P1, a 4
    bitami z portu P3 wybierac, ktory zestaw cie interesuje (przyda sie tez dekoder
    1 z 16). Wtedy zapis i odczyt zajmuje po kilka cykli - wybranie jednego z 16
    buforow i jego odczyt. 8255 nie polecam, bo jest wolne.


    I mam pytanie co to są te zatrzaski ?? Czy to jest jakis mikrokontroler czy moglby ktos podac konkretny typ. Oraz czy je rowniez potrzeba programowac ??

    0
  • #6 04 Sie 2009 15:42
    Uzytkowniik
    Poziom 16  

    To własnie mikrokontroler programujesz...
    Pisząc zatrzask chodziło o to ze ustawisz sobie odpowiednie stany na wyjściach (zapalisz odpowiednie diody) i zrobisz zatrzask, żeby te diody były zapalone do momentu zapalenia innych diod.

    Za pomocą mikrokontrolera sterujesz tym buforem. Piszesz na komputerze program, programujesz mikrokontroler za pomocą programatora i jak dobrze napiszesz program to powinno działać.

    Przecież Atmega to też mikrokontroler....

    0
  • #7 04 Sie 2009 18:14
    adam_es
    Poziom 27  

    Po co kombinować? ATMega16 i pochodne mają po 32 linie portów I/O, wystarczy dołożyć 4xUDN2585 lub UDN2891. Można też użyć mniejszego mikrokontrolera i rejestrów przesuwających (4094).

    0
  • #8 04 Sie 2009 20:17
    lgorek
    Poziom 11  

    Mój schemat wygląda tak jak ponizej. Panel podzielony jest na 25 sekcji kazda po 12 ledow czyli razem 300 ledow. Szukam rozwiazania aby mozna bylo sterowac niezaleznie calymi sekcjami.

    Atmega i dużo wyjść (30) sterowanie diodami

    0
  • #9 04 Sie 2009 21:28
    Jaduda
    Poziom 32  

    lgorek napisał:
    Mój schemat wygląda tak jak ponizej. Panel podzielony jest na 25 sekcji kazda po 12 ledow czyli razem 300 ledow. Szukam rozwiazania aby mozna bylo sterowac niezaleznie calymi sekcjami.

    Atmega i dużo wyjść (30) sterowanie diodami
    A nie lepiej zastosować multipleksowanie? (Wtedy wystarczy np. 10 pinów [5x5] uC do sterowania całością :))

    0
  • #10 04 Sie 2009 22:01
    Paweł Es.
    Pomocny dla użytkowników

    Zapoznaj się z tym układem, on ma dodatkowo źródła prądowe na wyjściu co daje, że wszystkie diody świecą jednakowo (jednym rezystorem ustawiasz prąd płynący przez 16 diod). Układy można łączyć szeregowo dla uzyskania większej ilości wyjść. Sterujesz to o ile pamiętam 3 liniami (wejście szeregowe, taktowanie szeregowe danych, przepisanie danych z rejestru szeregowego do wyjściowego)


    http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

    Prawdopodobnie w Elfie można go dostać.

    0
  • #11 04 Sie 2009 22:07
    nemo07
    Poziom 36  

    Witam.

    lgorek napisał:
    ... Panel podzielony jest na 25 sekcji kazda po 12 ledow czyli razem 300 ledow. Szukam rozwiazania aby mozna bylo sterowac niezaleznie calymi sekcjami.
    30 LEDow a 300 to drobna roznica :D
    Wspomniane "zatrzaski" to tzw. 8-bitowe przerzutniki D; poczytaj tabelki stanow z data sheet dla 74(LS/AC/ACT)373 lub 74(...)374 (googlaj np. 74ACT374).
    Jesli uzylbys "Low current LEDs" (20mA), to typy 74AC(T)xxx maja wystarczajaco mocne wyjscia do bezposredniego wysterowania takich LEDow (z ew. szeregowymi rezystorami dla limitacji mocy strat chipa, zeleznie od koloru LEDow).
    Roznica miedzy 373 i 374 lezy wylacznie w "zatrzaskiwaniu"; jedne zapisuja poziomem, a drugie zboczem na wejsciu CK.
    Swoj problem moglbys rozwiazac np. uzywajac 5 x 8 = 40 zatrzaskow np. typu 74ACT374.
    Kazda sekcja (w wierszu) potrzebowalaby 1,5 zatrzasku, co daje 7,5 --> 8 zatrzaskow/wiersz. Do selekcji jednego z nich potrzebujesz dekodera/demultipleksera typu "1 z 8", np. 74ACT138.
    Do zaadresowania dowolnego LEDa z jednego wiersza w tym schemacie potrzebujesz 8 linii danych, 3 linie adresowe i jedna linie "strobu" (CK).
    Zapotrzebowanie hardware'owe dla jednego wiersza to 8 x 74ACT374, 1 x 74ACT138.
    Dla 5 wierszy powielasz ten schemat 5-krotnie i dokladasz jeden demultiplekser "1 z 8" (74ACT374) dla selekcji wiersza (kaskadujesz dekodery "1 z 8" uzyskujac 1 z 64; wykorzystujesz 1 z 40 potrzebnych "adresow" zatrzaskow).
    Sumarycznie potrzebujesz wiec 5x8=40 x 74ACT374, 6 x 74ACT138, 1 x 74ACT245 (lub 74F245), 1 x 74ACT04 lub tp., 300 rezystorow ca. 100Ω oraz 8 linii danych (we. zatrzaskow) + 6 linii adresowych ("1 z 64") plus 1 linie strobu (CK) i ew. 1 linie OE (deaktywacja calego panelu, poprzez piny "Output Control" wszystkich zatrzaskow polaczone razem) obydwie wspolne dla wszystkich zatrzaskow (dlatego wymagaja one buforowania; dotyczy rowniez 8 linii danych!) - sumarycznie 16 linii (2 porty 8-bit), no i troszke kodu.
    Pozdrawiam

    0
  • #12 04 Sie 2009 23:56
    lgorek
    Poziom 11  

    Jaduda napisał:
    lgorek napisał:
    Mój schemat wygląda tak jak ponizej. Panel podzielony jest na 25 sekcji kazda po 12 ledow czyli razem 300 ledow. Szukam rozwiazania aby mozna bylo sterowac niezaleznie calymi sekcjami.

    A nie lepiej zastosować multipleksowanie? (Wtedy wystarczy np. 10 pinów [5x5] uC do sterowania całością :))

    Tylko jak to zrobić bo dopiero zaczynam przygode z elektronika. Co użyć dokładnie.


    nemo07 napisał:
    Witam. lgorek napisał:
    ... Panel podzielony jest na 25 sekcji kazda po 12 ledow czyli razem 300 ledow. Szukam rozwiazania aby mozna bylo sterowac niezaleznie calymi sekcjami.
    30 LEDow a 300 to drobna roznica
    Wspomniane "zatrzaski" to tzw. 8-bitowe przerzutniki D; poczytaj tabelki stanow z data sheet dla 74(LS/AC/ACT)373 lub 74(...)374 (googlaj np. 74ACT374).
    Jesli uzylbys "Low current LEDs" (20mA), to typy 74AC(T)xxx maja wystarczajaco mocne wyjscia do bezposredniego wysterowania takich LEDow (z ew. szeregowymi rezystorami dla limitacji mocy strat chipa, zeleznie od koloru LEDow).
    Roznica miedzy 373 i 374 lezy wylacznie w "zatrzaskiwaniu"; jedne zapisuja poziomem, a drugie zboczem na wejsciu CK.
    Swoj problem moglbys rozwiazac np. uzywajac 5 x 8 = 40 zatrzaskow np. typu 74ACT374.
    Kazda sekcja (w wierszu) potrzebowalaby 1,5 zatrzasku, co daje 7,5 --> 8 zatrzaskow/wiersz. Do selekcji jednego z nich potrzebujesz dekodera/demultipleksera typu "1 z 8", np. 74ACT138.
    Do zaadresowania dowolnego LEDa z jednego wiersza w tym schemacie potrzebujesz 8 linii danych, 3 linie adresowe i jedna linie "strobu" (CK).
    Zapotrzebowanie hardware'owe dla jednego wiersza to 8 x 74ACT374, 1 x 74ACT138.
    Dla 5 wierszy powielasz ten schemat 5-krotnie i dokladasz jeden demultiplekser "1 z 8" (74ACT374) dla selekcji wiersza (kaskadujesz dekodery "1 z 8" uzyskujac 1 z 64; wykorzystujesz 1 z 40 potrzebnych "adresow" zatrzaskow).
    Sumarycznie potrzebujesz wiec 5x8=40 x 74ACT374, 6 x 74ACT138, 1 x 74ACT245 (lub 74F245), 1 x 74ACT04 lub tp., 300 rezystorow ca. 100Ω oraz 8 linii danych (we. zatrzaskow) + 6 linii adresowych ("1 z 64") plus 1 linie strobu (CK) i ew. 1 linie OE (deaktywacja calego panelu, poprzez piny "Output Control" wszystkich zatrzaskow polaczone razem) obydwie wspolne dla wszystkich zatrzaskow (dlatego wymagaja one buforowania; dotyczy rowniez 8 linii danych!) - sumarycznie 16 linii (2 porty 8-bit), no i troszke kodu.
    Pozdrawiam


    SEKCJA=12 diod spiete razem.

    A to co podales to jest dla 300 diod ?? bo jak napisalem wyzej nie chce sterowac kazda z osobna tylko cala sekcja (12sztuk). Dlatego napisalem 30 led bo sekcji jest 25 czyli zawyzylem. Co wtedy uzyc dla tych 25-30 sekcji.





    Ponizej obrazek jak sa polaczone najpierw na płaszczyznie tworzac panel nastepnie w rzedzie (tutaj dowolnka kombinacja zalezy od juz odemnie jak je zepne), nad nimi jest zasilajaca caly rzad, a nad nim zasilajacy caly panel. Jak mozna to ulepszyc ??

    Atmega i dużo wyjść (30) sterowanie diodami

    Oraz czy jest mozliwe ze podczas pierwszego uruchamiana/konfiguracje panelu, mikroprocesor sam zliczy ile jest podpietych sekcji a nastepnie nada im numery a my bedziemy mogli przypisac sobie kolory do numerow lub cos w tym stylu.


    Paweł Es. napisał:
    Zapoznaj się z tym układem, on ma dodatkowo źródła prądowe na wyjściu co daje, że wszystkie diody świecą jednakowo (jednym rezystorem ustawiasz prąd płynący przez 16 diod). Układy można łączyć szeregowo dla uzyskania większej ilości wyjść. Sterujesz to o ile pamiętam 3 liniami (wejście szeregowe, taktowanie szeregowe danych, przepisanie danych z rejestru szeregowego do wyjściowego)


    http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

    Prawdopodobnie w Elfie można go dostać.


    Zasilac diody chce 12V dlatego tak zostal poprowadzony schemat, czerwone pobieraja 2,5V co daje w rzedzie 4 natomiast niebieskie 3,8V co w rzedzie daje 3. I tutaj mamy jedne tak drugie tak i sachowany regularny rozklad.

    Bo z tego co podales to chyba dziala na innej zasadzie, i nazlezy podac wtedy prad taki jaki ma dioda ?? Czy dobrze rozumie czy nie.

    Czy moge takie cos zastsowac na kazdym segmencie i dokladnie okreslic jaki ma byc napiecie i natezenie. Bo diody maja 20mA
    http://www.datasheetcatalog.org/datasheet/infineon/1-bcr402u.pdf

    Czy może coś takiego:
    - SCT2001ASIG Układ scalony 3-channel LED driver 10-60mA http://zefiryn.tme.pl/dok/a04/sct2001.pdf
    - SCT2004CSOG Układ scalony 4-channel LED driver 10-350mA http://zefiryn.tme.pl/dok/a04/sct2004.pdf

    Ten pierwszy gdzie są 3 rzedy po 4, a ten drugi gdzie jest 4 rzedy po 3, z tego widze nie są one drogie:
    - BCR402U Układ scalony sterownik LED 20mA - 1zł
    - SCT2001ASIG Układ scalony 3-channel LED driver 10-60mA - 2,5zł
    - SCT2004CSOG Układ scalony 4-channel LED driver 10-350mA - 3 zł

    porównując do

    - Allgegro A6276EA - kosztuje 10 zł,

    Dodano po 47 [minuty]:

    Sprawdzilem datasheet od diod i okazalo sie że czerwona ma inne napiecie 1,85V 20mA to na co wczesniej patrzylem to bylo dla wartosci maksymalnej ale i tak teraz wychodzi 6 diod na 12V

    Ale bede musial przerobic projekt plytki.

    0