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

Jak zabezpieczyć GPIO Raspberry PI przy podłączaniu czujników zalania, drzwi i DHT21?

matik998 03 Lut 2016 15:46 5508 13
  • #1 15399864
    matik998
    Poziom 11  
    Posty: 68
    Ocena: 2
    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 15585240
    masterpascaler
    Poziom 11  
    Posty: 86
    Pomógł: 2
    Ocena: 15
    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 15585879
    ditomek
    Poziom 22  
    Posty: 590
    Pomógł: 24
    Ocena: 230
    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 16481701
    _jta_
    Specjalista elektronik
    Posty: 49150
    Pomógł: 3212
    Ocena: 4260
    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.
  • #6 16481711
    Konto nie istnieje
    Konto nie istnieje  
  • #8 16481860
    Konto nie istnieje
    Konto nie istnieje  
  • #9 16481945
    Konto nie istnieje
    Poziom 1  
  • #11 16550129
    _jta_
    Specjalista elektronik
    Posty: 49150
    Pomógł: 3212
    Ocena: 4260
    :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 16550220
    Konto nie istnieje
    Poziom 1  
  • #13 16550389
    _jta_
    Specjalista elektronik
    Posty: 49150
    Pomógł: 3212
    Ocena: 4260
    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 16550496
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono kwestie zabezpieczeń GPIO Raspberry Pi przy podłączaniu czujników zalania, drzwi oraz czujnika DHT21. Użytkownicy sugerowali zastosowanie rezystorów na złączach GPIO, aby chronić Raspberry Pi przed uszkodzeniem. Proponowano również użycie translatorów poziomów, które mogą zapewnić dodatkowe zabezpieczenie. W przypadku czujnika DHT21, który wymaga dwukierunkowej komunikacji, zalecano podłączenie dwóch pinów oraz zastosowanie diod Schottky dla lepszej ochrony. Wskazano na możliwość użycia diod TVS oraz układów dedykowanych, takich jak PCA9306, które oferują wysoki poziom zabezpieczenia. Uczestnicy dyskusji podkreślali znaczenie doboru odpowiednich komponentów oraz ich dostępności na rynku.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA