В принципе возможно. Только дискретность у DS1821 в 1 градус и размешение данных по-другому. Основное назначение - трехвыводный термостат с заданной пользователем фиксированной уставкой (смена значений только по принципу стирание - программирование). Внешний вывод позволяет напрямую управлять силовым ключом. Остальное в даташите.
kolobok0 Вам приходилось на МК с математикой и набором обмена в режиме HIGH-RESOLUTION TEMPERATURE READINGS с этими датчиками работать? Да и в любом случае младший разряд для пользователя есть без особой надобности, дай боже хоть до 0,5 градуся на DS18B20 в типовых приложениях выйти - ибо одно дело "относительно измеренной какой-то точки" в датчике и другое - градуировочная характеристика, в привязке к контрольному термометру хотя бы со шкалой, имеющей цену деления в 1/10 градуса... Вобщем для индикации больше чем в пол-градуса вывод не рекомендуется - во избежании вечных споров с любителями посмотреть хоша-бы на ртутный контрольный термометр, расположенный совсем вроде и рядом с DSкой.
в даташите приведена формула получения повышенного разрешения.
двадцатка меньше имеет разрешение потому, что в формулу зашита константа: Note that the COUNT PER °C register is hard-wired to 16 (10h) у двадцать первого такого ограничения нет.
посему разрешение DS1821 = 0,01 градуса DS18x20 = 0,0625 градуса.
...Вам приходилось...в режиме HIGH-RESOLUTION TEMPERATURE READINGS с этими датчиками работать?...для пользователя есть без особой надобности...
железо+софт, где используется разрешение 0,01 градуса на датчиках DS1821 использую более 10 лет, в том числе и в поставках за рубеж(2005 год, несколько сот штук, Англия). Всего выпущенных единиц - десятки тысячь. Нареканий нет.
так достаточно, если я отвечу?
По поводу показа человеку. А кто сказал, что это для этого необходимо? Домыслы оставляем при себе...
Спорить, доказывать что-либо по факту реально работающего железа не буду (температура при сканировании линейна, никаких "скачков" или "нагреваний более десятых градусов" при постоянном сканировании _цикл_менее_1_сек_ = нет). Считайте так - я знаю тайные знания, магия для тех кто не верит. Может быть это и к лучшему. Цена решения выше. Кстати, я не один такой "маг":
удачи усем (круглый) ЗЫ Для тех, кому опыт интересен. У 21 есть другие косяки. При плотном юзанье - спрашивайте, подскажу как обойти грабли(до фазы разводки плат только).
Да все енто уже даавно пройденный материал для тех, кто с датчиками работал "в режиме бытовухи". Вот только стандарты иные требования выдвигают. Да и сам процесс удержания (не просто измерения) температуры по распределенному объёму с точностью до 0,01 градуса... как бы корректнее выразиться... не для любителя (и не только из-за датчиков). Мелкий вопрос шеволится - зачем при наличии стандартно работающего с заводской разрешающей способностью 0,0625 датчика DS18x20 в целевом изделии применять гораздо более громоздкий (корпус с большей тепловой инерцией), "грубый" (и вобщем-то не для тех целей разработанный) DS1821?
Добрый вечер, мудрые коты! Прошу строго не судить и помочь. Электронщик я старый, а вот с микроконтроллерами только начал разбираться. Встала задача сделать термостат. Выбор пал на tiny2313 и ds18b20. Процессе макетирования была собрана простейшая схема: tiny2313+ds18b20+резистор. Написан код на Си в Atmel Studio. Все работало нормально, температура измерялась, до тех пор пока я не решил поменять пин подключения датчика. Поменял на макете и соответственно в коде. Запускаю - не работает!!! В результате экспериментов выяснилось - при подключении датчика к 0 пину любого порта все работает, но при подключению к любому другому пину любого порта работать перестает. То же эффект словил и на другом контроллере (tiny13А).
Код во вложении. (Как вставить в текст сообщения еще не разобрался).
Привет всем!!! решил изучить и подключить датчик DS18B20 к микроконтроллеру.почитал описание, посмотрел примеры, вроде ниче сложного. взялся писать код.шапку скопировал с примера остальное решил написать самостоятельно согласно своему пониманию. 1 шаг инициализация только вот сомнения есть в работоспособности,хотелось бы услышать критику бывалых: код ниже
манипуляции на PORTA я произвел для визуализвции ответа датчика о том, что он в канале.тестировал прогу в Proteus подключал к шине 1 wire осцилограф в надежде увидеть импульс присутствия датчика,но в ввиду наверное короткого времени я так и не увидел...в коде я имел ввиду если датчик подает импульс присутствия, то контроллер мне показывает это выводом на портА числа 3, если же он не отвечает то 100. числа 3 и 100 взяты произвольно..вот и решил поинтересоваться насколько я в правильном направлении.
в коде я имел ввиду если датчик подает импульс присутствия, то контроллер мне показывает это выводом на портА числа 3, если же он не отвечает то 100
Если бы порт A был сконфигурирован на выход - то ладно. А так, фактически, просто дёргаются встроенные резисторы подтяжки, без вывода информации на пины порта A МК.
Доброго времени участникам форума. У меня есть вопрос по 1wire периферии. Кто нибудь пробовал на МК эмулировать любое 1wire устройство , скажем тот же 1820. Таким образом можно эмулировать уже существующие или создавать новые семейства и устройства 1wire
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения