Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Prosty Termometr-pytanie...

adamek199124 05 Jan 2008 21:46 2672 10
  • #1
    adamek199124
    Level 11  
    Witam1 Chciałem zbudować prosty termometr i szukając w sieci znalazłem taki oto schemat http://edw.com.pl/pdf/k07/05_01d.pdf z opisu wynika że można podłączyć każdy woltomierz ale czy może być też analogowy? Według mnie tak ale wolę się spytać i być pewnym:)
    Pozdrawiam
  • #2
    bogi
    Level 29  
    Możesz podłączyć dowolny. Dla analoga możesz wykonac skalę temperatury jak na podanej przez Ciebie stronie..


    Powodzenia
  • #3
    cyberdar
    Level 31  
    Witam

    Można pod warunkiem, że będzie miał dużą rezystancję

    --
    pozdrawiam
  • #4
    adamek199124
    Level 11  
    Witam
    Dziękuje za odpowiedzi:)
    Mam jeszcze jedno pytanie czy podłączając stabilizator LM 312 pod źródło zasilania około 13,4V(akumulator samochodowy) to czy potrzebuje jakieś rezystory.. itp? Jeśli tak to jakie powinny mieć wartości?
    Pozdrawiam
  • #6
    adamek199124
    Level 11  
    Witam!
    Dziękuje za odpowiedzi;)
    Mam jeszcze jedno pytanie co do woltomierza.... Czy mogę tutaj zastosować woltomierz 0-50V? Chciałbym aby wyniki były w granicach od 0-40C(termometr pokojowy) na stronie z projektem jest napisane ze układ będzie działał w mV... i że np. 10st.C to 100mV...Czy w tym wypadku muszę zastosować miliwoltomierz.. Jeśli tak to w jakim sklepie internetowym taki wskaźnik dostanę(na allegro nie ma żadnego analogowego..)?
    Pozdrawiam
  • #7
    Michals125
    Level 13  
    Woltomierz 0-50 V zdecydowanie nie spełni tutaj swojej roli .Jedynym rozwiązaniem będzie zakup woltomierza o mniejszej skali na a.....o znajdziesz analogowy 0-6 V -będzie dokładniejszy odczyt ,badź też jak wspomniałeś miliwoltomierz jeżeli popytasz w elektroniku to napewno znajdziesz mV / mA.. Pozdrawiam
  • #8
    Michals125
    Level 13  
    Woltomierz 0-50 V zdecydowanie nie spełni tutaj swojej roli .Jedynym rozwiązaniem będzie zakup woltomierza o mniejszej skali na a.....o znajdziesz analogowy 0-6 V -będzie dokładniejszy odczyt ,badź też jak wspomniałeś miliwoltomierz jeżeli popytasz w elektroniku to napewno znajdziesz mV / mA.. Pozdrawiam
  • #9
    cyberdar
    Level 31  
    Witam

    Co do woltomierza to od biedy się nadaje choć takie rozwiązanie jest niezbyt praktyczne. Sygnał z czujnika należałoby odpowiednio wzmocnić wzmacniaczem operacyjnym. Koszt takiego wysokonapięciowego wzmacniacza operacyjnego plus zasilanie do tego wszystkiego pewnie przekroczyłoby to koszty modułu miliwoltomierz opartego na ICL7106/7107. Gotowe moduły można zamówić np. na www.diax.pl, www.tme.pl i pewnie paru innych. Koszt takiego modułu to około 40zł.

    --
    pozdrawiam
  • #10
    jacekhe
    Level 17  
    Ja mam pytanie jak ktoś by wiedział czy ten kod jest poprawny?? Bo autor chwilowo nie ma czasu na sprawdzenie go i kazał mipokazać go na forum literki czegoś są od tyłu, będę wdzięczny za pomoc i uwagi. Pozdrawiam.

    Code:
    'Termometr 4 punktowy DS18b20 
    

    $regfile = "m8def.DAT"                                     
    $crystal = 1000000                                         
    'Deklaracja portów od wyświetlacza LCD
    Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5

    Config Lcd = 16 * 2                                       

    '*************************************WAŻNE**********************************************

    Config 1wire = Portd.5                                     

    Dim I1 As Integer , Ss As String * 6
    Dim I2 As Integer
    Dim I3 As Integer
    Dim I4 As Integer

    Dim Dsid1(8) As Byte
    Dim Dsid2(8) As Byte
    Dim Dsid3(8) As Byte
    Dim Dsid4(8) As Byte
    Dim B As Byte                                             
    Dim W As Byte                                               

    Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32             

    Cursor Off                                                 
    Cls                                                         
    Lcd "Lada Samara 1.3s" ;                               
    Lowerline
    Lcd "        2008        "
    Wait 5
    Cls
    W = 1wirecount()
    Lcd "Ilosc czujnikow:"                                     
    Waitms 500
    Lcd W
    Wait 3
    Cls                                                       
    Dsid1(1) = 1wsearchfirst()                                 
    Dsid2(1) = 1wsearchnext()                                   
    Dsid3(1) = 1wsearchnext()                                   
    Dsid4(1) = 1wsearchnext()

    '*******************Odczyt numerów ID czujników temperatury*********************

    If Dsid1(8) = Crc8(dsid1(1) , 7) Then                       
     Locate 1 , 1
     Lcd "CRC OK Czujnik 1 ID"
     Wait 1
     Locate 1 , 1
     For B = 1 To 8
     Lcd Hex(dsid1(b))
     Next
    End If
    Wait 2

    If Dsid2(8) = Crc8(dsid2(1) , 7) Then
     Locate 2 , 1
     Lcd "CRC OK Czujnik 2 ID"
     Wait 1
     Locate 2 , 1
     For B = 1 To 8
     Lcd Hex(dsid2(b))
     Next
    End If
    Wait 2

    If Dsid3(8) = Crc8(dsid3(1) , 7) Then
     Locate 1 , 1
     Lcd "CRC OK Czujnik 3 ID"
     Wait 1
     Locate 1 , 1
     For B = 1 To 8
     Lcd Hex(dsid3(b))
     Next
    End If
    Wait 2

    If Dsid4(8) = Crc8(dsid4(1) , 7) Then
     Locate 2 , 1
     Lcd "CRC OK Czujnik 4 ID"
     Wait 1
     Locate 2 , 1
     For B = 1 To 8
     Lcd Hex(dsid4(b))
     Next
    End If
    Wait 2
    Cls

    '*******************koniec odczytu ID czujników temperatury*********************

    Do
       1wreset
       1wwrite &H55
       1wverify Dsid1(1)                                       
       1wwrite &HBE
       I1 = 1wread(2)
    '---------------------------------
       1wreset
       1wwrite &H55
       1wverify Dsid2(1)                                       
       1wwrite &HBE
       I2 = 1wread(2)
    '---------------------------------
       1wreset
       1wwrite &H55
       1wverify Dsid3(1)                                       
       1wwrite &HBE
       I3 = 1wread(2)
    '---------------------------------
       1wreset
       1wwrite &H55
       1wverify Dsid4(1)                                       
       1wwrite &HBE
       I4 = 1wread(2)
    '--------konwersja temp dla wszystkich dsow
       1wreset
       1wwrite &HCC
       1wwrite &H44
    Wait 1



       I1 = I1 * 10
       I1 = I1 / 16
       'If I1 > 0 Then Cls                                       
       Ss = Str(i1)
       Ss = Format(ss , " 0.0")
       Locate 1 , 1                                             
       Lcd "Wew" ; Ss ; Chr(0) ;

       I2 = I2 * 10
       I2 = I2 / 16
       'If I2 > 0 Then Cls
       Ss = Str(i2)
       Ss = Format(ss , " 0.0")
       Locate 2 , 1
       Lcd "Zew" ; Ss ; Chr(0) ;

       I3 = I3 * 10
       I3 = I3 / 16
       'If I3 > 0 Then Cls
       Ss = Str(i3)
       Ss = Format(ss , " 0.0")
       Locate 1 , 11
       Lcd "Chlo" ; Ss ; Chr(0) ;

       I4 = I4 * 10
       I4 = I4 / 16
       'If I4 > 0 Then Cls
       Ss = Str(i4)
       Ss = Format(ss , " 0.0")
       Locate 2 , 11
       Lcd "Gaz" ; Ss ; Chr(0) ;

    Loop