ds1820
Moderators: pedja089, stojke369, [eDo], trax, LAF
- kepos
- Pocetnik na forumu
- Posts: 43
- Joined: 09-01-2009, 14:19
- Location: Croatia, Osijek, Retfala
- Contact:
ds1820
U sklopu jednog sklopa treba mi termometar, te sam za mjerenje temperature odabrao gore navedeni element. Mozda i nije najbolji jer ce mjerit temperature od 100-120°C sto mu je na granici radnog podrucja (prjedlozi za nesto prigodnije dobrodosli). Problem je sto mi na sobnoj temperaturi mjeri oko -30°C. Prvo sam mislio da je greska u mom kodu, ali spojio sam ga izravno na racunalo i probao par programa koje sam iskopao online, ispada da stvarno mjeri takve tempretaure. Probnao sam nabavit i novi senzor ali opet isto. Nigdje u datasheetu ni na netu ne nalazim da se takvo sto pojavljuje niti da mu je potrebna nekakva kalibracija u kodu, a prilicnom sam siguran da mi nije spod nule u sobi. Ima netko kakvih ideja?
Re: ds1820
Jesi probao sa KTY10? Radi u području od -50°C do +150°C, naišao sam prije par dana na jedan projekt sa PIC-om, kao i sa ICL7106. Svega 10 kuna u Chipoteci.
http://electronic-schematic.blogspot.co ... stone.html
P.S. ne mogu više naći onaj sa PIC-om, mislim da se radilo o 16F877, projekt od Elektora ili EPE-a, ne mogu se sjetit.
Pozdrav
http://electronic-schematic.blogspot.co ... stone.html
P.S. ne mogu više naći onaj sa PIC-om, mislim da se radilo o 16F877, projekt od Elektora ili EPE-a, ne mogu se sjetit.
Pozdrav
[Luke:] I can’t believe it. [Yoda:] That is why you fail.
Re: ds1820
Postavi svoj kod, greška je ili u temperaturnoj konverziji ili u preračunavanju...
A i nije svaki senzor isti, razlikuju se prema S ili B oznaci, bilo je takvih problema na forumu, ne zahtjevaju nikakve hardverske izmjene, ali zato je softver drugčiji...
A i nije svaki senzor isti, razlikuju se prema S ili B oznaci, bilo je takvih problema na forumu, ne zahtjevaju nikakve hardverske izmjene, ali zato je softver drugčiji...
Ne vjeruj u čuda - računaj na njih!
- kepos
- Pocetnik na forumu
- Posts: 43
- Joined: 09-01-2009, 14:19
- Location: Croatia, Osijek, Retfala
- Contact:
Re: ds1820
Tako sto bi mi odgovaralo, pogledat cu. Hvalaluchni wrote:Jesi probao sa KTY10? Radi u području od -50°C do +150°C
A kako da ih razlikujem? Na samom elemntu nije otisnuta ni b ni s oznaka vec pise samo ds1820?78L05 wrote:A i nije svaki senzor isti, razlikuju se prema S ili B oznaci
Kod stavljam ispod. Shemu spajanja necu stavljat jer mismlim da nije bitna(ako nekog zanima easyavr5a).
Primjetio sam jos kada ga upalim da prvo ocitanje bude +85.0C sto je prema datasheetu ispravno ocitana pocetna vrijednost. Tako da mi je sad jos manje jasno u cemu je greska, jer i za b i s verziju provjera predznaka treba biti ista a konstantno mi daju temperaturu u minusu....
Code: Select all
/* LCD pinout */
sbit LCD_RS at PORTD.B2;
sbit LCD_EN at PORTD.B3;
sbit LCD_D4 at PORTD.B4;
sbit LCD_D5 at PORTD.B5;
sbit LCD_D6 at PORTD.B6;
sbit LCD_D7 at PORTD.B7;
sbit LCD_RS_Direction at DDRD.B2;
sbit LCD_EN_Direction at DDRD.B3;
sbit LCD_D4_Direction at DDRD.B4;
sbit LCD_D5_Direction at DDRD.B5;
sbit LCD_D6_Direction at DDRD.B6;
sbit LCD_D7_Direction at DDRD.B7;
char *text = "+100.0C";
unsigned temp;
void Display_Temperature(unsigned int temp2write) {
char temp_whole;
/* odbacivanje decimale */
temp_whole = temp2write >> 1;
/* provjera predznaka */
if (temp2write & 0x8000) {
text[0] = '-';
temp_whole = ~temp_whole + 1;
} else {
text[0] = '+';
}
/* odredjivanje znamenki za ispis */
text[1] = temp_whole/100 + 48;
text[2] = (temp_whole%100)/10 + 48;
text[3] = temp_whole%10 + 48;
/* ispis deciale */
if (temp2write & 0x0001) {
text[5] = '5';
} else {
text[5] = '0';
}
/*ispis na lcd */
Lcd_Out(1, 1, text);
}
void main() {
Lcd_Init(); /* lcd init */
Lcd_Cmd(0x20); /* lcd reset */
Lcd_Cmd(0x0c); /* cursor off */
do {
/* temp read */
Ow_Reset(&PORTB,2); /* rst */
Ow_Write(&PORTB,2,0xCC); /* SKIP_ROM */
Ow_Write(&PORTB,2,0x44); /* CONVERT_T */
Delay_us(120);
Ow_Reset(&PORTB,2); /* rst */
Ow_Write(&PORTB,2,0xCC); /* SKIP_ROM */
Ow_Write(&PORTB,2,0xBE); /* READ_SCRATCHPAD */
temp = Ow_Read(&PORTB,2);
temp = (Ow_Read(&PORTB,2) << 8) + temp;
Display_Temperature(temp);
Delay_ms(500);
} while (1);
}
Re: ds1820
Prema senzorima koje sam naručio, na 'S' verziji ne piše slovo između 18 i 20, dok je na 'B' verziji senzora jasno istaknuto DS18B20. Nadam se da je ovo od pomoći.
Pozdrav
Pozdrav
[Luke:] I can’t believe it. [Yoda:] That is why you fail.
- kepos
- Pocetnik na forumu
- Posts: 43
- Joined: 09-01-2009, 14:19
- Location: Croatia, Osijek, Retfala
- Contact:
Re: ds1820
Pa ne bas, znam gdje treba trazit oznaku ali iste nema :/luchni wrote:Prema senzorima koje sam naručio, na 'S' verziji ne piše slovo između 18 i 20, dok je na 'B' verziji senzora jasno istaknuto DS18B20. Nadam se da je ovo od pomoći.
- Feko
- Stariji član
- Posts: 4394
- Joined: 23-07-2008, 06:18
- Location: Hrvatska, Slavonija, Selo moje malo...
Re: ds1820
Pogledaj kako se tema razvijala i kojih je problema bilo negdje od sredine prve strane na dalje
http://www.elektronika.ba/forum/viewtop ... f=9&t=5005" onclick="window.open(this.href);return false;
...a ovdje je verzija 2 http://www.elektronika.ba/forum/viewtop ... =9&t=10808" onclick="window.open(this.href);return false;
http://www.elektronika.ba/forum/viewtop ... f=9&t=5005" onclick="window.open(this.href);return false;
...a ovdje je verzija 2 http://www.elektronika.ba/forum/viewtop ... =9&t=10808" onclick="window.open(this.href);return false;