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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
dima1967
Прорезались зубы
Сообщения: 215
Зарегистрирован: Вс апр 30, 2017 17:54:36
Откуда: Юрмала

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

Сообщение dima1967 »

Всем доброго дня!
Делаю устройство на STM32. В устройстве задействованы датчики температуры DS18B20. Прошивку пишу на Atollic. Не получается завести датчик. Помогите разобраться. Может у кого есть код для DS18B20 на Atollic?
Спасибо :))
Реклама
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

Не знаю есть ли там на Atollic
https://www.google.ru/search?newwindow= ... IWUewRvd1o
IVL ex UA6PJ
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

[uquote="dima1967",url="/forum/viewtopic.php?p=3683285#p3683285"]Всем доброго дня!
Может у кого есть код для DS18B20 на Atollic?[/uquote]
в Atollic обычный си - вполне можно приспособить любую библиотеку. Пример ногодрыгом для стм32 тут например:
https://www.radiokot.ru/forum/viewtopic ... 1#p2071361
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

Классный код. Все решено голым МК.
IVL ex UA6PJ
Реклама
Эиком - электронные компоненты и радиодетали
Реклама
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

Мурик, это "не совсем" автономный.
IVL ex UA6PJ
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

240265, ТС написал.
dima1967 писал(а):Может у кого есть код для DS18B20
По ссылке код для DS18B20. :) :solder:
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

Ну если быть точным.
[uquote="dima1967",url="/forum/viewtopic.php?p=3683285#p3683285"]Может у кого есть код для DS18B20 на Atollic?
Спасибо :))[/uquote] :)
IVL ex UA6PJ
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

В Atollic не такой же GCC? :)))
Или может язык Си отличается? :)))
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

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

Сообщение 240265 »

Ага, с акцентом :))) . Интересно что ТС уже поднимал этот вопрос https://radiokot.ru/forum/viewtopic.php?f=57&t=162712 .
IVL ex UA6PJ
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

Делал я когда-то под STM32F103. Работает на связке таймер+DMA. Тогда я пользовался opencm3, сейчас забросил эту дрянь и пишу исключительно на "голом" CMSIS!
Возможно, перепишу когда-нибудь этот код правильно, но вероятность невысока: DS18 — такое Г, что нет смысла особо распыляться ради этих показометров. Дешевле и проще засунуть килоомный терморезистор за копейки с алиэкспресса!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
kolobok0
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

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

Сообщение kolobok0 »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3695123#p3695123"]... DS18 — такое Г, ... проще засунуть килоомный терморезистор за копейки с алиэкспресса![/uquote]

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

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

(круглый)
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

[uquote="kolobok0",url="/forum/viewtopic.php?p=3700735#p3700735"]терморезистор не протащит дцать метров про пром зоне.[/uquote]
Очень даже протащить: размещаем рядом с группой терморезисторов "коллектор" на STM32F042, а дальше — по CAN-шине... Дешево и сердито.
Калибровать надо, да — но и DS18 надо калибровать, иначе точность будет вообще ±2°C!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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

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

Мой уютный бложик... заходите!
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

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

Сообщение Oxford »

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

Eddy_Em херню не собирай.
Последний раз редактировалось Oxford Пн сен 16, 2019 08:01:37, всего редактировалось 1 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

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

А сколько геморроя с идиотским протоколом... Я 1-wire для STM32 больше недели писал! И еще неделю на STM8 убил: там DMA нет, поэтому пришлось делать на таймере с прерываниями. Но до конца так и не реализовал конечный автомат — лень было. Да и, как я уже говорил, смысла нет распылять свои силы на этот показометр.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Eddy_Em писал(а):Я 1-wire для STM32 больше недели писал!
понятно. не помогла архитектура...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

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

Сообщение Oxford »

Eddy_Em точности его хватит для любых задач. Если у тебя фантазии хватает только чтобы измерять комнатную температуру, херовы дела у тебя.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение 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.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

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

Вернуться в «ARM»