5458 / 2818 / 565
Регистрация: 07.11.2019
Сообщений: 4,639
|
|
Датчик температуры25.12.2024, 12:05. Показов 695. Ответов 11
Имеются в наличии датчики MY18E20-15 от китайской компании Mysentech, это аналог DS18B20. В даташите упоминается, что возможна установка разрешения 14 бит. Но как правильно это сделать не описано. На сайте https://github.com/cpetrich/counterfeit_DS18B20 сказано что чтобы вывести содержимое конфигурационного регистра нужно вызвать недокументированную функцию с кодом 0x8B. Это работает. А вот как изменить этот тайный регистр (какой код функции и какая последовательность байт), чтобы установилось 14 битное разрешение нигде не сказано.
На сайте производителя тоже ничего толкового не нашел. Возможно что кто-то работал с этими датчиками и знает как включить режим 14бит?
0
|
25.12.2024, 12:05 | |
Ответы с готовыми решениями:
11
цифровой датчик температуры Датчик температуры + Кулер 3pin датчик для передачи температуры в программу\ |
25.12.2024, 12:21 | |
У него точность ниже плинтуса. Что вы пытаетесь сделать, включив 14-битный режим? Откалибровать датчик по платиновому TRD?
Добавлено через 10 минут Скачал даташит, почитал. Действительно, явно не описано, как включить 14 бит. А весь протокол полностью слизан с DS18B20. Единственная возможность - попробовать в 7 бит конфигурационного регистра записать 1. Но все равно это не поможет. Учитывая то, что данный датчик даже дешевле паршивого DS18B20, скорей всего, даже после калибровки его точность вряд ли будет выше пары десятых градуса. Если нужно точно измерять, то либо калиброванные платиновые TRD, либо полупроводниковые TSYS01 и им подобные. Если вторые откалибровать по платине, реально около пяти соток точность (но, конечно, в узком диапазоне - градусов на 40).
1
|
5458 / 2818 / 565
Регистрация: 07.11.2019
Сообщений: 4,639
|
||
25.12.2024, 13:34 [ТС] | ||
0
|
3633 / 2544 / 572
Регистрация: 11.09.2009
Сообщений: 9,176
|
||
25.12.2024, 14:08 | ||
Кстати, а вообще выходной формат действительно соответствует DS18B20? При установке разрешения 9 - 12 бит, старшие биты регистра температуры все "знак", или может два старших бита постоянно два дополнительных младших бита температуры? Проверяли?
0
|
25.12.2024, 14:15 | |||||
Я когда-то возился с ними на STM32F103. Добавлено через 1 минуту Вот, у меня в ЖЖшке. Добавлено через 22 секунды Блин, 12 лет уже минуло ☺ В общем, советую взять копеечных китайских NTC, смотать их в кучку, замотать фольгой, да прогнать в заданном диапазоне. Потом можно кусочно-линейной интерполяцией полученные кривые приблизить (про это я тоже в ЖЖ писал) - чтобы вычислять температуры на МК без флоатов. Для точностей в районе десятых на не очень широких диапазонах температур (градусов 20) годится элементарный делитель на резисторе с таким же сопротивлением (лучше брать 10кОм термисторы, чтобы не было сильного саморазогрева) и 12-битный встроенный АЦП МК. Штук 16 один МК окучит спокойно. А многоногие - так чуть ли не 32 безо всяких внешних мультиплексоров и АЦП!..
0
|
5458 / 2818 / 565
Регистрация: 07.11.2019
Сообщений: 4,639
|
|
25.12.2024, 19:30 [ТС] | |
i8085, да 9-12 бит по описанию работают так как и у DS. А вот 14 бит включается отдельно. Причем на сайте произволителя есть FAQ про 14 бит. Но какой hex код имеет функция для переключения - не ясно.
Видимо придеться экспериментировать самостоятельно методом перебора... Eddy_Em, функцию в смысле Function commands из даташита. convert t это (44h) и т.д. Пока что шумы (отличие измерений при постоянной температуре) на уровне именно 0. 0625 градусов. Т.е. ограничения явно в разрядности. Думаю, на будущее, надо АКФ считать и дисперсию для датчиков. А дальше винеровская фильтрация должна помочь. Аналоговые датчики скорее всего не подойдут из-за помех и наводок, т.к. оборудование под 100 кВА и работает в ВЧ диапазоне. Все что можно заземлено и заэкранировно, но.. Термисторы надо бы попробовать, просто скептически к ним пока что отношусь. Может быть для измерения именно разницы температур какую-нибудь мостовую схему задействовать необходимо..
0
|
25.12.2024, 19:54 | ||||
Но, как я уже говорил, 9 бит, 12 бит или 14 для таких откровенно дерьмовых датчиков значения не имеет. Даже 9 бит для них - потолок!
0
|
5458 / 2818 / 565
Регистрация: 07.11.2019
Сообщений: 4,639
|
|
25.12.2024, 21:20 [ТС] | |
i8085, Вот:
http://www.mysentech.com/newsinfo/4808140.html и тут еще документы http://www.mysentech.com/szwdxpmy18e20 А это как выглядят колебания температуры датчика в 12 битном режиме. Т.е. как я говорил, плюс-минус один бит.
0
|
3633 / 2544 / 572
Регистрация: 11.09.2009
Сообщений: 9,176
|
|||||||
25.12.2024, 23:50 | |||||||
Кликните здесь для просмотра всего текста
2. Когда MY18E20 необходимо использовать встроенный 14-битный АЦП, как изменить функцию конфигурации?
Когда MY18E20 необходимо использовать встроенный 14-битный АЦП, функция конфигурации изменяется следующим образом:
а именно: Trim14 = 0x01; ... scr->ttrim|= Trim14; Выглядит как полноценное описание. Единственное, не написано, какой из регистров ttrim и что это за регистр. Что-то описания структуры scr не вижу. Наверное где-то в другом месте. И байт конфигурации у них в этом примере почему-то назван седьмым, а не четвёртым, как в даташите (байт 4 - configuration register)... Или правда в седьмой писать надо, в "пользовательский"? Возможно, что надо прочитать все 9 байт, установить в "1" бит "0" регистра ttrim и записать все 9 обратно. Хотя в configuration register и так по умолчанию в бите 0 единица... Может нужна повторная запись? Но это же будет "штатная" установка разрядности. Биты 5 и 6 в configuration register никуда же не денутся... Не, непонятно.
0
|
5458 / 2818 / 565
Регистрация: 07.11.2019
Сообщений: 4,639
|
||||||
07.01.2025, 13:40 [ТС] | ||||||
Решил задачу, благодаря информации на сайте Chris Petrich'а
Вобщем код инструкции записи: 0xAB Записал в setup():
Еще порадовало время измерения: опрос датсика с периодом 30 мсек работает нормально (видимо 15 это минимальное время опроса).
0
|
07.01.2025, 13:40 | |
Помогаю со студенческими работами здесь
12
Датчик температуры с оповещением по смс или через приложение Датчик Емкостной датчик Акустический датчик датчик угла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
|
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
|
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
|
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
|
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
|
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
|
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
|
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
|
Тестирование в Python: PyTest, Mock и лучшие практики TDD
py-thonny 28.04.2025
Тестирование кода играет весомую роль в жизненном цикле разработки программного обеспечения. Для разработчиков Python существует богатый выбор инструментов, позволяющих создавать надёжные и. . .
|
Работа с PDF в Java с iText
Javaican 28.04.2025
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий. . .
|