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

Interfejs PLC <-> Raspberry Pi (Transoptor LVT847)

30 Sty 2015 19:58 1707 2
  • Poziom 6  
    Witam,
    Muszę w jakiś sposób dogadać ze sobą sterownik PLC maszyny (24V) oraz mikrokomputer Raspberry Pi (3.3V). Chciał bym aby Raspberry Pi przez GPIO odczytywało stany jednego wyjścia z PLC. Wymyśliłem wiec interfejs oparty na układzie LVT847 (transoptor). Na diodę transoptora podaje +24V (zasilacz PLC) oraz Y. Y jest to wyjście z PLC, które gdy ma stan wysoki to działa jak GND, a przy stanie niskim nie jest GND. Wiec przy stanie wysokim Y pomiędzy +24V oraz Y jest 24V, a gdy Y zmienia stan na przeciwny, to pomiędzy +24V i Y jest 0V. +24V na diodę transoptora podaje przez rezystor 1.2k (tak wyszło z obliczeń). GPIO w raspberry Pi ustawiam na podciąganie. Do jednego z wyjść transoptora podłączam wiec jedno z we/wy GPIO, a do drugiego masę. Raspberry Pi po przez GPIO wykrywa w takiej konfiguracji bez większych problemów dwa stany Y z PLC. Przetestowałem to. Do czego wiec zmierzam.
    1. Raspberry Pi wykrywa stan wysoki gdy na wejściu transoptora pomiędzy +24V oraz Y jest napięcie w przedziale 24V~1V (dioda w transoptorze świeci).
    2. Raspberry Pi wykrywa stan niski gdy na wejściu transoptora pomiędzy +24V oraz Y jest napięcie mniejsze od 1V.
    Wszystko było by OK w idealnych warunkach gdyby pomiędzy +24 oraz Y z PLC było 24V oraz 0V. Niestety tak nie jest. 0V na PLC to w rzeczywistości np. 0,4V. Obawiam się że w niektórych sytuacjach stan niski na PLC w rzeczywistości będzie mógł wynosić więcej niż 1V (pomiędzy +24V oraz Y) i wtedy Raspberry Pi będzie wykrywało go jako stan wysoki.
    Co zrobić aby transoptor załączał się np. tylko powyżej 10V, a nie tak jak w tym wypadku 1V?

    Wszystko zobrazowałem w załączonym pliku.
    Z góry dziękuję za pomoc