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

kalibracja czujnika temperatuy adc

micha_ 27 Lis 2008 19:31 1350 4
REKLAMA
  • #1 5790733
    micha_
    Poziom 11  
    witam
    na wejsciu adc5 (atmega8) podlaczony mam dzielnik napiecia(1khom) na mase czujnik temperatury do 5v
    przy temperaturach 0° i 100° rejestry maja nastepujace wartosci
    - 0°
    ADCL = 024
    ADCH = 003
    ADCW = 089
    - 100°
    ADCL = 032
    ADCH = 000
    ADCW = 160
    po krutkiej obserwacji doszle do wniosku ze mozna by bylo na podstawie ´
    wartosci rejestow ADCH i ADCW z kalibrowac czujnik
    100° -> (ADCH * 255) + ADCW = 0*255 +160 = 160
    0° -> (ADCH *255)+ADCW = 3*255 +89 = 854
    z przesunieciem do 0 :0°- 100° -> 854-160 = 694
    przy obliczaniu tymczasowego punktu
    data_t = (694-((ADCH*255)+ADCW)-160);
    no temperatura
    temp = (data_t * 100)/694;
    teoretycznie (na papierze)funkcjonuje idealnie ale !!!
    czy ktos zna moze prostrzy sposob kalibracji sensorow adc
    dzieki


    Proszę poprawić treść wiadomości - regulamin p.15
    [zumek]
  • REKLAMA
  • #2 5790885
    Dr.Vee
    VIP Zasłużony dla elektroda
    Coś namieszałeś.

    ADCW[15:0] = ADCH[7:0] ADCL[7:0], czyli rejestr ADCW zawiera te same dane, co ADCH+ADCL. Jeśli chcesz odczytujesz rejestry 8-bitowe, to najpierw ADCL, a później ADCH. No i nie jestem pewien, czy wynik konwersji można odczytać więcej niż 1 raz...

    Poza tym jeśli dobrze rozumiem, to rezystor 1k + czujnik temperatury tworzą dzielnik napięcia. Jeśli tak, to zmiana napięcia będzie nieliniową funkcją zmiany rezystancji czujnika: Vout(T) = 5 * 1k/(1k + R(T)), gdzie R(T) jest ch-ką rezystancji od temperatury czujnika.

    Pozdrawiam,
    Dr.Vee
  • REKLAMA
  • #3 5791036
    micha_
    Poziom 11  
    oznacza to ze dzielnik napiecia nie jest dobry sposobem???
  • REKLAMA
  • Pomocny post
    #4 5791360
    Dr.Vee
    VIP Zasłużony dla elektroda
    Oznacza to, że nie jest to takie proste, jak się wydaje :) Korzystając z dzielnika musisz wybrać pomiędzy dobrą liniowością a wysoką dynamiką (rozdzielczością) - przy okazji rezystancja dzielnika w całym zakresie pracy musi być dużo mniejsza, niż rezystancja wejściowa przetwornika A/C.

    Sugeruję wykonanie kilku wykresów funkcji Vout(T) dla różnych wartości R(Tmin), R(Tmax) i R. W ten sposób najszybciej zorientujesz się, jak poszczególne parametry wpływają na kształt ch-ki V(T).

    Poza tym w mikrokontrolerze nieliniowość nie jest dużym problemem, bo znając ch-kę czujnika można ją skorygować programowo.

    Pozdrawiam,
    Dr.Vee
  • #5 5791449
    micha_
    Poziom 11  
    nie liniowosc czujnika nie przeszkadza mi bo potrzebuje tylko punkty odniesienia.
    zmienilem zmienne na unsigned long ,zkorygowalem odczyt na jednorazowy i dziala( troche lodu do miski -> 0° , wwoda co sie gotuje 98° to mi wystarczy .
    jeszcze raz dzieki
REKLAMA