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

Odczyt wartości napięcia.

bobi70 01 Lip 2017 09:32 1131 7
  • #1 01 Lip 2017 09:32
    bobi70
    Poziom 14  

    Witam.

    Walczymy z tematem odczytu wartości napięcia podawanego przez czujnik deszczu.
    Do monitoringu stanu pogody, przy realizacji układu automatyki szklarniowej, został zastosowany czujnik deszczu.
    Link
    Jego podstawowy tryb działania polega na zwarciu i rozwarciu (sucho/mokro) stycznika wewnętrznego. W stanie mokro, na przewodach sygnałowych wychodzących z płytki pojawia się napięcie powiedzmy od 0-60mV. Im bardziej zwilżona płytka czujnika tym większe napięcie.
    I teraz to napięcie chcemy zmierzyć na Raspberry.
    Jako że, RPi nie posiada pinów analogowych zastosowaliśmy nakładkę ARPI600
    Link
    Mamy z niej różne korzyści, ale podstawowa to przetwornik AD.
    Z przewodów sygnałowych czujnika kradniemy napięcie, poprzez podlutowane kabelki i doprowadzamy je bezpośrednio do Pinów A0 oraz GDN. Oczywiście zachowując polaryzację.
    I teraz pojawia się problem.
    Po zwilżeniu czujnika, napięcie wzrasta w zależności do poziomu zwilżenia. W miarę wysychania spada liniowo.
    Natomiast my odbieramy z A0/GDN, zupełnie losowe wartości (0000,0250,0168 itd).
    Jaka może być tego przyczyna?

    Próbowaliśmy zastosować odczyt z pośrednictwem płytki, Link z komparatorem. Wszytko jest OK i odczyty wydają się być prawidłowe. Jednak, płytka ta na pinach sygnałowych podaje swoje 5V, co powoduje, że przedstawiony wyżej czujnik fixuje i załącza na stałe funkcję podgrzewania powierzchni, bez względu na to, czy jest suchy czy mokry.
    Wydaje się jednak, że do odczytu napięcia powinien w zupełności wystarczyć pin analogowy!

    0 7
  • Relpol
  • #2 01 Lip 2017 09:48
    viayner
    Poziom 34  

    Witam,
    Nie bardzo rozumiem "Z przewodów sygnałowych czujnika kradniemy napięcie, poprzez podlutowane kabelki i doprowadzamy je bezpośrednio do Pinów A0 oraz GDN" - prosze o szczegolowe wyjasnienie, tu bedzie wasz problem.
    Skoro macie te nakladki na RBPi to czemu nie kozystacie z nich jak nalezy, przykladowo:
    - czujnik deszczu ma wyjsie analogowe i cyfrowe
    - na wyjsciu cyfrowym bedzie stan niski gdy wykryje opady a wiec to podlczamy do RBPi i gdy oprogramowanie wykryje ze "jest deszcz" to odczytuje jedno z wejsc analogowych z dolaczonej plytki.
    - do plytki z przetwornikiem podlaczmy czujnik deszczu - jego wyjscie analogowe, nie zaszkodzi uklad calkujacy nawet o sporej stalej czasowej - opady deszczu sa "malo zmienne w czasie".
    W linkach jest sposob podlacznie np, do arduino - tym sie sugerujcie.
    Powinno dzialac.
    Otrzymujecie wartosci przypadkowe - przemysl co tak naprawde odczytujecie.
    Sprawdz zasilanie, niestabilne zasilanie powoduje problemy.
    Pozdrawiam

    0
  • #3 01 Lip 2017 10:23
    bobi70
    Poziom 14  

    Czujnik o jakim wspominam, tzn. ten B+B służy do zupełnie innych zastosowań.
    Jest on przeznaczony bodaj do zamykania markiz okiennych. Nie ma on żadnych wyjść pozwalających na podłączenie z mikrokontrolerem.
    Ten z linku drugiego YL83 to typowy czujnik deszczu dla Arduino. Jednak jego jakość jest po prostu żadna. Przy zastosowaniu na zewnątrz - śniedzieje w krótkim czasie i nie nadaje się do poprawnego użytku.
    Ten z firmy B+B jest produktem jakościowym.
    Czujka firmy B+B pomiędzy układem elektronicznym, a samym czujnikiem ma 6 przewodów. Mają różne przeznaczenie. 2 z nich to sygnał. Sygnał jest wartością analogową, zmienną co do wartości napięcia w zależności od stanu nawilżenia czujnika. I tą wartość chcemy zmierzyć. Ponieważ te 2 wspomniane przewody łączą się bezpośrednio z płytką, po prostu (kradniemy) tj wyprowadzamy z nich 2 boczniki podłączając je do A0 i GDN nakładki ARPI600. Teoretycznie powinno działać, jako pomiar wartości napięcia. Podkreślam. Nie chcemy otrzymać odczytu cyfrowego (sucho/mokro), a wartość analogową odpowiadającą wielkości opadu.

    Czujnik firmy B+B z pierwszego linku, ma w sobie grzałkę. Służy ona do podgrzania powierzchni w przypadku wykrycia opadu. Dla szybszego suszenia czujki. W ten sposób po ustaniu opadu, płytka wysycha szybko, wykrywając stan - brak opadu. Wtedy nie ma sytuacji, że zalegająca na czujce woda opadowa zafałszuje odczyt.
    Podłączenie w opisany sposób do ARPI600 powoduje generowanie zupełnie losowych odczytów przy stanie na mierniku od 0-60mV.

    Jak wspomniałem, układ YL83 z drugiego linku, ma słąby jakościowo czujnik. Nie nadaje się on do użycia na zewnątrz. Ale przepuszczenie sygnału z czujnika B+B przez płytkę z elektroniką czujki YL83 pozwala odczytać prawidłowo napięcie!
    Jest jednak pewien problem. Piny na które wprowadza się sygnał z czujki są pod napięciem 5V w czujce YL83. Złączenie czujnika B+B z elektroniką od YL83 powoduje prawidłowy odczyt napięcia, ale napięcie na pinach YL83 uruchamia funkcję grzania płytki. Nie mogę więc zaakceptować połączenia tych 2 urządzeń.

    0
  • Relpol
  • #4 02 Lip 2017 10:23
    viayner
    Poziom 34  

    Witam,
    niestety link nie dziala - produkt wyprzedany wiec nie moge porownac.
    Pojecie "kradniemy" jakos mi nie pasuje, skoro masz te 6 wyjsc i na nich jest szukany sygnal to po co "kradniemy" ?
    Logiczne podlaczenie (no oko bo nie mam datasheet'u):
    - Zmiana stanu czujnika = wykrycie deszczu/zwilzenia powierzchni - wyzwala RBPi i uruchamia odczyt wartosci napiecia, nie ma sensu czytanie tego wejscia gdy jest suche.
    - Aby sprawdzic czy deszcz ustal proponuje co np. 1min wyslac opdowiedni sygnal aby wysuszyc czujnik, jezeli np. 30s suszenie nie daje sygnalu analogowego odpowiadajacego suchemu czujnikowi = deszcz nadal pada
    Podeslij datasheet'y
    Pozdrawiam

    0
  • #5 02 Lip 2017 13:46
    bobi70
    Poziom 14  

    Sprawa dziwna. Bo produkt jest. Zmiana linka??
    Nie ważne.
    Poniżej prawidłowy.
    Link
    W opisie produktu są linki do instrukcji w kilku językach.
    Z samych instrukcji nie wiele wynika niestety. Czujnik ów jest "fabrycznie" do zastosowania nieco innego niż samo rozpoznawanie deszcz/nie deszcz. On służy do wysterowania zewnętrznego urządzenia zamknij/otwórz, poprzez zawarty wewnątrz stycznik. Np markiza, okno - w przypadku wykrycia opadu.
    zbudowany jest on z części elektroniczno/elektrycznej i podłączonej do niej poprzez wtyk RJ na przewodach części czujnikowej.
    Sam czujnik występuje jako element oddzielnie dostępny i tu jest jego karta katalogowa wraz z opisem technicznym oraz 3 fotki na których niby jest rozrysowane połączenie elektryczne płytki czujki.
    Czujnik, Manual
    Czujnik działa w następujący sposób: po wykryciu opadu na pinach 2-3 płytki czujnika, pojawia się mierzalna wartość napięcia. Ma ona wartość od 0V (w pełni suchy) do 50-60mV (w pełni mokry). Jednocześnie po wykryciu wilgoci, załącza się grzałka wspomagająca suszenie płytki czujnika.
    Żeby spróbować wpiąć ów czujnik do naszych zastosowań, z pinów 2-3, widocznej na zdjęciu wtyczki RJ, wyprowadzamy sygnał do nakładki na RPi-Arpi600. Wpinamy + na A0 i - na GDN linii Arduino.
    Teoretycznie powinno się zmierzyć napięcie, gdyż ARPI ma przetwornik.
    To co opisałem-tj. wyprowadzenie napięcia z pinów 2-3 poza obwód samego czujnika, określiłem wcześniej jako "kradniemy".
    To wszystko powoduje, że z Raspberry z nakładką ARPI, dostajemy zestaw losowych zupełnie cyfr. Teoretycznie nie mają one żadnego związku z podanym napięciem.
    Próbowaliśmy podpiąć ów czujnik do podobnego działąjącego układu dedykowanego dla Raspberry/Arduino, YL-83. Zamiast płytki czujki YL wpinamy swój czujnik. I wszystko działa OK. Z tym, że na wejściu czujki YL jest napięcie. Połączenie naszego czujnika, z płytką czujnika YL powoduje załączenie grzałki w naszej czujce na stałe, a to jest nie dopuszczalne.
    I cała historia. Mam nadzieję, że wytłumaczyłem jasno.
    Czemu mając sygnał w postaci analogowego napięcia. W znanym poziomie. Nie możemy go odebrać na ARPI600 po złączu analogowym. Teoretycznie powinno się to zachowywać jak Arduino?

    Czemu chcę ten czujnik z pełną funkcjonalnością?
    My będziemy wykorzystywać pełen zakres wskazań. Nie tylko sucho/mokro.
    Chcemy przyjąć, że w zakresie napięcia od (np.) 40-60mv pada mocny deszcz, zamknij wietrzenie. od 40-20 pada słaby deszcz uchyl wietrzenie. od 0-20 pada kapuśniaczek zachowaj wietrzenie w pozycji nie zmienionej.

    0
  • #6 02 Lip 2017 17:50
    vania
    Poziom 22  

    bobi70 napisał:

    Czujnik działa w następujący sposób: po wykryciu opadu na pinach 2-3 płytki czujnika, pojawia się mierzalna wartość napięcia. Ma ona wartość od 0V (w pełni suchy) do 50-60mV (w pełni mokry). Jednocześnie po wykryciu wilgoci, załącza się grzałka wspomagająca suszenie płytki czujnika.
    Żeby spróbować wpiąć ów czujnik do naszych zastosowań, z pinów 2-3, widocznej na zdjęciu wtyczki RJ, wyprowadzamy sygnał do nakładki na RPi-Arpi600. Wpinamy + na A0 i - na GDN linii Arduino.
    Teoretycznie powinno się zmierzyć napięcie, gdyż ARPI ma przetwornik.
    To co opisałem-tj. wyprowadzenie napięcia z pinów 2-3 poza obwód samego czujnika, określiłem wcześniej jako "kradniemy".
    To wszystko powoduje, że z Raspberry z nakładką ARPI, dostajemy zestaw losowych zupełnie cyfr. Teoretycznie nie mają one żadnego związku z podanym napięciem.

    Robisz to źle! W linku który podałeś masz schemat samego czujnika z opisem. Czujnik to dwa kondensatory (grzebienie wytrawione na płytce) zasilane napięciem zmiennym z generatora na bramce. Podłączając się do do pinów 2 i 3 to po pierwsze obciążasz wyjście a po drugie mierzysz napięcie zmienne. W zależności od częstotliwości próbkowania przetwornika otrzymasz właśnie losowe wartości. Podłącz do tych wyjść oscyloskop zamiast multimetru i wtedy zobaczysz co tam jest.

    0
  • #7 02 Lip 2017 21:54
    bobi70
    Poziom 14  

    Jeśli jest tak jak piszesz, to temat mnie przerasta.
    Po pierwsze nie mam oscyloskopu.

    Przyszedł mi jednak do głowy pewien pomysł.
    Zdołałem ustalić że na pinach 1-6 jest napięcie 10,5V. Napięcie to jest na stałe. Po wyjęciu zworki ogrzewania napięcie ginie. Poza tym na tych pinach jest pewien opór. Płytka czujnika jest ciepła cały czas. A po wyjęciu zworki grzania i zgubieniu napięcia, staje się zimny.
    Wszystko by więc wskazywało na to, że na pinach 1-6 jest podawane napięcie służące do podgrzewania powierzchni czujki?
    Pomysł o jakim wspomniałem jest następujący.
    Sam czujnik, tzn jego część zewnętrzna+część elektroniczna drugiej czujki (podałem link), złączone ze sobą poprzez przewody z pinów 2-3 i podpięte do ARPI zdają się działać prawidłowo.
    Trzeba wyrzucić całą elektronikę fabryczną z problematycznego czujnika i zamienić ją płytką z komparatorem od YL83. Ona jest zasilana z RPi +5V. W ten sposób dostaniemy prawidłowe dane.
    Zasilanie oprogramować na Raspberry i podać 10V prądu stałego(?) z dowolnego zasilacza poprzez kartę z przekaźnikiem, podać najlepiej na takiej zasadzie, że kiedy czujka wyjdzie ze stanu suchy- niech się grzeje do momentu aż czujnik prze.stanie wykrywać wilgoć.
    Co sądzisz o tym?

    Inaczej będę miał trudności. Skoro twierdzisz, że robię to źle, to nie przychodzi mi do głowy żaden inny sposób jak połączyć sygnał s RPi

    0
  • #8 04 Lip 2017 23:31
    vania
    Poziom 22  

    bobi70 napisał:
    Przyszedł mi jednak do głowy pewien pomysł.
    Zdołałem ustalić że na pinach 1-6 jest napięcie 10,5V. Napięcie to jest na stałe. Po wyjęciu zworki ogrzewania napięcie ginie. Poza tym na tych pinach jest pewien opór. Płytka czujnika jest ciepła cały czas. A po wyjęciu zworki grzania i zgubieniu napięcia, staje się zimny.
    Wszystko by więc wskazywało na to, że na pinach 1-6 jest podawane napięcie służące do podgrzewania powierzchni czujki?

    Dokładnie tak jest, wynika to z przedstawionego schematu podłączenia czujnika.

    bobi70 napisał:
    Pomysł o jakim wspomniałem jest następujący.
    Sam czujnik, tzn jego część zewnętrzna+część elektroniczna drugiej czujki (podałem link), złączone ze sobą poprzez przewody z pinów 2-3 i podpięte do ARPI zdają się działać prawidłowo.
    Trzeba wyrzucić całą elektronikę fabryczną z problematycznego czujnika i zamienić ją płytką z komparatorem od YL83. Ona jest zasilana z RPi +5V. W ten sposób dostaniemy prawidłowe dane.
    To nie czujnik jest problematyczny. Po prostu ten czujnik jest przeznaczony do wykrywania deszczu na zasadzie jest/nie ma z regulacją progu zadziałania. Ja bym raczej poszedł w sprawdzenie czy da się odpowiedni sygnał znaleźć w oryginalnej elektronice. Wrzuć może jakieś dobre zdjęcia elektroniki, spisz układy scalone które tam są.

    bobi70 napisał:
    Zasilanie oprogramować na Raspberry i podać 10V prądu stałego(?) z dowolnego zasilacza poprzez kartę z przekaźnikiem, podać najlepiej na takiej zasadzie, że kiedy czujka wyjdzie ze stanu suchy- niech się grzeje do momentu aż czujnik prze.stanie wykrywać wilgoć.
    Co sądzisz o tym?
    Co do grzałki to jak najbardziej można tak zrobić.

    0
  Szukaj w 5mln produktów