Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zabezpieczenie GPIO Raspberry PI

matik998 03 Lut 2016 15:46 3129 13
  • #1 03 Lut 2016 15:46
    matik998
    Poziom 11  

    Witam
    Potrzebuję podłączyć do Raspberry kilka czujników zalania, czujniki otwarcia drzwi, oraz czujnik temperatury i wilgotności DHT21.
    Czujniki zalania i otwarcia drzwi będą podłączone poprzez ekspander MCP23017, natomiast DHT21 będzie podłączone bezpośrednio do Raspberry.
    Pytanie czy powinienem zastosować jakieś zabezpieczenia przeciw przepięciowe itp zarówno przy czujnikach podłączonych do ekspandera jak również przy czujniku DHT21. Jeżeli tak to jakie?

    Pozdrawiam

  • #3 06 Kwi 2016 21:50
    masterpascaler
    Poziom 9  

    k750i napisał:

    Tak jak kolega napisał. Najprościej - rezystory na każdym jednym złączu GPIO - o jak najmniejszej wartości. Jak się ma coś zjarać, to niech to będzie rezystor za 10 groszy niż Raspberry za 180 złotych. Jeśli wartość rezystorów będzie zbyt duża (a przez to napięcia zwrotne zbyt małe, GPIO "czyta" w porządku jeśli dobrze pamiętam już od 2.7V) można się będzie ratować zastosowaniem rezystorów pull-up i podciągnąć nieco zasilania z GPIO, zależnie od napięcia wyjściowego podłączonych czujników (Adekwatnie 3.3V -> 3.3V, 5V -> 5V)

  • #4 07 Kwi 2016 08:48
    ditomek
    Poziom 19  

    Ja zastosowałbym najpopularniejszy translator poziomów. Nawet gdyby miał "translować" 3,3 <-> 3,3V. Dzięki temu po drodze od RPI do czujnika masz tranzystor, który powinien przejąc wszystkie niebezpieczeństwa. Takie zabezpieczenie jest bardzo tanie.

  • #5 17 Maj 2017 18:57
    _jta_
    Specjalista elektronik

    O ile rozumiem, DHT21 używa jednego przewodu do przesyłania danych w obie strony, więc proste translowanie poziomów nie będzie działać (to samo będzie dla 1-Wire), bo ze swej natury jest jednokierunkowe. Najprościej użyć do łączności z DHT21 dwóch pinów, jeden jako wyjściowy, drugi jako wejściowy, i do nich odpowiednio podłączyć translatory. Ale to wymaga dostosowania programu, żeby używał dwóch pinów, a nie jednego jako dwukierunkowego.

    Nie wiem, czy diody Zenera dają skuteczne zabezpieczenie - lepsze dadzą diody Schottky, ale ich trzeba 2X więcej (na każdy pin 2: jedna anodą do masy, katodą do pinu, druga anodą do pinu, katodą do +3V, a to +3V trzeba uzyskać np. ze spadku napięcia na 4-ch szeregowo połączonych diodach 1N4001, od tych "+3V" do masy, i zasilając je przez opornik z +5V, równolegle do nich kondensator). Diody Schottky przewodzą przy niskim napięciu, więc bardziej ograniczą napięcie, zanim zacznie przewodzić jakaś dioda pasożytnicza w procesorze, i są szybkie.

  • #7 17 Maj 2017 19:57
    _jta_
    Specjalista elektronik

    A jak sobie wyobrażasz dwukierunkowy translator poziomów na jednym przewodzie?

  • #9 17 Maj 2017 20:42
    Marek_Skalski
    Poziom 33  

    _jta_ napisał:
    Nie wiem, czy diody Zenera dają skuteczne zabezpieczenie - lepsze dadzą diody Schottky, ale ich trzeba 2X więcej (na każdy pin 2: jedna anodą do masy, katodą do pinu, druga anodą do pinu, katodą do +3V, a to +3V trzeba uzyskać np. ze spadku napięcia na 4-ch szeregowo połączonych diodach 1N4001, od tych "+3V" do masy, i zasilając je przez opornik z +5V, równolegle do nich kondensator). Diody Schottky przewodzą przy niskim napięciu, więc bardziej ograniczą napięcie, zanim zacznie przewodzić jakaś dioda pasożytnicza w procesorze, i są szybkie.

    Kolego Specjalisto, następnym razem zamiast proponować jakieś karkołomne rozwiązania z setką elementów, zaproponuj układy dedykowane do takich zastosowań i zajmują kilka mm2, a gwarantują znacznie wyższy poziom zabezpieczenia niż kilka sztuk 1N4001.
    Do wyboru, posortowane według ceny: http://nl.mouser.com/Circuit-Protection/ESD-Suppressors-TVS-Diodes/_/N-jy72Zscv7?Ns=Pricing|0
    Ja lubię elementy z serii PRTR i używam ich np. dla portów USB.
    _jta_ napisał:
    A jak sobie wyobrażasz dwukierunkowy translator poziomów na jednym przewodzie?

    Na przykład tak: http://www.ti.com/lit/ds/symlink/pca9306.pdf
    Koszt około 3 złotych.
    masterpascaler napisał:
    Najprościej - rezystory na każdym jednym złączu GPIO - o jak najmniejszej wartości.

    Ta porada jest bez sensu. Jak najmniejsza wartość, oznacza brak dodatkowego elementu, czyli brak zabezpieczenia. Chyba nie o to chodziło?
    Jak już nie ma innej możliwości i ten rezystor jest konieczny, to dobiera się go w oparciu o prąd graniczny, jaki wytrzymuje port. Z drugiej strony obecność szeregowego rezystora nie może zaburzać poziomów logicznych. W praktyce są to rezystory rzędu 10-33 omów, czasami trochę więcej.

  • #11 25 Cze 2017 15:53
    _jta_
    Specjalista elektronik

    :arrow: Marek_Skalski #9
    Dałeś link do diod TVS - pytanie, czy jest łatwa do kupienia (bez zamawiania wysyłki, na którą poczekam 2 miesiące), która się nadaje? Jeśli będzie przewodzić przy zbyt niskim napięciu, to zakłóci działanie magistrali, jeśli przy zbyt wysokim - niczego nie zabezpieczy. Może się okazać, że wśród diod o jednym nominalnym napięciu będą i takie ze zbyt niskim, i takie ze zbyt wysokim, i wypadnie selekcjonować je ręcznie - pytanie, jaki % będzie się nadawać.

    PCA9306 jest ciekawym pomysłem, ale nie widzę, żeby był w cenie 3zł - EleCena.PL najtaniej znajduje w cenie ponad 24zł, a to już jest znacznie drożej, niż układ z optoizolacją (z optoizolacją kosztuje kilkanaście zł; ten ma wspólną masę). Tyle, że chyba praktycznie nie ma ograniczenia szybkości (inne elementy magistral I2C i 1-Wire ograniczają bardziej), a układ z optoizolacją działa tylko do 1MHz (sama I2C do 3.4MHz). I są darmowe próbki - może ktoś je bierze i sprzedaje po 3zł, i stąd masz taką cenę? Ale nie po to producent wysyła darmowe próbki...

    :arrow: Piotrus_999 - MAX3394 znalazłem przez EleCena.PL po 6.50zł. Czy to jest tylko do 1-Wire, czy nada się też do I2C i do jakiej szybkości?

    W międzyczasie trafiłem na schemat translatora poziomów na tranzystorze: NPN, baza przez opornik do +3.3V, kolektor do strony z magistralą 5V, emiter do strony z magistralą 3.3V; dodatkowo można zabezpieczyć transilami przed napięciem powyżej napięcia przebicia kolektor-emiter tranzystora i Pi powinno być skutecznie chronione. I przyznam, że zaskoczyło mnie, że to się da zrobić w taki prosty sposób.

    Można chyba też ręcznie "wyrzeźbić" jakiś układ z optoizolacją, ale po pierwsze będzie nieco skomplikowany (nie próbowałem jeszcze rozrysować i zrobić analizy działania - czy nie będą w nim powstawać zakłócenia), po drugie dla I2C mogą być problemy z szybkością transferu (a z co wolniejszymi transoptorami może i dla 1-Wire) - czy jakiś w miarę tani transoptor przeniesie częstotliwość parę MHz? Do 1-Wire wystarczy pewnie ze 100kHz, więc tu już łatwiej. Zasada działania byłaby jedna z: (1) strona, która dostaje od drugiej stan L, nie może go nadawać z powrotem; albo (2) strona, która sama nadaje stan L, ignoruje sygnał stanu L od drugiej strony.

  • #12 25 Cze 2017 16:52
    Marek_Skalski
    Poziom 33  

    Nie wiem gdzie Kolega mieszka, że przesyłka może iść 2 miesiące. Jak zamawiam części w Mouser (USA), to mam je najdalej w 48h (Holandia). Jeżeli dla Kolegi wyznacznikiem dostępności jest jakiś mało znany, lokalny dystrybutor, to bardzo mi przykro.
    TVS, które zaproponowałem są dedykowane do zabezpieczania linii i te dywagacje na temat ręcznego dobierania egzemplarzy są po prostu śmieszne. Używam ich w niemal każdym projekcie i nigdy nie miałem problemów, ani w aspekcie zakłócania transmisji, ani w aspekcie uszkodzenia wejścia na skutek różnicy potencjałów podczas podłączania. Działają bardo dobrze.
    PCA jest tutaj: http://nl.mouser.com/ProductDetail/Texas-Inst...GAEpiMZZMswyCOIqqEme7xUZTwvSX6LCXxVckA1Hoc%3d
    Aktualnie dostępnych jest ponad 12 tysięcy sztuk. Za mało? Kolejne 6 tysięcy w drodze. Czy cena 0,555 euro za sztukę to dużo? Jakieś 2,82 PLN z VAT. Ale pewnie stwierdzisz, że za drogo, bo trzeba zapłacić za przesyłkę. Jak zrobisz zakupy za >50EUR, to przesyłka jest za darmo. Dostawa w 48h. Na pewno nie 2 miesiące.

    Ale jak rozumiem, Kolega woli "rzeźbić" jakieś cuda, które z pewnością będą lepsze, tańsze, bardziej niezawodne, mniejsze i ogólnie super.
    Autor tematu szukał zabezpieczeń przepięciowych dla długich linii (analogowych), a nie translatora poziomów do I2C czy 1-Wire. Szukał i już do tematu nie wrócił.

  • #13 25 Cze 2017 18:16
    _jta_
    Specjalista elektronik

    Nie zaproponowałeś konkretnej diody TVS, tylko podałeś link do wyszukiwarki - którą należy wybrać do zabezpieczenia GPIO w Raspberry Pi? Przeglądałem kiedyś parametry transili, i pamiętam, że mogły mieć spory rozrzut - chciałbym wiedzieć, czy akurat dla tych TVS, które proponujesz, jest wystarczająco mały.

    Nie rozumiem tego "nie wiem, gdzie kolega mieszka", przecież Elektroda to podaje - Warszawa, stolica Polski. Pewnie zakupów za 50 Euro nie zrobię, bo nie zajmuję się produkcją sprzętu, więc chętnie bym się dowiedział, ile kosztuje wysyłka przy niewielkim zakupie - jakoś nie mogę u nich tej informacji znaleźć.

    Chętnie bym się też zorientował, do jakiej szybkości przesyłania danych to się nadaje - czy prześle poprawnie np. 125Mbit/s? To przesyła jeden tor, czy dwa? Bardo możliwe, że będę potrzebował tyle przesyłać, jakieś zabezpieczenie będzie bardzo potrzebne, a na tranzystorach ciężko byłoby je zrobić, musiałyby być bardzo szybkie.

    Autor tematu chciał podłączać do Raspberry Pi czujniki wielkości analogowych, ale przesyłanie (i linie) miały być cyfrowe.

    Aha, i EleCena.PL to nie jest lokalny dystrybutor, tylko wyszukiwarka ofert dystrybutorów - może Mouser się do nich nie zgłosił, albo coś zmienił w swoim systemie i łączność przestała działać, bo jakoś ich oferty nie znalazło.

  • #14 25 Cze 2017 19:03
    Marek_Skalski
    Poziom 33  

    Napisałem dawno temu.

    Marek_Skalski napisał:
    Ja lubię elementy z serii PRTR i używam ich np. dla portów USB.
    Tak dokładnie, to najczęściej kupuję PRTR5V0U4 (4 linie + zasilanie). Radzą sobie nawet z USB HS, więc 480Mbps.
    Przy zakupach poniżej 50 euro, koszt przesyłki w Mouser wynosi 20 euro.
    Ale te elementy są dostępne u wielu dystrybutorów. Na przykład w Farnell (1,87 PLN). W TME jest dostępny PRTR5V0U2 - 2 linie + zasilanie.
    Zamiast elecena.pl używam www.findchips.com..

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME