Например TDA7294

Форум РадиоКот • Просмотр темы - Всё по DS18(B/S)20.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн ноя 24, 2025 19:55:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1164 ]     ... , , , 45, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср янв 13, 2016 19:18:41 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
asidalv писал(а):
DS1821 , скажите, она - аналог DS1820
Разрешающая способность у DS1821 на порядок ниже!

asidalv писал(а):
или совсем другие там команды
Команды и разрешающая способность отличаются.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт янв 14, 2016 08:50:48 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
В принципе возможно.
Только дискретность у DS1821 в 1 градус и размешение данных по-другому.
Основное назначение - трехвыводный термостат с заданной пользователем фиксированной уставкой (смена значений только по принципу стирание - программирование). Внешний вывод позволяет напрямую управлять силовым ключом. Остальное в даташите.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 16, 2016 10:58:02 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 278
Рейтинг сообщения: 0
Мурик писал(а):
...Разрешающая способность у DS1821 на порядок ниже!...


БРЯХНЯ(из кинухи)!!!!
Разрешающая способность:
DS1821 = 0,01 градуса
DS1820 = 0,0625 градуса

в матчасти усё есть...
(круглый)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 16, 2016 13:38:10 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Читайте даташит. http://datasheets.maximintegrated.com/en/ds/DS1821.pdf
Цитата:
Provides 8-bit (1°C resolution) centigrade temperature measurements


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 16, 2016 17:55:20 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
kolobok0
Вам приходилось на МК с математикой и набором обмена в режиме HIGH-RESOLUTION TEMPERATURE READINGS с этими датчиками работать?
8)
Да и в любом случае младший разряд для пользователя есть без особой надобности, дай боже хоть до 0,5 градуся на DS18B20 в типовых приложениях выйти - ибо одно дело "относительно измеренной какой-то точки" в датчике и другое - градуировочная характеристика, в привязке к контрольному термометру хотя бы со шкалой, имеющей цену деления в 1/10 градуса...
Вобщем для индикации больше чем в пол-градуса вывод не рекомендуется - во избежании вечных споров с любителями посмотреть хоша-бы на ртутный контрольный термометр, расположенный совсем вроде и рядом с DSкой.
:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 17, 2016 00:31:45 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 278
Рейтинг сообщения: 0
Мурик писал(а):
Читайте даташит.


в даташите приведена формула получения повышенного разрешения.

двадцатка меньше имеет разрешение потому, что в формулу зашита константа:
Note that the COUNT PER °C register is hard-wired to
16 (10h)
у двадцать первого такого ограничения нет.

посему разрешение
DS1821 = 0,01 градуса
DS18x20 = 0,0625 градуса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 17, 2016 00:42:02 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 278
Рейтинг сообщения: 0
BOB51 писал(а):
...Вам приходилось...в режиме HIGH-RESOLUTION TEMPERATURE READINGS с этими датчиками работать?...для пользователя есть без особой надобности...


железо+софт, где используется разрешение 0,01 градуса на датчиках DS1821 использую более 10 лет, в том числе и в поставках за рубеж(2005 год, несколько сот штук, Англия). Всего выпущенных единиц - десятки тысячь. Нареканий нет.

так достаточно, если я отвечу?

По поводу показа человеку. А кто сказал, что это для этого необходимо? Домыслы оставляем при себе...

Спорить, доказывать что-либо по факту реально работающего железа не буду (температура при сканировании линейна, никаких "скачков" или "нагреваний более десятых градусов" при постоянном сканировании _цикл_менее_1_сек_ = нет).
Считайте так - я знаю тайные знания, магия для тех кто не верит.
Может быть это и к лучшему. Цена решения выше.
Кстати, я не один такой "маг":

http://radiokot.ru/forum/viewtopic.php?f=25&t=10099&start=20
см. посты Kotische

удачи усем
(круглый)
ЗЫ
Для тех, кому опыт интересен. У 21 есть другие косяки. При плотном юзанье - спрашивайте, подскажу как обойти грабли(до фазы разводки плат только).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 17, 2016 08:37:05 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1486
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15267
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Да все енто уже даавно пройденный материал для тех, кто с датчиками работал "в режиме бытовухи".
Вот только стандарты иные требования выдвигают.
Да и сам процесс удержания (не просто измерения) температуры по распределенному объёму с точностью до 0,01 градуса... как бы корректнее выразиться... не для любителя (и не только из-за датчиков).
8)
Мелкий вопрос шеволится -
зачем при наличии стандартно работающего с заводской разрешающей способностью 0,0625 датчика DS18x20 в целевом изделии применять гораздо более громоздкий (корпус с большей тепловой инерцией), "грубый" (и вобщем-то не для тех целей разработанный) DS1821?
:wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Пт янв 22, 2016 21:28:21 
Родился

Зарегистрирован: Пт янв 22, 2016 20:08:46
Сообщений: 4
Рейтинг сообщения: 0
Добрый вечер, мудрые коты!
Прошу строго не судить и помочь.
Электронщик я старый, а вот с микроконтроллерами только начал разбираться.
Встала задача сделать термостат. Выбор пал на tiny2313 и ds18b20. Процессе макетирования была собрана простейшая схема: tiny2313+ds18b20+резистор.
Написан код на Си в Atmel Studio.
Все работало нормально, температура измерялась, до тех пор пока я не решил поменять пин подключения датчика. Поменял на макете и соответственно в коде. Запускаю - не работает!!!
В результате экспериментов выяснилось - при подключении датчика к 0 пину любого порта все работает, но при подключению к любому другому пину любого порта работать перестает.
То же эффект словил и на другом контроллере (tiny13А).

