Skocz do zawartości

Układ ADC ADS7830, jak podłączyć pin REF i COM


Zygzak

Pomocna odpowiedź

Cześć mam pytania co do układu przetwornika adc ADS7830 https://www.ti.com/lit/ds/symlink/ads7830.pdf 

Za o odpowiada pin COM? W datasheet pisze że: ,,Common to Analog Input Channel", co to znaczy ,,wspólny dla analogowych kanałów wejściowych"? Jak podam na niego napięcie to pojawi się ono na reszcie pinów wejściowych? Jeśli nie chcę go używać to podłączyć go do masy?

Pin REF, pin napięcia odniesienia, ,,Internal +2.5V Reference, External Reference Input" z tego co rozumiem jeśli zewrę go do masy przez kondensator (tak jak w datasheet) to zakres pomiaru będzie wynosił od 0 do 2.5V. Czyli jeśli chciałbym próbkować kanałami analogowymi napięcia o max amplitudzie 5V to powinienem podpiąć go do 5V? Czy jeśli tak to zastosować filtr dolnoprzepustowy LC? Czy jest sens stosować ten filtr przy zasilaniu tego układu (pin VDD) czy wystarczy sam kondensator 100nF? 

Z góry dziękuję za wszystkie odpowiedzi. 

Link do komentarza
Share on other sites

Pin COM jak sam nazwa wskazuje jest wspólnym poziomem odniesienia dla wszystkich pozostałych wejść analogowych pod warunkiem, że go wykorzystujesz.

W tabelce 2 (str. 14) karty katalogowej masz pokazane jakie kombinacje wejść są możliwe do wykorzystania przy startowaniu konwersji. Pierwszych 8 pozycji to pomiary różnicowe: przetwornik mierzy napięcie na wybranym pinie wejściowym względem sąsiedniego pinu. Jeśli np. wybierzesz tryb 0001 i podasz na CH2 napięcie +2V a na CH3 napięcie +0.2V to dostaniesz wynik 1.8V (wyrażony w LSB układu rzecz jasna). Masz cztery pary takich wejść na których możesz dokonywać pomiarów różnicowych (CH1/CH2, CH3/CH4 itd..) i dwie kombinacje polaryzacji dla każdej pary (np. CH1/CH2 i CH2/CH1). 

Osiem dolnych pozycji, to pomiary tzw. single-ended czyli wszystkie odniesione do wspólnego pinu COM. Jeśli podłączysz go wprost do masy, to w zakresie trybów 1000..1111 będziesz po prostu mierzył napięcia na 8 wejściach względem swojego GND. W tym akurat przetworniku możliwości pinu COM (a także każdego wejścia oznaczonego znakiem "minus" w trybie różnicowym) nie są zbyt duże, bowiem napięcie na tych wejściach musi się zawierać w przedziale -0.2V..+0.2V względem GND i służy to raczej kompensacji ew. spadków napięcia na masie niż prawdziwie różnicowemu pomiarowi. Na początku i w większości prostych przypadków (oraz dla bezpieczństwa - jeśli nie bardzo czujesz co robisz) podłączasz COM do GND.

Zakres napięcia odniesienia jest taki jak zasilania układu. Jeśli chcesz mierzyć w zakresie 0..+5V to możesz dać VREF=+5V ale musisz jednocześnie zasilać ADC z +5V. Niestety, z drugiej strony interfejs I2C do poprawnej pracy wymaga stanów wysokich (podciągania opornikami) do min. 0.7*VDD, co w przypadku +5V daje min. 3.5V. Zatem w przypadku zapodania na przetwornik zasilania +5V nie może on współpracować z interfejsem (i procesorem) 3.3V chyba, że piny I2C tego procka (i wszystkich innych scalaków wiszących na tym I2C) są odporne na podciąganie do +5V.

