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

Sonda pH i Arduino - jak odczytywać wartość napięcia z sondy?

09 Sie 2017 00:11 1914 8
  • Poziom 17  
    *Cześć!

    Posiadam takie sondy: http://www.hydromet.com.pl/elektrody-ph/elektrody-zespolone-ogniwa-pomiarowe/erh-,18,2,45
    Sztuk dwie. Są to proste sondy na BNC z odniesieniem.

    Mój pH-metr zaczął się zachowywać dziwnie - odczyty są w porządku, wartość w mV są względnie ok, ale potrzebuję to urządzenie skalibrować (pH 6 jest odczytywane jako pH ~7). Niestety, ustrojstwo się nie daje i kalibracja na dwie substancje odniesienia powoduje błąd (Mettler Toledo SevenEasy). I sondy, i substancje odniesienia sprawdzone na innym pH-metrze.

    Zakładam więc, że nie warto się z tym ustrojstwem bawić, tym bardziej, że ów i tak wysyłał przez RS-a odczyty do Arduino.

    Tak więc zacząłem przymierzać się do układu i, co ciekawe, używając prostego miernika uniwersalnego, pomierzyłem napięcia na sondzie w zmiennym pH - odczyt się nie zmienia (miernik ustawiony na mV). Pomyślałem więc, że "czegoś nie wiem" i spróbuję zastosować się po prostu do instrukcji w internecie*.

    *wcześniej próbowałem wykorzystać po prostu ADC Arduino podłączając masę do 3V3, aby uniknąć problemu napięcia ujemnego. Dopiero później zorientowałem się, że kłopot polega na wartościach podawanych przez sondę.

    Wykorzystałem poniższe dwa schematy:
    * https://www.sparkyswidgets.com/portfolio-item/ph-probe-interface/
    * http://www.instructables.com/id/How-to-Make-a-Voltage-Inverter/

    Pierwsze to TL072 przesuwające napięcie i wzmacniające je. Drugi zapewnia ujemne zasilanie. Ale to (oczywiście) nic nie zmieniło.

    Szanowni forumowicze - czego nie rozumiem? pH-metr najwyraźniej odczytuje zmiany na sondzie, a pozostałe sposoby nie. Co robię nie tak?

    Z poważaniem.
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • BotlandBotland
  • Pomocny post
    Poziom 38  
    Przeczytaj to:
    www.ti.com/lit/ds/symlink/lf444.pdf
    dokładniej Figure 28. Będziesz wiedział czego nie rozumiesz. Sonda ma rezystancję wewnętrzną między 150MR a 300MR i to wystarcza by tak było jak opisujesz.
    Na początek, zgodnie ze schematem Figure.28 masz wzmacniacz wstępny, filtr pasmowy, kondycjoner sygnału. Wtedy możesz, już po odpowiednim wzmocnieniu i poprzesuwaniu poziomu sygnałów wejść na przetwornik A/C uC albo miernik na zakresie np. 200mV lub 2000mV i zrobić to co zamierzasz.
    Nie zapominaj o odpowiednim moczeniu sond i przygotowaniu do pomiarów. Także sposobie przechowywania.
    3.3V dla TL07x to za mało, minimum 5V. Nie lepiej użyć www.intersil.com/content/dam/Intersil/documents/icl7/icl7660.pdf lub jego klona?
  • Poziom 17  
    Zamówiłem już icl7660 ;)

    Niestety, nie jestem specjalnie zaznajomiony ze wzmacniaczami (raczej, jak widać) odtwarzam schematy dostępne w internecie.
    Czy coś takiego?

    Sonda pH i Arduino - jak odczytywać wartość napięcia z sondy?
  • BotlandBotland
  • Poziom 38  
    Ten schemat na dwóch wzmacniaczach jest taki sobie. To tylko wzmacniacz wejściowy o dużej rezystancji i filtr pasmowy usuwający przydźwięk sieciowy. W schemacie Figure.28 są jeszcze dwa wzmacniacze. Jeden ustala zero a drugi wzmocnienie tak by na wyjściu mieć jedynie dodatni sygnał o dostosowanym wzmocnieniu do potrzeb układu A/C.
    Możesz poszukać w sieci układu wytwarzania napięcia ujemnego na 74HC04/14 lub podobnych bramkach CMOS. Działa to na zasadzie pompy ładunkowej i zawiera poza bramkami stanowiącymi układ generatora i bufora jeszcze kilka diod i kondensatorów. W tym przypadku można byłoby zrobić podwojenie napięcia dodatniego i podwojone napięcie ujemne czyli uwzględniając spadki na napięć diodach i zasilanie z 3.3V miałbyś około +/-6V do zasilania wzmacniaczy.
    Równolegle z zasilaniem wzmacniacza powinien być jeszcze kondensator ceramiczny 100nF. Możliwie blisko wyprowadzeń zasilania układu scalonego. Tego brakuje na schemacie.
  • Poziom 17  
    ten ICL7660 mnie absolutnie satysfakcjonuje. Ten na 555 myślałem, żeby zasilić 12V, wtedy bym miał, jak rozumiem, niecałe -10V - a to by było chyba dość, prawda?

    Kalibrację temperaturową i w ogóle rozwiążę programowo, więc jak rozumiem trzeci wzmacniacz mogę pominąć (?). Mam akurat tylko wzmacniacze TL072, więc będą musiały tam pracować dwie kostki, na szczęście mam zapas ;)

    Arduino ADC przyjmuje napięcia 0-5V, jakie w takim razie powinienem przyjąć wartości rezystorów? Czy mogę zastąpić układ regulacji (Rz) jednym rezystorem?

    Sonda pH i Arduino - jak odczytywać wartość napięcia z sondy?

    edit.
    a i czy ten wzmacniacz filtrujący przydźwięk sieci jest w ogóle potrzebny? 5V do układu idzie przez arduino, zasilane przez USB, z laptopa zasilanego zasilaczem sieciowym (bez baterii). Tyle "pośredników" nie poradzi sobie z przydźwiękiem?
  • Poziom 38  
    Tak, wzmacniacz filtrujący jest potrzebny. Pierwszy wzmacniacz w układzie ma wzmocnieni 1. nie zapomnij by kondensator równolegle włączony nawejściu był dobrej jakości np. styrofleksowy, polipropylenowy. Filtr jest potrzebny z powodu zbierania sygnału sieciowego np. sondą i jej podłączeniem, tym samym wskazane by był.
    Wysoką rezystancję wejściową powinien mić jedynie pierwszy wzmacniacz a pozostałe mogą być zwykłe LM358, LM324.
    Potencjometr na schemacie służy do przesunięcia punktu zera. Tak by na wyjściu bez względu na wartość pH zawsze był sygnał dodatni. Rezystory 10kR oznaczone gwiazdką złużą do odbrania wzmocnienia, tak by na wyjściu mieć odpowiednio skondycjonowany sygnał. Dla przykładu, na wejściu masz sygnał -10mV...+40mV a chcesz na wyjściu mieć 0V...+1.25V czyli 1.25V/50mV=25 V/V. Takie wzmocnienie jest konieczne do uzyskania odpowiedniego sygnału wyjściowego czyli lewy rezystor zaznaczony gwiazdką będzie miał wartość 10kR a prawy 250kR. Gdyby nie było potencjometru ustawiającego offset to na wyjściu otrzymałbyś -10mV*25 V/V= -250mV i +40mV * 25V/V = 1000mV . Dzięki potencjmetrowi przesuniesz całą charakterystykę wyjściową o +250mV i dzięki temu będziesz miał na wyjściu sygnał z zakresu 0V...1250mV.
  • Poziom 17  
    Wygląda na to, że ICL jest za słaby TL07x potrzebuje 2.5mA na wzmacniacz, a 7660 daje 200uA. Jakaś inna propozycja?
  • Poziom 38  
    Witam,
    Gloomwing napisał:
    Wygląda na to, że ICL jest za słaby TL07x potrzebuje 2.5mA na wzmacniacz, a 7660 daje 200uA. Jakaś inna propozycja?

    sprawdź w dokumentacji czy wszystko prawidłowo połączyłeś.
    Te układy dają zwyczajowo około 10 - 20 mA.

    Pozdrawiam
  • Poziom 38  
    200uA to wartość poboru prądu dla pracy bez obciążenia. Z charakterystki obciążenia wynika, że zakrzywienie, wyraźny spadek napięcia zaczyna się przy 40mA.
    Może być jedna przyczyna, która powoduje uszokdzenie układu. Jeżeli dałeś zbyt duże pod względem pojemności kondensatory dla przypadku gdy stosujesz zamiennik ICL7660 innego producenta. Dla takiego przypadku musisz sprawdzić zakres dołączanych pojemności w nocie katalogowej do konkretnego układu.