Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы AVR + DS18S20
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
Oleg_IT
Для работы с датчиком DS18S20 применяю AVR318 Все действия кроме чтения или преобразования температура проходят нормально. FAMILY CODE (28h), User Byte и Configuration пишу и читаю. Как доходит дело до чтения температуры начинаются чудеса. Читаю в цикле после команды на преобразование. Каждый цикл новые данные. Увеличение времени после команды на преобразование перед чтением ни чего не дали. Знаю про аппаратный глюк, нашёл рекомендацию как его исправить, но ни чего не получается. Что делать? Есть вероятность, что я не правильно пользуюсь этой рекомендацией. Поделитесь опытом.
И ещё этот глюк относится только к области памяти температуры или ко всей памяти?
Спасибо
Oleg_IT
Прошу прощения я работаю с датчиком DS18B20, а не с DS18S20. Но, на сколько я знаю, такая проблема там тоже есть.
Serjio
Питание датчика какое - внешнее или по 1-wire ?
Oleg_IT
Пока внешнее, но хочу поставить по 1-wire Как бы при этом ещё каких чудес не нахватать.
okela
А резюк (окола 5к) на шине висит ?
Oleg_IT
Я пользуюсь схемой и кодом из AVR318. Там стоит 4.7 к.
В том то и дело, что всё остальное пишется и читается, а с томпературой проблема.
okela
Цитата(Oleg_IT @ Jun 6 2005, 13:07)
Я пользуюсь схемой и кодом из AVR318. Там стоит 4.7 к.
В том то и дело, что всё остальное пишется и читается, а с томпературой проблема.
*


Я недавно делал простенький термометр на at2313 и ds18b20.
Нашел в example FastAVR почти готовый код на Васике.
Откомпилировал все это дело... Зашил , а оно меряет , но выдает ошибку по CRC8. Стал разбираться с асм-кодом.. оказалось ,что при подсчете CRC берется не указатель массива данных, а само значение стартового индекса массива которое использовалось в качестве указателя (в итоге получался бардак результата CRC)...
Так что доверяй, но проверяй.. cool.gif
Serjio
Вообще-то в последнее время Dallas рисует подтяжку 2.2к
И проверь всетаки питание на ножках. Были проблемы, когда питание было плохое. Поставь кондер возле ножек. Еще легко оттестировать в Codevision - там есть пример. Пользовался неоднократно-все работало. Еще укажи длину проводов и, какой уровень на 1-w во время преобразования t (должен быть высокий).
Oleg_IT
Мучался я зря. Купил ещё пару, работают прекрасно.
Первый мне феном обработали, термоусадочные кембрики применил. Может перекалили его, но температура на минимуме была 150 гр.? Может быть такое?
Miron
"Читаю в цикле после команды на преобразование. "

Вообще чтение температуры с этих микросхем надо производить
не после команды на преобразование а по окончании преобразования
температуры в d/s это описано само преобразование длится от 500 мс до 1с
взависимости от типа или напряжения питания.
Если у вас не паразитное питание то на время преобразования линия данных
удерживается датчиком в 0. Можно либо читать бит с линии пока он не станет 1
или просто подождать с запасом 1 с. а потом читать данные.

Попадаются конечно бракованные датчики но очень редко даже
при условии укладывания их в термоусадочную трубку мы имеем отказ
1-2 на 1000 штук.
AndyBig
Угу, хотел ответить так же, но опередил Miron :)
Добавлю только выдержку из даташита на DS18S20:
Цитата
Converts temperature in 750ms (max.)
Oleg_IT
Цитата(AndyBig @ Jun 19 2005, 14:17)
Угу, хотел ответить так же, но опередил Miron smile.gif
Добавлю только выдержку из даташита на DS18S20:
Цитата
Converts temperature in 750ms (max.)

*



Это понятно, я делаю так как пишет Miron "Можно либо читать бит с линии пока он не станет 1", пока не пользую паразитное питание. Но моя проблема была в другом, датчик сбойный оказался, а я грешил на то, что сам что-то не то делаю.
AndyBig
Ну, я не так много датчиков использовал, что бы собрать статистику по их неисправностям, но (ИМХО) усадка термокембриков не должна вредить чипам.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.