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

Jak mierzyć ujemne temperatury z LM335 i Atmega32? Podłączenie i konfiguracja ADC

ziguś 09 Sty 2014 06:40 1893 12
  • #1 13155564
    ziguś
    Poziom 23  
    Witam
    Temat wałkowany wiele razy ale nie znalazłem odpowiedzi na moje pytanie. Chciałbym do urządzenia dodać miernik temperatury zewnętrznej, a jak wiadomo są one nie tylko dodatnie ale także ujemne. Mam czujniki LM 335 i chciałem je wykorzystać. Jak to zrobić żeby atmega wskazywała ujemne temperatury na tym czujniku ? Czy wystarczy podpiąć lm335 jak diodę zenera i reszta programowo ?
    Cały sęk w tym że atmega mając na wejściu ADC zero nie pokaże nic więcej jak 0. Czy muszę zastosować jakiś dodatkowy przetwornik ? czy wystarczy LM podpiąć do +5V przez rezystor 1kΩ i to podłączyć pod adc
  • #3 13155595
    ziguś
    Poziom 23  
    Tak podaje temperaturę w kelwinach, ale zmniejszamy wartość o 273,15 i mamy °C. Czujnik daje zmianę 10mV na °C. Jak możesz to rozwiń swoją wypowiedź i podpowiedz mi coś np. jak to zrobić żeby przy napięciu +2,55 V na wejściu ADC, wyświetlić na wyświetlaczu wartość np. -10°C
  • #5 13155664
    ziguś
    Poziom 23  
    Termometr będzie częścią urządzenia. Kod do obsługi LM335 muszę dopisać - tylko nie wiem jak to wyskalować ( przez co pomnożyć, podzielić itp) żeby przy napięciu na wejściu ADC = 2,55 V wyświetlacz pokazał np. -10°C a przy napięciu 2,9V pokazał 25°C , jakiej zmiennej użyć ?
  • #6 13155693
    Konto nie istnieje
    Konto nie istnieje  
  • #7 13155695
    ziguś
    Poziom 23  
    Jakieś prostsze wytłumaczenie ?
  • #8 13155698
    Konto nie istnieje
    Konto nie istnieje  
  • #9 13155722
    ziguś
    Poziom 23  
    Nie prościej niż funkcja, tylko prościej wytłumaczyć jakiej funkcji użyć. To nie jest tak że idę na łatwiznę - nie wiem o co zahaczyć
  • #11 13155758
    ziguś
    Poziom 23  
    OK. Dzięki. Będę walczył
  • #12 13156366
    Milek79
    Poziom 15  
    Nie wiem co wy tu kombinujecie, ale można po prostu tak:
    wynik_adc*napiecie_referencyjne/1024
    Przy czym napięcie referencyjne ma być w formie bez przecinka, czyli np. dla 3.3V ma być 330. No i masz temperaturę w Kelwinach
    A tak w ogóle to o mowa o C czy bascom?
  • #13 13156942
    ziguś
    Poziom 23  
    Mowa o Bascom. Ale tak to jest jak się chce przedobrzyć.

    Wart_adc0 = Getadc(0)
    Wart_adc0_1 = Wart_adc0 * 0.501942605 'kalibracja temperatury wewnętrznej
    Wart_adc0_2 = Wart_adc0_1 - 273.15 ' od °C odejmujemy °K
    Wart_adc0_3 = Wart_adc0_2

    Lcd Str(Wart_adc0_3)

    ... i ładnie wyświetla w stopniach Celsjusza z dokładnością do 1°
REKLAMA