Oleg_IT 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Для работы с датчиком DS18S20 применяю AVR318 Все действия кроме чтения или преобразования температура проходят нормально. FAMILY CODE (28h), User Byte и Configuration пишу и читаю. Как доходит дело до чтения температуры начинаются чудеса. Читаю в цикле после команды на преобразование. Каждый цикл новые данные. Увеличение времени после команды на преобразование перед чтением ни чего не дали. Знаю про аппаратный глюк, нашёл рекомендацию как его исправить, но ни чего не получается. Что делать? Есть вероятность, что я не правильно пользуюсь этой рекомендацией. Поделитесь опытом. И ещё этот глюк относится только к области памяти температуры или ко всей памяти? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Прошу прощения я работаю с датчиком DS18B20, а не с DS18S20. Но, на сколько я знаю, такая проблема там тоже есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serjio 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Питание датчика какое - внешнее или по 1-wire ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Пока внешнее, но хочу поставить по 1-wire Как бы при этом ещё каких чудес не нахватать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
okela 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба А резюк (окола 5к) на шине висит ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Я пользуюсь схемой и кодом из AVR318. Там стоит 4.7 к. В том то и дело, что всё остальное пишется и читается, а с томпературой проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
okela 0 6 июня, 2005 Опубликовано 6 июня, 2005 · Жалоба Я пользуюсь схемой и кодом из AVR318. Там стоит 4.7 к. В том то и дело, что всё остальное пишется и читается, а с томпературой проблема. <{POST_SNAPBACK}> Я недавно делал простенький термометр на at2313 и ds18b20. Нашел в example FastAVR почти готовый код на Васике. Откомпилировал все это дело... Зашил , а оно меряет , но выдает ошибку по CRC8. Стал разбираться с асм-кодом.. оказалось ,что при подсчете CRC берется не указатель массива данных, а само значение стартового индекса массива которое использовалось в качестве указателя (в итоге получался бардак результата CRC)... Так что доверяй, но проверяй.. B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serjio 0 7 июня, 2005 Опубликовано 7 июня, 2005 · Жалоба Вообще-то в последнее время Dallas рисует подтяжку 2.2к И проверь всетаки питание на ножках. Были проблемы, когда питание было плохое. Поставь кондер возле ножек. Еще легко оттестировать в Codevision - там есть пример. Пользовался неоднократно-все работало. Еще укажи длину проводов и, какой уровень на 1-w во время преобразования t (должен быть высокий). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 8 июня, 2005 Опубликовано 8 июня, 2005 · Жалоба Мучался я зря. Купил ещё пару, работают прекрасно. Первый мне феном обработали, термоусадочные кембрики применил. Может перекалили его, но температура на минимуме была 150 гр.? Может быть такое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 16 июня, 2005 Опубликовано 16 июня, 2005 · Жалоба "Читаю в цикле после команды на преобразование. " Вообще чтение температуры с этих микросхем надо производить не после команды на преобразование а по окончании преобразования температуры в d/s это описано само преобразование длится от 500 мс до 1с взависимости от типа или напряжения питания. Если у вас не паразитное питание то на время преобразования линия данных удерживается датчиком в 0. Можно либо читать бит с линии пока он не станет 1 или просто подождать с запасом 1 с. а потом читать данные. Попадаются конечно бракованные датчики но очень редко даже при условии укладывания их в термоусадочную трубку мы имеем отказ 1-2 на 1000 штук. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndyBig 5 19 июня, 2005 Опубликовано 19 июня, 2005 · Жалоба Угу, хотел ответить так же, но опередил Miron :) Добавлю только выдержку из даташита на DS18S20: Converts temperature in 750ms (max.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 20 июня, 2005 Опубликовано 20 июня, 2005 · Жалоба Угу, хотел ответить так же, но опередил Miron :) Добавлю только выдержку из даташита на DS18S20: Converts temperature in 750ms (max.) <{POST_SNAPBACK}> Это понятно, я делаю так как пишет Miron "Можно либо читать бит с линии пока он не станет 1", пока не пользую паразитное питание. Но моя проблема была в другом, датчик сбойный оказался, а я грешил на то, что сам что-то не то делаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndyBig 5 20 июня, 2005 Опубликовано 20 июня, 2005 · Жалоба Ну, я не так много датчиков использовал, что бы собрать статистику по их неисправностям, но (ИМХО) усадка термокембриков не должна вредить чипам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться