Например TDA7294

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





Текущее время: Ср апр 24, 2024 17:30:39

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1164 ]     ... , , , 49, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт окт 20, 2016 20:14:57 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Ну математику то не нае@ёшь :)
Просто приводите целое значение, принятое с датчика, к типу с плавающей точкой и тупо делите на 16.0. И всё.
Этот алгоритм не изменится от установленной битности. От неё просто будет зависеть разрешение температуры и время преобразования.


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

Зарегистрирован: Чт фев 24, 2011 13:00:49
Сообщений: 190
Рейтинг сообщения: 0
Аlex писал(а):
Ну математику то не нае@ёшь :)
Просто приводите целое значение, принятое с датчика, к типу с плавающей точкой и тупо делите на 16.0. И всё.

мда, математику я профукал в свое время... ((
Что же выходит, при любом разрешении 9,10,11,12, бит полученное число всего лишь нужно разделить 16.0. В таком случае битность по сути влияет только на время преобразования датчиком данных Т.
БОЛЬШОЕ КОТЯЧЬЕ СПАСИБО! :beer: , жаль нет смайлика с колбасой ))

и да, заметил, если брать целое значение (без сдвига) и /16,0, то показания постоянно плавают в пределах 0,1 гр. С , это и есть тот 0 разряд который нада игнорить в моем 11 разр. разрешении, что б показания были более стабильны. Выбор за нами!

_________________
:solder: 32-х ядерный процессор из П213В


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Датчик ds18xx
СообщениеДобавлено: Пн окт 24, 2016 15:51:00 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 11, 2012 20:21:37
Сообщений: 211
Рейтинг сообщения: 0
Здравствуйте! Кто знает, подскажите чем ds1821 отличается от ds1821+ По datasheet ничего толкового не нашел :(


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Датчик ds18xx
СообщениеДобавлено: Пн окт 24, 2016 15:54:02 
Друг Кота
Аватар пользователя

Карма: 110
Рейтинг сообщений: 6673
Зарегистрирован: Пт авг 14, 2015 14:25:02
Сообщений: 11291
Откуда: Одесса - мама
Рейтинг сообщения: 0
Тут тоже не понятно?
:write: http://www.platan.ru/shem/pdf/str42-45sx.pdf

_________________
90% времени уходит на отыскание неисправности,остальное - ждать когда нагреется паяльник! :)


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Датчик ds18xx
СообщениеДобавлено: Пн окт 24, 2016 16:20:28 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт сен 11, 2012 20:21:37
Сообщений: 211
Рейтинг сообщения: 0
alexradio1103 писал(а):
Тут тоже не понятно?
:write: http://www.platan.ru/shem/pdf/str42-45sx.pdf

Это тоже читал. Там в основном расписано как датчик перевести в режим термостата. Меня интересует именно в чем разница ds1821 и ds1821+


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Датчик ds18xx
СообщениеДобавлено: Пн окт 31, 2016 12:04:37 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 7
Вложение:
DS1821.pdf [455.09 KiB]
Скачиваний: 167

Страница 2
ORDER INFORMATION
....
"Note: A “+” symbol will also be marked on the package.
+ Denotes lead-free package.
..."
8)


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

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Максим немного "обновил" линейку ds-ок парой новых зверяток:
Вложение:
MAX31820.pdf [1.02 MiB]
Скачиваний: 161

Вложение:
MAX31820PAR.pdf [959.8 KiB]
Скачиваний: 129

:tea:
Это информационка - чтоб нового названия не шарахались и были готовы к потреблению...
:roll:


Последний раз редактировалось BOB51 Сб ноя 19, 2016 23:07:42, всего редактировалось 1 раз.

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

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
и в чем фишка? мне показалось - 1 в 1 DS18B20... или я что-то пропустил?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


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

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Из того, что я заметил - пониженное напряжение питания.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Пн янв 02, 2017 12:09:22 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
если я вместо ds18s20 подключаю ds18b20, то к какому виду нужно привести принятые данные?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Пн янв 02, 2017 16:39:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
levaclaus писал(а):
к какому виду нужно привести принятые данные?
загадочный вопрос...
данные вы получаете в виде дополнительного кода в долях градуса, по умолчанию - в 1/16-ых долях градуса. т.е. если вам нужно просто целое число градусов, надо полученный результат поделить на 16. если делить в формате float, то получится правильное дробное число градусов.

какой перевод данных имеете в виду вы?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 01:10:24 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
Пацаны,кто знает,пожалста подскажите как правильно формировать временные интервалы для чтения температуры с 2-х DS18B20.. У меня иногда проскакивает -99%С ,т.е -9999(функция чтения при ошибке возвращает это значение). Вывожу на 2 4-х разрядных 7-ми сегментника. В Протеусе вроде всё в норме,а в железе -99 вылазит. Я так понимаю,что программа не вовремя читает результаты преобразования. Повозился с этим изрядно. Ранее вывод на индикаторы тактировался от 0-го таймера--выскакивало чаще. Переделал на 1й таймер --выскакивает реже,но... ВЫСКАКИВАЕТ И ВСЁ ТУТ!!!... :o Прога писана в CV AVR для меги8,калибровка тактовой частоты внутренняя на 8 МГц. Используется библиотека ds18b20.h.

