ADC wysokiej rozdzielczości dla głośnych czujników w zmiennych warunkach

9

Wprowadzenie

W odpowiedzi na to pytanie dotyczące wzmacniaczy adaptacyjnych zalecono, aby w celu radzenia sobie ze zmiennymi warunkami bardziej ekonomiczne było po prostu użycie przetwornika ADC o wyższej rozdzielczości, aby nie martwić się o wzmocnienie i móc skalować w oprogramowaniu.

Przegląd

Próbuję zaprojektować obwód akwizycji danych dla montowanych na ciele czujników rozciągania opartych na tkaninie. Materiał różni się oporem w miarę rozciągania (około 1 rzędu wielkości, 10k -100k z 30% rozciągliwości). Dokładne zakresy będą się zmieniać w zależności od tego, jak materiał jest cięty, czy jest nasiąknięty potem, temperaturą, ile lat ma materiał, jak jest zamocowany itp. Cała rzecz musi być jak najmniejsza, ponieważ jest zamocowana na dłoni , więc minimalizacja liczby komponentów to duży plus.ΩΩ

Ponadto chciałbym, aby obwód mógł być ponownie wykorzystywany do innych aplikacji, które mogą mieć gorszą wydajność. Na przykład, jeśli użyję tańszej wersji tkaniny, mój zakres odporności może wynosić nawet od 100 do 300 .ΩΩ

Ścieżka sygnału

[tekstylne] -> [mostek pszenicy] -> [dolnoprzepustowy] -> [wzmacniacz instrumentalny] -> [ADC] -> [AVR]

Wymagania

Tak więc szukam ADC, który spełni moje wymagania. ADC powinien być:

  1. 16 bitów +
  2. Tak łatwy w użyciu, jak to możliwe: znacznie lepiej, jeśli kod interfejsu jest już napisany dla AVR / Arduino ...
  3. ... ale jednocześnie tak wszechstronny, jak to możliwe: widziałem kilka ADC z filtrami dolnoprzepustowymi i wbudowanymi PGA - tym lepiej, o ile konfiguracja nie sprawia trudności
  4. Ponad 8 kanałów lub, jeśli jest to łatwe do wdrożenia, 2x 4+ kanały. EDYCJA: Jeśli używam mostka Wheatstone'a, być może chcę 8 różnicowych kanałów wejściowych (czyli 16 kanałów) ...
  5. Nie sądzę, żeby napięcie operacyjne miało znaczenie ... (najlepiej, jeśli nie przekracza 5 V)
  6. Montaż powierzchniowy
  7. Nie musi być tani (jest to jednorazowy)
  8. SPI vs. I2C nie ma znaczenia, myślę ...
  9. 100+ Hz

Badania

Do tej pory w Googling znalazłem następujące żetony:

oraz następujące samouczki:

Napięcie odniesienia?

Wreszcie, niektórzy ludzie zalecili precyzyjne napięcie odniesienia, takie jak seria urządzeń analogowych REF19x . Czy uważasz, że jest to konieczne? Rozdzielczość jest dla mnie zdecydowanie ważna.

Wniosek

Daj mi znać, jeśli masz jakieś rekomendacje! Nie jestem również pewien, czego dokładnie szukam, więc doceniamy również wskazówki dotyczące podejmowania decyzji.

taras
źródło
Mam nadzieję uniknąć tego rodzaju historii: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264346368
taras
@ msutherl - Czy byłoby wielką rzeczą, gdybyś musiał użyć multipleksera, aby połączyć się z tym ADC? Trudno będzie ci znaleźć 16-kanałowy, ponad 16-bitowy ADC, ale części 1-kanałowe lub 2-kanałowe są dość łatwe ...
Kevin Vermeer
1
Same bity nie określają zakresu dynamicznego. 24-bitowe konwertery teoretycznie mogą mieć zakres dynamiczny 144 dB, ale rzeczywiste konwertery mają około 100-120 dB. Czy na pewno potrzebujesz takiej rozdzielczości czujnika rozciągania? Próbujesz obsługiwać wiele różnych czujników rozciągania o różnych wartościach? Wydaje mi się, że lepiej byłoby po prostu użyć wzmacniacza o zmiennym wzmocnieniu i dostosować go do każdego z nich. W każdym razie musisz gdzieś to zrobić.
endolith
1
Czy potrzebujesz 100 Hz + dla każdego czujnika lub dla wszystkich? W przypadku wielokanałowych ADC często dostajesz 1 ADC i multiplekser, więc będziesz musiał podzielić SPS przez liczbę kanałów (lub więcej, jeśli para multiplekserów / adc nie może bardzo szybko przełączać kanałów).
JPC
1
@msutherl Tak, ręczny potencjometr wzmocnienia lub wzmacniacz programowalny. Coś w rodzaju PGA116 poradziłoby sobie z próbkowaniem wszystkich czujników w okrągły sposób przy różnych zyskach dla każdego, przy czym wszystko odbywa się w oprogramowaniu?
endolith,

Odpowiedzi:

7

ADS1256 od TI ma osiem jednoczęściowych 24- bitowych kanałów z buforem wejściowym o wysokiej impedancji i PGA. Projekt OpenEXG ma kod PIC do interfejsu (używają dwukanałowej wersji ADS1255, ale powinna być taka sama).

