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

Połączenie modułów, taśma połączeniowa, zasilanie.

WaldekPrzybyłek 23 Lut 2007 14:55 1068 6
  • #1 23 Lut 2007 14:55
    WaldekPrzybyłek
    Poziom 14  

    Chciałbym "sklecić" sterownik z dużą ilością wej/wyj.Ponieważ zależy mi na szybkości działania, postanowiłem , że odczyt wejść i zapis wyjść odbędzie się szyną równoległą. Wej i wyj chcę pogrupować po 8 w osobnych obudowach na szynę 35mm.Połączenie pomiędzy modułami wykonałbym taśmą wieloprzewodową ze złączami idc a zasilanie osobnymi przewodami ze wspólnego zasilacza. Każdy moduł zaopatrzyłbym w zatrzask 573 i komparator 7485 do adresowania. W modułach wejściowych wyjścia( 573 ma wyj trójstanowe) chcę spiąć wszystkie razem a 7485 miałby sterować końcówką /OE danego zatrzasku. W modułach wyjściowych te same podzespoły ale 7485 sterowałby końcówką LE .Dałoby mi to 8bit danych i 4 adresu z wej i tyle samo z wyjść. Ponieważ szerokość każdego modułu to ok 5cm , to w całej okazałości szerokość to ok 100cm. Oczywiście wyj/wyj z separacją na transoptorach.
    Pytanie : czy na takiej odległości jest możliwa bezzakłóceniowa komunikacja pomiędzy modułami?
    Czy taśmę połączeniową jakoś ekranować?
    Czy można tak beztrosko zasilać moduły z jednego zasilacza?
    Zastosowałbym całą masę kondesatorów 100n+ jakieś dławiki przeciwzakłóceniowe w każdym module.
    Pobór prądu na moduł to ok 15mA - 20 mA.
    Ze swoimi projektami nigdy nie wychodziłem za 1 pcb dlatego proszę o opinie.
    Pozdrawiam.

    0 6
  • Sklep HeluKabel
  • Pomocny post
    #2 23 Lut 2007 16:21
    genetix
    Poziom 24  

    WaldekPrzybyłek napisał:
    czy na takiej odległości jest możliwa bezzakłóceniowa komunikacja pomiędzy modułami?
    tak - w rozsądnych prędkościach.
    WaldekPrzybyłek napisał:
    Czy taśmę połączeniową jakoś ekranować?
    nie, np. magistrale IDE nie są ekranowane, a "wyciągają" niezły transfer...
    WaldekPrzybyłek napisał:
    Czy można tak beztrosko zasilać moduły z jednego zasilacza?
    tak, przy zastosowaniu kondensatorów odsprzęgających...

    0
  • Sklep HeluKabel
  • #3 23 Lut 2007 16:37
    WaldekPrzybyłek
    Poziom 14  

    Co do prędkości - "sercem" będzie M16 na budziku 16MHz a program będzie działał na zasadzie:
    - odczyt wejścia ( cały moduł na raz)
    - spełniony warunek- wysterowanie wyjścia
    i tak w pętli w kółeczko.
    Czyli prędkość w porównaniu do IDE znikoma- pewnie << 1MHz.
    Ale środowisko może być dość zakłócone - czy wtedy da radę pocignąć?
    Pozdrawiam.

    P.S.Oczywiście piszę o szybkości taktowania magistrali.

    0
  • Pomocny post
    #4 23 Lut 2007 19:29
    al555
    Poziom 20  

    Proponowałbym oszacować rzeczywistą potrzebną prędkość odpytywania modułów.

    Może wystarczy transmisja szeregowa 115kb,
    gdy paczka danych paczka będzie 10 bajtów ( CRC16, dane itp) to ok. 1ms, pobieżnie licząc wystarcza to do odpytania 1000razy/sekunde modułów - może to wystarczy ?? ;-), dla 10 modułów to 100razy / sekunde !.

    Uważam że niepotrzebnie brniesz w skomplikowane połączenia
    A obawiam się że zabrniesz niepotrzebnie w uodparnianie na zakłócenia !
    A tak masz tylko 3 kable ( lub nawet 2 gdy zastosujesz RS485).

    Połączenia wiązką 12 przewodową kilku modułów - to naprawdę nie będzie sympatycznie wyglądało - a już na pewno niezbyt profesjonalnie



    Pozdrawiam.

    0
  • #5 23 Lut 2007 20:13
    WaldekPrzybyłek
    Poziom 14  

    Pierwotnie tak miało być - nawet zaprojektowałem płytkę - ale co do zakłóceń - ttl chyba bardziej są odporne od tiny2313 .
    Kolejny problem to zasilanie - dopiero dużo zabiegów aby atmelek się nie sypał.
    Co do estetyki - taśma ułożona prostopadle do modułów (nic nie odstaje) więc w oczy za bardzo nie będzie kłuć.
    Co do szybkości - chciałem, aby program pracował prawie real time, dlatego zacząłem się zastanawiać nad zmianą transmisji.
    Docelowo sterownik zainstalowany będzie w maszynie ,gdzie poszczególne segmenty będą pracować niezależnie- stąd nacisk na szybkość reakcji.
    Ciekawe , jak szybko odpytuje sterownik moduły u takich gigantów jak Siemens czy Omron

    0
  • Pomocny post
    #6 24 Lut 2007 10:10
    al555
    Poziom 20  

    Wiem ze jak ktoś sobie coś umyśli to ciężko go przekonać - z własnego doświadczenia to wiem ;-)

    Ale spróbuj podejść do problemu metodycznie:

    - oszacuj ( lub przeczytaj w dokumentacji ) jak często sygnały z Twoich modułów będę analizowane.
    * jeśli stan wejść byłby odzwierciedlany tylko na diodach ( teoretycznie ) to aktualizacja klika razy na sekundę w zupełności by wystarczyła
    * jeśli z odczytu wejść i przetworzeniu w jednostce zarządzającej wynika algorytm sterowania wyjściami - a do tych wyjść podłączone są przekaźniki - to czas reakcji przekaźnika jest ok. 10ms.
    * jeśli istotą działania systemu jest np. tylko załączanie oświetlenia to czas reakcji ok 100ms jest super szybkim czasem .

    Określenie "Real Time" jest szerokie : dla układów logiki cyfrowej 1MHz to wartość znikoma, dla procesora który miałby odczytywać stan kilku wejść z taką częstotliwością i przetwarzać ( nie mylić z zegarem/kwarcem) to całkiem sporo ( dla ATmega z zegarem 16MHz to 16 cykli na jedną pełną operację odczytu - trzeba by się trochę nagimnastykować pisząc kod o ile jest to w ogóle możliwe, szczerze mówiąc wątpię), dla przetwornika ADC - to prawie jak HighEnd.

    Pamiętaj że nawet przy transmisji równoległej dobrze by było zadbać o kontrole prawidłowości transmisji. Spowolni rzeczywistą prędkość transmisji

    Wszystko się przekłada na cenę układu, koszt i czas pracy.

    A teraz konkrety - efekty zabrnięcia w ślepą uliczkę :

    Piszesz że moduły mają być 5 cm, z separacją na transoptorach.
    Ponieważ chcesz mieć real-time więc interesują cię tylko szybkie transoptory. powiedzmy że 6N136, ale one są tylko w obudowach DIP8. Pomijając kwestię ceny ( jeden 1,50 zł) to możesz się nie zmieścić w obudowie - 12 transoptorów w DIP8 ułożonych koło siebie to 13cm ! A gdzie inne układy i elementy. Oczywiście są elementy SMD, ale obawiam się że nie znajdziesz ich zbyt tanich, a do tego szybkich ( najtańszy 4 zł ).

    Kolejnym problemem będzie być może konieczność rozdzielenia magistrali zapisujące i odczytującej lub wprowadzenie dodatkowej linii która będzie blokować na zmianę linie/moduły odczytujące i zapisujące.
    Dlaczego tak jest zobaczysz jak sobie narysujesz schemat jednej linii wejściowej, wyjściowej i sterującej ( z głównego modułu) połączonych razem.

    Reasumując jeśli odległości są niewielkie to zrób wszystko na jednej płytce lub zastosuj transmisję szeregową. Jeśli odległości będą większe jak metr to obawiam się że nie przekroczysz 100kHz odczytu, więc zabawa w transmisję równoległą nie ma sens. Jeśli odległości są mniejsze jak metr to nie ma sensu ( chyba) rozdzielanie na kilka modułów.

    Wracamy do początku - analiza potrzeb to konieczność !

    Pozdrawiam
    i potraktuj uwagi życzliwie.

    P.S. Nie jestem teoretykiem ....

    0
  • #7 24 Lut 2007 15:05
    WaldekPrzybyłek
    Poziom 14  

    AL 555 - bardzo Ci dziękuję za tak wyczerpującą odpowiedź i zapewne masz rację .
    Zastosuję się więc do Twoich rad i wykonam komunikację na transmisji szeregowej stosując szybkie transoptory i pętlę prądową - co by transmisja była odporniejsza na zakłócenia.
    a obudowy chciałem zastosować takie -
    http://www.apar.pl/index.php?listing=25&id=36&b=27&a=3
    i miejsca jest prawie w sam raz.
    Jeszcze raz dziękuję.
    Pozdrawiam.

    0