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

Karta przekaźników z interfejsem szeregowym

Kubald 19 Paź 2012 21:03 9075 10
  • Karta przekaźników z interfejsem szeregowym

    Sterowana komputerowo karta przekaźników, zaprezentowana w poniższym opisie, oprócz współpracy z komputerem PC przez interfejs szeregowy, może być konfigurowana ręcznie, z wykorzystaniem przycisków. Karta może również współpracować z adapterem USB-RS232. Sercem urządzenia jest mikroprocesor PIC, a oprogramowanie sterujące urządzeniem zostało napisane w języku C#, z wykorzystaniem .NET w wersji 4. Karta przekaźników może zostać także opcjonalnie wyposażona w interfejs klawiatury, sterowanie radiowe lub poprzez Internet. Urządzenie łatwo zaadoptować do choćby sterowania otwieraniem bram lub do pracy jako kontroler dodatkowej lampy (bądź lamp) błyskowej dla fotografów.

    Główne cechy urządzenia:
    - wykorzystano przekaźniki z łącznikiem typu SPDT, wytrzymującym prąd stały o natężeniu do 10 A (przy 14 V),
    - stan każdego przekaźnika wskazuje dioda LED,
    - stan każdego przekaźnika może być ręcznie zmieniony,
    - pełna izolacja galwaniczna części sterującej i wykonawczej,
    - wbudowany zasilacz / możliwość przyłączenia zewnętrznego, dodatkowego zasilacza,
    - przycisk wyboru trybu pracy: sterowanie ręczne/sterowanie komputerem oraz dioda wskazująca tryb pracy.

    Opis układu:

    Karta przekaźników z interfejsem szeregowym

    Do konwersji poziomów sygnałów z TTL do RS232 wykorzystano układ MAX232. Urządzenie wyposażono w pięć mikroprzełączników: 4 do kontroli stanu przekaźników i jeden do wyboru trybu pracy. Serce urządzenia – mikroprocesor – odpowiada za kontrolę stanu przycisków, przełączanie przekaźników i komunikację poprzez interfejs szeregowy. Sterowanie diodami LED odbywa się z wykorzystaniem buforów tranzystorowych, zaś przekaźniki są sterowane za pośrednictwem transoptorów zapewniających właściwą izolację galwaniczną. Na płytce umieszczono również diody LED wskazujące stan zasilania i tryb pracy.

    Urządzenie obsługuje 3 tryby pracy:
    1. Sterowanie ręczne
    2. Sterowanie komputerowe przez interfejs szeregowy
    3. Sterowanie magistralą kompatybilną z 1-wire (do zaimplementowania).

    Autor sugeruje, że zamiast mikroprzełączników do sterowania ręcznego, można zastosować czujniki ruchu czy czujniki kontaktronowe w przypadku współpracy z systemami alarmowymi.

    Wbudowany zasilacz (schemat poniżej) dostarcza napięć +5V (dla części cyfrowej) oraz +14V do sterowania przekaźnikami. Za pomocą przełącznika SW1 można wyprowadzić napięcie +5V na złącze D-SUB9, celem zasilania opcjonalnych zewnętrznych sterowników: klawiatury, odbiornika IR itp.

    Karta przekaźników z interfejsem szeregowym

    Płytka drukowana została zaprojektowana w programie Proteus 7 Professional (http://www.labcenter.co.uk/). Wzór ścieżek można zobaczyć poniżej.

    Karta przekaźników z interfejsem szeregowym

    Na stronie źródłowej dostępne są wszystkie materiały, wraz z projektem PCB i wsadem do mikroprocesora.

    Fajne? Ranking DIY
    O autorze
    Kubald
    Poziom 15  
    Offline 
    Specjalizuje się w: spektroskopia exafs/xanes, uc, it
    Kubald napisał 188 postów o ocenie 112. Mieszka w mieście Kraków. Jest z nami od 2004 roku.
  • #2 11430167
    Urgon
    Poziom 38  
    AVE...

    Jakieś 8-10 lat temu w czasopiśmie komputerowym widziałem schemat karty przekaźnikowej podpinanej do portu szeregowego używającej jednego rejestru przesuwnego z zatrzaskiem i paru bramek. Karta obsługiwała osiem przekaźników, ale przez prostą modyfikację pozwalała zwiększyć ich liczbę ad infinitum, oprogramowanie zaś było napisane bodaj w Delphi...
  • #3 11433289
    _jta_
    Specjalista elektronik
    Na CD4094 - ma wejścia do przesuwania rejestru o 1 bit i przepisywania rejestru przesuwnego
    do wyjściowego; do tego na bramkach ze Schmittem na wejściach generowanie opóźnień - po
    kilku bitach od startu, i po kilkunastu bez kolejnego startu - wysyłając same '1' wpisywało się
    '1', wysyłając same '0' - '0', przerwa na czas ze 2 bajtów przepisywała przesłane dane do wyjść.
    Przy dokładniejszym doborze opóźnień (ale do tego trzeba by już raczej użyć przerzutników
    monostabilnych) można by było przesyłać po 3 bity w jednym bajcie (na RS232 normalnie jest
    '1', każdy bajt zaczyna się bitem '0', po nim są dane - bez dokładnych opóźnień trzeba wysyłać
    kilka jednakowych bitów, bo nie wiadomo, który trafi we właściwy czas; dokładne opóźnienia
    pozwalają wycelować tak, by jako dane poszły d1 '1' '0' d2 '1' '0' d3 '1', bez parzystości, zmiany
    1->0 powinny generować sygnał zegara opóźniony o 1.5 bitu, żeby trafił w środek d1, d2, d3);
    oczywiście takich rejestrów przesuwnych można połączyć dowolnie wiele, tylko jak się wysyła,
    to od razu komplet danych, bo przerwa w nadawaniu wystawi przesłane dane na wyjścia i jeśli
    było ich mniej, niż jest wyjść, to trafią na niewłaściwe wyjścia. Jest opis na naszym forum...
  • #4 11444899
    mongoł2000
    Poziom 18  
    Robiliście kiedyś takie urządzenie na układach z serii 7400? Ogólnie moje doświadzenia sa takie, że przy większych prądach te układy poprostu się gubią od zakłoceń. Dlatego wydaje mi się, że takie urządzenia lepiej robić na uP bo tam możemy się lepiej bronić przed zakłoceniami.
  • #6 11445057
    mongoł2000
    Poziom 18  
    Kondzie to podstawa, próbowaliśmy z filtrami RLC na wejsciu zasiania przy każdym układzie. Co lepsze : kity z AVT zbudowane na układach logicznych są również bardzo łatwe do zakłócenia. Generalnie na STM32 działa to elegancko nawet przy spawarce obok;P
    Użyta magistrala CAN, detekcja zera przy sterowaniu przekaźnikami, usypianie rdzenia na czas przełączenia, rejestry backupowe. Więc takie konstrukcje na układach logicznych nie maja sensu, tym bardziej, że cenowo wychodzi tez lepiej.
  • #7 11459783
    SeerKaza
    Poziom 20  
    Heyka znasz może jakieś materiały by poznać te biblioteki do obsługi portów szeregowych. Bo tez trochę znam C# i kombinuje jak by zrobić jakieś sterowanie uC z kompa ale cieżko coś znaleźć na ten temat obsługi portów programem.
  • #8 11459941
    _jta_
    Specjalista elektronik
    A do jakiego systemu? Opisy do Windows są na MSDN, ale to się ciężko czyta.
    Niezależnie od systemu (oprócz nazw portów i paru ustawień) można w Tcl-u,
    i robi się to _dużo_ łatwiej, niż w językach typu C, C++, C#, Pascal, Delphi...
    (na dodatek Tcl jest w podstawowej wersji darmowy, z innymi językami różnie;
    także darmowy jest Python, też powinno być łatwo, ale nie próbowałem). Jeśli
    trzeba współpracy z programem w C, to nie problem, Tcl łatwo łączy się z C.
  • #9 11460086
    SeerKaza
    Poziom 20  
    No właśnie Windows 7 i w przyszłości kolejne. Właśnie zależy mi na C szczególnie na C# i wykorzystywaniu platformy .NET. No skoro mówisz to będę grzebał w MSDN. Myślałem że może sa jakieś materiały na ten temat. Wiesz jestem studentem na EiT i w przyszłości chce pracować w temacie dlatego chce poznać dobrze ten temat a nie na małpe coś gotowcem zrobić.
  • #10 11460973
    _jta_
    Specjalista elektronik
    Na MSDN na pewno są, tylko to się dość ciężko czyta. I kompilatory chyba płatne?
    Ja robiłem parę programów, które używały portu szeregowego, albo połączeń przez
    Internet, i miały być używane pod Windows, wygodnie się to robiło w Tcl-u.
  • #11 11461694
    SeerKaza
    Poziom 20  
    Ja mam VS 2012 ultimate z uczelni wiec kompilator to nie problem ale i express mysle dałby rade.
REKLAMA