DS18B20, железо <-> Proteus

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
jyraf
Родился
Сообщения: 3
Зарегистрирован: Вт дек 20, 2011 10:26:24

DS18B20, железо <-> Proteus

Сообщение jyraf »

Доброго всем времени суток!
Есть проблема. Собрал терморегулятор, ATMega88+DS18B20, в Proteuse все прекрасно работает. Выставляю на термодатчике температуру, после преобразования получаю на индикаторе такое-же значение.
В железе, при температуре в комнате +19...+20С, на индикаторе +29...+30С!!! Питание +3,5В (не паразитное), измерение температуры каждые 10 сек, (сначала чтение температуры, потом запуск преобразования,.. повтор через 10 сек). Поскольку датчик отвечает, думаю сам протокол 1-Wire написан верно, алгоритм преобразования то-же (иначе в Proteuse было бы видно несоответствие температур)...
Ваше мнение? В каком месте руки ровнять?

Может вообще для этих датчиков нужен бубен особый? Когда-то собирал адаптер 1-Wire <-> RS232, так такой-же датчик выдавал завышенную температуру. У него случайно нет какой-то настраиваемой внутренней термокомпенсации? :shock:
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: DS18B20, железо <-> Proteus

Сообщение Мастер Ломастер »

датчик отлично чувствует температуру компонентов платы - если там у вас что-то греется, будет завышать. кроме того, он сам по себе при постоянно поданном питании разогревается, и никак это компенсировать нельзя. но саморазогрев все же не на 10 градусов!
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
jyraf
Родился
Сообщения: 3
Зарегистрирован: Вт дек 20, 2011 10:26:24

Re: DS18B20, железо <-> Proteus

Сообщение jyraf »

Рядом с ним ничего греющегося нет.
Может стоит пересадить его на паразитное питание (в печатной плате такая возможность предусмотрена)?..

А кстати, при паразитном питании он будет данные сохранять?
То есть, если запустить преобразование, а через 10 секунд считать данные, показания будут корректными?
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: DS18B20, железо <-> Proteus

Сообщение borys »

При паразитном питании эти датчики работают хуже.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
GriSHok
Вымогатель припоя
Сообщения: 654
Зарегистрирован: Пт авг 05, 2011 08:29:06
Откуда: Казахстан Усть-Каменогорск

Re: DS18B20, железо <-> Proteus

Сообщение GriSHok »

А другой датчик пробовал? Может просто этот дефектный?
С уважением GriSHok
Реклама
jyraf
Родился
Сообщения: 3
Зарегистрирован: Вт дек 20, 2011 10:26:24

Re: DS18B20, железо <-> Proteus

Сообщение jyraf »

Уважаемые господа, всем спасибо за активную помощь.
Довожу до сведения сообщества результаты своих экспериментов...
1. Через два дня непрерывной работы расхождение между показаниями DS18B20 и комнатным (спиртовым) термометром составляют 2С! :shock: Уж сам не знаю почему. Прошивку контроллера не менял, может для нормальной работы датчика его нужно "обкатать" несколько дней, ну или спирта в бытовой термометр долить... :))
2. С паразитным питанием по данному алгоритму датчик работать вообще не хочет. То есть, для измерения температуры с периодом 10 сек и больше, нужно поступать так:
- запуск преобразования температуры
- пауза 750 мсек
- чтение данных от датчика
- пауза 10 сек...
Иначе данные в регистрах DS18B20 не сохраняются. При полном питании (подключение по трем проводам) данные в ОЗУ хранятся долго (проверял с периодом 10 минут)
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»