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

Jak podłączyć przetwornik A/C AD7731 do pomiaru napięć +/-2,5V?

foneotek 04 Lip 2016 15:42 4455 6
  • #1 15786146
    foneotek
    Poziom 10  
    Witam,

    Mam pytanie odnośnie podłączenia przetwornika analogowo-cyfrowego AD7731.
    Założenie jest takie że chcę mierzyć napięcia dodatnie i ujemne za pomocą wejść różnicowych, ale jak dla mnie w nocie katalogowej http://www.analog.com/media/en/technical-documentation/data-sheets/AD7731.pdf nie ma zbyt wielu szczegółowych informacji w jaki sposób można podłączyć ten przetwornik, tak by mierzyć np w zakresie +/-2,5V.
    Jest jeden przykładowy schemat dotyczący chyba tego co potrzebuje:
    Jak podłączyć przetwornik A/C AD7731 do pomiaru napięć +/-2,5V?

    Posiadam ponadto dwa układy AD780 które są źródłami napięcia odniesienia(2,5V) i teraz tak, jeżeli podłącze do (REF+) napięcie 2,5V, oraz do (REF-) napięcie -2,5V, oraz zasilę przetwornik napięciem 5V to będzie ok i będzie możliwość pomiaru z zakresie +/-2,5V? Bo w nocie katalogowej znalazłem informacje o dostępnych zakresach przy pomiarze różnicowym, gdzie maksymalny to: +/- 1,28V. Jeśli to co myślę jest źle to w jaki sposób podłączyć ten przetwornik? Czy muszę użyć tych dwóch wtórników które sa podłączone do końcówek napięcia odniesienia?


    Znalazłem artykuł opisujący podłączenie tego przetwornika, i jest tam mowa o zasileniu przetwornika napięciem +/-2,5V, jako niezbędnym do tego by mierzyć dodatnie i ujemne napięcia, lecz w nocie katalogowej nie wyczytałem żeby do nóżki DVdd można było podłączyć -2,5V, dlatego juz mi się w tym temacie wszystko pomieszało a nie chce na samym starcie usmażyć przetwornika. Wrzucam niżej schemat podłączenia z tego artykułu:

    Jak podłączyć przetwornik A/C AD7731 do pomiaru napięć +/-2,5V?

    Proszę o pomoc.
  • #2 15857852
    maciej_333
    Poziom 38  
    Raczej nie sugerowałbym się takimi artykułami, bo podana tam metoda ma bardzo istotną wadę. Bez zbytniego wnikania w trochę nietypową jak na AD dokumentację wynika, że dałoby się zasilić układ napięciami ±2,5 V. Zresztą np. Atmegę8 też tak można zasilić. Niby co w tym dziwnego ? Przecież jest to tzw. układ "floating" - tzn. "pływający". W takim przypadku między DVDD/AVDD i DGND/AGND masz przecież +5 V. Wszystko jest zatem poprawnie. Napięcia dopuszczalne podane w dokumentacji AD są mierzone względem DGND, albo AGND przy zachowaniu jakiejś dopuszczalnej różnicy potencjałów między DGND i AGND. Jaka jest zatem wada tego rozwiązania ? Interfejs SPI stanie się bipolarny. Będzie trzeba podawać sygnały jako ±2,5 V. Można to ewentualnie ominąć poprzez zasilanie mikrokontrolera w ten sam sposób. Wtedy względem masy zasilania można podać na wejście napięcia bipolarne. Odradzam te kombinacje, bo to źródło problemów w odniesieniu do przetwornika o tak dużej rozdzielczości.

    Podane w dokumentacji wtórniki są konieczne przy dzielniku, jaki w dokumentacji zastosowano. Przy stosowaniu AD780 takiej konieczności nie ma. Zresztą w dokumentacji podano przykład połączenia AD780 z AD7710. W dokumentacji AD780 pokazano jak wytworzyć napięcia odniesienia zarówno +2,5 V, jak i -2,5 V. Zalecam zatem zasilać to wszystko np. z 7805 i 7905. Z tych stabilizatorów można zasilać dwie sztuki AD780, które zapewnią napięcia +2,5 V (piny AVDD, REF IN+) i -2,5 V (piny AGND, REF IN-). Takie napięcia moją powstać względem pinu DGND. Napięcie DVDD nie będzie jednak mogło przekroczyć +3 V. W dokumentacji wyraźnie napisali dlaczego. Biorąc pod uwagę wszystkie ograniczenia maksymalne napięcie wejściowe nie będzie mogło przekroczyć tych ±1,28 V. Mowa tu o napięciach wspólnych, odniesionych zatem do DGND.

    Jeżeli chcesz mierzyć z wejściem różnicowym w zakresie ±2,5 V dla napięć wspólnych, to różnicowo zakres ten wyniesie ±5 V. Nie da się tego zrobić, bez wejściowych dzielników napięcia. Jednak takie dzielniki to konieczność stosowania rewelacyjnych rezystorów i problem ze zmniejszeniem rezystancji wejściowej. Innym kłopotem przy dużej rezystancji dzielnika będzie osiągnięcie maksymalnej rozdzielczości przy dużej szybkości przełączania kanałów.

    Jest jeszcze pewien bardzo prosty, ale też wadliwy sposób, jaki wykorzystano w NI. Chodzi o tanie karty pomiarowe jak np. NI USB-6008. Podano to w dokumentacji na stronie 12. Odpowiednio obliczając te rezystory można konwertować np. zakres ±10 V na 0...+2,5V. Wada to problem z doborem standardowych rezystorów.
  • #3 15859732
    foneotek
    Poziom 10  
    maciej_333 napisał:
    Zalecam zatem zasilać to wszystko np. z 7805 i 7905. Z tych stabilizatorów można zasilać dwie sztuki AD780, które zapewnią napięcia +2,5 V (piny AVDD, REF IN+) i -2,5 V (piny AGND, REF IN-). Takie napięcia moją powstać względem pinu DGND. Napięcie DVDD nie będzie jednak mogło przekroczyć +3 V.


    Tak w tym momencie zrobiłem, czekam jeszcze na dotarcie do mnie jeszcze jednej sztuki AD780. Po odpowiednim złączeniu jednego pinu do masy można uzyskać napięcie 3V, które podłącze do DVdd.
    Ja wiem że takim artykułom nie można do końca ufać. W tym artykule było mowa o komunikacji z AT16 poprzez SPI za pomocą transoptorów. Chciałbym uniknąć ich użycia, bo nie chcę dodawać osobnych napięć od strony cyfrowej i analogowej. Nie jestem pewien co to tego że interfejs SPI stanie się bipolarny. Z tego co wyczytałem z noty DVdd zasila część cyfrową, dlatego z tego chyba wynika że stan wysoki to 3V a niski 0V. Z tym że martwi mnie jedna kwestia, z tego co wyczytałem z DS ATmega32, minimalne napięcie stanu wysokiego to coś ponad te 3V, dlatego martwi mnie to czy komunikacja będzie możliwa.
  • Pomocny post
    #4 15860216
    maciej_333
    Poziom 38  
    foneotek napisał:
    Po odpowiednim złączeniu jednego pinu do masy można uzyskać napięcie 3V, które podłącze do DVdd.

    Trochę za drogi jest ten układ by robić za jego pomocą napięcie +3 V. Tu można wstawić dowolny, tani stabilizator LDO. Jakość napięcie DVDD nie jest krytyczna.

    foneotek napisał:
    Ja wiem że takim artykułom nie można do końca ufać. W tym artykule było mowa o komunikacji z AT16 poprzez SPI za pomocą transoptorów. Chciałbym uniknąć ich użycia, bo nie chcę dodawać osobnych napięć od strony cyfrowej i analogowej.

    Galwaniczna izolacja tak precyzyjnego przetwornika, który pracuje z małymi napięciami wejściowymi i ma rozdzielczość 24 bity ma sens. Znacznie łatwiej uniknąć w ten sposób zakłóceń od części cyfrowej. Problem jednak z wykonaniem szybkiego SPI, który jest izolowany galwanicznie. Bez specjalnego podejścia nie da się wyciągnąć więcej niż 4-5 Mb/s. Wynika to z opóźnień, jakie wprowadzają transoptory. Trzeba kombinować z dodatkowym SPI w trybie slave od strony mikrokontrolera.

    foneotek napisał:
    Nie jestem pewien co to tego że interfejs SPI stanie się bipolarny. Z tego co wyczytałem z noty DVdd zasila część cyfrową, dlatego z tego chyba wynika że stan wysoki to 3V a niski 0V.

    Jeżeli zrobić wszystko jak w tym artykule to interfejs SPI byłby bipolarny względem masy zasilania, nie zaś względem DGND. Przecież różnica potencjałów pomiędzy DGND i masą zasilania wynosi -2,5 V.

    foneotek napisał:
    Z tym że martwi mnie jedna kwestia, z tego co wyczytałem z DS ATmega32, minimalne napięcie stanu wysokiego to coś ponad te 3V, dlatego martwi mnie to czy komunikacja będzie możliwa.

    To zależy od napięcia zasilania. Zastosuj mikrokontroler Atmega32L. Może być on zasilany napięciem z zakresu 2,7 - 5,5 V. Jednak maksymalna częstotliwość zegara to tylko 8 MHz. W takiej sytuacji jeśli zasilisz Atmegę32L napięciem +3 V wszystko będzie poprawnie i transmisja będzie możliwa z aplikacją przetwornika z rysunku 25. Jednak programator ISP musi obsługiwać takie napięcie.

    W dokumentacji Atmegi napisali coś zupełnie innego, niż twierdzisz. Przy zasilaniu napięciem +3 V w stanie niskim na wyjściu będzie maksymalnie 0,7 V przy prądzie wpływającym do portu o wartości 10 mA. W stanie wysokim minimalnie 2,2 V przy prądzie wypływającym 10 mA. W Twoim przypadku obciążenie portu będzie żadne, więc jeszcze lepiej. Niby dlaczego transmisja miałaby być nie możliwa ?
  • #5 15860672
    foneotek
    Poziom 10  
    maciej_333 napisał:
    Przy zasilaniu napięciem +3 V w stanie niskim na wyjściu będzie maksymalnie 0,7 V przy prądzie wpływającym do portu o wartości 10 mA. W stanie wysokim minimalnie 2,2 V przy prądzie wypływającym 10 mA. W Twoim przypadku obciążenie portu będzie żadne, więc jeszcze lepiej. Niby dlaczego transmisja miałaby być nie możliwa ?


    Masz racje, ja coś źle popatrzyłem. Przy zasilaniu ATmegi zasilaniem 5V, w stanie wysokim minimalnie może być 4,2V, także faktycznie ta opcja odpada co do komunikacji.

    Czyli zasilę Atmege napięciem 3V, a raczej 3,3V bo zmieniając zworkę na moim programatorze takie zasilanie będzie on dawał na uC.
    OK, to biorę się za część programową:)
  • #6 15861410
    maciej_333
    Poziom 38  
    Przy różnicy poziomów 0,3 V powinno być OK. "Górna" dioda zabezpieczająca wejście w AD7731 nie powinna zadziałać. Nie jest to jednak profesjonalne podejście. Również Atmega powinna rozpoznać takie poziomy poprawnie. Z dokumentacji wynika, że w stanie wysokim na wyjściach AD7731 będzie minimalnie DVDD - 0,6. Zatem wyniesie to 2,4 V. W stanie wysokim ma to być maksymalnie 0,4 V. Pasuje to z zapasem do poziomów podanych w dokumentacji Atmegi.

    Ponadto tylko Atmega32L może być zasilana tak niskim napięciem. Atmega bez litery "L" akceptuje napięcia dopiero od 4,5 V.
  • #7 15861499
    foneotek
    Poziom 10  
    maciej_333 napisał:
    Ponadto tylko Atmega32L może być zasilana tak niskim napięciem. Atmega bez litery "L" akceptuje napięcia dopiero od 4,5 V.

    Tak to prawda :) Ja posiadam ATmega32A, która działa przy napięciach(jak pisze w nocie) 2,7-5,5V :)
    Spróbowałem czy działa przy zasilaniu 3.3V(rzeczywiście 3,15V), działa gdy już jest zaprogramowana. Przy ustawieniu wewnętrznego oscylatora na 8 MHz, wyskakują błędy podczas programowania uC. Problem z programowaniem znika przy ustawieniu wew. osc. na 1MHz :) Co do wcześniejszego mojego postu: Moja wina, bo nie napisałem że posiadam ATmega32A:)
    Bardzo dziękuje za profesjonalną pomoc:) Teraz będę sie zabierał za programowanie:)
REKLAMA