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.

Pomiar napięcia bez dzielników rezystorowych i kalibracji, po 1Wire lub I2C

15 Lip 2013 07:46 3033 25
  • Poziom 36  
    Witam.

    Potrzebuję mierzyć napięcia z przedziału 1...30V z dokładnością do 0,1 V.
    Chciałbym uniknąć konieczności kalibracji układu po zaprogramowaniu mikrokontrolera, czyli chciałbym uniknąć stosowania rezystorowych dzielników napięcia zależnych od przybliżonej wartości rezystorów.

    Przydałoby się coś w rodzaju DS1820 do pomiaru temperatury (tam też nic się już nie kalibruje) ale do pomiaru napięcia. Ktoś z was spotkał się z podobnymi rozwiązaniami ?
  • Użytkownik obserwowany
    Każdy przetwornik ma kalibracje A/C i C/A zacznij od przeczytania książki.
  • Poziom 33  
    Witam
    Dla założonej dokładności spokojnie obejdziesz się bez kalibracji, wystarczy zastosować dokładne źródło odniesienia, dla przykładu REF02, które parametrami przewyższa to czego oczekujesz.
    Dzielników nie unikniesz bo nie znam popularnego gotowego przetwornika akceptującego na wejściu 30V i to właśnie dzielniki są w takich układach problemem a nie kalibracja układu.

    Edit
    Na LTC2301 według podawanych w nocie katalogowej parametrach osiągniesz założoną dokładność na wewnętrznym źródle referencyjnym.
  • Poziom 36  
    O kalibracji dzielnika właśnie pisałem (doborze rezystorów 0,1%, stosowaniu potencjometrów wieloobrotowych). Chciałbym tego uniknąć więc postanowiłem się zorientować w dostępności specjalizowanych zewnętrznych IC, które już wszystko mają w sobie i wprost zwracają informację o poziomie napięcia na wejściu w postaci cyfrowej.

    PS. Nie oczekuję super dokładności. Wystarczy mi 0,1V
  • Pomocny post
    Poziom 33  
    Witam
    Rezystorów z pewnością nie należy sklejać z kilku tylko zamówić lub kupić precyzyjne, problem nie leży tylko w tym że uzyskasz konieczny stopień podziału ale jak na to dmuchniesz to pomiar popłynie, z tego powodu odradzam też potencjometry wieloobrotowe.
    Oblicz jakie wartości Ci są potrzebne i zamów potrzebne stabilne rezystory, musisz się liczyć z wydatkiem koło 5zł za sztukę ( tyle płaciłem za 0,01% 10ppm ) ale masz pewność że nawet podgrzany suszarką do włosów nie zmieni pomiaru, w zamian masz pewność że możesz powielić urządzenie bez zmiany oprogramowania.
    Do hasła kalibracja podchodź ostrożnie, kalibrować powinno się sprzętem o klasę lepszym, czyli 0,01V przy 30V a tego nie zapewni miernik ze sklepu z za rogu.
  • Poziom 36  
    PiotrPitucha napisał:
    Witam
    Rezystorów z pewnością nie należy sklejać z kilku tylko zamówić lub kupić precyzyjne, problem nie leży tylko w tym że uzyskasz konieczny stopień podziału ale jak na to dmuchniesz to pomiar popłynie, z tego powodu odradzam też potencjometry wieloobrotowe.

    No i właśnie z tego powodu wolałbym tego wszystkiego uniknąć. Nie chce mi się wierzyć, że nie ma odpowiedników DS1820 do pomiaru napięcia...

    W innym wypadku pozostaje:
    http://www.rezystory.net/

    I dla zakresu 0V...30V pozostaje zbudować dzielnik 10k / 2k z rezystorów:

    Rezystory metalizowane BEYSCHLAG 0,6W 0,1% 2.000k 0,60 zł / szt.
    Rezystory metalizowane PHILIPS 0,6W 0,1% 9.986k 0,60 zł / szt.

    Plus jakieś dobre źródło referencyjne 5V.
  • Poziom 33  
    Witam
    Są układy że tak powiem "odpowiedniki" DS18B20 ale mierzą w zakresie 0-Vref.
    W strukturze są diody na wejściach które powodują że nie można na wejście podać więcej niż napięcie zasilania, co dotyczy też Vref.
    Napięcia referencyjnego nie musisz szukać, podałem Ci przykład LTC2301 który ma przetwornik 12 bitowy i wewnętrzne źródło referencyjne, podpinasz i masz :)
  • Pomocny post
    Poziom 43  
    MES Mariusz napisał:
    Nie chce mi się wierzyć, że nie ma odpowiedników DS1820 do pomiaru napięcia...

    Mimo niechęci jednak musisz uwierzyć.
    Jest odpowiednik DS1820 do pomiaru napięcia. Ale nie w takim zakresie.
    DS1820 mierzy od -50 do 100°C, i masz na to odpowiedniki w postaci ADC od 0 do 5V.
    Za to nie ma DSa1820 do pomiaru temperatury od -50 do 1000°C, a jest tylko właśnie DS1820 do pomiaru od -50 do 100°C.
    Tak samo nie ma ADC który by mierzył od 0 do 30V. Są tylko do max od 0 do 5V, ewentualnie od 0 do 10V.
    Ale koledzy Cię straszą niepotrzebnie. Ludzie, po co rezystory 0,01% do pomiaru z wymaganą dokładnością 0,33%?
    Pozatym liczy się stopień podziału. A w dzielniku jest taka pozytywna zależność że przy zmianie górnego rezystora pod wpływem zmian temperatury, w takim samym stopniu zmienia się wartość dolnego rezystora i stopień podziału nie ulega zmianie.
    Testowałem to nawet na rezystorach SMD z bardzo dużego zakresu wartości (od Ω do MΩ) i współczynnik temperaturowy był identyczny. I co ciekawe był taki sam dla rezystorów 5% i 1% (ale przypominam że przy SMD, przewlekane już się różniły zależnie od producenta).
    Moim więc zdaniem możesz użyć zwykłych rezystorów 0,1%. I nic nic będziesz musiał kalibrować. W najgorszym przypadku uzyskasz dokładność 0,2% a taka Ci wystarczy.
  • Poziom 36  
    Jako THT pozostają więc (z dostępnych na rynku)

    10K ARCOL MRA020710KBTA015
    2K ARCOL MRA02072KBTA015

    Po 2.7 zł za sztukę w RS Components

    lub

    VISHAY 15ppm 0,6W 0,1% 12.100k 0.70 zł
    VISHAY 15ppm 0,6W 0,1% 1.100k 0.70 zł

    Co dla napięć 0...30V da mi na dzielniku 0...4,633V (wykorzystanie 948 poziomów z 1024 dostępnych w 10 bit ADC dla 5V). 30V / 948 daje krok 0,03V więc w sumie też nie jest źle.

    Jeszcze jakieś pomysły z tego co dostępne na rynku?
  • Poziom 33  
    Witam
    Zależy ile ADC potrzebujesz, może wystarczą te wbudowane w procesory?
    Tak na styk to nawet jakaś Atmega wystarczy Xmegi niezbyt dobrze znam ale mają 12 bitowe przetworniki, kwestia sprawdzenia powtarzalności wewnętrznego Uref, bo w Atmegach jest wystarczająco stabilne do twoich celów ale mało powtarzalne więc trzeba by zastosować zewnętrzne.
    To co podałem osiągalne w TME i spełnia Twoje warunki.
    Piotr
  • Poziom 36  
    Wystarczy to co jest wbudowane w Atmega8 na przykład. Problemem jest właśnie dzielnik... dostępność komponentów i ceny... Przykładowo w RS Components minimalne ilości to 5 sztuk x 2,7 + 30 zł koszta wysyłki i za 10 rezystorów płacisz... blisko 70 zł.
  • Poziom 43  
    Niestety nieprawda. To wbudowane w ATMege odpada. Jego zarówno dokładność jak i stabilność jest znacznie gorsza niż 5%. Więc w układzie nawet rezystory 5% były by na wyrost.
    Skoro już dajesz rezystory 0,1% to musisz dać i napięcie referencyjne o porównywalnej dokładności.
    Nawet najtańszy TL431 jak źródło referencyjne będzie tutaj lepszy (niż to w ATMedze, choć i TL431 nie zapewni wystarczającej dokładności).
  • Poziom 36  
    Miałem na uwadze przetwornik ADC wbudowany w Atmegę ale źródło napięcia referencyjnego zewnętrzne, np. takie jak zaproponowałeś.
  • Poziom 33  
    Witam
    Atom skąd czerpiesz informacje że źródło wewnętrzne w Atmedze ma stabilność gorszą niż 5% ? Ani moja praktyka ani manual tego nie potwierdzają, zrobiłem kilkaset urządzeń w których używałem wewnętrznego Uref i wszystkie działają stabilnie i powtarzalnie, problemem nie jest stabilność źródła tylko jego wartość, muszę przyznać że kupując setkę procesorów powtarzalność tego napięcia była bardzo dobra, problemem był rozrzut w układach od różnych dostawców ( pochodzących z innej serii ).
    Również info że TL431 nie spełnia założeń jest nieprawdziwe, ma wystarczającą stabilność przekraczającą wielokrotnie założenia pytającego.
    Pomimo to ani wewnętrzne napięcia w Atmedze ani odniesienie z TL431 nie urządza pytającego bo w różnych seriach jest rozrzut Uref dokładnie zresztą opisany w manualach.
    Gwarantuję że to nie niestabilność źródeł jest problemem w przetwornikach tylko nieliniowość przetwarzania, co również jest do sprawdzenia w manualach.
    Czym innym jest dokładność czym innym stabilność a jeszcze czym innym wartość napięcia odniesienia, nie można tych nazw mylić.
    Błędem jest używanie rezystorów 5% w urządzeniach mierzących cokolwiek, niech kogoś nie ucieszy że zmierzy opornik dokładnym miernikiem i trafi w pożądaną wartość, zwykle elementy o niskiej tolerancji płyną proporcjonalnie do niej i po podgrzaniu przestają być tym co wymarzyliśmy.
  • Poziom 43  
    PiotrPitucha napisał:
    Witam
    Atom skąd czerpiesz informacje że źródło wewnętrzne w Atmedze ma stabilność gorszą niż 5% ? Ani moja praktyka ani manual tego nie potwierdzają

    Z datasheeta. Choć ze stabilnością faktycznie przesadziłem.
    Zakres napięcia Internal Voltage Reference od 2.3 do 2.7V. Bez liczenia widać że to więcej niż 5%. Przypominam że MES Mariusz nie chce niczego kalibrować, więc nawet jak to napięcie referencyjne było by super stabilne to jego rozrzut produkcyjny je dla Niego dyskfalifikuje.
    Stabilność owszem jest dużo lepsza, ale jednak może się rozjeźdzać z jakieś 0,5% przy zmianach temperatury od powiedzmy 0 do 40°C. Tutaj było by potrzebne mniej więcej 0,2% max.
    TL431 będzie stabilnościowo na styk (rozjedzie się o 0,2%), ale do tego dochodzi jego dokładność produkcyjna (ze 2%) + dokładność dołączonych rezystorów ustalających jego napięcie.
  • Specjalista - Mikrokontrolery
    O ile pamiętam z moich przygód w odległej przeszłości, nie tylko VREF ale i sam ADC ATmega też do wybitnych nie należy - ma spore błędy.
    Myślę, że dokładność/precyzję poniżej 1% trudno będzie osiągnąć niskim kosztem. Godząc się na 1% (co wystarcza do większości wyrafinowanych działań, w tym ładowania wrednych akumulatorów litowych) możemy wziąć dowolny w miarę współczesny mikrokontroler z ADC nieco lepszym niż ATmegowy i dobre źródło nap. odniesienia (albo w samym uC, o ile producent zapewnia dane kalibracyjne w pamięci Flash, albo zewnętrzne np. 2.5 V podłączone do zwykłego wejścia ADC i mierzone przez oprogramowanie).
    O ile urządzenie ma pracować w temperaturach pokojowych, nie przejmowałbym się też zbytnio dokładnością rezystorów dzielnika - wziąłbym zwykłe rezystory 1%, które w ograniczonym zakresie temperatur są znacznie lepsze niż 1% i wbrew słusznej skądinąd teorii metrologii w praktyce w tym przypadku sprawdzą się doskonale.
  • Pomocny post
    Poziom 43  
    Tak jak już sam pisałem: przy dzielniku współczynniki temperaturowe rezystorów kompensują się.
    Sam dlatego stosuję nawet rezystory 5%.
    Tyle że kalibrować trzeba. Ale trzeba by było i przy rezystorach 1% więc ja bez zastanowienia daję 5% (ale tylko w dzielnikach i tylko rezystory SMD (ich technologia wykonania jest taka sama dla 5% i 1%)).
  • Poziom 36  
    Dobra, zgadałem się z obsługą http://www.rezystory.net/

    Dostępne są:

    2k 0,6W 0,1% 25ppm BEYSCHLAG 0,60zł
    10k 0,25W 0,1% 25ppm VISHAY 0,60zł

    Przesyłka 6 zł. Tragedii nie ma. Różny producent niestety, ale oba 25ppm.

    Oferta w porównaniu z TME czy RS Components atrakcyjna.

    Do tego Atmega8 plus źródełko TL431 5V.

    Mam nadzieję, że pomiar 0...30V +/-0,1V uda się na tym zrealizować. Zobaczymy co z tego wyjdzie w praktyce. Strzelać się z tego nie będzie. Ma głównie odłączać akumulator żelowy 7Ah 12V po wystąpieniu napięcia ≦ 10,5V. Kontrolować wartość ładowania by nie przekroczyła 13,65V (niech będzie 13,6V) - ładowanie ciągłe, zasilacz buforowy oraz kontrolować napięcie wejściowe ładowarki (tu akurat około 25V).

    Generalnie ma to być programowane (ustawienie napięcia progowego stanu rozładowania, napięcia ładowania, prawidłowego napięcia wejściowego ładowarki) stąd mikrokontroler.

    Kiedyś zrobiłem coś takiego w wersji analogowej - strasznie wielki z tego smok wyszedł ;-)
  • Poziom 15  
    atom1477 napisał:
    Tak jak już sam pisałem: przy dzielniku współczynniki temperaturowe rezystorów kompensują się.


    Doprecyzowując: tylko, gdy rezystory są takie same i o takiej samej wartości.
  • Pomocny post
    Poziom 43  
    Otóż wcale nie muszą być tej samej wartości.
    Tak jak pisałem robiłem testy od Ω do MΩ i współczynniki temperaturowe nie różniły się więcej niż o jakieś setne części %. Dotyczy to jednak tylko SMD bo tam technologia produkcji jest taka sama niezależnie od niczego w zasadzie.
    Oczywiście nie znaczy to że można bezmyślnie stosować dowolne rezystory ślepo wierząc że ich współczynniki temperaturowe będą identyczne. Trzeba to zrobić umyślnie. Ja sprawdziłem w datasheecie, a potem z ciekawości zmierzyłem.
  • Pomocny post
    Poziom 15  
    @atom1477: chyba się nie rozumiemy. Współczynniki temp. mogą być takie same, ale dla różnych rezystancji będą różne zmiany co do wartości. I tak dzielnik 1M-100ohm w temp. np. 10*C będzie miał inny podział, niż w temp. np. 35*C. Oczywiście wpływ tej zmiany na układ zależy od danej aplikacji.

    @MES MARIUSZ: bez dzielnika się nie obejdzie. Możesz jednak uniknąć kalibracji w mikrokontrolerze, przerzucając to na układ dzielnika - stosujesz dobry, wieloobrotowy potencjometr. Swego czasu takie rozwiązania były stosowane w przyrządach pomiarowych i się sprawdzały. Dla twojej dokładności może się to okazać wystarczające. Osobiście jednak uważam, że dodanie kalibracji programowej jest lepsze; szczególnie, jeśli trzeba by to robić w dużej ilości egzemplarzy twojego projektu.
  • Poziom 43  
    PJS napisał:
    @atom1477: chyba się nie rozumiemy. Współczynniki temp. mogą być takie same, ale dla różnych rezystancji będą różne zmiany co do wartości. I tak dzielnik 1M-100ohm w temp. np. 10*C będzie miał inny podział, niż w temp. np. 35*C. Oczywiście wpływ tej zmiany na układ zależy od danej aplikacji.

    Podziewałem się że właśnie Ty nie rozumiesz. I nie myliłem się.
    Załóżmy że mamy 1k i 100k. Oba po 0.01%/1°C. Czyli oba zmienią się o 1%/100°C.
    Podział to 1k/(1k+100k) czyli 1/101.
    Teraz po zmianie o 100°C.
    1k wzrośnie o 10Ω.
    100k wzrośnie o 1k.
    I tu masz rację, wzrosły o różne wartości.
    Ale teraz policzmy:
    1,01k / (1,01k + 101k) = 1,01 / 102,01 = 1/101
    I jak widać stopień podziału się nie zmienił.
  • Pomocny post
    Specjalista - Mikrokontrolery
    PJS: jeśli współczynniki temperaturowe są takie same, to stopień podziału dzielnika się nie zmieni. I tak cały wątek jest czysto teoretyczny, bo dlo topornych akumulatorów żelowych parę procent nie robi żadnej różnicy.
  • Poziom 15  
    @atom1477: przyznaję się do błędu, co do teoretycznego wyliczenia masz rację. Moja praktyka jednak tego nie potwierdza. Ale jak wcześniej pisałem, wszystko zależy od aplikacji i jej wymagań. Tu zakładasz, że będzie równomierne nagrzewanie elementów, nie ma samogrzania itp. Ale tu już schodzimy na inny temat. Szybko licząc w pamięci pomyliłem się i stąd moje wcześniejsze spostrzeżenie.

    @BlueDraco: zgadza się, to tylko teoretyczne rozważania. Jak jednak widać, bardzo łatwo zasugerowałem się swoim doświadczeniem i przywaliłem, jak ślepy w mur :)
  • Poziom 8  
    Pomiar napięcia można łatwo zrobić przy pomocy rezystora i termometru TC77. Rezystor przyklej kropelką do układu TC77, puść przez niego stały prąd i w miarę zmiany napięcia będzie się zmieniać także temperatura układu TC77 - stąd możesz sobie odczytać pomiary.

    Dodatkowo układ będzie miał na tyle dużą inercję, że będziesz rejestrował tylko zmiany napięcia prądu stałego.
  • Poziom 43  
    telewizja333 napisał:
    puść przez niego napięcie

    telewizja333 napisał:
    i w miarę zmiany napięcia będzie się zmieniać także temperatura układu TC77 - stąd możesz sobie odczytać pomiary.

    Większych bzdur dawno nie czytałem.
    I co ma dać taki pomiar? Poza pogorszeniem dokładności co najmniej do kilkuset %?

    EDIT. Edycja nic nie dała. To dalej bzdury. Takie pomiary się owszem robi, ale dla pomiarów w.cz gdzie nie ma jak inaczej dokonać pomiaru. I to nie rezystorem połączonym na kropelkę z czujnikiem temperatury. Ale za pomocą gotowych struktur w układzie scalonym. Gdzie układ grzejnika z czujnikiem ma znikomą bezwładność cieplną, oraz jest dobrze odizolowany od otoczenia (choćby próżnią).