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
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
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
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
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?
... ich hab jetz nicht direkt eins, und dabei isses schwer nen vorgefertigtes zu haben, ich werd mal versuchen eins aufzutreiben
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
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)
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
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
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Sorry,
deine Aussage verstehe ich nicht so ganz
der b bringt nicht viel mehr als der s, bloß das er ne größere auflösung bei der ausgabe hat
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Lesezeichen