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

Układ do cyklicznego pomiaru rezystancji, co 0,1 sekundy, sterowany przez PC..

ROB-D 16 Gru 2015 23:19 1296 21
  • #1 16 Gru 2015 23:19
    ROB-D
    Poziom 11  

    Muszę zbudować tester do ściągania charakterystyk rezystancji fotorezystorów względem czasu. Nie bardzo wiem jak to ugryźć, tz. na jakim układzie DSP, lub mikrokontrolerze, najlepiej wykonać takowy tester..
    Założenie jest takie:
    Układ powinien robić pomiary rezystancji fotorezystora w czasie, dokładnie w odstępie co 0,1 sekundy, przez około 10 sekund. Po czym, poprzez transfer pomiarów do komputera, za pomocą oprogramowania, mogłaby zostać narysowana, na monitorze, krzywa (charakterystyka), gdzie oś X określała by czas a Y rezystancję.

    Prosiłbym o jakieś sugestie jak najprościej byłoby to można rozwiązać. Zakres tego testera powinien być od 10 ohm - 10Mohm. Dokładność myślę, że około 1% byłaby dobra.

    0 21
  • Testo
  • Pomocny post
    #2 16 Gru 2015 23:42
    strikexp
    Poziom 27  

    Jakbyś był mocny z mikrokontrolerów to poleciłbym nawet zwykły ATmega328. Jednak z treści postu wnioskuję że nie jesteś więc może bardziej warte uwagi będzie Arduino?

    Obie powyższe propozycje bazują na tym samym mikrokontrolerze ale inaczej się je programuje. W tego typu mikrokontrolerach jest interfejs UART. Dokupuje się za kilka złotych port UART na USB i w ten sposób odbiera dane na komputerze a nawet steruje mikrokontrolerem za pomocą PC.
    W tego typu mikrokontrolerach masz też przetwornik A/C. Którym można zmierzyć łatwo spadek napięcia na fotorezystorze czyli jego rezystancję.

    0
  • #3 16 Gru 2015 23:54
    ROB-D
    Poziom 11  

    Akurat jeśli chodzi o programowanie takowych mikrokontrolerów to mam znajomego który mógby mi to ogarnąć (a może sam bym nawet w to wniknął), moim zadaniem głównie byłoby złożyć fizycznie takowy układ.. Tak, myślałem już nad wykorzystaniem jakiegoś typowego mikrokontrolera, i jego przetwornika A/D, do pomiaru spadku napięcia na badanym fotorezystorze. Pytanie jest tylko takie czy przetwornik 10 bitowy, jaki się znajduje w tym Atmelu, będzie miał wystarczającą rozdzielczość/dokładność pomiaru..

    0
  • Testo
  • #4 17 Gru 2015 00:12
    Marek_Ertew
    Poziom 15  

    Może klasyczny 555 lub inny generator przestrajany jednym rezystorem?
    Wyjście normalne możesz podłączyć na jeden kanał wejściowy karty dźwiękowej, dalej soft na PC zmierzy częstotliwość i obliczy rezystancję.
    Na drugi kanał możesz podać częstotliwość podzieloną przez 2^10, co pozwoli mierzyć częstotliwości generatora do kilku Mhz.

    Opcja B, poszukaj multimetru laboratoryjnego (nieprzenośnego) z jakimś normalnym interfejsem cyfrowym. Mam na myśli coś podobnego do: https://youtu.be/SObqPuUozNo?t=30m56s
    Zazwyczaj dla takiego sprzętu 10 pomiarów na sekundę to nudy a nie praca.

    0
  • #5 17 Gru 2015 00:12
    strikexp
    Poziom 27  

    10 bitów to liczba z zakresu 0-1023 czyli 0,1% rozdzielczości. Bo dokładność to bardziej skomplikowane pojęcie.

    0
  • #6 17 Gru 2015 01:01
    ROB-D
    Poziom 11  

    Wydaje się, że 0,1% powinno starczyć.. Najpewniej wykonam ten tester na jakimś zestawie Arduino, być może znajde jakieś wersje z mikrokontrolerem Atmel'a posiadającym 12 lub 14 bitowy przetwornik analogowo-cyfrowy.

    Jeszcze jedno pytanie..
    Napięcie prądu jakie przepuszczę przez badany fotorezystor, i podam na wejście przetwornika ADC, ma być nie wyższe, niż napięcie zasilania samego mikrokontrolera?

    0
  • #7 17 Gru 2015 01:35
    strikexp
    Poziom 27  

    Tak maksymalnie 5V (5,5V to absolutne maksimum). Do tego zasilanie nie może być niższe niż prąd zasilający fotorezystor.

    0
  • Pomocny post
    #9 17 Gru 2015 09:25
    Marek_Skalski
    Moderator Projektowanie

    ROB-D napisał:
    Wydaje się, że 0,1% powinno starczyć..

    Na pewno nie wystarczy. Masz 2 opcje podłączenia fotorezystora:
    1. Przełączane źródło prądowe. Moim zdaniem rozwiązanie lepsze, chociaż trochę bardziej skomplikowane.
    2. Przełączany dzielnik napięcia. Moim zdaniem rozwiązanie tanie, ale bardzo słabe.
    Chcesz mierzyć 10 MOhm, więc np. spadek napięcia na fotorezystorze zasilanym ze źródła prądowego wynosi 5V. Rezystancja spada do 1 MOhm i napięcie to już tylko 0,5V, a przy 100kOhm napięcie mierzone to ledwie 50mV, a rozdzielczość ADC to 4,89mV. Rzeczywista rozdzielczość ADC jest jeszcze mniejsza i jest oznaczana jako rozdzielczość użyteczna; dla 10-bitowych ADC zazwyczaj wynosi między 7,2 a 8,5 bitów. Wynika to z szumów, offsetu, nieliniowości, błędu wzmocnienia... Potrzebujesz przełączać zakresy pomiarowe, inaczej musiałbyś mieć idealny przetwornik o rozdzielczości min. 27 bitów.
    Kolejna rzecz to rezystancja wejściowa przetwornika nie przekracza 100 kOhm, więc co zmierzysz podłączając źródło o znacznie większe rezystancji? Nic sensownego. Potrzebujesz układ dopasowania sygnału, który jednocześnie może skorygować offset i błąd wzmocnienia. Wprowadzi dodatkowe szumy, ale to może być nawet pomocne do wyznaczenia rzeczywistej wartości sygnału czy też całej charakterystyki.
    Częstotliwość próbkowania też możesz zwiększyć. Trochę mało wiarygodne jest bazowanie na 1 próbce. Mając 16 czy 256 można budować statystykę i tworzyć rzeczywiste charakterystyki.

    0
  • #10 17 Gru 2015 09:30
    strikexp
    Poziom 27  

    Lepiej ten http://electropark.pl/plytki-bazowe/2916-arduino-pro-mini-v3.html
    I dodać płytkę z filtrem zasilającym, złożonym z kondensatora i dławika http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
    Ma to ogromne znaczenie przy pomiarach analogowych a te płytki Arduino nie mają żadnych filtrów...

    Ja osobiście kupuję te mini Arduino na Aliexpress za 8zł z dostawą. W polskich sklepach strasznie zdzierają za ten model i lepiej kupić na Allegro chińską podróbkę.

    Źródło prądowe robi się bardzo łatwo na LM317.

    0
  • #11 17 Gru 2015 16:11
    ROB-D
    Poziom 11  

    Dziękuje za odpowiedzi, zaczyna mi się temat powoli rozjaśniać..

    strikexp:
    Ten moduł A-Star 32U4 Micro, może być zasilany przez USB, czy zasilając układ tą drogą, nie będzie zasilanie już wystarczająco odfiltrowane?

    Marek_Skalski:
    Faktycznie, nie pomyślałem o tym.. No tak, w zakresie 10R-10M wszystkie multimetery pracują na kilku zakresach dla większej dokładności..
    Z tego co piszesz, będę musiał wykonać źródło prądowe, do którego będę podłączał badany fotorezystor, ale przed przetwornikiem muszę dać jeszcze wtórnik napięciowy na jakimś wzmacniaczu operacyjnym, który byłby buforem pozwalającym zmniejszyć rezystancje, poniżej rezystancji wejściowej owego przetwornika, dobrze rozumuje?
    Nie bardzo jednak wiem w jaki sposób określać zakres pomiaru, mógłbyś coś więcej o tym napisać?
    Proste źródło prądowe, np. na LM317, to raczej prosta sprawa, lecz nie bardzo wiem czym jest przełączalne źródło prądowe (czy dzięki temu można właśnie określać zakres pomiaru?)
    Ogólnie, pomiar w całym zakresie 10R-10M musi być dokonywany w czasie rzeczywistym. Czy np. można wykorzystać kolejne wejścia DAC w mikrokontrolerze, dla ściągania danych pomiarowych z różnych zakresów w tej samej chwili?

    0
  • Pomocny post
    #12 17 Gru 2015 16:22
    Marek_Ertew
    Poziom 15  

    Cytat:
    Czy np. można wykorzystać kolejne wejścia DAC w mikrokontrolerze, dla ściągania danych pomiarowych z różnych zakresów w tej samej chwili?

    ATTINY i ATMEGA posiadają max jeden przetwornik ADC. 8 wejść oznacza że przetwornik może mierzyć napięcie na dowolnym z nich, ale wciąż tylko na jednym.
    XMEGA w niektórych odmianach posiada 2 przetworniki ADC, ale to jest droga donikąd.

    Sam przetwornik może natomiast bez problemu wykonywać do 1000 pomiarów na sekundę. Mierząc kolejno napięcia na różnych wejściach możesz uzyskać 100 pomiarów na każde wejście. Wybierasz z nich jeden który jest największy ale nie poza zakresem i wysyłasz.

    W każdym przypadku, barierą jest rozdzielczość 10b (11b lub 12b dla XMEGA) oraz wewnętrzna rezystancja (jeśli dobrze pamiętam, ok. 20kΩ) co oznacza że bez wzmacniacza operacyjnego raczej się nie obejdzie.

    0
  • #13 17 Gru 2015 16:39
    strikexp
    Poziom 27  

    ROB-D napisał:

    strikexp:
    Ten moduł A-Star 32U4 Micro, może być zasilany przez USB, czy zasilając układ tą drogą, nie będzie zasilanie już wystarczająco odfiltrowane?


    Nie może być zasilany z USB bo będą duże zakłócenia, USB to beznadziejne źródło stabilnego napięcia.
    Jak już masz korzystać z gotowca to użyj ładowarki USB o bardzo dużej wydajności np 2-3A. Powinno choc troche pomóc.

    Na LM317 robi się po prostu stałe źródło prądu, które powoduje precyzyjny spadek napięcia na rezystancji. Jak masz do pomiaru różne elementy, to zamontuj kilka rezystorów z podwójną listwą goldpin. Zworką będziesz sobie przełączał prąd.

    0
  • #14 17 Gru 2015 18:37
    ROB-D
    Poziom 11  

    strikexp napisał:

    Nie może być zasilany z USB bo będą duże zakłócenia, USB to beznadziejne źródło stabilnego napięcia.


    Rozumiem..

    strikexp napisał:
    Na LM317 robi się po prostu stałe źródło prądu, które powoduje precyzyjny spadek napięcia na rezystancji. Jak masz do pomiaru różne elementy, to zamontuj kilka rezystorów z podwójną listwą goldpin. Zworką będziesz sobie przełączał prąd.


    No właśnie rzecz polega na tym, że ma być robiony pomiar jednego fotorezystora w czasie rzeczywistym. Rozpiętość rezystancyjna tego fotorezystora, podczas badania, w ciągu 10 sekund, będzie się wahała od ok. 1K do ok. 10M, tak więc, przełączanie zworkami zakresu pomiaru odpada. Myślę, że układ musiałby chyba jakoś wykonywać "przemiatanie" po zakresach, czyli pobierać cyklicznie, kolejno po sobie, po ileś próbek z każdego zakresu - to takie moje główkowanie, ale nie wiem czy to dobry trop..

    0
  • #15 17 Gru 2015 18:54
    strikexp
    Poziom 27  

    Nie przełączasz zakresów prądu podczas badania, to już lepiej kupić oddzielny, dokładny przetwornik np http://electropark.pl/przetworniki-a-c-c-a/3187-mcp3304-przetwornik-a-c-13-bit-dip16.html
    Tylko wtedy to już dochodzą problemy zakłóceń całkiem na serio.
    Ogólnie to polecałbym robić takie pomiary pod zasilaniem z akumulatora, z optoizolacją sygnału do komputera. Ale to dużo zabawy, może napiszesz jakie masz na to fundusze gotówkowe i czasowe?

    0
  • #16 17 Gru 2015 19:29
    ROB-D
    Poziom 11  

    Mogę dać na to ze 200 zł..

    0
  • #17 17 Gru 2015 20:35
    Marek_Skalski
    Moderator Projektowanie

    Zobacz tutaj: http://www.mouser.com/ds/2/405/lm334-404562.pdf
    Strona 5, rysunek 11 pokazuje zależność prądu wyjściowego od rezystancji sterującej, którą możesz przełączać za pomocą portów uC lub pośrednio przez multiplekser albo rejestr szeregowy, jeżeli masz za mało wyprowadzeń.
    Zakresy dobrałbym tak, aby sumaryczny błąd nie przekraczał 1% dla ADC 12-bitów. Na przykład:
    1. Prąd 0,47uA i zakres 10M-700k, co daje napięcia w zakresie 4,70V-0,33V przy rozdzielczości ~2,4mV, czyli 0,7% nominalnie. Czas stabilizacji prądu może być rzędu 2ms, więc krótko.
    2. Prąd 4,70uA i zakres 1M-70k, czyli 4,70V-0,33V. Stabilizacja prądu trwa <200us.
    3. Prąd 47,0uA i zakres 100k-7k, czyli 4,70V-0,33V.
    4. Prąd 470uA i zakres 10k-700R, czyli 4,70V-0,33V.
    5. Prąd 4,70mA i zakres 1k-70R, czyli 4,70V-0,33V.
    Pomiary rezystancji poniżej to już trochę bardziej skomplikowana sprawa. Sam fotorezystor oświetlony tak mocno też pewnie będzie się nagrzewał i zmieniał rezystancję.
    W kwestii uC i ADC, to najwygodniej użyć wbudowanego ADC. Nie polecam Xmega, ze względu na offset w trybie single-ended. Z kolei w trybie różnicowym masz do dyspozycji tylko 11 bitów. O ile nie jesteś przywiązany do AVR, to możesz rozważyć użycie STM32F373, który ma 12 i 16-bitowy ADC + programowane wzmocnienie sygnału, kosztuje mniej niż AVR przy większych możliwościach i jest dedykowany do układów pomiarowych.
    Jeżeli znasz/lubisz produkty Microchip, to możesz użyć np. dsPIC33EP32GS502, który ma wbudowane źródło prądowe i wzmacniacze współpracujące z dość zaawansowanym ADC (12-14 bitów).
    Używając przetwornika o większej rozdzielczości i mając wbudowane wzmacniacze, możesz spróbować zamknąć wszystko w 2 lub 3 zakresach.
    Jeżeli chcesz mieć dokładne pomiary, to zainwestowałbym w zewnętrzny ADC (np. 24 bity, ale nie audio) ze starannie zaprojektowanym torem sygnałowym i zasilaniem.

    0
  • #18 17 Gru 2015 20:43
    strikexp
    Poziom 27  

    Hmmmm... bardziej sie zagłębiłem w to co napisałeś. Faktycznie powinieneś mieć kilka zakresów bo typowy przetwornik A/D nie da rady tego ogarnąć. Po prostu prąd dla 10Mohm będzie za mały do pomiarów przy 1kohm.
    Spróbuj użyć precyzyjnego żródła prądowego LM334Z. Albo nawet jeszcze lepszego bo dla twoich pomiarów prąd powinien wynosić max 500nA, a LM334Z ma minimum 1uA co ogranicza pomiar do 5Mohm.
    Problem zbyt małego spadku napięcia możesz rozwiązać dobrymi wzmacniaczami. Podłącz kilka wzmacniaczy nieodwracających z precyzyjnymi rezystorami do wejść A/D.
    http://elportal.pl/pdf/k01/46_08.pdf
    Potem program będzie porównywał zmierzoną wartość z zakresem i przełączał na odpowiednie wejście. Trzeba tylko razem z pomiarem wysyłać zakres(mnożnik) do komputera. A tam to już sobie to poskładasz w całość chociażby w Excelu.
    Pamiętaj tylko żę wzmacniacze będą miały pewną niedokładność.

    No i z racji precyzji tych pomiarów radzę zasilać wszystko z akumulatora. Tylko nie jestem pewien czy można tak podłączyć sprzęt na akumulatorze do portu UART bez zakłóceń. Może ktoś inny się wypowie na ten temat.

    0
  • #19 18 Gru 2015 12:55
    ROB-D
    Poziom 11  

    Marek_Skalski:
    Dziękuję, to mi już wiele mówi.. Ogólnie doświadczenie w mikrokontrolerach mam praktycznie żadne wiec wolałbym wykonać ten układ na jakimś typowym module z Xmega. Dokadaność pomiaru wystarczy mi na poziomie taniego, chinskiego multimetera, więc myślę, że ten tester przy rozdzielczości 10 lub 12 bit będzie działa zadowalająco.

    strikexp:
    Będę miał na uwadze by użyć możliwe najdokładnieszego źródła prądowego jak i to by wykonać filtrowanie zasilania.

    Na dniach spróbuje narysować jakiś schemat i przedstawie go tu do zaopiniowania..

    0
  • #20 20 Gru 2015 23:28
    _jta_
    Specjalista elektronik

    Jeśli prąd będzie 0.5uA, a opór akurat 10Ω, to uzyskasz napięcie 5uV - chcesz to zmierzyć z dokładnością 1%, czyli 0.05uV? Dla DC to jest niewykonalne.

    Można poprawić działanie stosując dzielnik napięcia, w którym będzie mierzona oporność - może opornik 10kΩ, zasilanie 5V, przy oporności 10Ω będzie 5mV na mierzonej oporności, przy 10MΩ będzie 5mV na oporniku 10kΩ, do uzyskania dokładności 1% wystarczy zmierzyć napięcie do 5V z dokładnością 50uV, to już da się wykonać, choć wymaga sporo staranności. Pomiar musi mieć rozdzielczość do 1/100 000 zakresu, czyli ADC powinien być co najmniej 17-bitowy (i to faktycznie, a nie nominalnie), albo potrzeba kilku ADC - powiedzmy, 12 bitowy miałby rozdzielczość 1.22mV, wystarczy dla zakresu napięć 125mV÷4875mV, a dwa zakresy po 125mV można pokryć dodatkowymi ADC, także 12-bitowymi, z rozdzielczością 30uV - 1% dokładności w całej skali nie wyjdzie, bo ADC idealne nie są, ale błąd około 1.5% w najgorszych punktach i znacznie poniżej 1% średnio powinien byc do uzyskania.

    Może mieć sens wykonanie kilku pomiarów przy różnych wartościach oporników dzielnika - wtedy wymagania co do ADC będą dużo mniejsze, ale problemem może być przeładowywanie pojemności - nie wiem, jaką pojemność ma fotoopornik, ile czasu musi trwać pomiar jego oporności, kiedy jest bliska 10MΩ, czy np. 50ms na to wystarczy? Trzeba by zmierzyć prąd ciemny tego fotoopornika dla napięcia zmiennego.

    0
  • #21 23 Gru 2015 22:54
    Marek_Ertew
    Poziom 15  

    _jta_ napisał:
    Jeśli prąd będzie 0.5uA, a opór akurat 10Ω, to uzyskasz napięcie 5uV - chcesz to zmierzyć z dokładnością 1%, czyli 0.05uV? Dla DC to jest niewykonalne.

    Nie siej zamętu. Jeden przetwornik 11-14b i przełączane źródło prądowe też wystarczy do realizacji miernika.

    0.5uA i 10MΩ w idealnych warunkach da 5V. W praktyce problemem mogą być upływności elementów, ale to odrębny problem.
    0.5uA i 1MΩ da napięcie 0.5V.
    Przy 10-bitowym przetworniku z napięciem odniesienia 5,12V mamy rozdzielczość 5mV. Zatem dla zakresu 1-10MΩ możemy mówić o rozdzielczości 1%. Dokładność to sprawa trudniejsza, przydał by się przetwornik o większej rozdzielczości.

    Co robić gdy napięcie przekroczy 5V? Zmniejszamy prąd pomiarowy.
    Co gdy napięcie spadnie poniżej 1V? Najlepiej wykonać pomiar z niższą dokładnością/rozdzielczością po czym zwiększyć prąd.

    0
  • #22 23 Gru 2015 23:24
    _jta_
    Specjalista elektronik

    A mi chodzi o to, żeby przełączanie źródła prądowego nie było potrzebne - bo: (1) nie wiadomo, jaki będzie czas ustalania się napięcia na fotooporniku po przełączeniu prądu, może być za duży; i (2) jest to komplikacja układu. Użycie opornika komplikuje obliczenia, bo zależności stają się nieliniowe, ale przecież to może robić komputer, albo nawet uC.

    0