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

Czujnik temperatuty na 1n4148 Bascom ATmega16

29 Lis 2006 16:44 3554 26
  • Poziom 13  
    Wie ktoś jak by to wygładało ? LM35 jest elementym dośc drogim a i tak daje sygnał analogowy. Dioda krzemowa byłaby w tym wypadku znacznie tańszym rozwiązaniem. Widziałem już takie projekty w którym temperatura była mierzona za pomocą diody a następnie wyświetlana na wyświetlaczy led.
  • HELUPOWER
  • Poziom 14  
    LM35 kosztuje ok 3PLN. Czy naprawdę warto dorabiać elektroniki za tę sumę? Bo samą diodą to za wiele nie zmierzysz.
    Pozdrawiam.
  • HELUPOWER
  • Poziom 13  
    Cytat:
    LM35 kosztuje ok 3PLN


    Gdzie za tyle widziałeś ???????????????
    U mnie kosztuje 10 zł. A pozatym jeszcze termistor może byłby też dobry do tego?
  • Poziom 13  
    Ale po dodaniu ceny przesyłki cena osiąga ok 10 zł czyli tylke co w sklepie elektronicznym w mojej miejscowosci. A dioda krzemowa kosztuje 0.15 zł, więc warto pofatygowac sie.
  • Poziom 14  
    Ale do diody - jeśli dobrze pamiętam - wzm operacyjny , jakieś pr do kalibracji, miejsce na płytce a i tak pewnie nie uzyskasz tej dokładności co lm35. Ale to Twój wybór.
    Pozdrawiam.
  • VIP Zasłużony dla elektroda
    Zastosuj np. DS1820 lub podobny, bez kalibracji, większa dokładność, zwróć też uwagę na charakterystyki.
  • Poziom 13  
    Co do dallasów to nie mam zbyt dużego zaufania. Kupiłem z allegro dwa ds1821 i jak narazie żadnego nie udało mi się uruchomić. Cały czas jako wynik pomiaru temperatury zwraca 255 lub 0. Wszysto było na swoim miejscu tj rezystor podciągający 4,7 k dobrze podłaczony, ale i tak to nic nie dawało :cry:
  • Poziom 15  
    Zamów sobie dallsa jako sample bedziesz miał pewnosc ze sa dobre. Ja uruchomiłem ds18b20 i poszedł bez najmniejszych problemów.
  • Poziom 13  
    A czy istnieje taka możliwaość, że ten dallas jest uszkodzony np. w skutek elektrostatyki? lub fabrycznie uszkodzony.
  • Poziom 39  
    witold16 napisał:
    A czy istnieje taka możliwaość, że ten dallas jest uszkodzony np. w skutek elektrostatyki? lub fabrycznie uszkodzony.

    Jeśli masz na myśli DS1821 , to może ten Twój jest ustawiony w tryb termostatu :?: Czy odczytywanie zer lub jedynek , uzależnione jest od tego , czy go ogrzewasz lub schładzasz :?:

    Piotrek
  • Poziom 13  
    Powiem tak, że bezwzględu na ogrzewanie czy schładzanie zwraca 255 w przypadku 2-wire czyli doprowadzone jest napięcie 5V,a w systemie
    1-wire zwraca cały czas 0
  • Poziom 39  
    witold16 napisał:
    Powiem tak, że bezwzględu na ogrzewanie czy schładzanie zwraca 255 w przypadku 2-wire czyli doprowadzone jest napięcie 5V,a w systemie
    1-wire zwraca cały czas 0

    Mówisz dużo , ale nie wszystko :D
    Czy jak podłączysz go w trybie PARASITE POWER(tylko DQ przez 4k7 do VCC i GND) , to linia DQ jest w stanie niskim :?:
    Jeśli jest w w stanie wysokim , to czy odpowiada PRESENCE PULSE :?:
    Do jakiego proca toto podłączasz i z jakiego kompilatora korzystasz :?:
    Same niewiadome , a ty w kółko - nie działa :D
    Proszę , opisz dokładnie co , z czym i jak ;)

    Piotrek
  • Poziom 13  
    Na żadne komendy nie odpowiada a na lini utrzymuje się cały czas stan wysoki. Mikrokontroler to ATmega 16, kompilator BASCOM AVR.
  • Poziom 39  
    witold16 napisał:
    Na żadne komendy nie odpowiada a na lini utrzymuje się cały czas stan wysoki. Mikrokontroler to ATmega 16, kompilator BASCOM AVR.

    Gadatliwy to Ty nie jesteś :D , ale dobry choćby ochłap ;)
    Czy do swojej M16 , masz podłączony kwarc :?:
    Pokaż program (cały !) , którym testujesz tego nieszczęśnika.

    Piotrek
  • Poziom 13  
    Kwarcu nie mam ustawiony mam na wewnętrzny oscylator RC 4Mhz, ale nie wiem czy to ma duży wpływ, gdyż doświadczenia są wykonywane w przyjaznych temperaturach.
    A oto mój program
    Code:

    $regfile = "m16def.dat"
    $crystal = 4000000
    config 1wire= portb.7
    $baud = 2400
    Do
    1wreset
    1wwrite &HEE
    1wwrite &HAA
    wait 1
    t=1wread (1)
    print t
    Loop
    End


    Na wyświetlaczy jest cały czas 255 czujnik podłaczony za pomocą 1-wire. Napięcie jest na pewno dobrze wystabilizowane. Za przed i za stabilizatorem jest po 1000 uF a dodatkowo bezposrednio pod porckiem 100n przy PCF8583 220 uF i jeszcze przy pamieci EEPROM (przy której połączony jest dallas) też jest 220 uF. Oczywiscie wszystkie te czynnosci wykonywane są na płytce testowej, którą niedługo planuje wystawić w DIY. Kabelki łączące czyjnik są bardzo krótkie ok 5 cm (są bezpośrednio nad płytką. Ustawienia prcaka są dobrze skonfiguraowane, gdyż odbierałem sygnał z pilota za pomocą wewnętrznego oscylatora i jakoś wszysto wychodziło.
  • Poziom 29  
    Eh, a gdzie masz czas oczekiwania na konwersję? Pomiędzy write a read, hm? wsadź pomiędzy write a read sekundowe opóźnienie...
  • Poziom 13  
    Wsatawiłem to opużnienie, ale sytuacja nie uległa zmianie. Nadal wyświetla 255
  • Pomocny post
    Poziom 39  
    No to spróbuj tego:
    Code:

    $regfile = "m16def.dat"
    $crystal = 4000000
    $hwstack = 32
    $swstack = 32
    $framesize = 32

    config 1wire= portb.7

    Do
       1wreset
       if err=0 then
          print "PP_ok" ' czy LCD "PP_OK" - co tam masz
       else
          print "PP_err" ' j/w
       endif
       waitms 500
    Loop

    Napisz o wyniku doświadczenia :D

    Piotrek
  • Poziom 13  
    Code:

    $hwstack = 32
    $swstack = 32
    $framesize = 32


    Tego komilator nie chciał skompilować, więc usunełem. Wykrywał jako niznaną komende. Po uruchomineiu programu na wyświetlaczu pojawiło sie err w przypadku gdy był podłączony w systemie 1-wire. Dołaczając do pinu Vdd napięcie 5 V na wyświetlaczu pojawiło się ok.
  • Poziom 29  
    Chwila, może to głupie pytanie - a w jaki sposób podłaczasz go w one-wire? Łączysz nogi VCC z GND?
  • Poziom 13  
    1-wire to normalnie podłaczam mase i DQ i oczywiscie rezystor podciągający, a pod Vdd nic nie jest podłaczone.
  • Poziom 29  
    To połącz VDD i masę razem... Bo tak trzeba :P

    Dodano po 29 [sekundy]:

    Znaczy na czujniku nózki VDD i GND połącz i obie do masy :P
  • Poziom 13  
    Takie coś to chyba się robi w DS18B20 bo podłaczyłem i nadal wykrywa błąd. Mi się wydaje, że jaest on przełaczony w tryb termostatu i dalatego nie che się uruchomić.Trzeba go przełaczyc w tryb termometru problem w tym, że nie wiem jak to zrobić.
  • Specjalista - oświetlenie sceniczne
    tak może trochę OT, masz tam popularny stabilizator L7805?. Jeśli tak to zobacz jaką pojemność zaleca producent. Te twoje pojemnośći to gruba przesada, nawet to źle wpływa na stabilizację.
    Nie mniej jednak nie jest to powodem złego działania czujnika
  • Poziom 13  
    To dobrze własnie widać róznice między danymi producenta a rzeczywistością. Bez tych kondestatorów PCF8583 źle odmierzał czas a to własnie było na tych zaleceniach producenta. Wsatawiłem kondestator i problem zniknął.
  • Poziom 19  
    u mnie (a mieszkam w malutkim miescie) lm35 kosztuje kolo 2-3 zl