Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.10.2007, 01:29
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 201
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
DS18B20 Выдаёт 85 Градусов и всё.
Кто сталкивался с подобной проблемой, подскажите пожалуста, какой код надо записать в регистры настройки датчика DS18B20 для востановления его нормальной работы.
Собирал четырёх канальный термометр на атмеге8, пока настроил алгоритм обмена данными с датчиками, один из них стал выдовать только 85 градусов другой настроился на измерение температуры с дескретностью в 0,5 градуса. После подачи последовательности (Инициализация датчика. 0xCC. 0x4E. 0x02. 0x77. 0x7F)
датчик температуры который был настроен на дескретность 0,5 градуса перестроился на дескретность 0,0625 градуса а датчик который показывал 85 градусов так и показует 85 градусов. В даташите нерасписаны пользовательские биты настройки датчика код 0x02. 0x77. 0x7F. подсмотрел в другой программе.
|
|
|
|
21.10.2007, 11:06
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
По моему невнимательно даташит читали, все расписано...
Выложите проект, посмотрим...
-- Прилагается рисунок: --
Прикрепленный файл: 2356385.pdf
|
|
|
|
21.10.2007, 13:10
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 201
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
По моему невнимательно даташит читали, все расписано...
Байт 4 расписан а 2 и 3 в скользь описан, а вних насколько я понял и хранятся настройки пользователя про режим работы датчика.
Насчёт проэкта не проэкт виноват, в железе работают четыре датчика на четерёх независимых каналах, так вот три датчика работают как термометры а четвёртый выдаёт только 85 С причём при подключении его к любому каналу.
|
|
|
|
21.10.2007, 13:19
|
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
В этом датчике есть такая фича: задается минимальное и максимальное значение температуры, и если температура выходит за эти пределы, то устанавливается флаг, который можно прочитать командой Alarm Search [ECh].
Байты 2 и 3 - это и есть минимальное и максимальное значение температуры.
Из этого следует, что к Вашей проблеме они не имеют никакого отношения...
Может четвертый датчик просто неисправлен???
|
|
|
|
21.10.2007, 13:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Из практики - постоянно 85 при оторванной ножке питания.
|
|
|
|
21.10.2007, 14:44
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 201
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от urry
|
Из практики - постоянно 85 при оторванной ножке питания.
|
Проверил 5,05 Вольта. Я ещё сталкивался с подобной проблемой, при удалённом расположении датчика (35метров)питание есть 5 вольт а датчик 85 показует пока нестал осцилографом на на ноги питания возле датчика и увидил провал напряжения питания ниже 3 вольт в момент выполнения команды измерения температуры, Поставил канденсатор по питанию прям возле датчика всё прапало и он начал правильно показывать температуру. И ещё при измерении температуры датчик нестабильно выводит температуру т.е. температура плавает градуса на три, таже проблема с питанием датчика, поставил кондёр по пяти вольтам всё красиво стало паказывать.
|
|
|
|
21.10.2007, 14:59
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 201
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от dimonbest
|
В этом датчике есть такая фича: задается минимальное и максимальное значение температуры, и если температура выходит за эти пределы, то устанавливается флаг, который можно прочитать командой Alarm Search [ECh].
Байты 2 и 3 - это и есть минимальное и максимальное значение температуры.
Из этого следует, что к Вашей проблеме они не имеют никакого отношения...
Может четвертый датчик просто неисправлен???
|
Спасибо. Теперь понятно зачем байты 2 и 3.
Да... эти датчики выдерживали в процесе разработки термометра и переполюсовку и повышение напруги выше 6 вольт (кратковременно, атмега с ЛСД успевали выгорать) но в итоге три из них остались жить а четвёртый скорей всего накрылся. Вообщето очень хорошие датчики раз выдержали такие издевательства.
На работе сравнивали температуру ртутного термометра с ценой деления 0,2 градуса с показаниями DS18B20 в раёне температур от +10 до +50 практически показания один в один.
|
|
|
|
21.10.2007, 15:05
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 201
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Спасибо за подсказки.
Да.. датчик скорей всего накрылся, при отключении подтягивающего резистора он на шине данных держит логический 0. Всётаки у меня тлела надежда что виноваты биты конфигурации датчика, но похоже я его серёзно подпалил.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:18.
|
|