Код во вложении. (Как вставить в текст сообщения еще не разобрался).

Прошу помочь разобраться с этими граблями.

Заранее все спасибо.


Вложения:
main.c [2.09 KiB]
Скачиваний: 511
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 06:35:50 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
Код:
void OneWire_SendBit(unsigned char SBit)
{
   OneWire_BusHigh();
   OneWire_BusLow();
   if (SBit==1)
Проблема в последней строке. Проверять надо не на равенство единице, а на неравенство нулю.

От вышестоящей функции сюда приходят не только ноль или единица, а и другие числа - степени двойки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 19:12:21 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Привет всем!!!
решил изучить и подключить датчик DS18B20 к микроконтроллеру.почитал описание, посмотрел примеры, вроде ниче сложного. взялся писать код.шапку скопировал с примера остальное решил написать самостоятельно согласно своему пониманию. 1 шаг инициализация только вот сомнения есть в работоспособности,хотелось бы услышать критику бывалых:
код ниже

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define SKIP_ROM 0xCC // Пропустить индентификацию
#define CONVERT_T 0x44 // Измерить температуру
#define READ_SCRATCHPAD 0xBE // Прочитать измеренное

//определяем порт и бит к которому подключено устройство
#define OWI_PORT PORTD
#define OWI_DDR DDRD
#define OWI_PIN PIND
#define OWI_BIT 0

#define OWI_LOW OWI_DDR |= 1<<OWI_BIT//притягиваем шину к 0
#define OWI_HIGH OWI_DDR &= ~(1<<OWI_BIT)//отпускаем шину

int main(void)

{ PORTA=0x00;
DDRA = 0x00;


OWI_LOW; //притягиваем шину к 0
_delay_us(500);
OWI_HIGH; //отпускаем шину
_delay_us(65);


if (OWI_PIN= (1<<0))
PORTA=3;// означает о наличии устройства

else
PORTA=100;// означает о отсутствии устройства
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 19:53:30 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
По линии датчика вроде нормально, но смущают странные и бесполезные манипуляции с резисторами подтяжки на порту A.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 22:15:22 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
манипуляции на PORTA я произвел для визуализвции ответа датчика о том, что он в канале.тестировал прогу в Proteus подключал к шине 1 wire осцилограф в надежде увидеть импульс присутствия датчика,но в ввиду наверное короткого времени я так и не увидел...в коде я имел ввиду если датчик подает импульс присутствия, то контроллер мне показывает это выводом на портА числа 3, если же он не отвечает то 100.
числа 3 и 100 взяты произвольно..вот и решил поинтересоваться насколько я в правильном направлении. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 23:19:14 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
ROMan2947 писал(а):
в коде я имел ввиду если датчик подает импульс присутствия, то контроллер мне показывает это выводом на портА числа 3, если же он не отвечает то 100
Если бы порт A был сконфигурирован на выход - то ладно. А так, фактически, просто дёргаются встроенные резисторы подтяжки, без вывода информации на пины порта A МК.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 23, 2016 23:50:09 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
точняк... :facepalm: DDR=0xFF.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 24, 2016 21:12:13 
Родился

Зарегистрирован: Пт янв 22, 2016 20:08:46
Сообщений: 4
Рейтинг сообщения: 0
WiseLord писал(а):
Код:
void OneWire_SendBit(unsigned char SBit)
{
   OneWire_BusHigh();
   OneWire_BusLow();
   if (SBit==1)
Проблема в последней строке. Проверять надо не на равенство единице, а на неравенство нулю.

От вышестоящей функции сюда приходят не только ноль или единица, а и другие числа - степени двойки.


WiseLord Спасибо за наводку.
Проверил. Не здесь собака порылась, да и от вышестоящей функции приходит либо 0 либо 1.
Код:
OneWire_SendBit(SByte&0x01);


Но почему при подключении к 0 пину работает, а например при подключении к 4 пину не работает.
Вот в чем вопрос!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 24, 2016 21:23:25 
Родился

Зарегистрирован: Пт янв 22, 2016 20:08:46
Сообщений: 4
Рейтинг сообщения: 0
ROMan2947

Мне кажется импульс присутствия нужно ловить вот так:

Код:
if ((OWI_PIN&(1<<OWI_BIT))==0)//***3
{
   ...
}
else
{
   ...
}
 


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 24, 2016 21:45:09 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
9mm писал(а):
Но почему при подключении к 0 пину работает, а например при подключении к 4 пину не работает.

Код:
#define DS18B20_Bit 0
...
unsigned char OneWire_ReciveBit() {
...
    if ((DS18B20_Pin&(1<<DS18B20_Bit))==1)
Видите причину? Я в предыдущем сообщении немного не тот кусочек кода вставил просто...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс янв 24, 2016 21:58:57 
Родился

Зарегистрирован: Пт янв 22, 2016 20:08:46
Сообщений: 4
Рейтинг сообщения: 0
WiseLord

Спасибо огромное!!!

Вот теперь то я и сам понял....век живи век учись.

Все заработало....мотаю на усы :)))

Еще раз спасибо!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср янв 27, 2016 14:45:39 
Родился
Аватар пользователя

Зарегистрирован: Ср янв 27, 2016 13:41:05
Сообщений: 2
Рейтинг сообщения: 0
Доброго времени участникам форума. У меня есть вопрос по 1wire периферии. Кто нибудь пробовал на МК эмулировать любое 1wire устройство , скажем тот же 1820. Таким образом можно эмулировать уже существующие или создавать новые семейства и устройства 1wire


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1164 ]     ... , , , 45, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y