Страница 2 из 6
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 16:17:21
Eddy_Em
ivan dimir, если только в одной точке измерять, то полградуса и BME280 смогет (только его сначала прогнать надо хотя бы по двум-трем точкам - минимальная, средняя и максимальная температуры эксплуатации - с калибровочным). Если много точек, можно проще: терморезистор или термопара + мультиплексоры с миллиомным сопротивлением + трех или четырехпроводная схема + внешний 24-канальный АЦП + измерение на разных токах.
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 16:26:04
ivan dimir
А он цифровой?SPI? Нет не нужно.
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 16:35:48
Eddy_Em
ivan dimir, а что нужно?
Ну напиши нормальное техзадание, что тебе нужно сделать. Тебе народ и посоветует, какие можно использовать датчики!
Самый действенный и простой вариант - терморезисторы. Если взять самые дешевые и в схеме делителя прямо к АЦП МК подключить, получишь точность в градус-полтора. Если взять подороже, да и АЦП внешний, да еще и по трех- или четырехпроводной схеме подключить — получишь уже доли градуса (а какие - зависит от бюджета, т.к. для измерения сотых придется очень сильно вложиться; а для точности в полградуса можно обойтись совсем недорогими компонентами).
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 17:15:01
tonyk
А МК на какое расстояние удалён от точек измерения? Там был разговор про 20м- это как понимать?
P. S. ivan dimir, ты сам-то понимаешь, чё те надо? Если "да", то расскажи.
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 21:48:33
ivan dimir
ds18b20 подходит потому как можно и больше расстояние.Моя комната находится на южной стороне а мне нужно замерять температуру воздуха улицы с северной стороны.А также влажность.Примерно около 20 метров.И у меня вопрос.Я подключать на 5 вольт контроллер порта немогу.Даже если я настройку порта на выход open dreain.А потом при отпускании на входе порта 5 вольт оказывается?
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 21:57:31
korsaj
ds18b20 работает от 3 до 5,5 В.
Re: stm32 ds18b20
Добавлено: Пт июн 10, 2022 23:27:18
Eddy_Em
ivan dimir, у STM32 куча выходов - 5v tolerant! И если ты используешь UART для этих целей (хотя, на мой взгляд, две ноги МК ради этой фигни - роскошь!), то подавляющее большинство уартовских ног толерантны к 5В.
Дальше. Если таки и будешь использовать DS18, то, в принципе, желаемой точности в полградуса, возможно, добьешься (если, конечно, это - честный даллас, а не китайское нечто по баксу за штучку). И там вполне можно длинный провод проложить, и оно будет работать.
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 07:31:31
ivan dimir
Нет не USART а GPIO как быть?
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 07:41:32
Up2805
ivan dimir, вам же ранее написали и картинку даже приложили. Изменить режим с выхода на вход и обратно сможете? Как включить выход в Open-drain прочитаете в мануале? Единственная сложность - это очень короткие интервалы от 5 до 60 мкс, и надо осциллографом проверять, что получили действительно то что надо, а не больше из-за выполнения инструкций.
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 08:05:34
ivan dimir
А напряжение питания какое подавать ds18b20?
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 11:13:59
Eddy_Em
Есть только 2 способа: таймер с DMA, либо UART. Дрыгать ногами вручную - мягко говоря, идиотизм!
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 11:17:18
ivan dimir
таймер с DMA как это?А выход ШИМ?
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 11:32:39
Up2805
[uquote="ivan dimir",url="/forum/viewtopic.php?p=4243671#p4243671"]А напряжение питания какое подавать ds18b20?[/uquote]
Я конечно не спицыолист, но вот друганы из инета говорят, что вроде как видели в мануалах, что типа там от 3 до 5
лет вольт. Ссылку на даташит дать или сами найдете?
таймер с DMA как это?
Да забейте. Сделайте хотябы ногодрыгом, чтобы хоть что-то там закрутилось, а потом уже если хотите будете хучь таймеры, хучь уарты прикручивать. В мануале, если не ошибаюсь, был пример схемы с уартом и объяснение принципа.
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 17:06:32
ivan dimir
Я разделяю ваш сорказм.Но мне простительно я не профи и не русский.Так всё таки с ногодрыгом видел.С УСАРТОМ слышал.А вот пример таймер-DMA на 1-WIRE не видел.Где увидеть и с чем его едят?Значит нет такого.
Re: stm32 ds18b20
Добавлено: Сб июн 11, 2022 19:33:41
Eddy_Em
[uquote="ivan dimir",url="/forum/viewtopic.php?p=4243878#p4243878"]А вот пример таймер-DMA на 1-WIRE не видел.[/uquote]
Похоже, ты - слепой. Я тебе сразу же выложил ссылку на именно эту реализацию!
https://github.com/eddyem/stm32samples/ ... :F103/DS18
Re: stm32 ds18b20
Добавлено: Вс июн 12, 2022 20:49:10
ivan dimir
У меня вопрос.Как выполнить функцию когда через ноль .Потому как в плюсах показует а в минусах какой то бред.Как это сделать.ds18b20 по порту выполнен.
Re: stm32 ds18b20
Добавлено: Пн июн 13, 2022 09:13:27
ivan dimir
Ау коты?
Re: stm32 ds18b20
Добавлено: Пн июн 13, 2022 09:49:38
korsaj
Все молчат, потому как вы не хотите читать даташит на датчик, не хотите пользоваться поиском.
Взято
отседова
А
это вам для общего развития.
Re: stm32 ds18b20
Добавлено: Пн июн 13, 2022 09:53:34
ivan dimir
Ну пример то можно показать.
Re: stm32 ds18b20
Добавлено: Пн июн 13, 2022 09:57:28
korsaj
К сожалению пример на недоступном мне сейчас компе.
Ну а если почитаете у вас два пути
Первый: if (tmp < 0) tmp = 0 - tmp;
Второй: if (tmp < 0) tmp = ~tmp + 1;
Затем как и было, умножаете на 0.0625 или делите на 16.