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

[Mega32] podłaczenie kilku matryc 5x7 do jednego uC

Antystatyczny 26 Cze 2012 23:12 2608 21
  • #1 11045782
    Antystatyczny
    Poziom 16  
    Witam.

    Jako że rozkminiłem sposób podłaczenia pojedynczej matrycy, powstaje kolejne pytanie.

    Mam do zbudowania obrotomierz cyfrowy (4 cyfry) na 4 matrycach 5x7. Atmega32 posiada 4 ośmiobitowe porty, które mogę niemal dowolnie wykorzystać, ale...

    Każda matryca ma swoje kolumny i wiersze, jesli to zsumuję, to wychodzi mi, że potrzebuję 7 pinów na każdą matrycę plus 5 na każdą, dajmy na to kolumnę. Dodatkowo obrotomierz ma wyświeltać niebezpieczny zakres obrotów na czerwono( matryce są dwukolorowe). Mam szansę wykonać to na Atmega32?

    Dodano po 1 [minuty]:

    Zapomniałem dodać, że chodzi o obrotomierz samochodowy
  • #2 11045906
    Fireman
    Poziom 13  
    Z wykorzystaniem samego atmega32 ci się nie uda. Ale możesz poszerzyć ilość wyjść z zastosowaniem rejestrów szeregowo - równoległych. Możesz na przykład zastosować 74HC595: Podłączasz go do SPI i masz za pomocą trzech linii procesora załatwione 8 wyjść. Oczywiście możesz połączyć kilka tych rejestrów w szereg zwielokrotniając te wyjścia (bez angażowania kolejnych wyprowadzeń proca)
    Proponowane układy kosztują poniżej złotówki, tak więc wychodzi to korzystniej niż stosowanie większego uc. Oczywiście układ z większym uc jest prostszy w budowie.
  • #4 11045934
    Antystatyczny
    Poziom 16  
    Ok, poczytam o 74595, dzięki.

    Dodano po 6 [minuty]:

    Rozumiem, że to pewnie optymalne rozwiązanie, ale jeszcze nie potrafię obsługiwać szeregowej transmisji. Sa jakieś prostsze rozwiązania? Zielony nie jestem, ale do zaawansowania mi daleko.
  • #5 11045980
    LordBlick
    VIP Zasłużony dla elektroda
    Antystatyczny napisał:
    jeszcze nie potrafię obsługiwać szeregowej transmisji.
    Potrafisz, tylko o tym nie wiesz... ;) Podpowiedź dla Bascom - SerialOut
  • #6 11049726
    Antystatyczny
    Poziom 16  
    Dziękuję za podpowiedź, już zaglądam do HELP'a ;-)

    Dodano po 1 [minuty]:

    Aha, a mogę tu zapytać o FT232RL, czy muszę zakładać osobny temat?
    Chodzi mi o to, czy trzeba go jakoś programować. Przyznaję, że jeszcze nie ściągałem jego noty katalogowej.
  • #7 11054074
    jony15
    Poziom 24  
    Nie musisz programować ft232. Po podłączeniu do portu usb FT jest automatycznie wykrywany a, po zainstalowaniu sterowników port RS działa bez żadnego programowania.
  • #8 11062140
    Antystatyczny
    Poziom 16  
    Czy stosując ten scalak mógłbym sobie zapewnić programowanie kości bez konieczności korzystania z STK200/300? Chodzi mi o stworzenie jeakiegoś uproszczenia w programowaniu. Na razie kupiłem max232, który umozliwia komunikację przez port COM, ale jesli padnie mi komp i będę zmuszony kupić nowy... Obecne płyty chyba już nie mają LPT i COM
  • #9 11062272
    tplewa
    Poziom 39  
    Jak masz max232 i port COM w kompie to nie musisz uzywac gnata FTDI :) Zreszta ja ostatnio doszedlem do wniosku ze taniej dawac przejscoiwki RS232/USB niz FTDI :) oczywsicie jak wystarcza nam RX i TX :)

    Poszukaj sobie jakiegos BootLoadera i po sprawie...
  • #10 11062404
    LordBlick
    VIP Zasłużony dla elektroda
    tplewa napisał:
    Poszukaj sobie jakiegos BootLoadera i po sprawie...
    Niekoniecznie po sprawie. Nie widziałem jeszcze bootloadera, który by programował fusebity i lockbity... ;) No i czymś ten bootloader trzeba do świeżego AVR-a wrzucić...
    Antystatyczny napisał:
    Czy stosując ten scalak mógłbym sobie zapewnić programowanie kości bez konieczności korzystania z STK200/300?
    Jak najbardziej. Z mojego doświadczenia:kupiłem JTAG-lock-pick(na FT2232L) od znanego tu forumowicza, którym(oczywiście nie forumowiczem, tylko JTAG-iem ;) ), pomimo iż został stworzony z myślą o programowaniu µC ARM, udało mi się, po dorobieniu zwykłej przejściówki, zaprogramować także AVR przez avrdude (-c jtagkey). Co więcej, działa szybciej od popularnego USBasp(inny programator na USB głównie do AVR). No i oczywiście w perspektywie mamy możliwość zabawy z inną rodziną µC o większej mocy obliczeniowej.
  • #11 11062421
    tplewa
    Poziom 39  
    taaa tylko jak czesto te LockBity w jednym projekcie sie zmienia :) A pytanie brzmialo co zrobic aby nie uzywac caly czas STK200/300 - domyslam sie ze chodzilo o programowanie przez ISP. A tutaj jest rozwiazaniem wlasnie bootloader...
  • #12 11062457
    LordBlick
    VIP Zasłużony dla elektroda
    tplewa napisał:
    A pytanie brzmialo co zrobic aby nie uzywac caly czas STK200/300
    Nie, pytanie było o przydatność FT232 do programowania AVR w perspektywie nieosiągalności "on board" portu LPT i co więcej - RS232. ;)
    B.T.W. Młodszy brat FT2232 posiada dwa kanały RS - jeden może służyć do programowania po ISP, a drugi do komunikacji z układem.
  • #13 11062493
    tplewa
    Poziom 39  
    Antystatyczny napisał:
    Chodzi mi o stworzenie jeakiegoś uproszczenia w programowaniu. Na razie kupiłem max232, który umozliwia komunikację przez port COM, ale jesli padnie mi komp i będę zmuszony kupić nowy... Obecne płyty chyba już nie mają LPT i COM


    no to ja to chyba zle rozumiem :)

    btw. JTAG w FT2232L jest okropnie wolny (do niektorych zastosowan).
  • #14 11062503
    LordBlick
    VIP Zasłużony dla elektroda
    tplewa napisał:
    Antystatyczny napisał:
    Chodzi mi o stworzenie jeakiegoś uproszczenia w programowaniu. Na razie kupiłem max232, który umozliwia komunikację przez port COM, ale jesli padnie mi komp i będę zmuszony kupić nowy... Obecne płyty chyba już nie mają LPT i COM


    no to ja to chyba zle rozumiem :).
    Pogrubiłem dla zrozumienia ;)
    tplewa napisał:
    JTAG w FT2232L jest okropnie wolny (do niektorych zastosowan).
    Jest FT2232H... ;)
  • #15 11062553
    McMonster
    Poziom 32  
    Port szeregowy jeszcze nie umarł, wciąż są w produkcji płyty główne, zwykle tylko nie mają wyprowadzenia na DB9, a jedynie złącze na płycie głównej, do którego podłącza się śledzia z DB9. Port LPT już raczej dokonał swego żywota. Zawsze też można kupić karty rozszerzeń z RS232/LPT na PCI, te podobno działają tak skutecznie, jak porty wbudowane. Miałem do czynienia z kartą z RS232 i działała z set-top-boksami, portami konsolowymi urządzeń CISCO i sterownikiem PLC, te na LPT działają z STK200 podobno.
  • #16 11062668
    tplewa
    Poziom 39  
    Generalnie jesli chodzi o COM to nie ma problemu byle przejsciowka za pare groszy na Progilic-u dziala z Cisco itp. Problem jest z portem LPT - ale w laptopach - tutaj wiekszosc kart jest robiona pod katem obslugi drukarki i nie ma wszystkich trybow pracy zwyklego LPT do tego nie jest w standardowej dla LPT przestrzeni adresowej.

    Ale nie ma co ukrywac ze obecnie trzymanie sie STK200 to raczej malo wygodny pomysl. Za grosze mozna sobie poskladac cos na USB/RS232 (szybszego itd.).
  • #17 11065018
    Antystatyczny
    Poziom 16  
    Z dyskusji wywnioskowałem, że generalnie wystarczy mi max232 do komunikacji szeregowej. Dowiedziałem się również, że raczej nie bedę w stanie zmienić fuse bitów (na lock bitach mi nie zależy, bo uczę się dla siebie, a nie do celów zarobkowych). A zatem, czy programatorem usbasp, który jest tak szeroko promowany, będę miał taką mozliwość? Chodzi mi o ten ze strony fischl.de.
  • #18 11065074
    LordBlick
    VIP Zasłużony dla elektroda
    Antystatyczny napisał:
    A zatem, czy programatorem usbasp, który jest tak szeroko promowany, będę miał taką mozliwość? Chodzi mi o ten ze strony fischl.de.
    Tak.
  • #20 11068670
    Antystatyczny
    Poziom 16  
    Snaap, a mógłbyś się szerzej wypowiedzieć? Jakoś nie potrafię sobie tego wyobrazić. Generalnie skłaniam sie ku rejestrom przesuwnym, ale dopiero musze to opanowac teoretycznie, nie wspominając już o praktyce. Jakie założenia przyjąłeś, że wyszła Ci taka ilość tranzystorów?
  • #21 11069613
    snnaap
    Poziom 25  
    Witam

    Poniżej bardzo schematycznie przedstawione jak ja to widzę.

    [Mega32] podłaczenie kilku matryc 5x7 do jednego uC

    Wybaczcie jakość "schematu".


    Wykorzystane wyjścia uK:
    7 - wiersze (wszystkie matryce)
    5 - kolumny (wszystkie matryce)
    8 - poszczególne matryce (2x4 bo 2 kolory)

    Sterowanie multipleksowe -
    1. włączasz dany kolor na pierwszej matrycy,
    2. ustawiasz odpowiednie wiersze dla pierwszej kolumny ,
    3. "włączasz" pierwszą kolumnę,
    4. "wyłączasz" pierwszą kolumnę
    5. ustawiasz odpowiednie wiersze dla drugiej kolumny ,
    6. "włączasz" drugą kolumnę kolumnę,
    7. "wyłączasz" drugą kolumnę
    itd.


    Pozdrawiam

    PS. W trakcie projektowania musisz mieć na uwadze fakt, że rejestry przesuwne majką także ograniczoną wydajność prądową, dla przykładu 74HCT595 ma wydajność +/- 35mA na każde wyjście lecz moc dla całego układu nie może być większa niż 750 mW to daje nam przy napięciu 5V to max 18mA na każde wyjście. Zalecany prąd dla matryc to 20mA.
    Drugim aspektem jest prąd max całego układy przy założeniu że wszystkie diody się zapalą jednocześnie co jest możliwe przy zastosowaniu rejestrów prąd układu wyniesie 2,8A (0,02A*5*7*4) :D
  • #22 11069790
    xamrex
    Poziom 28  
    Widzę, że nie padł tu jeszcze taki scalak jak np. ULN9803 a przecież można go wykorzystać zamiast niektórych tranzystorów.
    z tego co pamiętam ULN9803 zwiera do masy, nie wiem czy rejestry są ze wspólną anodą czy katodą, ale jeśli zasotosowałoby się ten scalak, to tranzystory odpowiedzialne za sterowania kolumnami lub wierszami, mogłyby odpaść..

    Było tysiące tematów.. Wystarczy poszukać..
REKLAMA