Страница 1 из 2

Датчик температуры DS18B20 на STM32

Добавлено: Чт авг 15, 2019 18:08:30
dima1967
Всем доброго дня!
Делаю устройство на STM32. В устройстве задействованы датчики температуры DS18B20. Прошивку пишу на Atollic. Не получается завести датчик. Помогите разобраться. Может у кого есть код для DS18B20 на Atollic?
Спасибо :))

Re: Датчик температуры DS18B20 на STM32

Добавлено: Чт авг 15, 2019 19:56:32
240265
Не знаю есть ли там на Atollic
https://www.google.ru/search?newwindow= ... IWUewRvd1o

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пт авг 16, 2019 06:00:55
oleg110592
[uquote="dima1967",url="/forum/viewtopic.php?p=3683285#p3683285"]Всем доброго дня!
Может у кого есть код для DS18B20 на Atollic?[/uquote]
в Atollic обычный си - вполне можно приспособить любую библиотеку. Пример ногодрыгом для стм32 тут например:
https://www.radiokot.ru/forum/viewtopic ... 1#p2071361

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пт авг 16, 2019 15:37:12
240265
Классный код. Все решено голым МК.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Сб авг 17, 2019 08:32:56
Мурик

Re: Датчик температуры DS18B20 на STM32

Добавлено: Сб авг 17, 2019 08:45:59
240265
Мурик, это "не совсем" автономный.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Сб авг 17, 2019 18:36:00
Мурик
240265, ТС написал.
dima1967 писал(а):Может у кого есть код для DS18B20
По ссылке код для DS18B20. :) :solder:

Re: Датчик температуры DS18B20 на STM32

Добавлено: Сб авг 17, 2019 20:41:01
240265
Ну если быть точным.
[uquote="dima1967",url="/forum/viewtopic.php?p=3683285#p3683285"]Может у кого есть код для DS18B20 на Atollic?
Спасибо :))[/uquote] :)

Re: Датчик температуры DS18B20 на STM32

Добавлено: Вс авг 18, 2019 10:10:48
Мурик
В Atollic не такой же GCC? :)))
Или может язык Си отличается? :)))

Re: Датчик температуры DS18B20 на STM32

Добавлено: Вс авг 18, 2019 11:27:06
240265
Ага, с акцентом :))) . Интересно что ТС уже поднимал этот вопрос https://radiokot.ru/forum/viewtopic.php?f=57&t=162712 .

Re: Датчик температуры DS18B20 на STM32

Добавлено: Чт сен 05, 2019 15:56:39
Eddy_Em
Делал я когда-то под STM32F103. Работает на связке таймер+DMA. Тогда я пользовался opencm3, сейчас забросил эту дрянь и пишу исключительно на "голом" CMSIS!
Возможно, перепишу когда-нибудь этот код правильно, но вероятность невысока: DS18 — такое Г, что нет смысла особо распыляться ради этих показометров. Дешевле и проще засунуть килоомный терморезистор за копейки с алиэкспресса!

Re: Датчик температуры DS18B20 на STM32

Добавлено: Сб сен 14, 2019 22:20:39
kolobok0
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3695123#p3695123"]... DS18 — такое Г, ... проще засунуть килоомный терморезистор за копейки с алиэкспресса![/uquote]

терморезистор не протащит дцать метров про пром зоне.
терморезистор нуна колибровать
если вам надо сканировать штук 8 термодатчиков, то организация через аналог - не совсем тривиальная задача.

так, что своя ниша есть, у сей деталюшки.

