-         

Ergebnis 1 bis 9 von 9

Thema: Digital Temp.Sensor DS1821 bzw. DS 18B20 via Bascom

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2005
    Ort
    63xxx
    Beiträge
    24

    Digital Temp.Sensor DS1821 bzw. DS 18B20 via Bascom

    Anzeige

    Hallo Leute,

    ich möchte einen Temp. Sensor an einen Atmel Mega128 anschließen.
    Nun habe ich da wenig Erfahrung. Ich habe zwar eine aufwendigen Messwertverstärker für einen "NTC Temperaturfühler SEMI 833 ET" an einer C-Control am laufen, doch ist mir das zuviel Aufwand.
    Ich habe mir von Dallas den DS1821[1] bzw. DS18B20[2] ausgesucht.

    Meine Frage ist nun, ob man das Ding mit Bascom zusammen verwenden kann, oder ob man Assembler brauch?

    Was hat zur Folge, das der eine 8bit und der andere 12bit ausgibt (Converts temperature to 12-bit digital word).

    Danke schon mal im Voraus.

    [1] http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2794
    [2] http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2812

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    es kommen mehr daten :-D ne, das bringt nix, der eine bringt zwar ne höhere auflösung, dafür isses aber trotzdem nur 8-bittig kalibriert, kauf den mit 8 bit und werde glücklich, mit Bascom funzt das super
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2005
    Ort
    63xxx
    Beiträge
    24
    Danke Dir!

    Ich werde mich aber für den DS18B20 entscheiden, da der 0,5°C kann.
    Gibt es irgendwo ein Bsp. wie man das Ding durch ein Programm auswertet?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    ... ich hab jetz nicht direkt eins, und dabei isses schwer nen vorgefertigtes zu haben, ich werd mal versuchen eins aufzutreiben
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2005
    Ort
    63xxx
    Beiträge
    24
    Sorry, ich hätte ja mal selbst suchen können. Tante google mit DS1821 und Bascom ergibt z.B. http://www.qsl.net/dg1xpz/elektronik/avr/ds1821.html
    Damit komme ich weiter (hoffe ich)

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2005
    Ort
    63xxx
    Beiträge
    24
    Hallo Leute,

    kann mir einer den Unterschied zwischen den DS18B20 und den DS18S20 sagen?
    Der einzige Unterschied den ich im Moment sehe und mit dem ich nichts anfangen kann "9- to 12-bit user-configurable resolution" für den DS18B20.

    Des weiteren habe ich ein Programmteil der aus dem DS auch 0,1°C rausholt.
    Kann mir das jemand ein wenig genauer erklären?

    Danke

    Code:
    Sub Read1820                                                ' reads sensor ans calculate
    ' T for 0.1 C
    1wreset                                                     ' reset the bus
    1wwrite &HCC                                                ' read internal RAM
    1wwrite &HBE                                                ' read 9 data bytest
    Bd(1) = 1wread(9)                                           ' read bytes in array
    1wreset                                                     ' reset the bus
    
    Crcit                                                       ' ckeck CRC
    If Crc = 0 Then                                             ' if is OK, calculate for
    Tmp = Bd(1) And 1                                           ' 0.1C precision
    If Tmp = 1 Then Decr Bd(1)
    T = Makeint(bd(1) , Bd(2))
    T = T * 50 : T = T - 25 : T1 = Bd(8) - Bd(7) : T1 = T1 * 100
    T1 = T1 / Bd(8) : T = T + T1 : T = T / 10
    End If
    End Sub
    
    '//////////////////////////////////////////////////////////////////////////////
    Sub Crcit                                                   ' calculate 8 bit CRC
    ' bigger but faster
    Crc = 0                                                     ' needs a 256 elements table
    For I = 1 To 9
    Tmp = Crc Xor Bd(i)
    Crc = Lookup(tmp , Crc8)
    Next
    End Sub
    
    '//////////////////////////////////////////////////////////////////////////////
    Crc8:
    Data 0 , 94 , 188 , 226 , 97 , 63 , 221 , 131 , 194 , 156
    Data 126 , 32 , 163 , 253 , 31 , 65 , 157 , 195 , 33 , 127
    Data 252 , 162 , 64 , 30 , 95 , 1 , 227 , 189 , 62 , 96
    Data 130 , 220 , 35 , 125 , 159 , 193 , 66 , 28 , 254 , 160
    Data 225 , 191 , 93 , 3 , 128 , 222 , 60 , 98 , 190 , 224
    Data 2 , 92 , 223 , 129 , 99 , 61 , 124 , 34 , 192 , 158
    Data 29 , 67 , 161 , 255 , 70 , 24 , 250 , 164 , 39 , 121
    Data 155 , 197 , 132 , 218 , 56 , 102 , 229 , 187 , 89 , 7
    Data 219 , 133 , 103 , 57 , 186 , 228 , 6 , 88 , 25 , 71
    Data 165 , 251 , 120 , 38 , 196 , 154 , 101 , 59 , 217 , 135
    Data 4 , 90 , 184 , 230 , 167 , 249 , 27 , 69 , 198 , 152
    Data 122 , 36 , 248 , 166 , 68 , 26 , 153 , 199 , 37 , 123
    Data 58 , 100 , 134 , 216 , 91 , 5 , 231 , 185 , 140 , 210
    Data 48 , 110 , 237 , 179 , 81 , 15 , 78 , 16 , 242 , 172
    Data 47 , 113 , 147 , 205 , 17 , 79 , 173 , 243 , 112 , 46
    Data 204 , 146 , 211 , 141 , 111 , 49 , 178 , 236 , 14 , 80
    Data 175 , 241 , 19 , 77 , 206 , 144 , 114 , 44 , 109 , 51
    Data 209 , 143 , 12 , 82 , 176 , 238 , 50 , 108 , 142 , 208
    Data 83 , 13 , 239 , 177 , 240 , 174 , 76 , 18 , 145 , 207
    Data 45 , 115 , 202 , 148 , 118 , 40 , 171 , 245 , 23 , 73
    Data 8 , 86 , 180 , 234 , 105 , 55 , 213 , 139 , 87 , 9
    Data 235 , 181 , 54 , 104 , 138 , 212 , 149 , 203 , 41 , 119
    Data 244 , 170 , 72 , 22 , 233 , 183 , 85 , 11 , 136 , 214
    Data 52 , 106 , 43 , 117 , 151 , 201 , 74 , 20 , 246 , 168
    Data 116 , 42 , 200 , 150 , 21 , 75 , 169 , 247 , 182 , 232
    Data 10 , 84 , 215 , 137 , 107 , 53

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    also: der b kann bis zu 0,0625° auflösen, du siehst das im programm natürlich nicht, weil du ja nur 9 statt 8 bytes liest, und dann später anders rechnest, oder auch nicht, allerdings ist das NUR die ausganbe, der iss trotzdem nur auf 0,5° genau
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.10.2005
    Ort
    63xxx
    Beiträge
    24
    Sorry,

    deine Aussage verstehe ich nicht so ganz

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    der b bringt nicht viel mehr als der s, bloß das er ne größere auflösung bei der ausgabe hat
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •