Например TDA7294

Форум РадиоКот • Просмотр темы - DS18b20 мороз с разрешением 0,1 градуса
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн фев 23, 2026 23:49:11

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


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



Начать новую тему Ответить на тему  [ Сообщений: 68 ]    , 2, ,  
Автор Сообщение
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пт дек 26, 2025 18:50:37 
Говорящий с текстолитом
Аватар пользователя

Карма: 22
Рейтинг сообщений: 240
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1593
Откуда: Тюмень
Рейтинг сообщения: 0
А инверсия побитовая с добавлением единицы у меня почему то даёт не тот результат..

Всегда пользуюсь только таким алгоритмом и проблем не замечал. :) Как-то давно (когда под рукой был лабораторный термостат) проверял фирменные датчики на погрешность и влияние саморазогрева при минусовой температуре и на этом основании делал поправку в алгоритме при определённой температуре (в основном при минусе). Получалось довольно прилично увеличить точность показаний вплоть до минус 35. Вот данная таблица: показания с поправкой и напрямую с датчика. Период опроса датчика был 16 секунд (чтобы минимизировать саморазогрев).

Вложение:
Таблица v6.pdf [183.04 KiB]
Скачиваний: 29


Но с тех пор много воды утекло… оригинальные датчики теперь сильно дорого стоят, а клоны из Китая не отвечают заявленной погрешностью (в большинстве своём).
Да и оценить их погрешность теперь уже давно нет возможности. Соответствующие приборы остались на производстве, которые теперь не доступны. :roll:


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пт дек 26, 2025 20:41:56 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 944
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 6441
Откуда: Протвино
Рейтинг сообщения: 0
а зачем 2 операции если достаточно 1 ??
для 8бит и 16бит это 0xFF-x и 0xFFFF-x
я выше писал ;)

другое дело если нет sub r,#nnnn (avr subi) операции но сходу не припомню актуальных процессоров где такая засада :)


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Сб дек 27, 2025 08:26:02 
Друг Кота

Карма: 66
Рейтинг сообщений: 1025
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4400
Откуда: Ижевск
Рейтинг сообщения: 0
...для ... 16бит это ... 0xFFFF-x
Это ошибка. Например
Изображение
0xFFFF-0xFFF8=0x0007. 0x0007*0x000A/0x0010=0x0004???
Если делать правильно
0x0000-0xFFF8=0x0008. 0x0008*0x000A/0x0010=0x0005


Вложения:
DS18B20_-05.PNG [9.46 KiB]
Скачиваний: 508
Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Сб дек 27, 2025 10:01:36 
Говорящий с текстолитом
Аватар пользователя

Карма: 12
Рейтинг сообщений: 82
Зарегистрирован: Вт мар 28, 2023 21:17:15
Сообщений: 1611
Откуда: Universe
Рейтинг сообщения: 0
В примерах "на просторах" обычно не отниманием это делается, а побитовой инверсией с прибавлением 1 к результату.
Вроде калькулятором совпадает..

~(0xFFF8) -> 0x0007
0x0007++ -> 0x008

_________________
I have a dream...¯\_(ツ)_/¯


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Сб дек 27, 2025 16:39:22 
Друг Кота

Карма: 66
Рейтинг сообщений: 1025
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4400
Откуда: Ижевск
Рейтинг сообщения: 2
Просто при кодировании инверсия с прибавлением 1 удобнее, а так это тоже самое, что вычитание из 0.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Сб дек 27, 2025 20:38:11 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 108
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 428
Рейтинг сообщения: 0
Просто при кодировании инверсия с прибавлением 1 удобнее, а так это тоже самое, что вычитание из 0.

К сожалению, у AVR инструкция NEG работает только с регистром, который только 8 бит. Но зато есть 16 битный INC/DEC. Так что алгоритм XOR+INC самое быстрое, что есть на AVR.

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Сб дек 27, 2025 22:07:37 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -22
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 539
Рейтинг сообщения: 0
Прога которая работает , с минусами 0,1 что ещё нужно то ? Для CV AVR
На два датчика 18б20
работает из текстовика !

Код:
/*******************************************************
Date    : 24.09.2023
Chip type               : ATtiny26
AVR Core Clock frequency: 1,000000 MHz
*******************************************************/

#include <tiny26.h>
#include <delay.h>
#include <alcd.h>
#include <1wire.h>
#include <ds18b20.h>


unsigned char ee_code[2][9]; 
signed int tem;



           aaa (unsigned char dev)  // функция считывания t с датчика номер(dev) и вывод значения
                                 //  на лсд с отбросом незначащих нулей (до запятой)
                {         
                      tem=ds18b20_temperature(&ee_code[dev][0])*10; //считываем и умножаем на 10
                           
                       if (tem<0)      // если показание отрицательное
                      {
                            lcd_putsf("-");  //выводим "-" на лсд
                            tem=-tem;        //инвертируем показание
                     
                      }
                 
                     if (tem<1260) {
                     

                                     if (tem>=1000) goto la1;
                                      if (tem>=100) goto la2;  // отброс незначащих нулей
                                       goto la3 ;             // тоже отброс незначащих нулей
                             la1:           lcd_putchar(tem/1000+48);      // сотни
                             la2:           lcd_putchar(tem%1000/100+48);  // десятки
                             la3:           lcd_putchar((tem%100)/10+48);  // единицы
                                            lcd_putchar(44);              // запятая
                                            lcd_putchar(tem%10+48);      // десятые градуса
                                            lcd_putchar(176);            // градус °
                                            lcd_putsf("C ");            //C цельсия   
                                     }
                    else lcd_putsf("Err     ");// если t<126 выводим на лсд
                                                                    // иначе выводим "Err" (ошибка)
                     
                 }
void main(void)
{

// RS - PORTA Bit 2
// RD - PORTB Bit 7
// EN - PORTA Bit 3
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7

lcd_init(16);
w1_init();
w1_search(0xf0,ee_code);  // считываем номера датчиков и помещаем в массив ee_code
lcd_putsf("Chan.1=");
lcd_gotoxy(0,1);
lcd_putsf("Chan.2=");



while (1)
      {
    lcd_gotoxy(7,0); 
    aaa(0);        //выводим значение температуры 1-го датчика           
    lcd_gotoxy(7,1);
    aaa(1);        //выводим значение температуры 2-го датчика
     
      }
}


Добавлено after 3 minutes 16 seconds:
10 строк кода ... и всё работает :)

Добавлено after 24 minutes 46 seconds:
Изображение

Добавлено after 5 minutes 55 seconds:
Размеры чуть более спичечного коробка , автономность 4 суток без подсветки .

Добавлено after 5 minutes 7 seconds:
Заряд , разряд контроль естественно


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Вс дек 28, 2025 21:07:20 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 296
Рейтинг сообщения: 0
...с флоат воевать :?


нет там флоатов, от слова совсем. там всё целочисленно. Хоть 0,1 (DS18xxx, кроме DS1821); хоть 0,01 (DS1821) разрешение - пофигу.

(круглый)

ЗЫЗЫ
Кстати если кто-либо Вам скажет что там существует разогрев - не верьте, это всё не умение их приготавливать. Разогрев в пределах десятых градуса там (при самом частом опросе, порядка 800мс).


Последний раз редактировалось kolobok0 Вс дек 28, 2025 23:34:21, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Вс дек 28, 2025 23:26:51 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -22
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 539
Рейтинг сообщения: 0
Если датчик находится в незамкнутой среде .. то как он может само разогреваться ?


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Вс дек 28, 2025 23:36:05 
Родился

Зарегистрирован: Пт янв 05, 2024 13:43:29
Сообщений: 13
Рейтинг сообщения: 0
Если датчик находится в незамкнутой среде .. то как он может само разогреваться ?


Тепловое сопротивление кристалл—среда создает разницу температур. Чем больше сопротивление и чем больше тепловыделение, чем больше разница. Если бы это была изолированная среда, то температура росла бы бесконечно.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 07:46:50 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 108
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 428
Рейтинг сообщения: 0
...с флоат воевать :?


нет там флоатов, от слова совсем. там всё целочисленно. Хоть 0,1 (DS18xxx, кроме DS1821); хоть 0,01 (DS1821) разрешение - пофигу.

Помимо Float Point есть ещё и Fixed Point.

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 07:49:44 
Говорящий с текстолитом

Карма: 11
Рейтинг сообщений: 94
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1683
Откуда: поселок Мелеуз
Рейтинг сообщения: 0
Разогрев в пределах десятых градуса там (при самом частом опросе, порядка 800мс).

Больше!
Как то собрал термометр,опрос каждую секунду,вытянул датчик проводами на улицу,а там мороз градусов -25-и на яндексе и на гисметео -25,а мой термометр -20...-19 показывал,долго не мог понять почему,потом просто отключил питание термометра минут на 10,включил-показывает боле менее точно и постепенно пошла температура медленно вверх,снова -20 где то,когда сделал опрос раз в минуту стало нормально.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 10:50:19 
Родился

Зарегистрирован: Пт янв 05, 2024 13:43:29
Сообщений: 13
Рейтинг сообщения: 0
Все потребленное чипом электричество превращается в тепло!
Я использовал LPS22HB (давление+температура) с опросом раз в секунду. При тестировании в комнатных условиях секунд за 10 температура в показаниях поднималась на 1-2 градуса. Отсюда важна разводка, чтобы тепловые потоки через ноги (а у них меньше тепловое сопротивление, чем у корпуса) сообщалось с полигонами (хотя бы для шин питания) и через них сообщалось со средой, а дорожки к датчику должны быть длинные, чтобы уменьшить подвод тепла от остальной электроники.

На картинке пример, как НЕ НАДО делать: все скучковано, LDO размещен вплотную.
Изображение

А вот пример тестовой платы от ST: одинокий чип, все в земляных полигонах и тонкие длинные дорожки для коммуникации. Даже блокировочный конденсатор отнесен в сторону.
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 11:29:16 
Друг Кота
Аватар пользователя

Карма: 40
Рейтинг сообщений: 614
Зарегистрирован: Вс янв 24, 2010 13:14:02
Сообщений: 4727
Откуда: Омск
Рейтинг сообщения: 0
Чет уже 2 страницы. Сколько читал тему, так и не понял, в чем проблема.
Читаем даташит и все предельно ясно. 4 последних бита - дробная часть, -1 при отрицательном значении.
Сразу нарвался на саморазогрев. Периодичность считывания больше минуты и проблема решена.
Как говорил мой первый учитель по программированию:- "Были бы данные, а сделать с ними можно все, что угодно!".
А что с ними нужно сделать, подробно в даташите.


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 14:12:24 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 21
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 474
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
Для измерения температуры главного зеркала БТА я вот такие платки разработал (картинка).
Естественно, там не убогие DS18, у которых точность ±лапоть, а TSYS01.
Правда, когда эти датчики перемонтировали на "старое новое зеркало" в 2019 году, узнал, что существуют еще более точные, причем, немного дешевле (эти в 2014 году стоили около 710р за штуку, купили 100 датчиков).

Использование же DS18 осложняется еще огромным корпусом: если его использовать для примерного измерения температуры жидкости или чего-то еще с хорошей теплоемкостью и теплопроводностью, то ОК. А вот для газов не годится, т.к. придется его опрашивать очень-очень редко, иначе из-за саморазогрева фигню будет показывать, сколько ни старайся.
Для воздуха же нужно что-то очень мелкое, надежней всего - самые примитивные платиновые TRD, а то и вообще медные NTC… У NTC, кстати, после калибровки тоже точность примерно ±0.5℃ получается, как и у DS18.

Всяким "крутым цифровым" тоже верить не стоит: они даже в одной и той же серии умудряются врать, выходя за пределы, гарантированные даташитом.

В общем, таки для измерения температуры воздуха с точностью 0.5÷1% я бы посоветовал взять самые обычные платиновые TRD, они совсем недорогие: рублей по 300 на алике. И корпус миниатюрный, своей теплопроводностью не будет сказываться. Да и включать источник тока можно только на момент измерения.

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 19:06:02 
Говорящий с текстолитом
Аватар пользователя

Карма: 12
Рейтинг сообщений: 82
Зарегистрирован: Вт мар 28, 2023 21:17:15
Сообщений: 1611
Откуда: Universe
Рейтинг сообщения: 0
В общем, таки для измерения температуры воздуха с точностью 0.5÷1% я бы посоветовал взять самые обычные платиновые TRD, они совсем недорогие: рублей по 300 на алике. И корпус миниатюрный, своей теплопроводностью не будет сказываться.


На запрос TRD на Алике вываливает куча каких то запчастей на Тойоту. Если под платиновыми имеются в виду PT100, то на том же Алике они таки есть в ассортименте и не дорого, но размер в половину кацелярского карандаша миниатюрным как то язык не поворачивается... :?

_________________
I have a dream...¯\_(ツ)_/¯


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 21:45:25 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -22
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 539
Рейтинг сообщения: 0
Я не знаю ,где у вас там нагрев ......
погода сейчас на моём термометре , и в инете ...конечно не десятые градуса .. но и не единицы

Изображение Изображение

Добавлено after 11 minutes 45 seconds:
И да , датчик постоянно под питанием . Как то так !

Добавлено after 2 minutes 42 seconds:
И датчик с али экспрес


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 22:10:26 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 21
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 474
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
Mursik, ищущий, да обрящет.

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Пн дек 29, 2025 22:47:30 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -22
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 539
Рейтинг сообщения: 0
Для PT100 всё намного сложнее

Добавлено after 3 minutes 25 seconds:
Тут есть аналоговый драйвер , и я его делал.
https://dzen.ru/a/Y9DrUOmsOTVF6Tv8


Вернуться наверх
 
 Заголовок сообщения: Re: DS18b20 мороз с разрешением 0,1 градуса
СообщениеДобавлено: Вт дек 30, 2025 07:42:20 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 21
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 474
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
Ничего сложного. Для точности в 0.5% достаточно встроенного АЦП. Только для использования в делителе нужно брать pt100, на pt100 слишком большой саморазогрев будет.

_________________
Windows must die!


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

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


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

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


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