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

[ADC] Wewnętrzne źródło napięcia odniesienia

08 Kwi 2012 13:37 5070 24
  • Poziom 21  
    Witam. Mam takie pytania

    1. Jeżeli ADC jest ustawiony na wewnętrzne źródło to to napięcie pojawia się na nóżce AREF. Potrzebuje z tego napięcia (oczywiście przez wtórnik) podłączyć potencjometry z których będzie mierzona wartość przez ADC.

    2. Czy AREF może być równe napięciu AVCC? I czy jeżeli AVCC = AREF to ADC = 1023 oznaczać będzie maksymalną wartość czy obciętą w zakresach bliskich napięciu zasilania?

    P.S. Nie mają znaczenia wahania napięcia Aref ponieważ potencjometry są podłączone jedna noga do napięcia odniesienia wiec "pływają" one razem z Aref. Nie potrzebuję zatem precyzyjnego źródła odniesienia.
  • Pomocny post
    Poziom 27  
    "napięcie pojawia się na nóżce AREF. Potrzebuje z tego napięcia (oczywiście przez wtórnik) podłączyć potencjometry z których będzie mierzona wartość przez ADC. "
    Dla czego chcesz potencjometry podłączać z AREF, bo jakoś nie mogę się domyśleć?
  • Pomocny post
    Moderator na urlopie...
    Ja też nie wiem czemu tak, skoro mają być tylko potencjometry (a nie coś precyzyjnego gdzie jest wymagany pomiar wartości napięcia a nie stosunku jego podziału) to ustawiasz wewnętrznie napięcie odniesienia na napięcie zasilania układu a potencjometry wpinasz między gnd i vcc... Coś za bardzo kombinujesz...
  • Poziom 21  
    Wiem, że mogę podłączyć AVCC do AREF - ale VCC zawsze będzie pływać

    Do jednego kanału ADC mam podłączony LM35 - więc ten niezależnie od napięcia zasilania daje na wyjściu wartość proporcjonalną do temperatury. Pozostałe kanały to dwa potencjometry, które sterują odpowiednio wartością zadaną i głębokością histerezy w regulatorze trójpołożeniowym.

    Dlatego więc odniesienie dla potencjometrów może być ważne, choć ostatecznie wydaje mi się, że pływające +5V nie będzie miało takiego znaczenia. (uP jest zasilany z 7805 więc napięcie nie będzie bardzo pływać). Muszę to przemyśleć.

    Przy aref = 5V max wartość z LM35 to 1,5 co daje ADC od 0 do 307 - wychodzi rozdzielczość co pół stopnia.

    A tak trochę pobocznie: Co lepiej zastosować? LM35 czy termistor NTC? Sensor ma mierzyć temperaturę nad grzałką ceramiczną 1kW. Temperatura będzie się wahać w granicach 100-120°C
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    No to co z tego, że AVCC będzie pływać? Przecież do tego samego AVCC będziesz miał podłączone potencjometry, więc zmiany wpłyną i na napięcie referencyjne i na napięcie z wyjścia potencjometru, czyli wynik pomiaru będzie stały. Problem pojawia się istotnie przy LM35. Ale nie jest duży ,po pierwsze, 0,5 stopnia da pomiarów 100-120 stopni to pikuś, tym bardziej, że sam czujnik w tym zakresie ma większy błąd (a chyba sama rozdzielczość cię nie interesuje?). Po drugie, VRef w AVR jest kiepskie i produkcyjnie ma duży rozrzut, więc robienie w oparciu o nie pomiarów o dużej dokładności to oksymoron. Ale jeśli chcesz, to co stoi na przeszkodzie, aby pomiędzy pomiarami przełączać napięcie referencyjne? Przecież to nie jest coś na stałe i potencjometry możesz mierzyć z AVCC, a LM z VRef. Weź też pod uwagę, że o ile dobrze pamiętam wewnętrzne źródło referencyjne ma opór ok. 50 kom, więc jak podłączysz pod nie zewnętrzne potencjometry to je strasznie obciążysz, chyba, że to będą potencjometry rzędu megaomów.
    NTC jest fajny i prosty, ale odczyt trzeba linearyzować, a to można prosto zrobić tylko w wąski zakresie, albo tabelaryzować, albo bawić się we floaty, co jest niezłym overkilem na AVR. No i trzeba to NTC skalibrować, bo bez kalibracji dokładności lepszej niż 1 stopień to raczej nie uzyskasz.

    Dodano po 33 [sekundy]:

    BTW, ciekawe jaki jest średni czas bezawaryjny dla LM35 w temp. 120 stopni? :)
  • Poziom 21  
    Nie ma potrzeby przełączać pomiędzy refami. Zrobię jednak tak, że AREF = AVCC i tyle. Przy tak małych dokładnościach i tak wielkiej inercji grzałki nie będzie to przeszkadzać.

    Hm.. Ile wytrzyma LM? Nie mam pojęcia :) w teorii ma wytrzymać do 150 wiec może podziała trochę w niższej... A jaki inny sensor proponujesz do takiego zastosowania? Może coś na diodzie (np w stylu 1N4148)?

    [ADC] Wewnętrzne źródło napięcia odniesienia

    Dało by się ją tak wykożystać? No już samo złącze PN na pewno wytrzyma długo w wyższej temperaturze. Charakterystyka nie jest liniowa ale to się najwyżej skoryguje...

    Nawet znalazłem ciekawy a zarazem prosty schemat (załatwiajacy od razu problem ujemnych napięć ze względu na obecność sztucznej masy)
    [ADC] Wewnętrzne źródło napięcia odniesienia

    Floaty w AVR? nie takie rzeczy się liczyło. :) Poza tym pomiary wykonuje się raz na powiedzmy sekundę więc czasu na obliczenia zmiennoprzecinkowe jest aż za dużo x 10.

    A może coś takiego? Tranzystory też wytrzymują swoje.
    [ADC] Wewnętrzne źródło napięcia odniesienia
    To rozwiązanie niestety wymaga ujemnych napięć..
  • Pomocny post
    Poziom 43  
    tmf napisał:
    Weź też pod uwagę, że o ile dobrze pamiętam wewnętrzne źródło referencyjne ma opór ok. 50 kom, więc jak podłączysz pod nie zewnętrzne potencjometry to je strasznie obciążysz, chyba, że to będą potencjometry rzędu megaomów.

    No przecież napisał że chce wstawić wtórnik.
    Czyta ktoś cokolwiek czy tylko krytykuje co popranie?

    A co do dokładności napięcia VCC to zamiast 7805 wystarczy użyć SPX1117-5.0 i problem z głowy.
    http://www.datasheetcatalog.org/datasheet/sipex/SPX1117.pdf
    Dokładność napięcia nie jest nie wiadomo jaka ale jest już dość duża (2%) ale za to stabilność temperaturowa jest już rewelacyjna. Więc wystarczy to tylko raz skalibrować.
  • Moderator Mikrokontrolery Projektowanie
    narasta napisał:

    Hm.. Ile wytrzyma LM? Nie mam pojęcia :) w teorii ma wytrzymać do 150 wiec może podziała trochę w niższej... A jaki inny sensor proponujesz do takiego zastosowania? Może coś na diodzie (np w stylu 1N4148)?


    Nie wiem, nie znam się na budowaniu układów na takie temperatury. Wiem, że starzenie się elementów jest mocno przyśpieszane przez temperaturę, znajduje się ona w wykładniku funkcji exp. Więc dla każdego elementu im bardziej podnosisz temperaturę tym nieproporcjonalnie szybciej skracasz czas jego życia. Czy to będzie LM35, dioda, czy tranzystor, jest bez znaczenia (tym bardziej, że tu chodzi raczej o sam krzem a nie sposób jego wykorzystania i wszystkie te elementy będą miały podobne temp. graniczne). Ważne jest jakie mają MTFB i jak wygląda krzywa ich awaryjności od temperatury. Skoro masz temp. do 120 stopni to IMHO lepiej byłoby wykorzystać elementy mające o wiele wyższe temp. graniczne. Ale może jest to strzelanie z armaty do komara. Wszystko zależy co to za urządzenie i jaka awaryjność jest dopuszczalna. Można zastosować np. termoparę, pewnie w dziale automatyki coś ci doradzą. Ale patrz na to przez palce, jak pisałem wszystko zależy od projektu, a że nie dysponuję danymi na temat zależności MTFB od temp. dla LM35 to nawet nie mogę powiedzieć na ile ten czas się w 120 stopniach skróci. Może z 1000 lat do 750 :)


    narasta napisał:

    Floaty w AVR? nie takie rzeczy się liczyło. :) Poza tym pomiary wykonuje się raz na powiedzmy sekundę więc czasu na obliczenia zmiennoprzecinkowe jest aż za dużo x 10.


    Czas to jedno, a drugie to ilość pamięci zajmowana przez funkcje operujące na floatach. Tym bardziej, że potrzebujesz do linearyzacji logarytmy. W każdym razie do linearyzacji termistora użyłem tablic i pomiędzy punktami interpolacji liniowej, w zakresie -20 do 120 stopni miałem średni błąd nie większy niż 0,5 stopnia, a tablica miała jakieś 10 pól, więc nieźle. W każdym razie o wiele mniej miejsca to zajeło niż floaty :)
  • Poziom 21  
    Niekoniecznie muszę logarytmować. Dysponuje termometrem z termoparą więc po prostu mogę to skalibrować korzystając z funkcji wykładniczej.

    Musze się dokładniej zastanowić nad termoparą.


    Cały problem polega na tym, że cała elektronika sterownika będzie w pobliżu grzałki a przynajmniej w jednej obudowie, więc ambient temp będzie się tez sporo wahać - (patrz dokładność LM7805). Nie aż tak będzie się wahać jak temp grzałki ale też w pewnym zakresie. Niech to będzie nawet 25 - 50 stopni. więc SPX1117-5.0 może być jakimś wyjściem.

    Zamiast SPXa może być LM1117? Choć i jeden i drugi jest ciężko dostać w wersji 5.0
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    W panelu słonecznym oryginalnie jest termistor, a temperatury tam dochodzą do 130 stopni, więc może to też jest rozwiązanie. Z pewnością łatwiejsze w implementacji niż termopara. Co do źródeł referencyjnych to jest ich pełno, z kolei samo Vcc nie musi byc megastabline, bo ADC przy podłączeniu potencjometrów do Vcc i wykorzystaniu Vcc jako VRef będzie mierzył stopień podziału a nie napięcie, więc wynik będzie stabilny. Należy tylko zadbać o odpowiednie filtrowanie napięcia AVcc.
  • Poziom 21  
    Wolałbym chyba jednak termoparę, bo za parę złotych można ją kupić i dostaje się gotowy czujnik od razu w temperaturoodporną izolacją przewodu.

    tmf - zaproponujesz jakiś zgrabny układ do termopary?
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    Termopara może i droga nie jest (chociaż porządne są drogie), ale wymaga wzmacniacza o dużej rezystancji wejściowej. Tu się robi problem, bo one sa i drogie (w stosunku do LM35 lub termistora oczywiście) i kłopotliwe. Ale że nigdy termopary nie stosowałem, więc trudno mi doradzać. Może ktoś z doświadczeniem w tym temacie się wypowie.
  • Pomocny post
    Poziom 43  
    tmf napisał:
    Termopara może i droga nie jest (chociaż porządne są drogie), ale wymaga wzmacniacza o dużej rezystancji wejściowej.

    Akurat. Termopara ma rezystancję wyjściową rzędu omów więc wzmacniacz może mieć rezystancję rzędu nawet pojedynczych kiloomów.
    Choć problem z termoparą oczywiście będzie i to duży, ale z innego powodu. Z konieczności wzmocnienia dawanego przez nią napięcia około 1000...2000 razy. I to bez wprowadzenia offsetu, więc LM324 albo TL084 odpadają. Nawet na OP07 będzie ciężko.
  • Pomocny post
    Moderator Mikrokontrolery Projektowanie
    atom1477 napisał:
    tmf napisał:
    Termopara może i droga nie jest (chociaż porządne są drogie), ale wymaga wzmacniacza o dużej rezystancji wejściowej.

    Akurat. Termopara ma rezystancję wyjściową rzędu omów więc wzmacniacz może mieć rezystancję rzędu nawet pojedynczych kiloomów.


    No nie wiem, mała rezystancja wejściowa to duży prąd biasu i problemy, stąd do termopar często stosuje się wzmacniacze z tranzystorem J-FET o impedancji wejścia rzędu gigaomów. Zobacz notę Lineara:
    http://cds.linear.com/docs/Application%20Note/an28f.pdf

    Oczywicie bias current zależy od budowy op-ampa, a nie tylko technologii, ale te, które mają duże rezystancje wejściowe mają też zazwyczaj mały prąd biasu.
  • Poziom 21  
    No ale czy nie można podłączyć tego w układzie wzmacniacza nieodwracającego? Wtedy nie powinno być kłopotu z impedancją wejściową.

    Pomijam oczywiście cały czas fakt kompensacji zimnego końca... Ale na upartego można by mierzyć ambient temp np lm35 i do tej temperatury dodawać dopiero temperaturę skonwertowaną z termopary. Kusi mnie jednak fakt, że termopara charakteryzuje się najmniejszą pojemnością cieplną wśród wszystkich sensorów temperatury.

    Udało mi się dziś kupić na allegro dość tanio regulator PID z możliwością podłączenia m.in. różnych termopar albo PT100, lub po prostu sensorów z wyjściem napięciowym takimi jak LM35. Od razu z interfejsem 485 z modbusem na czym bardzo mi zależało. Może uda mi się podkraść jakieś ciekawe rozwiązanie na podstawie tego regulatora.

    Wracając do problemu zbudowania układu konwersji z termopary znalazłem kilka ciekawych przykładów gotowych układów scalonych do których wystarczy podpiąć termoparę (bodajże MAX6655 i jeszcze o TI chyba). Niestety ich cena jest po prostu zaporowa. 35 zł w górę (pomijając już fakt małej dostępności). Jest też opcja z ICL7650.
  • Poziom 33  
    Witam
    Wracając do pytania podstawowego to można Uref podłączyć do wzmacniacza nieodwracającego o wzmocnieniu 1 i na wyjściu wzmacniacza masz Uref o małej impedancji, ze względu że Uref jest bliskie połowie zasilania to nie ma problemu stosowania wzmacniacza R2R.
    Co do czujnika temperatury to LM35 jest wygodny bo liniowy, producent zapewnia że LM35 i LM35A może pracować do 150 stopni i jest to zakres pracy a nie dopuszczalna temperatura przetwornika, maksymalna dopuszczalna wynosi 180.
    Piotr
  • Poziom 31  
    Odnośnie wytrzymałości diody 1N4148 to naszło mnie kiedyś na testy przeciążeniowe (przy okazji konstrukcji jakiegoś czujnika temperatury). Grzałem taką diodę w otwartym ogniu z zapalniczki przez kilkadziesiąt sekund i cały czas działała. Zachęcony tym, że jeszcze działa postanowiłem zobaczyć jaki prąd wytrzyma (wg datashet niewielki). Pod ręką miałem zasilacz 1A 15V - przez jakieś 10-15 minut była gorąca jak diabli ale wytrzymała! Generalnie zadziwiające jest kiedy chce coś popsuć, a to coś się nie daje...
  • Poziom 21  
    Dioda w małej szklanej obudowie powinna mieć małą pojemność termiczną. Wydaje mi się, że pt100 będzie mieć większą pojemność termiczną niż taka dioda. Termopara nadal ma najmniejszą pojemność na czym wyjątkowo mi zależy.

    Powiedzmy, że ok kupiłbym układ za 35 zł. Reszta części do serownika (bez PCB) kosztowałyby mnie np 30 zł więc taki jeden scalak podnosi cenę o ponad 100%.
  • Poziom 33  
    Witam
    Najmniejszą pojemność cieplną na PT100 wykonane cienkowarstwowo jeśli mierzysz na płaskich powierzchniach, wada przetwarzanie małego sygnału, nieliniowość.
    Termopara to problem zimnego końca i specjalne skompensowane kable, nie wiem ile kosztują w Polsce ale montowałem je na budowach zagranicznych i tam kosztowały po kilka-kilkanaście euro, sygnał malutki podatny na zakłócenia.
    Jeśli możesz mierzyć czujnikiem okrągłym to polecam 1N4148, kup metalowy wkład do długopisu, wyciśnij kulkę i wypłucz z tuszu, potem wsadź diodę ( lub kilka w szereg ) dodaj troszkę oleju do środka i zaklej silikonem pamiętając o zostawieniu wolnej przestrzeni na rozszerzalność cieplną, szybkie tanie i w miarę liniowe, same zalety.
    Piotr
  • Poziom 21  
    Dzięki za poradę PiotrPitucha, ale szukam gotowych rozwiązań - nie mogę sobie pozwolić na "domowe rozwiązania", ale mimo wszystko ciekawy pomysł. Dzięki.

    Jesli chodzi o PT100 to znalazłem taki malutki
    [ADC] Wewnętrzne źródło napięcia odniesienia
    Parametry:
    Cytat:
    Ceramiczna obudowa o kształcie cylindra. Zakres pomiarowy: -50 st.C +500 st.C. Prąd maksymalny: 1mA. Stała czasowa: 30s max. Samoogrzewanie: 5mW/ st.C. Tolerancja +/- 0,12%. R przy 0 st.C = 100R

    Koszt takiego czujnika 4 - 11 zł
    Nadawałby się?

    Chyba, że się skuszę na 1N4148 podłączone do źródła prądowego - mała pojemność i do tego najniższy koszt.

    Nieliniowość to najmniejszy problem - od tego jest uP, żeby sobie z tym poradził.

    A gwoli ścisłości: Buduję urządzenie które na dnie będzie mieć ceramiczną płytę grzewczą 1kW 230VAC. Sam czujnik umieszczony będzie w 2-3 cm nad grzałką.