(круглый)

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 07:26:48
Eddy_Em
[uquote="kolobok0",url="/forum/viewtopic.php?p=3700735#p3700735"]терморезистор не протащит дцать метров про пром зоне.[/uquote]
Очень даже протащить: размещаем рядом с группой терморезисторов "коллектор" на STM32F042, а дальше — по CAN-шине... Дешево и сердито.
Калибровать надо, да — но и DS18 надо калибровать, иначе точность будет вообще ±2°C!

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 07:36:10
ARV
Eddy_Em писал(а):DS18 надо калибровать, иначе точность будет вообще ±2°C!
это вот откуда такие сведения? данный тип датчика внесен в госреестр средств измерений (во всяком случае был несколько лет назад - не проверял с тех пор), и крайне маловероятно, чтобы датчик с такой "точностью" был внесен в реестр! производитель ни слова о необходимости калибровки не говорит, "паспортная" точность 0,5 градуса.

мой личный опыт в термометростроении в течение нескольких лет не подтверждает ваши заявления о плохой точности датчика.

откуда вы все это взяли?!

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 07:59:41
Oxford
DS18B20 не калибруются, точность ±0.5°C Accuracy from -10°C to +85°C из каропки. 1 wire можно до 300м тащить с активным драйвером.

Eddy_Em херню не собирай.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 08:01:05
Eddy_Em
Просто сравнил показания с платиновыми терморезисторами. При температурах ниже -10°C начинаются интересные вещи.
Да и сам производитель в даташите пишет, что точность 2°C, если работать во всем диапазоне.
Но для измерения комнатной температуры с точностью ±0.5°C сойдет, согласен. Правда, такую же точность можно и на дешевом терморезисторе получить...

А сколько геморроя с идиотским протоколом... Я 1-wire для STM32 больше недели писал! И еще неделю на STM8 убил: там DMA нет, поэтому пришлось делать на таймере с прерываниями. Но до конца так и не реализовал конечный автомат — лень было. Да и, как я уже говорил, смысла нет распылять свои силы на этот показометр.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 08:07:00
ARV
Eddy_Em писал(а):Я 1-wire для STM32 больше недели писал!
понятно. не помогла архитектура...

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 08:10:51
Oxford
Eddy_Em точности его хватит для любых задач. Если у тебя фантазии хватает только чтобы измерять комнатную температуру, херовы дела у тебя.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 08:11:43
oleg110592
ds18b20x в корпусе Flip Chip - точность +-2С (0...+70С)
https://www.kit-e.ru/articles/sensor/2001_02_48.php
терморезистор не протащит дцать метров про пром зоне
например есть ДТС224-50М (медные термометрысопротивления 50 Ом), подключаются по трехпроводной схеме.
Максимальное расстояние связи прибор-датчик (термометр сопротивления) ограничено сопротивлением линни связи: не более 15 Ом. Поэтому, чем дальше расположены устройства друг от друга, тем больше толщина сечения кабеля.
Есть вот такие рекомендации:
1. Если расстояние <20 метров, то кабель 3х0,35
2. Если расстояние от 20 метров до 50 метров, то кабель 3х0,5
3. Если расстояние от 50 метров до 100 метров, то кабель 3х0,75.

Re: Датчик температуры DS18B20 на STM32

Добавлено: Пн сен 16, 2019 08:40:15
Eddy_Em
[uquote="Oxford",url="/forum/viewtopic.php?p=3701492#p3701492"]Eddy_Em точности его хватит для любых задач.[/uquote]
Нет, для любых не хватит. Для термомониторинга зеркала мне понадобилось не хуже 0.1°C, когда выбирал: аналог или цифра, решил в пользу цифры, чтобы не заморачиваться с мультиплексорами и т.п., да и калибровки эти...
В итоге на TSYS01 сделал — правда, все равно пришлось проводить их сравнительный анализ для расчета аддитивных поправок (благо, с линейностью там все ОК, а вот аддитивно до 0.2°C у некоторых экземпляров! Хотя, конечно, по медиане они в даташит идеально вписываются).
И да, DS18 в совершенно неюзабельном корпусе! Такая дрянь годится разве что для измерения температуры воздуха или жидкости. А к поверхности чего-либо его не прислюнишь! Да и масса корпуса слишком большая...