Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterownik z największą ilością wyjść (100-300)?

30 Paź 2007 22:15 4095 19
  • Poziom 11  
    Na jakim układzie można zrobić sterownik który steróje (ups, "uje" się nie kreskuje, a steruje wymienia się na sterować)prądem (ON/ OFF) na pinach w dużej ilości. Chodzi mi o podłączenie i sterowanie z komputera dużej ilości segmentów diód. Będzie ich ok 100-300, to zależy ile zdołam wydlić. Później to pójdzie pod tranzystory które będą służyć za wzmacniacze itd. Pomóżcie mi w wyborze.
    Może dało by się to jakoś zrobić z kilku scalaków np podłączonych pod pod 2 porty RS-232 (może dokupie więcej na pci) i LPT. Im większe scalaki tym będzie lepiej przy instalacji ale z małymi też sobie dam radę. Mam na ten projekt parę lat ale już chcę pomału zacząć nad tym myśleć.
    Jaki będzie czas zmiany wartości pinów, bo przecież prędkość wysyłania danych przez port też jest ograniczony i układ ten czas też chyba wydłuża.
  • Relpol przekaźniki
  • Poziom 39  
    napisz jakie to ma mieć zastosowanie przy takiej ilości wyjść najbardziej sensowne jest sterownie matrycowe , przeczytaj ten temat https://www.elektroda.pl/rtvforum/viewtopic.php?t=741590 , od zastosowania zależy również sposób komunikacji z urządzeniem co za tym idzie program dla mikrokontrolera , program obsługujący w PC które musisz sam napisać
  • Relpol przekaźniki
  • Poziom 11  
    Program na PC napiszę bez żadnych problemów, mam w tym doświadczenie. Planuję zrobić wielkie SHOW (nie tylko biegające światła na ogródku, ale i do tego będzie wyrzutnia takich płatków jak na koncertach, fajerwerki odpalone zdalnie itd.), takie żeby dziewczyna z wrażenia nie wiem co zrobiła. Jest taka chwila w życiu kawalera o której później przyszłe żony plotkują między koleżankami ;-)

    Większość będzie potrzebna do świateł (nie wiem czy jeszcze diody czy lampki choinkowe pocięte na 40 cm).
    Myślałem nad zastosowaniem rejestrów przesuwanych. Pierwsze 7 połączyć z portem LPT. Wszystkie wejscia DATA połączyć z wyjsciami danych LPT (tych co jest ich 8 ) i szeregowo ustawiać wszstkie równocześnie. Później od tych 7 rejestrów znowu podłączyć pod każdy rejestr 7 kolejnych rejestrów. Co by dało sporą kombinację 7x7x8=392. Zawsze można parę ominąć, aż tyle raczej nie potrzebne. I co tu zauważyłem, można to by było połączyć w bloki. Jeden główny na 49 wyjść i od tego szeregowo już potrzebną ilość sterowników (8 wyjść). O wiele mniej kabli (przynajmniej tych długich).
    Tylko nie wiem jak to jest z tym sterowaniem DATĄ. Czy można bezproblemowo zmianiać stan wejścia DATA nie przesuwając bitu tak żeby nie było zakłóceń i podawał te dane dalej na aktualne wyjście. Bo jak tak by się dało to wysłał bym 8 bitów na dane wyjście i przesunął bit na rejestrze i znowu wysyłanie 8 bitów już na drugie wyjście itd.

    Ten link który mi podałeś jest bardzo interesujący. Nie wiem czy będzie możliwe połączyć to w bloki ale chyba tak. Czegoś takiego szukałem.
    Nie wiem co to jest te G1 i G2 a link w tamtym temacie nie działa. Patrzę datasheet i widzę że stan H byle którego ustawia wszystkie OUT na H, ale co to daje to później pomyślę.
    I tak myślę i nie wiem. Będzie można na tym układzie tak ustawić wyjścia żeby parę była aktynych np połowa, póżniej 1/4 itp. Nie wiem czy dobrze mi się wydaje że to działa tylko tak że może być aktywne jedno wyjście z pośród 256.
  • Poziom 39  
    nie rozumie co Ci da zmiana na linii Data bez sygnału Clk aby przesunąć dane w rejestrze szeregowym , chyba lepszym rozwiązaniem są dwa demultipleksery 74154 wyjścia tworzą matrycę 16x16 masz tylko 4 bity na kolumny i 4 na wiersze tak więc bez problemu dasz radę wysterować z LPT podobnie można zrobić to na rejestrze przesuwnym 74164 , jeszcze innym rozwiązaniem to zastosowanie ekspandera z szyną I2C PCF 8574 można również zbudować matrycę lub sterować indywidualnie kilka takich układów
    zobacz prosty projekt tablicy http://www.edw.com.pl/pdf/k07/80_13.pdf
    chcąc zastosować żarówki to dodatkowe wzm. przy tak dużej ilości wyjść to będzie potężnie rozbudowany układ
  • Poziom 11  
    Ze zmianą DATA chodzi mi o to żeby na wejście DATA wysłać 8 bitowy kod na dane wyjście. Następnie na CLK posłać impuls i przesunąć bit rejestru i posłać znowu 8 bitów na następny (kolejny) rejestr przesuwany. To chyba najprostszy sposób. Może trochę wolne ale bardzo proste w konstrukcji.
    Wykorzystanie demultiplekserów było by fajne gdyby nie to że zmieniają stan tylko jednego wyjścia. Musiałbym coś zrobić żeby chociaż przez chwilę zatrzymać ten stan jednego (tak żeby zdążyć zmienić stany reszty i zdążyć podtrzymać znowu pierwszy zanim ten pierwszy zgaśnie), wtedy by był efekt cięgłości.
    Narazie jestem początkującym elektronikiem, ale mam nadzieję że Polibuda Wrocławska czegoś mnie nauczy.
  • Poziom 31  
    Witam

    Wspomniane było gdzieś na początku o transmisji szeregowej. Jeśli miałaby być użyta taka transmisja to proponuję rejestr przesuwny 74164 a właściwie 74595. do sterowania potrzebujesz tylko trzech pinów (74595). Jeden to zegar, drugi to dane a trzeci to przepisanie stanów na wyjścia. Układy łączy się szeregowo. Każdy ma 8 wyjść.
    Co do maksymalnej prędkości to jest oczywiste, że porty RS232 czy Censtronics są wolne i na sekundę nie osiągniesz zbyt oszałamiających prędkości ale sądzę, że 300 czy 500 wyjść to chyba jednak nic wielkiego.

    --
    pozdrawiam
  • Poziom 39  
    Cytat:
    chodzi mi o to żeby na wejście DATA wysłać 8 bitowy kod na dane wyjście. Następnie na CLK posłać impuls i przesunąć bit rejestru i posłać znowu 8 bitów na następny (kolejny) rejestr przesuwany.

    albo się pomyliłeś w tym co napisałeś , albo nie rozumiesz zasady pracy rejestru przesuwnego , 8bitowy szeregowy rejestr dla przesunięcia ramki danych (8 bitów ) wymaga 8 impulsów na wejściu clk jak chcesz 1 impulsem przesunąć 8 bitów
    widzę że cały czas bierzesz pod uwagę tylko sterownie statyczne , ale przy tak dużej ilości wyjść jakie planujesz lepiej jest zastosować sterownie dynamiczne , przecież niedoskonałość oka ludzkiego jest wykorzystana na co dzień (kino , telewizja itp ) wystarczy że zmiany danych będą odbywać się z częstotliwością większą niż 24 Hz a oko ludzie odbierze to jako obraz statyczny
  • Poziom 31  
    Witam ponownie

    bogdan_p nie wiem w czym problem. Szeregowo ładuję zawartość rejestrów (np. dla 320 wyjść ich liczba wyniesie 40 (układów)). Po załadowaniu (szeregowym) wystawiam zbocze ('595) i przepisuję zawartość wejść rejestru na wyjścia. Stan wyjść jest pamiętany w przerzutniku do wystąpienia następnego zbocza. Jaki problem ażeby zawartość rejestrów odświeżać, niech Ci będzie, 24 razy na sekundę. Dla zaproponowanej ilości wyjść (320) częstotliwość sygnału zegarowego będzie w granicach 8 kHz. Czy to aż tak wiele jak na Centronicsa ?

    A może rozchodzi Ci się o to, że z Centronicsa chcę szeregowo ładować rejestry szeregowe ? A co to za problem. W ten sposób nie ma problemu z bitami startu i stopu. Jak mniemam autor postu chce uniknąć dodatkowej elektroniki. Więc sterowanie LPT-kiem w trybie bitowym jak sądzę nie będzie nastręczało żadnych problemów. W dodatku nic nie stoi na przeszkodzie, żeby zrobić jeden sygnał zegarowy i kilka takich układów - rejestrów (po 300 diod, przekaźników, itp.) pracujących w pewien sposób równolegle. Ale nie przesadzajmy...

    --
    pozdrawiam
  • Poziom 39  
    przeczytaj uważnie co zacytowałem i co napisałem , jak chcesz 1 impulsem (cytat autora ) przesunąć 8bitów co to ma wspólnego z zatrzaśnięciem danych i z ich odświeżaniem czy sterowaniem LPT o którym nic nie pisałem ?
    sposób wykorzystania '595 o którym pisałeś jest prawidłowy , ale zwróć uwagę na to że musi być przygotowana ramka danych z 320 bitami do tego 320 impulsów przesuwających , takie zastosowanie ma sens przy małej ilości wyjść
    pomysł z 40 układami jest super w porównaniu z tym że 256 wyjść można uzyskać stosując matrycę 16x16 i 2 układy demultiplekserów , sterowanie dynamiczne jest najczęściej z stosowanych rozwiązań i nie ja wymyśliłem 24Hz tylko natura
    biorąc pod uwagę zastosowanie o jakim myśli autor to najbardziej wskazane jest budowa kilku modułów połączonych w sieć RS485 z wydawaniem poleceń zmiany stanu pracy , uruchomienia , zatrzymania poszczególnych urządzeń bo nie wyobrażam sobie plątaniny kabli przy założeniu że wszystko jest bezpośrednio sterowane z 1 urządzenia z domu
  • Poziom 31  
    Witam ponownie

    bogdan_p autor z tego co się zdążyłem zorientować nie bardzo zna się na elektronice tak jak na komputerach. W związku z tym podsuwam pomysł i w paru słowach opisuję sposób działania proponowanego rozwiązania. Autor może dokładnie nie wiedzieć na czym to polega więc staram się go delikatnie wyprowadzić z błędu i uświadomić "skalę problemu". To, że my wiemy jak coś takiego zrobić wcale nie znaczy, że autor (i inni to wiedzą). Celem moim, jak napisałem wcześniej, jest nie narzucanie a pokazanie jednego z wielu rozwiązań. Sugerując takie a nie inne rozwiązanie brałem pod uwagę post autora. Moje rozwiązanie wydaje mi się dość proste ze względów jakie podałem wcześniej. Dodatkowo mógłbym dołożyć jeszcze jeden argument za a właściwie dwa. Mianowicie rozwiązanie szeregowe ma tą oczywistą zaletę, że te układy można łączyć szeregowo. Czyli jak będę chciał umieścić sobie, dajmy na to, 320 diod w łańcuchu co 10cm to zużyję na to (nie licząc połączeń do diod) 320m kabla. Jak dam multipleksery to ilość kabla pójdzie w kilometry. Znalezienie jakiejś usterki w takiej plątaninie kabli będzie super zajęciem na zimowe wieczory.

    Co do programu to raczej prosta sprawa. Jest to sekwencja iluś tam liczb dziesiętnych, które w jednej procedurze będą zamieniane na postać binarną i wysyłane do rejestru. Wrecz banalna sprawa.

    --
    pozdrawiam

    PS
    Tak sobie myślę, że jakby się uprzeć to urządzenie można zbudować z kilkunastu, kilkudziesięciu jednakowych, powtarzalnych bloków łączonych kablami telefonicznymi (chodzi mi przede wszystkim o szybkozłącza). Cena to oczywiście inna sprawa. Gdyby poszukać elementów SMD to płytka mogłaby być całkiem malutka. Zrobienie takiej w ilości 40sztuk nie powinno być zbyt drogie. W takich sytuacjach jednak na cenę się nie patrzy :) Powodzenia
  • Poziom 11  
    Wypowiedź Cyberdar to właśnie to o co mi chodzi. To fakt, jak ktoś to zauwarzył z elektroniki jestem początkującym, bo dopiero zacząłem się tego uczyć zawodowo. Z komputerów jest o wiele lepiej, ale z LPT tak z poważnymi rzeczami nie miałem do czynienia (bo co to za sztuka sterować 8 pinami).
    Skoro piszecie że szybkość szeregowa wystarczy to idę w opcję szeregową, bo jak już to zostało zauważone kabli będzie o wiele mniej. Potrzebne 8 głównych do podpięcia blków głównych a już z tamtych to będzie nie dużo bo max kilka metrów. Ale koszt kabli nie ważny. Byle się nie zamotać w tym wszystkim. Nie wiem czy wystarczy 2 kable dwużyłowe (jeden na dane, drugi zasilanie) bo ten od daty nie wiem czy nie będzie potrzebny reset, gdyż trzeba uwzględnić błąd w którymś momencie (może jakieś zakłucenie czy coś i rejestr zgubi jeden impuls i zaczenie jeden blok świrować).
    Tak nie byłem ostatnio na forum i trochę jest co przeanalizować. Na pierwszy rzut oka to ciężko tak wszystko połapać, muszę trochę nad tym pomyśleć. Dziękuję za zainteresowanie tym tematem.
    Dodam mój schemat nad którym myślę. Robiony w Paint-cie (ach ten profesionalizm - brak czasu i 1 dniowy system ;-) ). W zielonej ramce zaznaczone główny mój problem, o którym pisałem i nie do końca zostałem zrozumiany. Według mnie powinien działać. Nie czepiajcie się że złe piny na LPT itd bo to wszystko na szybkiego. Czarny przewód to DATA która ma ustawiać wartość bitu a czerwony to przesuwanie bitu.
    Później to dokładnie przeanalizuję.
    Dziękuję za wsparcie.

    A, i chłopaki. Gdzie mogę zdobyć dokładny opis sterowania Rejestrem przesuwanym. Może jakiś tytuł książki naukowej która by była w bibliotece Politechniki Wr. To by mi dużo pomogło, bo jaki jest sens konstruować coś jak się dokładnie tego nie zna. Zrobię to chyba na jednym kablu. Częstotliowść zawsze można zbić tranzystorem i dać przed nim jakiś mały kondensator (o ile nie obniży to sygnału przez pobór mocy) który podtrzyma na chwilkę stan wzbudzony tranzystora.
  • Poziom 31  
    Witam

    Sprawa z rejestrami szczególnie takimi o jakich wspomniałem nie jest zbyt skomplikowana. Na wejście danych podajesz wartość (bit), która ma być przesunięta. W celu przsunięcia należy podać określone zbocze, zależne oczywiście od układu. I to właściwie cała filozofia. Owszem w układach są często dodatkowe sygnały typu zezwól/zablokuj, resetuj, przepisz itp. ale to są dostawki.
    Taki rejestr właściwie mógłbyś "ręcznie" przetestować wymuszając odpowiednie sygnały na wejściach. Notę do układu, który zaproponowałem (74595) znajdziesz na www.elenota.pl.

    --
    pozdrawiam
  • Poziom 39  
    jednak muszę się przyczepić do Twojego rysunku , cały czas mówimy o szeregowych rejestrach przesuwnych a wiec dane musisz wysłać bit po bicie (szeregowo) a cały bajt (równolegle)
    jak sobie wyobrażasz wykorzystanie Qa do generacji sygnału CLK a pozostałe wyjścia do danych ?
    osobiście korzystam z dość wiekowej książki 'Układy scalone TTL w systemach cyfrowych " autorzy Jan Pieńkos , Janusz Turczyński być może były wznowienia i bardziej aktualne układy , jednak podstawy znajdziesz w tej książce z dobrym opisem działania
  • Poziom 11  
    Tak, to co zrobiłem jest trochę dziwne. Jest ta książka w bibliotece z 1980 i 1986 r., może uda mi się dorwać nowsze wydanie, bo starsze jest dostępne bez problemu. Jutro idę po lekturę.
    Ręcznie popróbuję, dlaczego nie. Jak będę miał chwilę czasu to polecę po parę układów. Naprawdę chłopaki wsparliście mnie. Mam nadzieję że zdążę to wszystko pojąć na czas by cały projekt się udał.
    Dzienki wszystkim. Narazie uśpimy temat do czasu aż skończę lekturę i pierwszych testów.
  • Spec od GSM
    Kurde, po co tak kombinować - matryca 16x16 to 4 układy I2C PCF 8574. Prosty sterownik I2C pod RS/LPT i ciągniesz 2 kable do matrycy. Jeśli wymiary daleko odbiegają od czworoboków to trzeba zastosować liniową koncepcję - wtedy 2 kable I2C +zas i co parę metrów dajesz moduł I2C/8bit. Tylko ilość takich modułów będzie spora.
  • Poziom 11  
    Teraz jak mnie wtajemniczyli to myślę tak. Rejestry przesuwane CD4094 łączone kaskadowo. Idzie jeden kabel 2-żyłowy, ale planuję 3-żyłowy dla funkcji STORBE i OUT ENABLE (znaczy się OUT Enable będzie aktywne cały czas, tylko sterowanie STORBE). Do tego zasilanie i będzie ok. Może nawet sterownika nie trzeba będzie dodatkowego, bo ten rejestr jest przeznaczony do sterowania urządzeniami do 24 V czy do 16V czy coś ok. tego.
    Twój pomysł też dobry, ale chyba łatwiejszy ten. Prościej z programowaniem. Co jak co, mam możliwości sporo dzięki Wam.

    Tylko tak myśl mi chodzi po głowie, a opini na jej temat jest wiele i każdy mówi inaczej. Mianowicie, czy jest sens zabezpieczać LPT. Jako zasilacz będzie zasilacz komputerowy (może dwa, albo 3) i podłączony jak zwykle przez ten rejestr. Czy opornik i dioda wystarczą? Ja myślę że tak, prąd pod LPT nie powinien wrócić, dioda powinna zatrzymać takie napięcie.

    Jak już wszystko to zrobię i jak będę miał jakieś zdjęcia z tego całego show to rzucę parę (ale do tego jeszcze trochę czasu jest).
  • Poziom 39  
    zanim zaczniesz budowę , pogłęb swoją wiedzę bo szkoda kasy , nerwów i na koniec rozczarowania ..........
    4094 ma faktycznie Uzas max 20V ale prąd wyjścia Ioh max 10mA co wystarczy z biedą do wysterowania Led
    przy Twojej zabawie z LPT powinna być zastosowana separacja , jeden błąd i masz po porcie w skrajnym przypadku po płycie głównej , przykład separacji masz tu http://www.ottop.republika.pl/optolpt/lpt_schb.jpg
    życzę powodzenia
  • Poziom 11  
    Jeszcze raz dzięki. Zabezpieczę port dla świętego spokoju. Wiedzę aktualnie pogłębiam, trochę mi to zajmie czasu. Jeszcze parę takich książek i dom zbuduję.
    Myślę że dość informacji mi udzieliliście. Temat można tymczasowo zamrozić. Kiedyś jeszcze się odezwę z rezultatem projektu.
  • Użytkownik usunął konto  
  • Poziom 1  
    Ja jestem z kolei początkującym - studenką informatyki i potrzebuję odpowiedzi na kilka pytań, jakie mnie czeka na egzaminie z Systemów cyfrowych i podstaw elektroniki. Dodam, że jestem w tym temacie zupełnie zielona i chcę to po prostu zaliczyć. Dla mnie to jeden z tych przedmiotów (niewielu), który muszę przejść.

    A pytania brzmią:
    Ile impulsów zegarowych należy podać dla szeregowego załadowania do
    rejestru przesuwnego bajtu informacji?
    Jak przekształcić demultiplekser w dekoder?


    Z góry dzięki za odpowiedź.

    Pozdrawiam!