Свежие обсуждения
Документация

Термометр на DS1820

1 4 5

Прошло почти пол-года.
Добавлю, что для нормальной работы часов потребуется MAX813L или ему подобные супервизоры. Рекомендую, иначе при плавном понижении напряжения и его плавном возрастании происходит всякая фигня с атмелкой. Ещё добавил танталовый кондёр параллельно батарейке. Ввиду того, что устройство считаю законченым выкладываю печатки...

103757.zip

 

Вот ещё:
DD3 в моей схеме - счётчик (по-моему ИЕ16) и её можно не применять и не ставить (работает на точки).
Собственно фотки. Прошу прощение за разрешение..памяти мало.

103759.zip

 

http://pro-radio.ru/urbanism/4777/

 

Нет ли у кого, случайно, библиотеки или примера для DS1820 (DS18S20, DS1821) на Си (ССS) для PICmicro?

 

http://icmicro.narod.ru/source/index.htm
Вроде оно...
-----
Нет, наврал... Тут асс...
------
Корейский сайт
http://user.chol.com/smarty/bbs/bbs.php?page=5&id=ascbbs&db=homefirmware...
http://user.chol.com/smarty/bbs/bbs.php?page=5&id=ascbbs&db=homefirmware...

 

Спасибо. посмотрел. Поразбирался.... и написал свою функцию. Теоретически - ничего сложного не должно быть (алгоритм с кота). Но, естественно, датчик (DS18S21) в Протеусе не хочет со мной общаться. Единственное, что получилось - сигнал сброс, после которого приходит импульс подтверждения от датчика.
Я пытаюсь послать последовательность команд:
0x55, 0xEE, _пауза 1 секунда_, 0x55, 0xAA _пытаюсь принять 8 бит_.
но датчик ничего не отвечает в ответ. Смотрел логическим анализатором. Видно передачу от МК:
---0x55 --- ---0xEE --- _______ ---0x55 --- ---0xAA ---
10101010 01110111 _пауза_ 10101010 01010101

но ответ от датчика виден только после команды "сброс".

В примерах также встретил другую последовательность команд: 0xCC, 0x44, 0xCC, 0xBE.

Как правильно у него спросить, "сколько градусов?". Датчик один на проводе. Может я неправильно спрашиваю?

 

Как оказалось, нужно простить так: 0xCC, 0x44, _пауза_, 0xCC, 0xBE, хотя в документации написано другое. По этому запросу датчик мне вернул значение температуры, но со смещением на 1 бит (т.е. значение увеличенно в 2 раза). Почему так, пока не разобрался, но первый (младший) пришедший бит "0". А сколько байт вобще посылает датчик? У pic-маньяка принимается около 8-9 байт, причем первые два - температура (а в документации указан диапазон 0x00...0xFF - один байт).

 

Сергей К: А сколько байт вобще посылает датчик?
А Вы даташитом пользуетесь?

 

хм. У меня в датшите такого нету .
....
Как оказалось, я пользовался датшитом на DS1821, оказывается он заметно отличается по системе команд от DS18S20.

 

Ну вот он: ftp://ftp.elin.ru/pdf/1-Wire/DS18S20.pdf