logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atmega8 - połączenie z MBI5026 - sposób działania

siwy2411 13 Lis 2012 01:56 2343 19
REKLAMA
  • #1 11522865
    siwy2411
    Poziom 11  
    Witam.

    Planuję zrobić na atmedzie8 znany na pewno wszystkim wordclock, w tym celu zasugerowano mi użycie MBI5026, ale nie jestem pewny czy dobrze rozumiem zasadę jego działania. Opiszę jak to rozumiem i poproszę o ewentualne sprostowanie.

    Z tego co rozumiem, to na wejściu SDI podajemy ciąg 16 bitów, które sczytywane są do układu w momencie wystąpienia na CLK zbocza narastającego i przykładowo sczytana w ten sposób kombinacja "1100000000000000" po podaniu stanu wysokiego na LE i niskiego na OE "zapali" wyjścia OUT0 i OUT1, pozostawiając pozostałe wyłączone.

    Dobrze to rozumiem?
    Interesuje mnie także wartość napięcia na wyjściu - chciałbym w ten sposób sterować dośc krótkimi odcinkami taśmy LED zasilanej na 12V, w datasheecie układu jest informacja, że układ zapewnia maksymalnie 17V na wyjściu - po pierwsze jak modyfikować tą wartość, a po drugie w jaki sposób osiągane jest to 17V jeżeli układ zasilany jest 5V?

    Pozdrawiam i z góry dzięki za pomoc

    PS. Wiem, że jest już na elektrodzie temat o połączeniu atmegi z tym układem, ale nie znalazłem w nim odpowiedzi na swoje wątpliwości.
  • REKLAMA
  • Pomocny post
    #2 11522872
    szulat
    Poziom 23  
    siwy2411 napisał:
    w datasheecie układu jest informacja, że układ zapewnia maksymalnie 17V na wyjściu - po pierwsze jak modyfikować tą wartość, a po drugie w jaki sposób osiągane jest to 17V jeżeli układ zasilany jest 5V?

    zgaduję że układ "wytrzymuje 17V" a nie "zapewnia 17V", czyli to ty musisz dostarczyć napięcie po drugiej stronie leda a driver tylko zwiera do masy odpowiednie wyjście powodując przepływ prądu.
  • REKLAMA
  • #3 11522874
    siwy2411
    Poziom 11  
    [ciach]

    czytanie ze zrozumieniem się kłania ;p
    faktycznie, ma to sens ;)

    Dodano po 27 [minuty]:

    tak, faktycznie - czyli temat napięcia rozwiązany.
    a jak to jest z tą zasadą działania? z wykresu ze strony 4 niestety nie jestem w stanie wywnioskować nic sensownego...
  • #4 11522895
    szulat
    Poziom 23  
    siwy2411 napisał:
    a jak to jest z tą zasadą działania? z wykresu ze strony 4 niestety nie jestem w stanie wywnioskować nic sensownego...

    oprócz wykresu jest jeszcze schemat i opis :) ale ogólnie to co napisałeś w pierwszym poście mniej więcej się zgadza, tyle że diabeł tkwi w szczegółach:
    - kolejność bitów jest odwrotna (pierwszy przesłany bit trafi na OUT15 a nie OUT0)
    - w tym układzie ledy zapalają się stanem 0 więc 1100000... "zapali" wszystkie ledy oprócz dwóch
    - warto też pamiętać o rozróżnieniu sygnału LE (który trzeba podać po całej serii danych, żeby przepisać bity z rejestru przesuwnego), od sygnału OE (który włącza ledy i może być nawet włączony cały czas, jeżeli nie chcemy żeby ledy gasły w momencie wpisywania nowych danych - a tak by było gdyby ściśle wzorować się na wykresie ze strony 4).
  • #5 11523354
    siwy2411
    Poziom 11  
    szulat napisał:
    w tym układzie ledy zapalają się stanem 0 więc 1100000... "zapali" wszystkie ledy oprócz dwóch

    hmmmm... a moim zdaniem z wykresów wynika co innego - na przykład dla 4 ostatnich bitów równych "0110" z tego co piszesz powinno być out0 i out 3 przełączone na "ON", a na wykresach jest odwrotnie... ja czegoś nie rozumiem, czy "zapala" jednak "1"?

    Dodano po 1 [godziny] 54 [minuty]:

    Jeszcze urodzilo mi sie pytanie - czy wykorzystujac jedno z wyjsc, fakt, ze zalaczenie wyjscia zwiera je do masy i sposob ustawiania pradu wyjsc out (za pomoca rezystora miedzy odpowiednia nozka a masa) daloby sie przelaczajac stan wyjscia zalaczac i odlaczac dodatkowy rezystor ograniczajacy prad wyjscia, a co za tym idzie jasnosc swiecenia diod?
  • #6 11524099
    szulat
    Poziom 23  
    siwy2411 napisał:
    hmmmm... a moim zdaniem z wykresów wynika co innego - na przykład dla 4 ostatnich bitów równych "0110" z tego co piszesz powinno być out0 i out 3 przełączone na "ON", a na wykresach jest odwrotnie... ja czegoś nie rozumiem, czy "zapala" jednak "1"?

    aaaaa tak, masz rację, zapala wejściowe "1" mimo że wyjściowym stanem zapalonym jest "0"!

    siwy2411 napisał:
    Jeszcze urodzilo mi sie pytanie - czy wykorzystujac jedno z wyjsc, fakt, ze zalaczenie wyjscia zwiera je do masy i sposob ustawiania pradu wyjsc out (za pomoca rezystora miedzy odpowiednia nozka a masa) daloby sie przelaczajac stan wyjscia zalaczac i odlaczac dodatkowy rezystor ograniczajacy prad wyjscia, a co za tym idzie jasnosc swiecenia diod?

    tak, myślę że można tak zrobić.
    albo można też podłączyć OE pod PWM i płynnie sterować jasnością.
  • #7 11553578
    siwy2411
    Poziom 11  
    chodzi mi o możliwość zmiany tej jasności bez ingerencji w kod, dlatego chciałbym wrzucić tam potencjometr stąd ta kombinacja ;)
    mam jeszcze jedno pytanie - w jaki sposób należy używać pinu SDO w przypadku używania dwóch takich układów? po prostu zadaję za jednym razem 32 wartości i on sam prześle pierwsze 16 na drugi układ podłączony pinem SDI do pinu SDO układu pierwszego?
  • #8 11553832
    tos18
    Poziom 42  
    Co do regulacji jasności bez ingerencji w program -wystarczy NE555 jako generator pwm dołączony do wejść OE
    Co do SDI i SDO dobrze rozumujesz - poszukaj informacji o rejestrach przesuwnych. Generalnie jest tak że każdy tik przesuwa informację o jedno oczko informacja wprowadzona jako pierwsza po szesnastu tikach znajdzie sie na wyjściu SDO.
  • #9 11554397
    siwy2411
    Poziom 11  
    Może będzie łatwiej jak napiszę, jaki chcę osiągnąć efekt - układy będą sterowały LEDami wyświetlającymi czas (popularny word clock) chodzi mi o to, aby w nocy dało się spać przy tym zegarze - czyli żeby jasność diod (czyli prąd) była mniejsza w zadanym przedziale czasu. W tym celu myślę o wykorzystaniu dwóch nóżek jednego z układów i zwieraniu przy ich pomocy dwóch potencjometrów do masy (w zależności od godziny - w ciągu dnia zwarty jeden z nich, w nocy drugi), i oba te tryby mają mieć możliwość płynnej regulacji podświetlenia. Czy takie połączenie ma prawo działać prawidłowo? I drugie pytanie - czy zwarcie nóżek REXT dwóch układów i dopiero za tym zwarciem podłączenie potencjometru zwieranego do masy zadziała i da zamierzony efekt?
  • #10 11554690
    tos18
    Poziom 42  
    Najprostsza reakcja na zmierzch to fotorezystor podłączony do r-ext.
    Narysuj swój pomysł.
  • #11 11554737
    siwy2411
    Poziom 11  
    na szybko zrobiłem taki schemat:
    atmega8 - połączenie z MBI5026 - sposób działania
    nie mam chwilowo w eaglu biblioteki z tym układem więc wyszukałem analogiczny, z mniejszą ilość wyjść tylko w celu zaprezentowania zasady.
    Rozwiązanie z fotorezystorem nie bardzo mnie satysfakcjonuje - urządzenie będzie używane w pomieszczeniu i jasność może się zmieniać np. w zależności od zapalenia światła, a chciałbym aby była sztywno powiązana z godziną.

    w tym przykładzie załączałbym wyjście 5 albo 6 tego układu powyżej aby załączyć konkretny potencjometr do REXT. ma prawo zadziałać?
  • REKLAMA
  • Pomocny post
    #12 11554805
    tos18
    Poziom 42  
    Zamykasz pętlę sterowania. sytuacja trudna do przewidzenia bo do przełączania potencjometrów używasz wyjść których prąd chcesz regulować. Nie bawił bym się tak. A co z programem ? ja widzę dwa wyjścia.
    1) do r-ext podłączamy rezystor na stałe a z procesora wyciągnięty pwm podłączony do OE.W programie zmieniamy pwm w zależności od godziny.
    2)użyty wolny pin procesora którego stan zmieniamy w zależności od godziny. Z pinu wysterowujemy 2 tranzystory npn których kolektory przez rezystory podłączamy do pinów r-ext zwierając rezystory podłączone tam na stałe.
    atmega8 - połączenie z MBI5026 - sposób działania
  • #13 11554818
    siwy2411
    Poziom 11  
    a czy dałoby się zastosować Twój pomysł tak, aby potencjometry zmieniały jednocześnie prąd wyjściowy obu układów, tak aby jedna nastawa potencjometru obowiązywała dla obu układów?
  • REKLAMA
  • #15 11559280
    siwy2411
    Poziom 11  
    Ponieważ chcę, aby jasność można było zmodyfikować nie zmieniając kodu programu - czyli jest za jasno/za ciemno - podchodzę do zegara, przestawiam potencjometr i tyle.
  • #16 11559643
    tos18
    Poziom 42  
    W takim razie potencjometr -> NE555 jako generator pwm -> wejścia OE MBI5026
    R-ext ustawiamy na max jasności.
  • #17 11559656
    siwy2411
    Poziom 11  
    ale w takim układzie utracę możliwość sterowania wejściami OE, co będzie mi niestety potrzebne w projekcie.
    dzięki za pomoc, myślę że ostatecznie zdecyduję się na dwa potencjometry podwójne. będzie to chyba najprostsze rozwiązanie, które pozwoli mi osiągnąć zamierzony efekt.
  • #18 11559684
    tos18
    Poziom 42  
    Dlaczego utracisz możliwość sterowania OE ? Do czego używasz jeszcze OE ? generator pwm można tak wykonać by blokować jego działanie. może uchyli kolega rąbka tajemnicy i przedstawi więcej szczegułów to będzie można wybrać rozwiązanie optymalne.
  • #19 11563565
    Jacek Rutkowski
    Poziom 28  
    Jeśli w układzie zastosowano lustro prądowe, a tak to wygląda to spięcie obydwu układów do jednego potencjometru spowoduję słabsze świecenie i należy zastosować potencjometr o mniejszej rezystancji np. 2k2. Bez testu się nie obejdzie niestety.
  • #20 11688771
    siwy2411
    Poziom 11  
    tos18 napisał:
    2)użyty wolny pin procesora którego stan zmieniamy w zależności od godziny. Z pinu wysterowujemy 2 tranzystory npn których kolektory przez rezystory podłączamy do pinów r-ext zwierając rezystory podłączone tam na stałe.
    atmega8 - połączenie z MBI5026 - sposób działania

    Temat ucichł z powodu braku czasu, przy okazji świąt czas się znalazł i ostatecznie wygrało powyższe rozwiązanie, lekko zmodyfikowane (użyłem dwóch potencjometrów podwójnych). Dziękuję wszystkim za pomoc i życzę Wesołych Świąt ;)
REKLAMA