Jeśłi zapodajesz własne VREF (zamiast skorzystać z dobrego wewnętrznego) sam musisz zadbać o to by było czyste, bo śmiecie z odniesienia widać bezpośrednio w wynikach. Wejście odniesienia jest tutaj buforowane tj. pobiera znikomo mały prąd (20uA) i nie musisz kombinować z LC. W dodatku jest to tylko 8-bitowy ADC więc wystarczy, że zamiast bezpośredniego połączenia do VDD dasz opornik szeregowy np. 100Ω i kondensator 100nF-1uF do masy. Oczywiście jeśli na dostarczonym zasilaniu będą długie zapady/obniżenia związane np. z dołączaniem dużych obciążeń (silniki, serwa, przekaźniki, LEDy mocy) a nie szpilki od pracy układów cyfrowych, to żaden filtr nie pomoże i wyniki będą inne dla różnych poziomów VDD/VREF.

  • Pomogłeś! 2
Link do komentarza
Share on other sites

Ok, a więc jeśli zasilam uC 5V, VDD tego ADC podepnę też do 5V i Vref podciągnę pod 5V a COM do masy, to z I2C nie powinno być problemu? 

Na stronie 13 jest tabelka 1 z jak rozumiem trybami zasilania:

Power Down Between A/D Converter Conversions
Internal Reference OFF and A/D Converter ON
Internal Reference ON and A/D Converter OFF
Internal Reference ON and A/D Converter ON

Który z tych trybów powinienem wybrać jeśli w trybie single-ended chcę po prostu mierzyć zmiany rezystancji na dzielnikach napięcia? Tzn jeden z rezystorów dzielnika to membrana rezystancyjna reagująca na nacisk.  Dobrze rozumiem że: Internal Reference OFF and A/D Converter ON ?

 

 

Link do komentarza
Share on other sites

Tak, 5-woltowe I2C będzie działało przy 5-woltowym zasilaniu ADC i takim samym VREF

Tak, jeśli chcesz doprowadzić własne (o jakimkolwiek poziomie) napięcie odniesienia do pinu VREF to tak, musisz pracować z wyłączonym źródłem wewnętrznym, czyli z PD1=0, PD0=1.

Swoją drogą, gdybyś tak ustawił napięcia tych swoich dzielników tak, by nie wychodziły poza 2.5V to mógłbyś pracować ze stabilną referencją wewnętrzną. To ma jeszcze tę zaletę, że na jednym z kanałów możesz wtedy mierzyć (przez dzielnik) np. napięcie zasilania czy napięcie baterii, bo masz wtedy odniesienie bezwzględne.

Sekwencja pracy z tym ADC przez I2C jest prosta. Najpierw:

START → zapis adresu I2C → zapis bajtu sterującego (numer kanału + bity trybu PD) → STOP

a potem:

START → zapis adresu I2C → odczyt wyniku → STOP

ewentualnie, gdy potrzebujesz ciągu wielu odczytów z tego samego kanału możesz pójść na skróty. Po jednokrotnym wysłaniu pierwszej sekwencji ustalającej numer kanału i tryb, możesz pojechać tak:

START → zapis adresu I2C → odczyt wyniku →
→ REPEATED_START → zapis adresu I2C → odczyt wyniku →
→ REPEATED_START → zapis adresu I2C → odczyt wyniku →
...................
→ REPEATED_START → zapis adresu I2C → odczyt wyniku → STOP

I jeszcze na koniec: ponieważ scalak ma tylko jeden pin zasilania VDD i jest on wspólny dla części cyfrowej (rejestr SAR, sterowanie, interfejs I2C) oraz analogowej (multiplekser wejść, DAC i komparator) to tutaj także trzeba troszkę uważać na zakłócenia. Producent zaleca (jeśli nie możesz zrobić w ogóle osobnego stabilizatora dla ADC) choćby prosty filtr RC np. 5Ω/1uF (rys. 13) i tego bym się trzymał. Natomiast pokazane tam oporniki podciągające 2k przy Twoich 5V są trochę maławe. Pozostań przy typowym zakresie 4.7...10k, a jeśli nie będziesz żyłował prędkości interfejsu na maksa lub nie robisz 50cm drutów, to i coś większego (np. 22k) zadziała.