P.S. Для нормального отображения в Протеусе в файле prj. надо РАСкоментировать строки: "для индикаторов без ключей", а строки :"для индикаторов с ключами" наоборот ЗАкоментировать.В железе катоды индикатров подключены через ключи на полевиках ,а в Протеусе транзисторные ключи у меня почему-то не работают.


Вложения:
термо 8.rar [319.23 KiB]
Скачиваний: 150
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 09:07:32 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
имхо "виновата" родная библиотека 1wire CV - там сделаны задержки программно, прерывания индикации нарушают длительность этих задержек.
Решение проблемы:
1) использовать свою "хитрую" библиотеку 1wire
2) использовать для индикации внешний драйвер, например STLED316


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 10:13:57 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
eduardo писал(а):
У меня иногда проскакивает -99%С ,т.е -9999(функция чтения при ошибке возвращает это значение)
в этой фразе содержится подсказка, как следует поступать ПРАВИЛЬНО.

следует анализировать результат функции и НЕ ОБНОВЛЯТЬ показания при ошибке, т.е. оставлять старые, корректные показания. это не решит проблему с кривоватым 1-wire, но для термометра полностью решит проблему с индикацией.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


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

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
извиняюсь не увидел сразу:
Код:
    w1_write(0x44);//команда начать преобразование
    delay_us(800); //задержка для завершения преобразования
    w1_write(0xbe);//команда чтение памяти датчика
    temp1=ds18b20_temperature(&rom_code[0][0]); // читаем данные с 1-го датчика   
    temp2=ds18b20_temperature(&rom_code[1][0]); // читаем данные со 2-го датчика

наверное надо вместо delay_us(800) написать delay_ms(800)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 12:58:27 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
Во блин!!...Спасибо за пинок.. И я не увидел :facepalm: Изменил на милисекунды и... ничего не дало :cry: А вот возвращать переменным в случае ошибки старое значение--идея замечательная,только как её реализовать--не пойму :dont_know: И ещё одно: когда температура отрицательная,ошибка вылазит чаще..


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

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
eduardo писал(а):
только как её реализовать--не пойму
А что там может быть непонятного ? Проверяем на ошибку, если есть - игнорируем результат измерения.
Для обнаружения ошибки, лучше всего заюзать проверку CRC.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 15:26:32 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
На хабре нашел такой код. То есть если откинуть 4 младших бита из LSB то не имеет разницы 9бит или 12 бит работает датчик? В смысле можно отдельно работать с дробной частью
Код:
signed char ds18b20_temperature(void)
    {
    unsigned char LSB,MSB;
    w1_init();   
    w1_write(0xCC);
    w1_write(0xBE);
    LSB=w1_read();   
    MSB=w1_read();
    w1_init();   
    w1_write(0xCC);
    w1_write(0x44);
    return ((MSB<<4)&0xf0) | ((LSB>>4)&0x0f);
    }
   
void ds_init(void)
    {
    w1_init();
    w1_write(0x4e);   
    w1_write(0x64); //100
    w1_write(0xD8);
    w1_write(0x1f);
   // w1_write(0x48);
    delay_ms(15);
    }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 15:32:04 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В 18B20 младшие 4 бита - дробное значение температуры. И без разницы, какое разрешение установлено. 4 бита - это 16. Отсюда, чтобы получить реальную температуру, значение нужно делить на 16.
У 18(S)20 дробное значение - всего один младший бит. По этому мы делим только на 2, что является разрешением в 1/2 градуса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб янв 07, 2017 16:01:22 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
зачем работать с температурой побайтно? датчик выдает два байта, которые имеют формат стандартного int для микроконтроллеров, т.е. это уже число со знаком. поместить эти 2 байта в int - это и вся проблема! а потом надо вспомнить о том, в каких долях градуса это число показывает температуру: DS18B20 по умолчанию выдает в 16-ых долях градуса, т.е. как бы в 16 раз больше, чем на самом деле (надо поделить на 16), а DS18S20 - в половинках градуса, т.е. в 2 раза больше (поделить на 2).

вот и все!
Код:
unsigned char buf[9]; // в этот буфер надо получить содержимое scratchpad-памяти датчика
// обязательно все 9 байт, чтобы подсчитать CRC - далее работать только если CRC корректна!
int *temperature = buf; // вот таким нехитрым способом мы имеем доступ к int-значению из буфера

// когда буфер получен и CRC корректна, вот так получаем КОРРЕКТНУЮ температуру в целых градусах:
temp = *temperature / 16; // для DS18B20

// а вот так можно получить float с долями градуса:
float temp_float = *temperature / 16.0;


и никакой мороки...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


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

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


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

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


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

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


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