Еще один глюк DS18B20?

Oct 04, 2003 2 Replies

Приветствую тебя, All!



Есть два датчика DS18B20 ведущих себя довольно странным образом: при понижении температуры (до +3 у одного и +17 у другого) начинают выдавать случайные значения. DS1821 работает без проблем, видимо дело в датчике... Кто-нибудь знает как обойти этот глюк? И глюк ли это?



Счастливо! Дмитрий.


"Dmitry Akulov" snipped-for-privacy@f20.n.z2.fidonet.org> сообщил/сообщила в новостях следующее: news: snipped-for-privacy@f20.n.z2.ftn...

А чем ты его опрашиваешь? У меня был подобный прикол когда неправильно были определены временные пределы импульсов, а при изменении температуры они немного плывут, со всеми вытекающими последствиями.

С ув. Дмитрий

Приветствую тебя, Dmitry!

06 Окт 03 19:04, Dmitry Boyko пишет к Dmitry Akulov:

Да, видимо, при охлаждении датчика тайминги плывут, но в какую сторону и на сколько? Датчик опрашивается pic16f84a вот такой процедурой:

IN_BYTE: ; Прием байта в W MOVLW .8 MOVWF _N CLRF I_BYTE IN_BYTE_1: CALL PIN_LO NOP CALL PIN_HI movlw .1 call DELAY_10USEC ; ждем 15 мкс MOVF PORTB, W ; читаем данные с DATA_PIN MOVWF TEMP BTFSS TEMP, DATA_PIN ; проверяем порт BCF STATUS, C ; если 0, включаем признак переноса BTFSC TEMP, DATA_PIN BSF STATUS, C ; если 1 выключаем RRF I_BYTE, F MOVLW .6 ; ждем 65 мкс CALL DELAY_10USEC DECFSZ _N, F GOTO IN_BYTE_1 MOVFW I_BYTE ; возвращаем результат в W RETURN

PIN_HI: BSF STATUS, RP0 BSF TRISB, DATA_PIN ; high impedance BCF STATUS, RP0 RETURN

PIN_LO: BCF PORTB, DATA_PIN BSF STATUS, RP0 BCF TRISB, DATA_PIN ; low impedance zero BCF STATUS, RP0 RETURN

Все точно по инструкции. ;-)

Счастливо! Дмитрий.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required