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

ESP8266: Jak podłączyć dwa sensory analogowe do jednego portu A0?

Zero_IQ 21 Gru 2021 21:34 1020 1
REKLAMA
  • #1 19776041
    Zero_IQ
    Poziom 1  
    Posty: 1
    Witam.
    Wydawalo mi sie ze moj problem jest trywialny, ale wyglada na to ze moje podejscie nie pasuje do zagadnienia. Mam nadzieje ze bedziecie mi mogli pomoc. Z gory dziekuje.
    Opis problem:
    Uklad ESP8266 posiada tylko jeden port analogowy A0. Potrzebuje podpiac dwa “sensory” analogowe aby:
    1) Odczytac poziom wilgotnosci (0-5V).
    2) Odczytac poziom rozladowania baterii B16350 (0-4.2V).
    Oba pomiary bazuja na pomiarze napiecia (V), a nie natezenia pradu (A). Wynik pomiaru powinien w zakresie 0 - 1V, ale to nie jest problem poniewaz moge zastowac dzielnik napiecia.
    Proba rozwiazania problem:
    Sensor poziomu wilgotnosci zasilany jest z cyfrowego portu D2 (3.3V), ktory wlaczany jest tylko na czas pomiaru. Pomiar dokonywany jest poprzez port analogowy A0. To dziala jedynie pod warunkiem ze odlaczony jest pomiar poziomu rozladowania baterii.
    Pomiar poziomu rozladowania baterii dokonywany jest poprzez rowniez port analogowy A0 w czasie kiedy zasilanie sensora poziomu wilgotnosci z portu D2 = 0V.
    Probowalem zastowac tranzystor NPN BC239C jako przekaznik w celu wyboru, ktory sensor bedzie mierzony. Zalozenie bylo takie ze na czas pomiaru wilgotnoci zasilanie dla sensora przyjdzie z D2 , ktory poda 3.3V i D0 poda 0V do bazy trazystora blokujac napiecie z baterii. W nastepnym pomiarze poziomu rozladowania baterii, D2 wylaczy zasilanie sensora i wlaczy z D0 napiecie do bazy tranzystora. W pelni nasycony tranzystor przekaze pelne napiecie z kolektora do emitera, ktory bedzie nastepnie zmierzone. Uklad polaczony jest w nastepujacy (schemat ponizej w pdf zalaczniku):
    1) Minus - wspolna masa dla baterii, ESP8266 i dla sensora poziomu wilgotnosci.
    2) Plus z baterii polaczony z kolektorem (C) tranzystora poprzez opornik R2 47 Ohm (w celu ograniczenia natezenia pradu bazy do 100mA).
    3) Port D0 (3.3V) polaczony z baza trazystora (B) poprzez opornik R1 16.5k Ohm (w celu ograniczenia natezenia pradu bazy do 0.2mA).
    4) Emiter polaczony do portu A0 w celu odczytu pomiaru.
    5) Port D2 (3.3V) polaczony z zasilaniem sensora.

    Opis problemu:
    Wysokosc napiecia na emitorze jest nizsza od wartosci napiecia na baterii niezaleznie od wartosci napiecia na baterii. Sprawdzalem dwie baterie:
    1) W pelni naladowana bacteria 4.2V odczyt z emitera-masa 2.82V.
    2) Nieco rozladowana bacteria 3.7V odczyt z emitera-masa 2.80V.
    Wiem ze sterowanie takim tranzystorem odbywa sie poprzez natezenie pradu a nie napiecie, ale myslalem ze calosc (prawie calosc -proporcjonalnie) napiecia ze zrodla bedzie przeslana do emitera. Wyglada na to ze czegos nie rozumiem .
    Załączniki:
    • Tranzystor_Problem_zalacznik_V1.pdf (203.95 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 19776091
    tos18
    Poziom 42  
    Posty: 7023
    Pomógł: 1089
    Ocena: 1811
    proponuję:
    Użyć miniaturowego przekaźniczka
    Użyć kluczy analogowych cd4066
    Użyć multiplexera analogowego CD4051,52
    Użyć zewnętrznego adc pracujacego przez i2c ADS1115
    Użyć esp32 - ma więcej portów analogowych

    itp
REKLAMA