ds18b20 с белой меткой
ds18b20 с белой меткой
Собрал термостат на ds18b20 и atmega8 , работает нормально. Купил еще ds18b20 но они с белой точкой. Проблема такая, те что без точки работают нормально, а те что с точкой показивают -35 при 24 градусах,-27 при 32 и.т.д. Некак не могу найти даташит к нему, на сайте производителя тоже нет. Если кто знает что ето за продукт и как его исползовать плз помогите.
-
piligrim130
- Поставщик валерьянки для Кота
- Сообщения: 2392
- Зарегистрирован: Пт дек 03, 2010 10:52:25
Re: ds18b20 с белой меткой
может их отмаркировали как бракованые
Re: ds18b20 с белой меткой
У меня были такие мысли, но зачем на продажу виставлять бракованное .
Или такое тоже бывает?
Все таки это Dallas semiconductors а не какая нибуд китайская saanyoo
Или такое тоже бывает?
Все таки это Dallas semiconductors а не какая нибуд китайская saanyoo
Re: ds18b20 с белой меткой
На сайте производитела про такой продукт и слова нету. Есть ешо ds18s20 , думал в магазине попутали, но на етом четко написано 18b20 как и далжно быт, и формат и содержание регистеров и серийной код правилние , только вот температура как будто на 50 градусов ниже показивает.
Да и ещо у ds18b20 завадская установка 12 бит а у етих 9, поменял програмно на 12 замирает на последнем 9 битном значении и не реагирует на изменении температуры, хотя регистри считиваются .
Да и ещо у ds18b20 завадская установка 12 бит а у етих 9, поменял програмно на 12 замирает на последнем 9 битном значении и не реагирует на изменении температуры, хотя регистри считиваются .
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: ds18b20 с белой меткой
Если можно, выложите фото. Интересно посмотреть, что за зверь такой.mdavit писал(а):У меня были такие мысли, но зачем на продажу виставлять бракованное .
Или такое тоже бывает?
Все таки это Dallas semiconductors а не какая нибуд китайская saanyoo
Re: ds18b20 с белой меткой
Ничего интересного, обичный TO92 с тремя ножками, с надписами DALLAS и 18B22 спереди и с белой точкой сзади корпуса, и с работой не вписиваюшимся в указанном в даташите.
Ну послал я емеил DS фирме и буду ответа ждать.
Может ето и в правду бракованное или китайцы
Ну послал я емеил DS фирме и буду ответа ждать.
Может ето и в правду бракованное или китайцы
Re: ds18b20 с белой меткой
Доброго времени суток. Вот решил разобраться для себя с датчиком ds18b20 и сразу застрял на его инициализации. Библиотеки использовать не хочу. Написал программу, которая должна в цикле инициализировать этот датчик:
Я как понимаю он должен откликаться всегда на каждое проседание линии более 480 мкс, а он так не делает- откликается через раз (если это вообще отклик). Помогите в чём я не прав?
Код: Выделить всё
.include "D:\avr\avrasm\appnotes\m16def.inc"
.cseg
.org $0000
rjmp reset
reset:
ldi r16,low(RamEnd)
out SPL,r16
ldi r16,high(RamEnd)
out SPH,r16
ldi r16,0b11111111
out ddrd,r16
zzzz:
rcall zader1
rcall zader2
rjmp zzzz
zader1:
ldi r16,0b11111111
out portd,r16
ldi r17,255
ldi r18,3
n1:
dec r17
brne n1
dec r18
brne n1
ret
zader2:
ldi r16,0b00000000
out portd,r16
ldi r17,166
n2:
dec r17
brne n2
retЯ как понимаю он должен откликаться всегда на каждое проседание линии более 480 мкс, а он так не делает- откликается через раз (если это вообще отклик). Помогите в чём я не прав?
- Вложения
-
- Proteus7.JPG
- (189.02 КБ) 439 скачиваний
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: ds18b20 с белой меткой
... для начала совет.Stalker-U писал(а):Вот решил разобраться для себя с датчиком ds18b20 и сразу застрял на его инициализации. Библиотеки использовать не хочу. Написал программу, которая должна в цикле инициализировать этот датчик:
1. если пишете на ассемблере - пользуйтесь .equ и .macro. Код будет более понятен и читаем..
2. вместо zader1: и zader2: - хватит одной процедуры задержки
Код: Выделить всё
.equ PinDs1820 = 5 ; номер вывода порта
....
sbi DDRD,PinDs1820 ; вывод на выход "0"
rcall delay_480
cbi DDRD,PinDs1820 ; вывод на выход "1"
rcall delay_5 ; время на восстановление линии в "1"
ldi r16,TIME
loop:
sbis PIND,PinDs1820 ; цикл пока нет "0"
rjmp ds_ok
dec r16
brne loop
ret
ds_ok:
rcall delay_480
ret
если r16 на выходе не равно 0 - датчик на линии есть
Re: ds18b20 с белой меткой
Для работы с ds18b20 нужно саблюдать последовательность 3-х шагов
1. Инициализациа . У вас ето и просходит
2. ROM команда
3. Команда функции
При отцуствии последователности или каково то шага поведение ds18b20 не определено
Видимо у вас после инициализации ждет следующих шагов, далее понимает по своему незнаю что как и нету ответа, и внов переходит в режим ожидания инициализации
From datasheet
The transaction sequence for accessing the DS18B20 is as follows:
Step 1. Initialization
Step 2. ROM Command (followed by any required data exchange)
Step 3. DS18B20 Function Command (followed by any required data exchange)
It is very important to follow this sequence every time the DS18B20 is accessed, as the DS18B20 will not
respond if any steps in the sequence are missing or out of order. Exceptions to this rule are the Search
ROM [F0h] and Alarm Search [ECh] commands. After issuing either of these ROM commands, the
master must return to Step 1 in the sequence.
1. Инициализациа . У вас ето и просходит
2. ROM команда
3. Команда функции
При отцуствии последователности или каково то шага поведение ds18b20 не определено
Видимо у вас после инициализации ждет следующих шагов, далее понимает по своему незнаю что как и нету ответа, и внов переходит в режим ожидания инициализации
From datasheet
The transaction sequence for accessing the DS18B20 is as follows:
Step 1. Initialization
Step 2. ROM Command (followed by any required data exchange)
Step 3. DS18B20 Function Command (followed by any required data exchange)
It is very important to follow this sequence every time the DS18B20 is accessed, as the DS18B20 will not
respond if any steps in the sequence are missing or out of order. Exceptions to this rule are the Search
ROM [F0h] and Alarm Search [ECh] commands. After issuing either of these ROM commands, the
master must return to Step 1 in the sequence.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: ds18b20 с белой меткой
... не происходит и не произойдетmdavit писал(а):Для работы с ds18b20 нужно саблюдать последовательность 3-х шагов
1. Инициализациа . У вас ето и просходит
Stalker-U писал(а):Код: Выделить всё
....
ldi r16,0b11111111
out ddrd,r16 ; все линии порта работают как выходы ОШИБКА
....
zader1:
ldi r16,0b11111111
out portd,r16 ; ОШИБКА
....
zader2:
ldi r16,0b00000000
out portd,r16
....
работать можно только так
Код: Выделить всё
sbi DDRD,PinDs1820 ; вывод на выход "0"
cbi DDRD,PinDs1820 ; вывод на выход "1"PS бит порта portd.PinDs1820 всегда равен 0
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: ds18b20 с белой меткой
Тоже поискал, похоже что это ds18b20+, т.е. тоже самое, но без свинца. Картинка похожая на Вашу http://www.megachip.ru/item.php?item_id=716047 . На сайте Максима в свежем даташите утверждают, что "+" должен стоять на лицевой стороне http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf .mdavit писал(а):Ничего интересного, обичный TO92 с тремя ножками, с надписами DALLAS и 18B22 спереди и с белой точкой сзади корпуса, и с работой не вписиваюшимся в указанном в даташите.
Ну послал я емеил DS фирме и буду ответа ждать.
Может ето и в правду бракованное или китайцы
Кстати, вчера купил 2шт. 18b20, так и есть, - внизу-слева маленький плюсик, а сзади углубление с буковкой "p".
Re: ds18b20 с белой меткой
Уважаемый ChipKiller, я что-то не понял с командами sbi, cbi. Они вроде как устанавливают указаный бит регистра в 0 и 1 соответственно, а связва ldi r16,0b11111111 c out portd,r16 весь байт переводит в значение высокого уровня. В чём тогда фатальная ошибка не позволяющая инициализировать датчик и стабильно это видеть на осцилограмме, прикреплённой мной выше? Или собака зарыта глубже? И ещё вопрос: менять логический уровень надо регистром ddrd а не как я регистром portd при ddrd в 1?(исходя из вашего: PS бит порта portd.PinDs1820 всегда равен 0)? 
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: ds18b20 с белой меткой
... ошибка в принципе управления - нельзя изменять вывод порта через out PORTx.Stalker-U писал(а):В чём тогда фатальная ошибка
... именно. sbi DDRD,PinDs1820 - переключает порт на вывод "0", сbi DDRD,PinDs1820 - переключает порт на ввод и резистор 4,7КОм "подтянет" его к "1"Stalker-U писал(а):менять логический уровень надо регистром ddrd а не как я регистром portd при ddrd в 1?
Re: ds18b20 с белой меткой
Вы гений ChipKiller
Всё заработало как надо! тока я не понял почему оно заработало
пойду читать дальше.
- Вложения
-
- Безымянный.JPG
- (111.49 КБ) 458 скачиваний
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: ds18b20 с белой меткой
... потому, что запись "1" в порт не дает "возможности" DS18xx сбросить линию в "0" (при таком управлении по-сути происходит короткое замыкание вывода МК на землю )Stalker-U писал(а):тока я не понял почему оно заработалопойду читать дальше.
-
PE_VK
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Вт ноя 16, 2010 23:19:40
- Откуда: Украина, г. Макеевка
Re: ds18b20 с белой меткой
mdavit писал(а): Есть еще ds18s20 Да и еще у ds18b20 заводская установка 12 бит а у этих 9 .
1. У DS18В20 заводская установка 12 бит, а DS18S20 - 9 бит.
Попробуйте работать как с DS18S20.
2. Может еще быть паразитное питание и только.
Re: ds18b20 с белой меткой
Вроде разобрался. sbi ddr,x подключает ножку порта к нулю внутри самого контроллера и на линии устанавливается низкий уровень, что и вызывает начало инициализации; команда cbi ddr,x обеспечивает высокий уровень за счёт подключения к питанию через резистор в схеме на 4,7К. Ответом на инициализацию служит подключение линии к нулю в самом датчике. Фух. Два дня ушло. Ещё раз спасибо Вам ChipKiller!