Co Ty tam masz, zawziąłeś się na jakąś historyczną 8051, że masz 5V procesor bez ADC?

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Nie, mam Atmege1284 ale brakuje mi pinów analogowych, dlatego ten dodatkowy ADC. Co do komunikacji po I2C to znalazłem taką bibliotekę: https://github.com/ncdcommunity/Arduino_Library_ADS7830_8Channel_8Bit_ADC wiec nie powinno być problemów. Atmega i adc będą zasilane z przetwornicy więc chyba nie powinno być jakiś większych problemów z zakłóceniami. 

Dzięki za pomoc.

 

Edytowano przez Zygzak
Link do komentarza
Share on other sites

35 minut temu, Zygzak napisał:

Atmega i adc będą zasilane z przetwornicy więc chyba nie powinno być jakiś większych problemów z zakłóceniami.

Dziwne wnioskowanie. Moim zdaniem będzie wręcz odwrotnie. Właśnie "dzięki" przetwornicy problemy mogą być większe niż w innych rozwiązaniach zasilania.

A jeśli brakuje pinów analogowych, to wolałbym użyć multipleksera za 1zł i wciąż używać wygodnego, 10-bitowego, wewnętrznego ADC niż kombinować z dodatkowym przetwornikiem gdzieś na I2C.

https://www.tme.eu/pl/details/74hc4051d.652/dekodery-multipleksery-przelaczniki/nexperia/

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Współczuję Twojej dziewczynie.

- Proszę, powiedz mi jak zrobić naleśniki.
- No @Zygzak, teraz chcesz robić, gdy mieliśmy usiąść do filmu?
- Yhy, chodzą za mną od rana a i tak coś muszę zjeść, tylko na frytkach i kawie dziś jestem, pliiiz.
- Rany, dobra, to szybko: odsyp szklankę mąki z tamtej szafki do miski i dolej tyle samo mleka. OK, teraz wbij dwa jajka,
są w lodówce na górnej półce i dolej wodę. Jeszcze.. dobra, starczy. Ja posolę a Ty bierz się za mikser, trzeba to zmieszać na ciasto,
takie bez klusków. No dawaj, dawaj, ruchy.. OK, wygląda nieźle. Masz tu patelnię, odpalaj gaz, gdzieś tu miałam olej, jest. Bierz dużą
łychę, nie tę, większą, tam głębiej w szufladzie powinna być i dajesz ze dwie takie na patelnię. No co jest? Tłuszcz już gorący, dawaj..
- Ee nie, to ja już zjem banana.

Nie bierz tego do siebie, to fikcja, wymyśliłem to na poczekaniu czytając ostatnią odpowiedź..

  • Lubię! 1
Link do komentarza
Share on other sites

Oczywiście masz rację, to nie miał być jakikolwiek zarzut. Po prostu pogadaliśmy o przetworniku a okazało się, że jednym prostym ruchem można usunąć większość problemów. To świetnie, że tak zdecydowałeś - ja też tak robię gdy z początku dobry pomysł zaczyna przy bliższym oglądzie sprawiać więcej problemów niż z niego pożytku. 

Szkoda jedynie, że od razu nie napisałeś jak wygląda pierwotny problem - brak pinów (patrz: zjem cokolwiek), wtedy dyskusja byłaby krótsza. Jakoś spodziewałem się, że proste metody (banan) wypróbowałeś (w myślach) wcześniej i na placu boju zostało tylko rozwiązanie z zewnętrznym ADC (naleśniki). Kosztownym i skomplikowanym, ale z jakichś powodów jedynym.

Czy możesz napisać co robisz? Jeśli nie chcesz, to bez szczegółów, ale ciekaw jestem co to będzie za cudo z tyloma czujnikami nacisku i jeszcze paroma innymi wejściami analogowymi. Jakaś mata do tańca, coś do rehabilitacji, poduszka wykrywająca niespokojny sen czy dłoń robota niemiażdżąca podawanych szklanek? Może w innych fragmentach także popełniłeś już jakieś.. no, nieoptymalne decyzje? Chętnie wszyscy się temu przyjrzymy,  poprawki na tym etapie nie kosztują prawie nic.

Link do komentarza
Share on other sites

Robię protezę dłoni, z czujkami biomedycznymi i mikro kamerą rozpoznającą widziane przez protezę obiekty, wszystko chodzi na sieciach neuronowych. Ale nie chcę wchodzić w szczegóły. 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.