Я на гитхабе, в ЖЖ
stm32 ds18b20
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
ivan dimir, если только в одной точке измерять, то полградуса и BME280 смогет (только его сначала прогнать надо хотя бы по двум-трем точкам - минимальная, средняя и максимальная температуры эксплуатации - с калибровочным). Если много точек, можно проще: терморезистор или термопара + мультиплексоры с миллиомным сопротивлением + трех или четырехпроводная схема + внешний 24-канальный АЦП + измерение на разных токах.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Реклама
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
ivan dimir, а что нужно?
Ну напиши нормальное техзадание, что тебе нужно сделать. Тебе народ и посоветует, какие можно использовать датчики!
Самый действенный и простой вариант - терморезисторы. Если взять самые дешевые и в схеме делителя прямо к АЦП МК подключить, получишь точность в градус-полтора. Если взять подороже, да и АЦП внешний, да еще и по трех- или четырехпроводной схеме подключить — получишь уже доли градуса (а какие - зависит от бюджета, т.к. для измерения сотых придется очень сильно вложиться; а для точности в полградуса можно обойтись совсем недорогими компонентами).
Ну напиши нормальное техзадание, что тебе нужно сделать. Тебе народ и посоветует, какие можно использовать датчики!
Самый действенный и простой вариант - терморезисторы. Если взять самые дешевые и в схеме делителя прямо к АЦП МК подключить, получишь точность в градус-полтора. Если взять подороже, да и АЦП внешний, да еще и по трех- или четырехпроводной схеме подключить — получишь уже доли градуса (а какие - зависит от бюджета, т.к. для измерения сотых придется очень сильно вложиться; а для точности в полградуса можно обойтись совсем недорогими компонентами).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 1339
- Зарегистрирован: Вт ноя 19, 2019 06:10:18
А МК на какое расстояние удалён от точек измерения? Там был разговор про 20м- это как понимать?
P. S. ivan dimir, ты сам-то понимаешь, чё те надо? Если "да", то расскажи.
P. S. ivan dimir, ты сам-то понимаешь, чё те надо? Если "да", то расскажи.
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
ds18b20 подходит потому как можно и больше расстояние.Моя комната находится на южной стороне а мне нужно замерять температуру воздуха улицы с северной стороны.А также влажность.Примерно около 20 метров.И у меня вопрос.Я подключать на 5 вольт контроллер порта немогу.Даже если я настройку порта на выход open dreain.А потом при отпускании на входе порта 5 вольт оказывается?
- Реклама
- Сообщения: 330
- Зарегистрирован: Чт июн 23, 2011 07:55:51
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
ivan dimir, у STM32 куча выходов - 5v tolerant! И если ты используешь UART для этих целей (хотя, на мой взгляд, две ноги МК ради этой фигни - роскошь!), то подавляющее большинство уартовских ног толерантны к 5В.
Дальше. Если таки и будешь использовать DS18, то, в принципе, желаемой точности в полградуса, возможно, добьешься (если, конечно, это - честный даллас, а не китайское нечто по баксу за штучку). И там вполне можно длинный провод проложить, и оно будет работать.
Дальше. Если таки и будешь использовать DS18, то, в принципе, желаемой точности в полградуса, возможно, добьешься (если, конечно, это - честный даллас, а не китайское нечто по баксу за штучку). И там вполне можно длинный провод проложить, и оно будет работать.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 148
- Зарегистрирован: Сб июн 04, 2022 05:21:07
ivan dimir, вам же ранее написали и картинку даже приложили. Изменить режим с выхода на вход и обратно сможете? Как включить выход в Open-drain прочитаете в мануале? Единственная сложность - это очень короткие интервалы от 5 до 60 мкс, и надо осциллографом проверять, что получили действительно то что надо, а не больше из-за выполнения инструкций.
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Есть только 2 способа: таймер с DMA, либо UART. Дрыгать ногами вручную - мягко говоря, идиотизм!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 148
- Зарегистрирован: Сб июн 04, 2022 05:21:07
[uquote="ivan dimir",url="/forum/viewtopic.php?p=4243671#p4243671"]А напряжение питания какое подавать ds18b20?[/uquote]
Я конечно не спицыолист, но вот друганы из инета говорят, что вроде как видели в мануалах, что типа там от 3 до 5 лет вольт. Ссылку на даташит дать или сами найдете?
Я конечно не спицыолист, но вот друганы из инета говорят, что вроде как видели в мануалах, что типа там от 3 до 5 лет вольт. Ссылку на даташит дать или сами найдете?
Да забейте. Сделайте хотябы ногодрыгом, чтобы хоть что-то там закрутилось, а потом уже если хотите будете хучь таймеры, хучь уарты прикручивать. В мануале, если не ошибаюсь, был пример схемы с уартом и объяснение принципа.таймер с DMA как это?
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
Я разделяю ваш сорказм.Но мне простительно я не профи и не русский.Так всё таки с ногодрыгом видел.С УСАРТОМ слышал.А вот пример таймер-DMA на 1-WIRE не видел.Где увидеть и с чем его едят?Значит нет такого.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
[uquote="ivan dimir",url="/forum/viewtopic.php?p=4243878#p4243878"]А вот пример таймер-DMA на 1-WIRE не видел.[/uquote]
Похоже, ты - слепой. Я тебе сразу же выложил ссылку на именно эту реализацию!
https://github.com/eddyem/stm32samples/ ... :F103/DS18
Похоже, ты - слепой. Я тебе сразу же выложил ссылку на именно эту реализацию!
https://github.com/eddyem/stm32samples/ ... :F103/DS18
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
У меня вопрос.Как выполнить функцию когда через ноль .Потому как в плюсах показует а в минусах какой то бред.Как это сделать.ds18b20 по порту выполнен.
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 330
- Зарегистрирован: Чт июн 23, 2011 07:55:51
Все молчат, потому как вы не хотите читать даташит на датчик, не хотите пользоваться поиском.
Взято отседова
Аэто вам для общего развития.
Взято отседова
Аэто вам для общего развития.
Последний раз редактировалось korsaj Пн июн 13, 2022 09:53:35, всего редактировалось 1 раз.
- Сообщения: 440
- Зарегистрирован: Вс дек 29, 2019 08:05:21
- Сообщения: 330
- Зарегистрирован: Чт июн 23, 2011 07:55:51
К сожалению пример на недоступном мне сейчас компе.
Ну а если почитаете у вас два пути
Первый: if (tmp < 0) tmp = 0 - tmp;
Второй: if (tmp < 0) tmp = ~tmp + 1;
Затем как и было, умножаете на 0.0625 или делите на 16.
Ну а если почитаете у вас два пути
Первый: if (tmp < 0) tmp = 0 - tmp;
Второй: if (tmp < 0) tmp = ~tmp + 1;
Затем как и было, умножаете на 0.0625 или делите на 16.
Последний раз редактировалось korsaj Пн июн 13, 2022 10:04:57, всего редактировалось 4 раза.