Jeśli chcesz wejść różnicowych, to jest ADS1298 , z 8 kanałami, PGA i A / D, wewnętrznym odniesieniem, plus obwody EKG / EEG, które możesz zignorować. Nie jestem jednak pewien, czy możesz znaleźć przykładowy kod dla tego.

Jeśli szukasz rozdzielczości, koniecznym jest precyzyjne, niskoszumowe odniesienie.

Jaroslav Cmunt
źródło
5

Być może niekonwencjonalny pomysł, ciekawi mnie, co o tym myślicie:

Jeden rząd wielkości wydaje się wystarczająco dużą zmianą, aby zmierzyć go bezpośrednio w obwodzie dzielnika napięcia.

Możesz wtedy użyć mniejszego ADC i zmieniać prąd przez czujnik. Filtrowane źródło napięcia PWM + zwalniacz napięcia (może być jednym tranzystorem NPN, jeśli jesteś udem w przestrzeni kosmicznej) może radykalnie poprawić zakres dynamiki.

Możesz użyć jednego lub dwóch z nich i przełączać napięcie podczas pomiaru różnych czujników.

jpc
źródło
Wcale niekonwencjonalne. W rzeczywistości, jeśli chce użyć małego 8-bitowego mikrokontrolera, w ten sposób może uniknąć radzenia sobie z 24-bitowymi wartościami, a złożoność może być mniejsza niż połączenie tych wyrafinowanych ADC. Zakres dynamiczny może być sumą zakresów dynamicznych ADC i PWM w idealnym przypadku. Z drugiej strony wydaje się, że dla wielu osób projekty analogowe są trudniejsze niż cyfrowe, więc użycie 24-bitowego ADC może być prostsze. Ponadto zakres dynamiczny ADC można zwiększyć przez nadpróbkowanie i cyfrowe filtrowanie ... no cóż, już nie jest to proste.
Jaroslav Cmunt
@Jaroslav Thanks. 1. Ma już mostek z pszenicy, więc chyba nie boi się części analogowej. :) 2. 1 lub 2 bity dodatkowej rozdzielczości powinny być osiągalne przez prosty działający filtr sumy.
JPC
1
W rzeczy samej! Oto link do OP: http://www.dspguide.com/ch15.htm
Jaroslav Cmunt
3

Jeśli Twoim głównym zmartwieniem jest szeroki zakres dynamiczny dla dowolnego „czujnika”, możesz rozważyć użycie przetworników cyfrowo-analogowych (lub nawet źródeł napięcia sterowanych pinem MPU) do regulacji przesunięcia / wzmocnienia wzmacniacza w celu zmiany wydajności systemu dla różnych materiałów.

Możesz również śledzić ten zmienny stopień wzmocnienia z obwodem integracji ładunków, aby uzyskać precyzyjne dostrojenie czułości sygnału poprzez dostosowanie okresu „ekspozycji”.

Producent zabawek
źródło
0

Jeśli masz wystarczającą moc obliczeniową dla potrzebnej częstotliwości próbkowania, rozważ filtrowanie cyfrowe. Savitzky'ego-Golay filtr, f / np.

  • Możesz zmieniać algorytmy łatwiej niż możesz zmieniać części;
  • Pchając część filtrowania do oprogramowania, prawdopodobnie możesz użyć części o niższej specyfikacji, niż gdyby sama część musiała być bardziej odporna na zakłócenia lub wykonać całą filtrację;
  • Dowiesz się dużo więcej o swoich danych wejściowych i ich potrzebach, a także będziesz mógł dokonać bardziej świadomego wyboru części, jeśli w rzeczywistości potrzebujesz części o wyższej specyfikacji.
  • Oprogramowanie i umiejętności są łatwo przenoszone do innych aplikacji!
JRobert
źródło
całe filtrowanie zostanie przeprowadzone na komputerze PC w środowisku przetwarzania sygnałów w czasie rzeczywistym.
taras
0

Dlaczego nie zwiększyć go do 11 i po prostu użyć TI ADS1262 . To 32-bitowy ADC z 11 wejściami i PGA!

ADS1262

Dzięki 32-bitom możesz niemal wszystko próbkować. I to nie jest nawet takie drogie. Co więcej, jeśli robisz tylko jeden z nich, po prostu pobierz bezpłatną próbkę .


Inną opcją jest użycie PSoC. Są to mikrokontrolery zawierające ponownie konfigurowalne bloki analogowe i cyfrowe, których można używać do tworzenia wszelkiego rodzaju funkcji. Możesz wybrać jeden z 16-bitowym ADC, PGA, DAC i filtrem cyfrowym, aby stworzyć własne automatyczne ustawianie zakresu, automatyczne przycinanie, nadmierne próbkowanie, cyfrowe filtrowanie, ADC!

PSoC38xx

Programowanie tych rzeczy to ułomność, gdy po prostu rysujesz pożądany schemat, wybierając wstępnie zdefiniowane funkcje z listy. Potem napisz kod C i już cię nie będzie.

Rocketmagnet
źródło